@charset "utf-8";
/* android対策 */
p { background-image: url(../images/pix.gif); }

@media screen and (max-width: 1550px) {
	#index02 .right{
		width: 38%;
	}
}
@media screen and (max-width: 1435px) {
	#index06 .flex_box{
		position: relative;
		background: rgb(209,33,50);
		background: -moz-linear-gradient(90deg, rgba(209,33,50,1) 0%, rgba(209,33,50,1) 39%, rgba(255,255,255,1) 39%, rgba(255,255,255,1) 100%);
		background: -webkit-linear-gradient(90deg, rgba(209,33,50,1) 0%, rgba(209,33,50,1) 39%, rgba(255,255,255,1) 39%, rgba(255,255,255,1) 100%);
		background: linear-gradient(90deg, rgba(209,33,50,1) 0%, rgba(209,33,50,1) 39%, rgba(255,255,255,1) 39%, rgba(255,255,255,1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#D12132",endColorstr="#FFFFFF",GradientType=1);
		margin-bottom: 115px;
	}
	#index06 .flex_box .ggmap{
		width: 61%;
	}
}
/*--------------------------------------------------------
★レスポンシブ■タブレット対応
--------------------------------------------------------*/
@media screen and (max-width: 1280px) {
	/* layout */
	html{
		width: 1280px;
	}
	body {
		width: 1280px;
		overflow: visible!important;
	}
	article{
		overflow-x: hidden;
	}
}

/*--------------------------------------------------------
★レスポンシブ■スマホ表示切替ボタン
--------------------------------------------------------*/
@media screen and (max-width: 640px) {
	a#btnSP{
		display: none;
	}
	a#btnPC{
		position: fixed;
		display: block;
		width: auto;
		height: auto;
		font-size: 12px;
		padding: 10px 20px;
		box-sizing: border-box;
		background-color: #D12132;
		box-shadow: 2px 2px 0 rgba(0,0,0,.5);
		text-align: center;
		color: #FFF;
		text-decoration: none;
		line-height: 1em;
		margin-top: 4px;
		left: 10px;
		bottom: 80px;
		z-index: 2;
	}
}
@media screen and (min-width: 641px) {
	.switch{
		display: none;
		height: 0;
	}
	a#btnSP{
		display: none;
	}
	a#btnPC{
		display: none;
	}
}

@media screen and (min-width:1021px) {
	.switch{
		display: block;
		height: auto;
	}
	a#btnPC{
		display: none;
	}
	a#btnSP{
		position: fixed;
		display: block!important;
		width: 300px;
		height: auto;
		z-index: 100;
		font-size: 24px;
		padding: 8px;
		text-align: center;
		background-color: #000;
		box-shadow: 3px 3px 1px rgba(0,0,0,0.2);
		color: #FFF;
		text-decoration: none;
		bottom: 40px;
		left: 15px;
		z-index: 99999999!important;
	}
}
@media screen and (min-width: 1023px) {
	.switch{
		display: none;
		height: 0;
	}
	a#btnSP{
		display: none;
	}
	a#btnPC{
		display: none;
	}
}
/*--------------------------------------------------------
★レスポンシブ■ヘッダ部分
--------------------------------------------------------*/
@media screen and (min-width: 641px) {
	.pc_none{
		display: none!important;
	}
}
@media screen and (max-width: 640px) {
	.sp_none{
		display: none!important;
	}

	/* スマホ用メニュー */
	.index #wrapper {
		overflow: hidden;
		min-width: 20pc;
		height: auto;
		padding: 0;
	}
	.drawer .contents {
		-webkit-transition: -webkit-transform 0.6s;
		transition: transform 0.6s;
	}
	.drawer #navTgl:checked~.contents {
		-webkit-transform: translateX(-250px);
		transform: translateX(-250px);
	}
	.index #navTgl {
		display: none;
		overflow: hidden;
	}
	.drawer label.pc_none {
		cursor: pointer;
		position: fixed;
		top: 0;
		right: 0;
	}
	.drawer .open{
		z-index: 101;
		width: 50px;
		height: 50px;
		color: #fff;
		background-color: #D12132;
		font-size: 2em;
		line-height: 34px;
		text-align: center;
		-webkit-transition: background-color 0.6s,-webkit-transform 0.6s;
		transition: background-color 0.6s,transform 0.6s;
	}
	.index #navTgl:checked+.open {
		color: #FFF;
		background-color: #000;
		-webkit-transform: translateX(-250px);
		transform: translateX(-250px);
	}
	.drawer .open span{
		position: relative;
		display: block;
		font-size: 10px;
		font-weight: 600;
		line-height: 1;
		letter-spacing: 0;
	}
	.drawer .close {
		pointer-events: none;
		z-index: 1;
		width: 100%;
		height: 100%;
		transition: background-color 0.6s;
	}
	.drawer #navTgl:checked~.close {
		pointer-events: auto;
		background-color: rgba(0,0,0,.3);
		z-index: 2;
	}
	.fixed_menu{
		position: fixed;
		display: block;
		z-index: 7;
		top: 0;
		right: 50px;
		z-index: 30;
	}
	.fixed_menu li{
		position: relative;
		display: inline-block;
		vertical-align: middle;
		width: 55px;
		height: 50px;
		background: none;
		margin: 0;
	}
	.fixed_menu li a{
		position: relative;
		display: block;
		width: 100%;
		color: #000;
		font-size: 1.0rem;
		line-height: 1;
		letter-spacing: -.03em;
		text-align: center;
		padding: 35px 0 5px;
	}
	.menu{
		z-index: 3;
		position: fixed;
		overflow: auto;
		top: 0;
		right: 0;
		width: 250px;
		height: 100%;
		padding: 10px;
		background-color: rgba(243,243,243,.7);
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		-webkit-transition: -webkit-transform 0.6s;
		transition: transform 0.6s;
		box-sizing: border-box;
		z-index: 200;
	}
	/*.customize-support.drawer label.pc_none{
		top: 46px;
	}*/
	.index #navTgl:checked~.menu {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	.menu li a{
		position: relative;
		color: #000;
	}
	.menu li a.arrow_d:after{
		content: "＞";
		position: absolute;
		display: block;
		font-size: 10px;
		height: 10px;
		top: 0;
		right: 1.5em;
		bottom: 0;
		margin: auto 0;
		transform: rotate(90deg);
	}
	.menu ul{
		padding: 0;
	}
	.menu li{
		position: relative;
		border-bottom: 1px solid rgba(0,0,0,.4);
		font-size: 0.9em;
		line-height: 1.4;
	}
	.menu li a{
		display: block;
		padding: 1em 2em .9em;
		text-decoration: none;
		transition: background-color 0.6s;
	}
	.menu li a:hover {
		color: #FFF;
		background-color: #D12132;
	}
	.menu li a:hover span{
		color: #FFF;
	}
}


/*--------------------------------------------------------
★レスポンシブ■コンテンツ部分
--------------------------------------------------------*/
@media screen and (max-width: 640px) {
	html{
		max-width: 640px;
		width: 100%;
		overflow-x: hidden;
		-webkit-text-size-adjust: 100%!important;
	}
	body {
		max-width: 640px;
		min-width: 320px;
		width: 100%;
		overflow-x: hidden!important;
		line-height: 1.9;
		letter-spacing: .05em;
		-webkit-text-size-adjust: 100%!important;
		top: 0!important;
	}
	/* layout
	------------------------------ */
	.wrapper{
		max-width: 640px;
		width: 90%;
		margin: 0;
		padding: 0 5%;
	}

	/* Common
	------------------------------ */
	.fl_l,.fl_r{
		float: none;
	}
	.float::before,
	.float::after{
		content: " ";
		display: block;
		clear: both;
	}
	.btn{
		display: block;
		margin: 0 auto 10px;
	}
	.btn:last-child,
	.btn:last-of-type{
		margin: 0 auto;
	}
	.flex{
		display: block;
	}

	/* Header
	------------------------------ */
	header{
		position: relative;
		display: block;
		width: 100%;
		height: auto;
	}
	header .flex{
		height: auto;
	}
	#header_logo,#gnav.clone-nav,#gnav,
	header .subnav{
		display: none;
	}
	a.fixed_logo{
		position: fixed;
		display: block;
		width: 100%;
		height: 50px;
		text-indent: -9999px;
		background: #FFF url(../images/header_logo.jpg);
		background-repeat: no-repeat, no-repeat;
		background-position: top 8px left 5px, 0 0;
		background-size: auto 40px, cover;
		box-shadow: 0 5px 0 rgba(0,0,0,.3);
		z-index: 10;
		top: 0;
	}
	a.fixed_logo::after{
		content: "印西BIG HOP店";
		position: absolute;
		display: block;
		width: 145px;
		height: 30px;
		color: #FFF;
		text-indent: 0;
		font-size: 1.4rem;
		font-family: "Hiragino Kaku Gothic ProN W6", "ヒラギノ角ゴ ProN W6",
					 "Hiragino Sans", "ヒラギノ角ゴシック", source-han-sans-japanese,
					 "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
					 "游ゴシック", "Yu Gothic", "メイリオ", Meiryo,
					 "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		line-height: 30px;
		text-align: center;
		background: #000;
		top: 0;
		left: 155px;
		bottom: 0;
		margin: auto 0;
	}

	/* index
	------------------------------ */
	/* swiper */
	#index .swiper-container{
		height: auto;
		margin-top: 50px;
	}
	.swiper-slide{
		padding-bottom: 60%;
	}
	.swiper-slide p.txt{
		position: absolute;
		width: 100%;
		height: 0;
		padding-bottom: 25%;
	}
	.swiper-slide.slide04 p.txt{
		width: 100%;
		height: 0;
		padding-bottom: 60%;
		background-position: center top 16%;
		background-size: auto 75%;
	}
	.swiper-slide.slide_kids{
		background-image: url(../images/slider_kids_bg.jpg);
		background-repeat: repeat-x;
		background-size: auto 100%;
	}
	.swiper-slide.slide_kids::after{
		width: 70%;
		height: 0;
		padding-bottom: 60%;
	}
	.swiper-slide.slide_kids p.txt,
	.swiper-slide.slide_esthetic p.txt{
		width: 100%;
		height: 0;
		padding-bottom: 60%;
	}
	.swiper-slide.slide_kids p.txt{
		width: 120%;
		margin-left: 10%;
	}
	/* //swiper */
	#index main section h2{
		font-size: 1.6rem;
	}
	#index main section h2 span.en{
		margin-bottom: 15px;
	}
	#index main section h3{
		font-size: 2rem;
		line-height: 1;
	}
	/* index01 */
	#index01{
		margin-top: -50px;
		padding-top: 50px;
		background: #F2F2F2;
	}
	#index01 .btn{
		width: 202px;
	}
	#index01 .flex{
		width: 100%;
		padding: 0;
		background: #F2F2F2;
	}
	#index01 .left{
		width: 90%;
		padding: 40px 5%;
		background: #000;
	}
	#index01 .left h2{
		text-align: center;
		margin-bottom: 20px;
	}
	#index01 .left h2 span{
		margin: 0 auto 15px;
	}
	#index01 .sns{
		text-align: center;
		margin-bottom: 30px;
	}
	#index01 .right{
		padding: 40px 5%;
	}
	#index01 .right div,
	#index01 .right .twitter{
		display: block;
	}
	#index01 .right div{
		width: 100%;
		text-align: center;
		margin: 0 auto 20px;
	}
	#index01 .right dl{
		max-width: 100%;
		text-align: left;
		margin-bottom: 20px;
	}
	#index01 .right dl dt{
		font-size: 1.4rem;
		line-height: 1;
		margin-right: 1rem;
		margin-bottom: 20px;
	}
	#index01 .right dl dd{
		max-width: unset;
		font-size: 1.4rem;
		line-height: 1;
		margin-bottom: 20px;
	}
	#index01 .right .btn_list .btn{
		display: inline-block;
		width: 140px;
		margin-bottom: 0;
	}
	#index01 .right .btn_list .btn:first-child{
		margin: 0;
	}
	#index01 .right div.twitter{
		max-width: 100%;
		margin: 0 auto;
	}
	#index01 .right div.insta_list{
		position: relative;
		display: block;
		width: 100%;
		overflow: hidden;
	}
	#index01 .bnr a{
		max-width: unset;
		width: 100%;
		height: auto;
	}
	#index01 .bnr a:first-child{
		margin-bottom: 20px;
	}
	/* //index01 */
	/* index02 */
	#index02{
		margin-top: -55px;
		padding-top: 100px;
	}
	#index02 h2 span.en{
		width: 272px;
		height: 90px;
		background-image: url(../images/our_workout-sp.svg);
		margin-left: 0;
	}
	#index02 h2::after{
		width: 45%;
		height: 0;
		padding-bottom: 32%;
		top: -4.5%;
		right: 0;
	}
	#index02 .box{
		margin-top: 50px;
		padding-left: 0;
	}
	#index02 .box:first-of-type{
		margin-top: 50px;
		background: none;
	}
	#index02 .box:nth-of-type(2),
	#index02 .box:nth-of-type(3),
	#index02 .box:nth-of-type(4){
		background: none;
	}
	#index02 .box h3{
		position: relative;
		display: block;
		line-height: 1.5;
		padding-left: 40px;
		margin-bottom: 15px;
		vertical-align: top;
	}
	#index02 .box h3::before{
		content: "";
		position: absolute;
		display: block;
		width: 30px;
		height: 45px;
		vertical-align: top;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: contain;
		top: 0;
		left: 0;
	}
	#index02 .box:first-of-type h3::before{
		width: 30px;
		height: 39.5px;
		background-image: url(../images/icon_stopwatch.svg);
	}
	#index02 .box:nth-of-type(2) h3::before{
		height: 36px;
		background-image: url(../images/icon_beginner.svg);
	}
	#index02 .box:nth-of-type(3) h3::before{
		background-image: url(../images/icon_calendar.svg);
	}
	#index02 .box:nth-of-type(4) h3::before{
		background-image: url(../images/icon_glove.svg);
		bottom: 0;
		margin: auto 0;
	}
	#index02 .box p{
		line-height: 1.8;
		letter-spacing: .03em;
	}
	#index02 .right{
		position: relative;
		width: 100%;
		top: auto;
		margin-top: 30px;
	}
	#index02 .right div{
		width: 100%;
		height: 0;
		margin-top: 20px;
		padding-bottom: 40%;
	}
	/* //index02 */
	/* index03 */
	#index03{
		margin-top: 0;
	}
	#index03::before,#index03::after{
		width: 100%;
		height: 0;
		padding-bottom: 20%;
	}
	#index03 .flex{
		padding: 30px 5% 50px;
	}
	#index03 figure{
		margin: 0 auto 30px;
	}
	#index03 figure figcaption span{
		font-size: 1.9rem;
	}
	#index03 h2{
		width: auto;
		height: auto;
		background: none;
	}
	#index03 h2 span{
		width: 288px;
		height: 89px;
		background: url(../images/getfit-sp.svg);
	}
	#index03 .flex div p{
		margin-bottom: 30px;
	}
	.frame-wrapper__video {
		position: relative;
		width: 100%;
		height: 0;
		padding-bottom: 56.25%;
		overflow: hidden;
		margin-bottom: 50px;
	}
	.frame-wrapper__video iframe {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	/* //index03 */
	/* index04 */
	#index04{
		/* margin-top: -120px; */
		padding-top: 100px;
		padding-bottom: 80px;
	}
	#index04::after{
		width: 40%;
		height: 0;
		padding-bottom: 19%;
		top: 3%;
	}
	#index #index04 h3{
		line-height: 1.5;
		margin: 20px 0 40px;
	}
	#index04 div.wrapper div{
		width: 100%;
		overflow: auto;
		margin-bottom: 10px;
	}
	#index04 div.wrapper div table{
		width: 1170px;
	}
	#index04 table.second{
		margin-top: 40px;
	}
	#index04 p.caution{
		line-height: 1.63;
	}
	#index04 table.second tr th{
		line-height: 30px;
	}
	#index04 table.second tr td{
		font-size: 1.4rem;
		line-height: 1.5;
		padding: 4%;
	}
	#index04 table.second tr td.sub{
		width: 35%;
	}
	#index04 table.second tr td:nth-child(2){
		width: 65%;
	}
	#index04 div.wrapper div.box{
		margin: 0;
	}
	#index04 .box h4{
		color: #FFF;
		font-size: 20px;
		line-height: 62px;
		margin-bottom: 10px;
		padding-left: 20px;
		background: #000;
	}
	#index04 .box h4::before{
		display: none;
	}
	#index04 .box h4::after{
		content: "";
		position: absolute;
		display: block;
		width: 28px;
		height: 28px;
		background: #FFF;
		border-radius: 50%;
		top: 0;
		right: 20px;
		bottom: 0;
		margin: auto 0;
	}
	#index04 .box h4 span{
		position: relative;
		display: block;
	}
	#index04 .box h4 span::before,
	#index04 .box h4 span::after{
		content: "";
		position: absolute;
		display: block;
		width: 14px;
		height: 1.5px;
		background: #000;
		transition: .35s;
		top: 0;
		right: 26px;
		bottom: 0;
		margin: auto 0;
		z-index: 1;
	}
	#index04 .box h4 span::before{
		transform: rotate(90deg);
	}
	#index04 .box h4.active span::before{
		transform: rotate(0);
	}
	#index04 .box .table_box{
		display: none;
	}
	#index04 div.wrapper div.box table{
		width: 100%;
	}
	#index04 .box table tr th,
	#index04 .box table tr td{
		position: relative;
		display: block;
		text-align: left;
		line-height: 1.56;
		padding: 5%;
		box-sizing: border-box;
	}
	#index04 .box table tr th{
		width: 100%;
	}
	#index04 .box table tr td{
		margin-bottom: 15px;
	}
	#index04 .box table tr:last-child td{
		margin-bottom: 0;
	}
	#index04 div.wrapper div.layout_flex{
		display: block;
		margin-bottom: 0;
	}
	#index04 .layout_flex .box{
		max-width: unset;
	}
	#index04 .layout_flex .box table tr th{
		width: 100%;
	}
	#index04 div.wrapper .kids_box .btn{
		position: relative;
		margin-bottom: 20px;
		top: auto;
		right: auto;
	}
	/* //index04 */
	/* index05 */
	#index05{
		position: relative;
		z-index: 2;
		padding: 80px 0;
	}
	#index05 h2{
		margin: -103px 0 30px;
		padding-top: 103px;
	}
	#index05 h2 span.en{
		width: 294px;
		height: 45px;
		background-image: url(../images/tryW.svg);
		margin: 0 auto 22px;
	}
	#index05 p{
		font-size: 2.5rem;
		line-height: 1.3;
		padding-bottom: 10px;
	}
	#index05 .btn{
		display: block;
		width: 100%;
		font-size: 1.6rem;
		margin: 40px auto 0;
		box-sizing: border-box;
	}
	/* //index05 */
	/* index06 */
	#index06{
		position: relative;
		display: block;
		padding-bottom: 80px;
	}
	#index06 .flex_box{
		position: relative;
		background: #D12132;
		margin-bottom: 50px;
	}
	#index06 .flex_box .flex{
		width: 100%;
		padding: 0;
		height: auto;
	}
	#index06 .flex_box .flex h2{
		position: relative;
		display: block;
		width: 100%;
		margin: -50px auto 0;
		padding: 100px 5% 30px;
	}
	#index06 .flex_box .flex p{
		position: relative;
		display: block;
		padding: 20px 5% 20px 30%;
		letter-spacing: 0;
		background: #FFF;
	}
	#index06 .flex_box .flex p::before{
		width: 20%;
		height: 0;
		padding-bottom: 20%;
		top: 0;
		left: 5%;
		bottom: 0;
		margin: auto 0;
	}
	#index06 .flex_box .ggmap{
		position: relative;
		width: 100%;
		height: 200px;
		margin: 0 auto;
	}
	#index06 .flex_box .ggmap iframe{
		height: 100%;
	}
	#index06 #contact{
		margin-top: -80px;
		padding-top: 80px;
	}
	#index06 #contact h3,
	#yonmaruyon01 #contact h3,
	#thanks01 #contact h3{
		font-size: 2rem;
		margin-bottom: 10px;
	}
	#index06 #contact .flex,
	#yonmaruyon01 #contact .flex,
	#thanks01 #contact .flex{
		padding-bottom: 30px;
		margin-bottom: 40px;
	}
	#index06 #contact .flex h3::before,
	#yonmaruyon01 #contact .flex h3::before,
	#thanks01 #contact .flex h3::before{
		width: 13px;
		height: 23px;
		margin-right: 5px;
	}
	#index06 #contact .flex p span.tel,
	#yonmaruyon01 #contact .flex p span.tel,
	#thanks01 #contact .flex p span.tel{
		width: 288px;
		height: 31px;
	}
	#index06 #contact h3.mail{
		margin-bottom: 10px;
	}
	#index06 #contact h3.mail::before{
		width: 28px;
		height: 22px;
		margin-right: 5px;
	}
	#index #mailformpro table{
		width: 100%;
		margin: 20px 0 30px;
	}
	#index #mailformpro table tr th,
	#index #mailformpro table tr td{
		position: relative;
		display: block;
		width: 100%;
		padding: 5% 6%;
		border-right: 0;
		box-sizing: border-box;
	}
	#index #mailformpro table tr:last-child th{
		padding-top: 5%;
	}
	#index #mailformpro table tr td{
		padding: 5% 6%;
	}
	#index #mailformpro table tr td input{
		width: 100%;
		height: 36px;
		padding: 3%;
	}
	#index #mailformpro table tr td textarea{
		min-width: 100%;
		max-width: 100%;
		min-height: 153px;
		padding: 3%;
		letter-spacing: .05em;
	}
	#privacy_policy{
		padding: 8% 5%;
	}
	#index #mailformpro button.submit{
		width: 288px;
		margin-top: 20px;
	}

	/* sub contents
	------------------------------ */
	main .main_title{
		width: 100%;
		height: auto;
		margin-top: 50px;
	}
	main .main_title h1,main .main_title p{
		width: 100%;
		line-height: 1.3;
		padding: 50px 0;
	}
	.sub_section .section_h2{
		font-size: 1.6rem;
		margin-bottom: 25px;
	}
	.sub_section .section_h2 .en{
		margin: 0 auto 20px;
	}
	.sub_section .title_underline{
		margin-bottom: 30px;
	}
	.sub_section .title_underline span{
		font-size: 2rem;
		line-height: 145%;
		padding-bottom: 10px;
		border-bottom: 4px solid #CF2132;
	}
	.sub_section .fukidashi_center .inner{
		font-size: 1.8rem;
		line-height: 145%;
		padding: 15px 20px;
	}
	.sub_section .fukidashi_center .inner span::before,
	.sub_section .fukidashi_center .inner span::after{
		width: 15px;
		height: 25px;
		margin-right: 5px;
		top: -1px;
	}
	.sub_section .fukidashi_center .inner span::after{
		margin: 0 0 0 5px;
	}
	.sub_section .layout_flex{
		display: block;
	}
	.about_section{
		padding: 20px 0 50px;
	}
	.about_section::after{
		height: 60%;
	}
	.about_section .center.color_red{
		font-size: 1.7rem;
		margin-bottom: 35px;
	}
	.about_section .fukidashi_center{
		margin: 35px 0 25px;
	}
	.about_section ul{
		max-width: unset;
	}
	.about_section ul li{
		max-width: unset;
		width: 100%;
		font-size: 1.6rem;
		line-height: 145%;
		border-radius: 60px;
		margin-bottom: 10px;
		padding: 15px;
		box-sizing: border-box;
	}
	.about_section ul li:last-child{
		margin-bottom: 0;
	}

	/* voice
	------------------------------ */
	#voice01 h2{
		font-size: 2rem;
		line-height: 1.4;
		margin-bottom: 14px;
		padding: 10px 20px;
	}
	.voice_list{
		margin-top: 36px;
	}
	.voice_list img{
		display: block;
		margin: 0 auto 10px;
	}
	.voice_list div{
		min-height: unset;
		padding: 8% 5%;
	}
	.voice_list div p{
		line-height: 1.7;
		letter-spacing: .02em;
	}
	.voice_list div p.name{
		font-size: 1.6rem;
		margin-bottom: 10px;
	}
	#bottom_contact{
		height: auto;
		margin-top: 50px;
		padding: 50px 0;
	}
	#bottom_contact .white_box{
		padding: 8% 5%;
	}
	#bottom_contact h2{
		height: 0;
		margin-bottom: 20px;
		padding-bottom: 35px;
		background-size: auto 25px;
		border-bottom-width: 2px;
	}
	#bottom_contact .flex .tel_box{
		margin-bottom: 20px;
		padding-bottom: 20px;
		border-right: 0;
		border-bottom: 1px solid #000;
	}
	#bottom_contact .flex div h3{
		font-size: 1.8rem;
		margin-bottom: 10px;
	}
	#bottom_contact .flex div h3::before{
		margin-right: 5px;
	}
	#bottom_contact .flex .tel_box h3::before{
		width: 14px;
		height: 30px;
	}
	#bottom_contact .flex .mail_box h3::before{
		width: 30px;
		height: 24px;
	}
	#bottom_contact .tel{
		width: 260px;
		height: 30px;
		margin-bottom: 10px;
	}
	#bottom_contact .flex .tel_box p{
		line-height: 1.4;
	}
	#bottom_contact .flex div .btn{
		width: 259px;
		line-height: 50px;
		margin: 20px auto 0;
	}

	/* kids_class
	------------------------------ */
	#kids_class .main_title h1 span,
	#kc_about h2 .en{
		width: 100%;
		height: 35px;
	}
	#kc_point{
		padding-top: 55px;
	}
	#kc_point ul li{
		margin: 0 auto 50px;
		padding: 50px 0 26px;
	}
	#kc_point ul li:last-child{
		margin-bottom: 0;
	}
	#kc_point ul li::before{
		height: 35px;
		top: -12px;
	}
	#kc_guidance{
		padding-top: 60px;
	}
	#kc_guidance .pict{
		margin: 0 auto 20px;
	}
	#kc_guidance p{
		max-width: unset;
	}
	#kc_curriculum{
		padding: 50px 0 70px;
	}
	#kc_curriculum .title_underline{
		margin-bottom: 30px;
	}
	#kc_curriculum p.center{
		font-size: 1.6rem;
		margin-bottom: 30px;
	}
	#kc_curriculum p.center br{
		display: none;
	}
	#kc_curriculum ul li{
		max-width: unset;
		height: auto;
		font-size: 1.8rem;
		line-height: 145%;
		border-radius: 80px;
		margin-bottom: 10px;
		padding: 20px;
		box-sizing: border-box;
	}
	#kc_curriculum ul li:last-child{
		margin-bottom: 0;
	}
	#kc_detail{
		padding: 60px 0 50px;
	}
	#kc_detail table tr th,#kc_detail table tr td{
		position: relative;
		display: block;
		width: 100%;
		padding: 3% 5%;
		box-sizing: border-box;
	}
	#kc_detail table tr th{
		width: 100%;
	}
	#kc_detail table tr td{
		border-bottom-width: 10px;
	}
	
	/* self esthetic
	------------------------------ */
	#self_esthetic .main_title h1 span{
		width: 100%;
		height: 33px;
	}
	#se_about h2 .en{
		width: 100%;
		height: 35px;
	}
	#se_about .center.color_red{
		margin-bottom: 20px;
	}
	#se_effect{
		padding: 50px 0 60px;
	}
	#se_effect ul li:first-child{
		margin-bottom: 50px;
	}
	#se_effect ul li .text{
		padding: 10% 8%;
	}
	#se_effect ul li h3{
		height: 35px;
		margin-bottom: 20px;
	}
	#se_effect ul li .circle{
		font-size: 1.6rem;
		line-height: 150%;
		margin-bottom: 10px;
	}
	#se_effect ul li .circle:last-child{
		margin-bottom: 0;
	}
	#se_reason{
		padding: 50px 0 60px;
	}
	#se_reason ul li{
		max-width: unset;
		margin-bottom: 20px;
	}
	#se_reason ul li:last-child{
		margin-bottom: 0;
	}
	#se_reason ul li .text{
		padding: 8% 5%;
	}
	#se_reason ul li h3{
		font-size: 2rem;
	}
	#se_point{
		padding-top: 50px;
	}
	#se_point .pict{
		margin: 0 auto 20px;
	}
	#se_point .text{
		max-width: unset;
	}
	#se_point .text p{
		line-height: 170%;
		margin-bottom: 10px;
	}
	#se_point .text p:last-child{
		margin-bottom: 0;
	}

	/* news - archive
	------------------------------ */
	.topics_list li .contents{
		width: 100%;
	}
	.topics_list li .date{
		margin-top: 20px;
	}
	.topics_list li h2{
		font-size: 2rem;
	}
	.topics_list li p.expert{
		font-size: 1.4rem;
		line-height: 2;
	}

	/* news - single
	------------------------------ */
	section.single h1{
		font-size: 2rem;
	}
	section.single p.date{
		margin-bottom: 20px;
	}
	.adjacent_post_links{
		margin: 40px 0 70px;
	}

	/* 404
	------------------------------ */
	#yonmaruyon main .main_title h1 span{
		width: 312px;
		height: 90px;
		background-image: url(../images/404-sp.svg);
	}
	#yonmaruyon01{
		text-align: center;
		margin-bottom: 80px;
	}
	#yonmaruyon01 a.btn{
		width: 200px;
	}
	#yonmaruyon01 #contact .flex,
	#thanks01 #contact .flex{
		display: block;
		padding-bottom: 0;
		margin: 30px 0 50px;
		border-bottom: 0;
	}
	#yonmaruyon01 #contact .flex p span.tel,
	#thanks01 #contact .flex p span.tel{
		margin: 12px auto 0;
	}

	/* footer
	------------------------------ */
	footer{
		padding: 120px 0 130px;
		background-size: cover, cover;
	}
	footer::before,footer::after{
		height: 0;
		padding-bottom: 40%;
	}
	footer .wrapper{
		padding-top: 50px;
	}
	footer .right{
		display: none;
	}
	footer small{
		margin-top: 10px;
	}
	.footer_fixed{
		position: fixed;
		display: block;
		width: 100%;
		height: 70px;
		letter-spacing: -.4em;
		z-index: 100;
		left: 0;
		right: 0;
		bottom: 0;
		margin: 0 auto;
	}
	.footer_fixed a{
		position: relative;
		display: inline-block;
		width: 50%;
		color: #FFF;
		text-align: center;
		line-height: 1;
		letter-spacing: .05em;
		padding: 20px 0 40px;
	}
	.footer_fixed a:first-child{
		background: #000;
	}
	.footer_fixed a:nth-child(2){
		background: #D12132;
	}

	/* Breadcrumb
	------------------------------ */
	.breadcrumb{
		font-size: 1.2rem;
		margin: 0 auto 50px;
		padding: 15px 0;
	}

	/* Page Navi
	------------------------------ */
	.wp-pagenavi{
		padding-bottom: 70px;
	}

	/* Page Top
	------------------------------ */
	.pagetop{
		right: 10px;
	}
	.pagetop.show{
		bottom: 80px;
		right: 10px;
	}
	.pagetop a{
		width: 50px;
		height: 50px;
	}
	.pagetop a::before{
		top: 20px;
	}
}
@media screen and (max-width: 358px) {
	a.fixed_logo::after{
		width: 100px;
		height: 20px;
		font-size: 1rem;
		line-height: 20px;
		left: 155px;
	}
}