/* CSS Document */
#mainVisual{
	background: url("../img/mainvisual.jpg") no-repeat center;
	background-size: cover;
	position: relative;
}

h1 {
	font-size: 2.5rem;
	letter-spacing: 5px;
	margin-bottom: 94px;
	font-weight: 400;
}

.topVisual{
	text-align: left;
	position: relative;
	z-index: 10;
	/*padding: 9.352% 0;*/
	padding: 9.8% 0;
	line-height: 2;
}

.topVisual .bg_img{
	position: absolute;
	max-width: 800px;
	width: 75%;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	z-index: -1;
}

.topVisual .lead{
	font-size: 2.3rem;
	margin-bottom: 24px;
	font-weight: 700;
	line-height: 1.7;
}

.about_shop_btn {
	margin-top: 45px;
}
.bg_gy{
	padding: 91px 20px 63px;
}
.menu_hd {
	margin-bottom: 67px;
}
.menu_tbl tr{
	position: static;
}
.menu_tbl th{
	text-align: left;
	padding: 19px 25px;
}
.menu_tbl td{
	text-align: right;
	width: 200px;
	padding: 19px 25px 19px 0;
}
.menu_area ul{
	margin-top: 7px;
}
.menu_tbl .total{
	color: #cf0000;
}

.menu_tbl th {
	padding: 19px 25px;
	font-weight: normal;
	font-size: 14px;
}
	.menu_tbl th span {
		display: inline-block;
		max-width: 250px;
		width: 100%;
		font-size: 15px;
		font-weight: bold;
	}

.menu_tbl td {
	padding: 19px 25px 18px 0;
	width: 230px !important;
}

.course_area {
	padding: 100px 0 70px;
}
.course_area table th.wid_style02 {
	width: 8.8%;
}
.course_area table th.ttl{
	text-align: left;
}
.course_area table th, .course_area table td {
	padding: 15px;
}
.course_area table td {
	padding: 15px 0;
}
.course_area table tr:last-child{
	border-bottom: 1px solid #000;
}
.course_area table th:last-child,.course_area table td:last-child{
	border-right: none;
}

#sec_01{
	padding: 122px 0 194px;
}

#sec_03{
	padding: 0 0 7.8%;
	background: #f2f2f2;
	margin-top: 130px;
}

#sec_03 .hd01,#sec_07 .hd01{
	padding-top: 9.6%;
	padding-bottom: 5.5%;
	margin-bottom: 5.2%;
}

#sec_04{
	padding: 86px 0 0;
}
	#sec_04 .contents_wrap{
		background-color: #f2f2f2;
		padding-bottom: 7.4vw;
	}
	#sec_04 .hd01{
		padding: 0;
		margin-bottom: 22px;
	}

.flow_img{
	margin-bottom: 136px;
}

#sec_05{
	margin-top: 195px;
	padding-bottom: 13.4vw;
}
	#sec_05 .hd01{
		padding: 0 0 50px;
		margin-bottom: 45px;
	}

#sec_07{
	background: #f2f2f2;
	margin-top: 130px;
	padding-bottom: 125px;
}
#sec_08{
	padding-top: 86px;
}
#sec_09{
	padding-bottom: 187px;
}

#line_sec{
	padding-bottom: 297px;
}

#line_sec .lead{
	font-size: 1.8rem;
}

#line_sec .lead span{
	font-size: 2.2rem;
	font-weight: 600;
	display: block;
	margin-bottom: -10px;
}
#line_sec .lineLink{
	max-width: 600px;
	margin: 26px auto 0;
}
#line_sec .lineLink a{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 18px 0;
	background: #8cc63f;
	border: 1px solid #8cc63f;
	color: #fff;
	font-size: 2.2rem;
	font-weight: 600;
	transition: .3s ease-out;
}
#line_sec .lineLink a:hover{
	background: #fff;
	color: #8cc63f;
}
#line_sec .lineLink a:hover:after{
	border-top: solid 1px #8cc63f;
	border-right: solid 1px #8cc63f;
}

#line_sec .lineLink a:before{
	content: "";
	background: url( "../../../img/icon_line.png") no-repeat top center;
	width: 40px;
	height: 40px;
	display: inline-block;
	background-size: contain;
	vertical-align: middle;
	margin-right: 14px;
}
#line_sec .lineLink a:after{
	content: "";
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	display: inline-block;
	width: 13px;
	height: 13px;
	transform: rotate(45deg);
	margin-left: 10px;
	transition: .3s ease-out;
}

#sec_11{
	background: #f2f2f2;
}
#sec_11 h2{
	padding-bottom: 81px;
}

#sec_11 .contents{
	margin-top: 84px;
	padding-bottom: 93px;
}

.upContets .contents_01{
	margin: -8% 0 0;
}
.upContets .contents_02{
	margin: 10% 0 14%;
}
.upContets .contents_03{
	margin: -14% 0;
}
.upContets .contents_04{
	margin-top: 4.5%;
}
#shopBtn01{
	margin: 13.5% auto 12%;
}
#shopBtn01 .tgl_btn{
	margin-top: 9.3%;
}
@media screen and (max-width: 1100px){
	.menu_tbl th > .flex{
		display: block;
	}
}
@media screen and (max-width:900px){
	#sec_01 {
		padding: 80px 0 60px;
	}
	h1{
		margin-bottom: 10px;
	}
	.topVisual .bg_img{
		width: 70%;
	}
	#sec_03{
		margin-top: 60px;
	}
}
@media screen and (max-width:768px){
	#sec_05{
		margin-top: 130px;
		padding-bottom: 13.4vw;
	}
	#sec_07{
		margin-top: 60px;
	}
	.recommend_sec {
		padding: 130px 0 130px;
	}
	#sec_09{
		padding-bottom: 130px;
	}
	#line_sec{
		padding-bottom: 130px;
	}
}
@media screen and (max-width:767px){
	.spStyle{
		display: block;
	}
	#mainVisual{
		background: url(../img/mainvisual_sp.jpg) no-repeat center;
		background-size: cover;
	}
	
	.topVisual .bg_img{
		position: inherit;
		max-width: none;
		width: 100%;
		top: 0;
		right: 0;
		transform: none;
	}
	
	.topVisual .lead{
		margin-top: 20px;
		font-size: 1.6rem;
		margin-bottom: 10px;
	}
	
	.about_shop_btn {
		margin-top: 5px;
	}
	
	.menu_tbl th,
	.menu_tbl td{
		display: block;
	}
	.menu_tbl th{
		padding: 10px 10px 5px 10px;
		border-bottom: none;
	}
		.menu_tbl th span {
			display: block;
			max-width: 250px;
			width: 100%;
			font-size: 15px;
			font-weight: bold;
		}
	.menu_tbl td {
		padding: 5px 10px 10px 0;
		width: 100% !important;
	}
	
	#sec_03{
		margin-top: 0;
	}
	#sec_04 {
		padding: 50px 0 0;
	}
	.flow_img{
		margin-bottom: 30px;
	}
	#sec_05{
		margin-top: 100px;
	}
	.course_area table th.wid_style02 {
		width: 10%;
	}
	.upContets .contents_01{
		margin: -8% 0 0;
	}
	.upContets > div.contents_02{
		margin: 50px 0 0 auto;
	}
	.upContets .contents_03{
		margin: 50px 0 0 0;
	}
	.upContets .contents_04{
		margin: 50px 0 0 auto;
	}
	#line_sec{
		padding: 0 20px 96px;
	}
}

@media screen and (max-width:600px){
	#line_sec .lead{
		font-size: 1.2rem;
		text-align: left;
	}
	#line_sec .lead span{
		font-size: 1.5rem;
		margin-bottom: 0;
		text-align: center;
	}
	#line_sec .lineLink{
		margin: 21px auto 0;
	}
	#line_sec .lineLink a{
		padding: 12px 0;
		font-size: 1.2rem;
		position: relative;
	}
	#line_sec .lineLink a:before{
		width: 25px;
		height: 25px;
		margin-right: 14px;
	}
	#line_sec .lineLink a:after{
		width: 8px;
		height: 8px;
		margin-left: 10px;
		position: absolute;
		top: 42%;
		right: 5%;
	}
}


@media screen and (max-width:480px){
	.bg_gy{
		padding: 14px 0 20px;
	}
	.menu_hd {
		margin-bottom: 22px;
	}
	.menu_tbl th {
		text-align: left;
	}
	.menu_tbl td {
		text-align: right;
		width: 172px;
		padding: 6px 15px 6px 0;
	}
	#mainBlock .course_area {
		padding: 60px 0 20px;
	}
	.course_area{
		margin-bottom: 0;
	}
	.course_area table th{
		padding: 10px;
	}
	.course_area table th.wid_style01 {
		padding: 10px 0;
	}
	.course_area table th.wid_style02 {
		padding: 10px 0;
	}
	.course_area table th.ttl{
		text-align: left;
	}
	
	#sec_01 {
		padding: 90px 0 60px;
	}
	#sec_03 .hd01,#sec_07 .hd01{
		padding-top: 26%;
		padding-bottom: 7.5%;
	}
		#sec_04 {
		padding: 97px 0 0;
	}
	#sec_05{
		margin-top: 195px;
		padding-bottom: 9vw;
	}
		#sec_05 .hd01{
			padding: 0 0 50px;
			margin-bottom: 45px;
		}
	#sec_07{
		margin-top: 40px;
		padding-bottom: 50px;
	}
	#sec_08{
		padding-top: 48px;
	}
	#sec_09{
		padding-bottom: 18px;
	}
	#sec_11 h2{
		padding-bottom: 32px;
	}
	#sec_11 .contents{
		margin-top: 9px;
		padding-bottom: 56px;
	}
	#shopBtn01{
		margin: 13.5% auto 29%;
	}
	#shopBtn01 .tgl_btn{
		margin-top: 15%;
	}
}
