@charset "utf-8";
/*
font-family: 'Oswald', sans-serif;
font-family: 'Montserrat', sans-serif;
*/
*{margin:0; padding:0; box-sizing: border-box;}
body{
	font-family: YakuHanMP, 'Noto Sans JP', sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.8;
	color: #152142;
}
img{max-width: 100%; width: auto;}
a{color: #152142; text-decoration: none; transition: opacity 0.5s ease-in;}
a:hover{opacity: 0.7;}
sup{font-size: 50%; vertical-align: top;}

.flex{display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;}
.inner{max-width: 1200px; width: 100%; margin: 0 auto; padding: 0 15px;}
.request_btn a.request_link{display: block; color: #fff; text-align: center; position: relative;
	background: #18b4c2;
	background: -moz-linear-gradient(left,  #18b4c2 0%, #26c97a 45%, #36de3a 58%, #dae20c 100%);
	background: -webkit-linear-gradient(left,  #18b4c2 0%,#26c97a 45%,#36de3a 58%,#dae20c 100%);
	background: linear-gradient(to right,  #18b4c2 0%,#26c97a 45%,#36de3a 58%,#dae20c 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#18b4c2', endColorstr='#dae20c',GradientType=1 );
}
.request_btn p,
.request_btn p a{font-size: 11px; letter-spacing: 1px; text-align: center;}
.request_btn p a{text-decoration: underline;}

.annotation{font-size: 10px;}

@media screen and (max-width: 640px){
	body{font-size: 13px;}
	.request_btn p,
	.request_btn p a{font-size: 10px; letter-spacing: 0;}
}

/* 表示・非表示 */
.pc_only{display: block;}
.pc_tab_only{display: block;}
.tab_only{display: none;}
.sp_tab_only{display: none;}
.sp_only{display: none;}

@media screen and (max-width: 960px){
	.pc_only{display: none;}
	.pc_tab_only{display: block;}
	.tab_only{display: block;}
	.sp_tab_only{display: block;}
	.sp_only{display: none;}
}

@media screen and (max-width: 640px){
	.pc_only{display: none;}
	.pc_tab_only{display: none;}
	.tab_only{display: none;}
	.sp_tab_only{display: block;}
	.sp_only{display: block;}
}

/* header ===============*/
#header{background: #1f1d1d; position: fixed; top: 0; left: 0; z-index: 100; width: 100%;}
.h_inner{max-width: 1200px; width: 100%; margin: 0 auto; padding: 7px 15px;}
.h_logo{max-width: 390px;}
.h_inner .request_btn{max-width: 250px; width: 100%;}
.h_inner .request_btn a.request_link{font-size: 18px; text-shadow: 0px 2px 2px #a2a2a2;
	padding: 7px 0; border-radius: 25px; position: relative;}
.h_inner .request_btn a.request_link::after{content: ""; width: 0; display: block;
	border-left: 7px solid #fff; border-top: 7px solid transparent; border-bottom: 7px solid transparent;
	position: absolute; top: 50%; right: 10px; transform: translateY(-50%);}
.h_inner .request_btn p,
.h_inner .request_btn p a{color: #fff;}

@media screen and (max-width: 640px){
	#header{height: 70px;}
	.h_logo{width: 37%;}
	.h_inner{padding: 7px 10px;}
	.h_inner .request_btn{width: 60%;}
	.h_inner .request_btn a.request_link{font-size: 13px;}
	.h_inner .request_btn a.request_link::after{border-left: 5px solid #fff; border-top: 5px solid transparent; border-bottom: 5px solid transparent; right: 5px;}
}

/* footer ===============*/
#footer{text-align: center; background: #1f1d1d; padding: 10px 0;}
#footer p{color: #fff; font-size: 10px;}

/* main ===============*/
#main{padding-top: 90px; display: block; overflow: hidden;}
.title_wrap{text-align: center; margin-bottom: 60px;}
.title_wrap h2{font-size: 40px; font-weight: 500; letter-spacing: 2px; line-height: 1.5;}
.title_wrap small{display: block; line-height: 1;}

@media screen and (max-width: 640px){
	#main{padding-top: 70px;}
	.title_wrap h2{font-size: 30px; letter-spacing: 0;}
	.title_wrap{margin-bottom: 20px;}
}

#mainvisual{background: #f6faf6; position: relative;}
.mv_text{position: absolute; top: 45%; left: 0; right: 0; z-index: 2; transform: translateY(-50%);}
.mv_text picture{}
.mv_text p{color: #fff; margin-top: 10px;}
.mv_img img{width: 100%;}

@media screen and (max-width: 1400px){
	.mv_text picture{display: block; width: 40vw;}
}
@media screen and (max-width: 640px){
	.mv_text{top: auto; bottom: 15vw; transform:translateX(0);}
	.mv_text picture{ width: 85%; margin: 0 auto;}
}

#about_area{background: #f6faf6;}
#about_area .about_flex{position: relative; z-index: 2; margin-top: -50px;}
.about_text{width: 50%; padding-left: 40px;}
.about_img{width: 50%; text-align: right; padding-right: 60px;}
#about_area .title_wrap{text-align: left; margin-bottom: 30px;}
.about_text p.about_p{font-size: 16px; line-height: 2.3; margin-bottom: 20px;}

@media screen and (max-width: 1100px){
	#about_area .about_flex{margin-top: 0;}
	.about_text{padding-left: 0;}
	.about_img{padding-right: 0;}
}
@media screen and (max-width: 960px){
	#about_area{padding: 15px 0;}
	.about_text p.about_p{font-size: 14px;}
}
@media screen and (max-width: 640px){
	#about_area .title_wrap{margin-bottom: 15px;}
	.about_text{width: 100%; margin-bottom: 20px;}
	.about_img{width: 100%; padding: 0 25px;}
	.about_text p.about_p{font-size: 13px; line-height: 1.8;}
}

#menu_area{padding: 0 0 80px;}
.menu_table{max-width: 1000px; margin: 0 auto;}
.menu_table table{width: 100%;}
.menu_table table th,
.menu_table table td{width: 33.33%;}
.menu_table table thead th{color: #fff; font-size: 18px; padding: 10px 5px;}
.menu_table table thead th:nth-child(2){background: #72d3dc;}
.menu_table table thead th:nth-child(3){background: #e9ce52;}
.menu_table table tbody{border-top: 1px solid #d8d7d7;}
.menu_table table tbody th{border-bottom: 1px solid #d8d7d7; vertical-align: middle; text-align: left; background: #f6faf6; font-size: 18px; padding: 0 30px;}
.menu_table table tbody td{border-bottom: 1px solid #d8d7d7; border-left: 1px solid #d8d7d7; vertical-align: middle; padding: 20px 15px;}
.menu_table table tbody td ul li{position: relative; padding-left: 20px;}
.menu_table table tbody td ul li span{position: absolute; top: 0; left: 0;}

@media screen and (max-width: 640px){
	#menu_area{padding: 30px 0 30px;}
	.menu_table{margin-left: -15px; margin-right: -15px;}
	.menu_table table thead th{width: 39%;}
	.menu_table table thead th:nth-child(1){width: 20%;}
	.menu_table table thead th{font-size: 12px;}
	.menu_table table tbody th{font-size: 12px; padding: 0 5px; width: 22%; text-align: center;}
	.menu_table table tbody td{padding: 6px; font-size: 12px; width: 39%;}
}

#trainer_area{background: #f6faf6; padding: 40px 0 60px;}
.trainer_wrap.flex{max-width: 1000px; margin: 0 auto; align-items: flex-start;}
.trainer_box{width: 48%;}
.trainer_box .trainer_text{background: #fff; position: relative;
	margin: -70px 20px 0; padding: 30px; height: 255px;}
.trainer_box .trainer_name{text-align: center;}
.trainer_box .trainer_name p{display: inline-block; color: #fff; padding: 3px 20px; border-radius: 15px;}
.trainer_box .trainer_name.pressurization p{background: #72d3dc;}
.trainer_box .trainer_name.trunk p{background: #e9ce52;}
.trainer_box .trainer_name h3{font-size: 25px; line-height: 1.5; margin: 10px 0 20px;}
.trainer_box .trainer_name h3 small{font-family: 'Montserrat', sans-serif; letter-spacing: 1px; display: block; font-size: 12px;}
.trainer_box .trainer_name.pressurization h3 small{color: #4ab0ba;}
.trainer_box .trainer_name.trunk h3 small{color: #dbbf3f;}

@media screen and (max-width: 960px){
	.trainer_box .trainer_text{height: 300px;}
}
@media screen and (max-width: 640px){
	#trainer_area{padding: 25px 0 30px;}
	.trainer_box{width: 100%;}
	.trainer_box + .trainer_box{margin-top: 20px;}
	.trainer_box .trainer_text{height: auto;}
}

#point_area{padding: 60px 0 80px;}
.point_content{max-width: 1000px; margin: 0 auto;}
.point_wrap.flex{flex-direction: row-reverse;}
.point_wrap + .point_wrap{margin-top: 15px;}
.point_wrap{background: #f6faf6;}
.point_text{width: 72%; padding: 0 40px;}
.point_img{width: 28%;}

.point_text h3{position: relative; border-bottom: 1px solid #d0d8d0;
	font-size: 30px; font-weight: 300; padding: 0 0 5px 100px; margin-bottom: 15px;}
.point_text h3 span{font-family: 'Oswald', sans-serif; font-size: 14px; letter-spacing: 3px; line-height: 1;
	background: #8ad391; color: #fff; padding: 3px 16px 5px; border-radius: 20px;
	position: absolute; top: 15px; left: 0;}
.point_text h3 span b{font-size: 20px; line-height: 1;}

.infection_control{max-width: 1060px; margin: 40px auto 0; border: 2px solid #509256; text-align: center; padding: 30px; border-radius: 10px;}
.infection_control h3{font-size: 20px; line-height: 1.2; margin-bottom: 10px; color: #509256;}
.infection_control ul{align-items: inherit; margin-top: 20px;}
.infection_control ul li{width: 23%; background: #eaf5ea; display: flex; align-items: center; justify-content: center; border-radius: 10px; font-size: 18px; padding: 20px 10px;}

@media screen and (max-width: 960px){
	.point_text{padding: 0 20px;}
	.point_text h3{font-size: 26px; margin-bottom: 5px;}
	.point_text h3 span{font-size: 12px;}
	.point_text h3 span b{font-size: 15px;}
	.infection_control ul li{font-size: 15px;}
}
@media screen and (max-width: 640px){
	#point_area{padding: 30px 0 30px;}
	.point_text{width: 100%; margin-bottom: 15px;}
	.point_img{width: 100%;}
	.point_text h3{padding: 40px 5px 5px; text-align: center;}
	.point_text h3 span{font-size: 11px; left: 0; right: 0; width: 100px;
		margin: 0 auto;}

	.infection_control{margin-top:25px; padding: 15px;}
	.infection_control h3{font-size: 18px;}
	.infection_control ul li{width: 48%; margin-bottom: 15px; font-size: 13px;}
}

#storeinfo_area{background: #f6faf6; padding: 40px 0 60px;}
.storeinfo_table{max-width: 1000px; margin: 0 auto;}
.storeinfo_table table{width: 100%; border-top: 1px solid #d8d7d7;}
.storeinfo_table table th{width: 30%; border-bottom: 1px solid #d8d7d7; background: #ecf4ec; font-size: 18px; vertical-align: middle;}
.storeinfo_table table td{width: 70%; border-bottom: 1px solid #d8d7d7; background: #fff; padding: 30px 40px;}
.storeinfo_table table td b{font-size: 18px;}
.storeinfo_table table td ul{padding-left: 30px;}
.storeinfo_table table td ul a{color: #6aa16f;}

@media screen and (max-width: 640px){
	.storeinfo_table table th{display: block; width: 100%; padding: 10px; font-size: 15px;}
	.storeinfo_table table td{display: block; width: 100%; padding: 15px;}
}

#inquiry_area{background: #e2eff0; text-align: center; padding: 45px 0 100px;}
#inquiry_area h2{font-size: 40px; font-weight: bold;}
#inquiry_area .request_btn{max-width: 500px; margin: 40px auto 0;}
#inquiry_area .request_btn a.request_link{font-size: 35px; font-weight: bold; padding: 15px 5px; border-radius: 50px; position: relative; box-shadow: 0 0 8px #adadad;}
#inquiry_area .request_btn a.request_link::after{content: ""; width: 0; display: block;
	border-left: 12px solid #fff; border-top: 12px solid transparent; border-bottom: 12px solid transparent;
	position: absolute; top: 50%; right: 15px; transform: translateY(-50%);}
	#inquiry_area .request_btn p{margin-top: 20px;}

@media screen and (max-width: 640px){
	#inquiry_area{padding: 25px 0 30px;}
	#inquiry_area h2{font-size: 30px;}
	#inquiry_area .request_btn{margin: 25px auto 0;}
	#inquiry_area .request_btn a.request_link{font-size: 20px;}
}


/* privacy ===============*/
#privacy_area{padding: 80px 0;}
#privacy_area .inner{max-width: 900px;}
#privacy_area h2{font-size: 30px; font-weight: bold; margin-bottom: 15px;}
.privacy_box{margin-top: 30px;}
.privacy_box h3{font-size: 20px; font-weight: bold; border-bottom: 1px solid #000; margin-bottom: 15px;}
