@media(max-width: 768px){
	*{ font-size: 3.7333vw; }

/*	.intro{ padding: 8vw 0 17.3333vw; }*/
	.intro h2{ font-size: 8vw; line-height: 1.4; }
	.intro h2 span{ font-size: 5.8666vw; }
	.intro .intro-bg{ padding: 45.3333vw 0 23.6vw; background: url(../images/index/bg-intro01-sp.jpg) no-repeat #ececee; background-size: 100%; }
	.intro .intro-bg:after{ height: 10.666vw; }
	.intro .intro-bg ul{ width: auto; display: table; margin: 0 auto; }
	.intro .intro-bg ul li{ width: auto; font-size: 4.266vw; margin-bottom: 3vw; }
	.intro .intro-bg ul li:before{ width: 4.8vw; height: 4vw; top: 1.5vw; }

	.what h2, .reasons h2, .flow h2, .dr h2{ font-size: 8vw; padding-bottom: 1vw; letter-spacing: 0; white-space: nowrap; }
	.what h2 span, .reasons h2 span, .flow h2 span, .dr h2 span{ font-size: 3.4666vw; }
	.what h2 + h3{ font-size: 5.33333vw; height: 18.6666vw; width: 100%; text-align: center; margin: 6.6666vw 0 10.666vw; }
	.what h2 + h3 span{ padding: 0; }
	.what h2 + h3:before{ border-width: 9.3333vw 0 9.3333vw 1.33333vw; }
	.what h2 + h3:after{ border-width: 9.3333vw 1.33333vw 9.3333vw 0; }
	.what .row{ flex-wrap: wrap; padding: 0; margin-bottom: 12vw; }
	.what .row .left{ width: 100%; margin-bottom: 8vw; }
	.what .row .left img{ width: 100%; }
	.what .row .right{ width: 100%; }
	.what .difference{ width: calc(100% + 10.6666vw); margin-left: -5.3333vw; padding: 9.333vw 5.3333vw 0; margin-bottom: 12vw; }
	.what .difference h3{ font-size: 8vw; margin-bottom: 8vw; }
	.what .difference table.sp-table.sp{ display: table; width: 100%; margin-bottom: 12vw; }
	.what .difference table.sp-table.sp thead th{ background: #426091; color: #fff; font-size: 6.4vw; text-align: center; font-weight: 600; padding: 2.6666vw; }
	.what .difference table.sp-table.sp thead th span{ font-weight: 400; }
	.what .difference table.sp-table.sp thead td img{ display: block; width: 100%; }
	.what .difference table.sp-table.sp tbody th{ background: #fff; text-align: left; vertical-align: middle; padding: 4vw 0 4vw 5.333vw; width: 39.333vw; letter-spacing: 0; position: relative; }
	.what .difference table.sp-table.sp tbody tr:not(:last-of-type) th:after{ content: ''; width: calc(100% - 5.333vw); height: 1px; background: #dcdcdc; position: absolute; bottom: 0; right: 0; }
	.what .difference table.sp-table.sp tbody td{ background: #fff; text-align: left; padding: 4vw 5.333vw 4vw 4.666vw; letter-spacing: 0; position: relative; }
	.what .difference table.sp-table.sp tbody td:before{ content: '▶︎'; color: #ff80a9; position: absolute; left: 0; top: 50%; transform: translateY(-50%); }
	.what .difference table.sp-table.sp tbody tr:not(:last-of-type) td:after{ content: ''; width: calc(100% - 5.333vw); height: 1px; background: #dcdcdc; position: absolute; bottom: 0; left: 0; }

	.smile{ margin-bottom: 12vw; }
	.smile h2{ font-size: 5.8666vw; margin-bottom: 7.33333vw; }
	.smile h2 strong{ font-size: 8vw; }
	.smile h2 + p{ font-size: 4.26666vw; text-align: left; }

	.three-point{ padding-bottom: 12vw; }
	.three-point ul li .wrap{ height: 40vw; }
	.three-point ul li .wrap h2{ font-size: 4vw; }
	.three-point ul li .wrap h2 strong{ font-size: 7vw; }
	.three-point ul li:nth-of-type(1){ background-image: url(../images/index/bg-three-point01-sp.jpg) }
	.three-point ul li:nth-of-type(2){ background-image: url(../images/index/bg-three-point02-sp.jpg) }
	.three-point ul li:nth-of-type(3){ background-image: url(../images/index/bg-three-point03-sp.jpg) }
	.three-point ul + h2{ font-size: 5.8666vw; margin: 16vw 0 12vw; }
	.three-point ul + h2 strong{ font-size: 8vw; }
	.three-point ul + h2 + p{ font-size: 4.26666vw; }

	.two-point{ padding: 0; }
	.two-point img{ max-width: 100%; }

	.reasons{ padding: 21.3333vw 0 10.666vw; }
	.reasons:before{ border-width: 10vw 13vw 0 13vw; }
	.reasons ul li{ flex-wrap: wrap; margin-bottom: 22.666vw; }
	.reasons ul li .txt{ width: 100%; }
	.reasons ul li .img{ width: 100%; }
	.reasons ul li .txt span.no{ font-size: 3.73333vw; display: block; width: 100%; text-align: center; top: -9vw; }
	.reasons ul li .txt span.no strong{ font-size: 9.0666vw; }
	.reasons ul li .txt h3{ font-size: 6.4vw; height: 13.3333vw; width: 100%; margin-bottom: 5.3333vw; }
	.reasons ul li .txt h3:after{ border-width: 6.66665vw 2.6666vw 6.66665vw 0; }
	.reasons ul li .txt h3 span{ padding: 0 .5em; font-size: 19px; }
	.reasons ul li .txt h3 + img{ margin-bottom: 4vw; }
	.reasons ul li .txt dl .row dt{ height: 13.3333vw; font-size: 5.333vw; }
	.reasons ul li .txt dl .content{ min-height: 50.666vw; }

	.price{ padding: 4vw; }
	.price .inner{ padding: 10.6666vw 0 6.66666vw; margin-bottom: 5.333vw; }
	.price .inner:not(:first-of-type){ padding-top: 2.66666vw; }
	.price .row > div{ width: 100%; display: flex; flex-wrap: wrap; }
	.price .row > div .thumb{ order: 2; }
	.price h2{ font-size: 8vw; margin-bottom: 10.6666vw; }
	.price h3{ width: 100%; height: 13.333vw; padding: 0 5vw; margin-bottom: 10.6666vw; }
	.price h3:before{ width: 6.666vw; height: 6.666vw; top: 1.3333vw; left: 1.3333vw; }
	.price h3:after{ width: 6.666vw; height: 6.666vw; bottom: 1.3333vw; right: 1.3333vw; }
	.price h3 span:nth-of-type(1){ font-size: 5.3333vw; }
	.price h3 span:nth-of-type(2){ font-size: 9.3333vw; }
	.price .row > div h4{ font-size: 6.4vw; order: 1; width: 100%; margin: 0 0 2.66666vw; }
	.price .row > div .all-price{ order: 3; width: 100%; border-top: none; }
	.price .row > div .all-price p{ font-size: 13.3333vw; padding: 2.6vw 0; }
	.price .row > div .all-price p small{ font-size: 6.6666vw; }
	.price .row > div .all-price p span{ font-size: 3.2vw; top: 3.6vw; }
	.price .row > div .monthly{ order: 4; width: 100%; padding: 6.6666vw 0 0; }
	.price .row > div .monthly span{ font-size: 3.7333vw; }
	.price .row > div .monthly p{ font-size: 9.333vw; }
	.price .row > div .monthly p strong{ font-size: 16vw; }
	.price .row > div .monthly small{ font-size: 3.7333vw; }
	.price h5{
		font-size: 6.4vw;
	    order: 1;
	    width: 100%;
	    margin: 0 0 2.66666vw;
    	padding: 4px 0;
    	border: none;
    	background: #d9dfe9;
	}
	.price h5 + table{ margin: 0 auto 2vw; }
	.price h5 + table th{ font-size: 3.6vw; letter-spacing: 0; }
	.price h5 + table td{ font-size: 3.6vw; letter-spacing: 0; }
	.price h5 + table + p{ font-size: 3.2vw; margin-bottom: 0; }
	.price dl{ padding: 0; }
	.price dl .pay-wrap{ padding: 6vw 2.666vw 3.7333vw; }
	.price dl dt{ font-size: 8vw; }
	.price dl dd{ font-size: 4.4vw; letter-spacing: 0; }
	.price .inner .wrap{ padding-left: 2.6666vw; padding-right: 2.6666vw; }
	.price .row{ flex-wrap: wrap; }

	.flow{ padding: 12vw 0 10.666vw; }
	.flow ul{ margin: 12vw auto 13.3333vw; }
	.flow ul:before{ font-size: 3.2vw; top: -4vw; left: 1.3vw; }
	.flow ul:after{ font-size: 3.2vw; bottom: -4vw; left: 3vw;}
	.flow ul li{ font-size: 4.8vw; padding: 4vw 0 4vw 15vw; }
	.flow ul li:before{ width: 10.6666vw; height: 10.6666vw; border-radius: 10.6666vw; font-size: 5.06666vw; top: 1.7vw; }
	.flow .arrow{ width: 26.666vw; margin-bottom: 10.6666vw; }
	.flow h3{ font-size: 5.8666vw; margin-bottom: 9.3333vw; }
	.flow h3 strong{ font-size: 8vw; }
	.flow h4{ font-size: 5.8666vw; margin-bottom: 9.3333vw; }
	.flow h4 + p{ font-size: 4.2666vw; }

	.dr{ padding: 16vw 0 12vw; }
	.dr:before{ border-width: 10vw 13vw 0 13vw; }
	.dr h2{ margin-bottom: 13.3333vw; }
	.dr .row .img:before{ content: none; }
	.dr .row{ flex-wrap: wrap; margin-bottom: 13.333vw; }
	.dr .row .txt{ width: 100%; }
	.dr .row .pr-wrap{ display: flex; align-items: flex-end; margin-bottom: 9.3333vw; }
	.dr .row .pr-wrap .pr-img{ width: 40vw; }
	.dr .row .txt h3{ border: none; font-size: 6.666vw; width: calc(100% - 40vw); padding-left: 4vw; margin-bottom: 0; }
	.dr .row .txt h3 span{ font-size: 4vw; border-bottom: solid 1px; position: relative; }
	.dr .row .txt h3 span:after{ content: ''; width: 4vw; height: 1px; background: #426091; position: absolute; bottom: -1px; left: -4vw; }
	.dr .row:nth-of-type(odd) .txt h3:after, .dr .row:nth-of-type(even) .txt h3:after{ content: none; }
	.dr .row .txt p{ font-size: 3.7333vw; }

	.contact{ padding-top: 21.333vw; }
	.contact:before{ border-width: 10vw 13vw 0 13vw; }
	.contact h2{ font-size: 5.8666vw; margin-bottom: 9.3333vw; }
	.contact h2 + p{ font-size: 4.2666vw; margin-bottom: 7.7333vw; }
	.contact .tel-btn{ width: 100%; height: 18.66666vw; flex-wrap: wrap; padding: 2vw 0; margin-bottom: 4vw; }
	.contact .tel-btn small{ font-size: 2.5333vw; width: 100%; display: block; text-align: center; }
	.contact .tel-btn span{ width: 45.6vw; }
	.contact .resv-counseling{ width: 100%; height: 18.66666vw; margin-bottom: 10.666vw; }
	.contact .resv-counseling span{ font-size: 4.8vw; padding-left: 8vw; }
	.contact .resv-counseling span:before{ width: 4.13333vw; height: 4.2666vw; top: 1.1vw; }
	.contact .item01{ width: 100vw; max-width: none; margin-left: -5.3333vw; }

	.web-bg:before{ border-width: 10vw 13vw 0 13vw; }
	.web-bg{ padding-top: 22.6666vw; padding-bottom: 13.333vw; background: url(../images/index/bg-web01-sp.png) no-repeat; background-size: 100%; background-position: top; }
	.web-bg h2{ font-size: 5.8666vw; margin-bottom: 17.3333vw; }
	.web-bg h2 + p{ width: 100%; font-size: 3.7333vw; }
	.upload > p{ font-size: 3.7333vw; margin: 9.3333vw 0 10.6666vw; }
	.upload dl dt{ font-size: 4.8vw; }
	.upload dl dd{ font-size: 3.7333vw; padding: 2.1333vw 2.666vw; }
	.upload dl dd br{ display: none; }

	.upload .example{ padding: 10.6666vw 5.3333vw; width: 100vw; margin-left: -5.3333vw; }
	.upload .example .pic-flow{ justify-content: space-between; margin-bottom: 5.3333vw; }
	.upload .example .pic-flow li{ width: 28.8vw; margin: 0; }
	.upload .example .pic-flow li h3{ font-size: 3.7333vw; }
	.upload .example .detail{ width: 100%; }
	.upload .example .row:nth-of-type(1){ padding-bottom: 4vw; margin-bottom: 6.6666vw; }
	.upload .example .row:nth-of-type(2) .pic-flow{ justify-content: center; }
	.upload .example .row:nth-of-type(2) .pic-flow li{ margin: 0 1.3333vw; }
	.upload .example .detail li{ letter-spacing: 0; }

	form.wrap{ padding: 0 0 20vw; }
	form table,
	form table tbody,
	form table tr,
	form table th,
	form table td{ display: block; }
	form table th{ font-size: 3.7333vw; margin-bottom: 1vw; }
	form table td{ margin-bottom: 5.3333vw; }
	form table td input{ min-height: 10.666vw; }
	form label{ min-height: 10.666vw; }
	form label:before{ height: calc(10.666vw - 2px); font-size: 3.2vw; width: 26.666vw; }
	form table + p{ margin-right: auto; }
	form input[type="submit"],
	form button{ height: 18.6666vw; font-size: 5.066vw; }

	form.confirm.wrap{ padding: 0 5.3333vw 20vw; }
	.confirm h2{ font-size: 8vw; margin: 20vw 0 10vw; }
	.confirm h2 + p{ text-align: left; }
	.confirm h2 + p br{ display: none; }
	form.confirm input,
	form button[type="submit"]{ margin-top: 8vw; }


	/**** 200527 リモート矯正無料相談追加分 ****/

	.remote{ margin-top: 6.6666vw; }
	.remote:before,
	.remote:after{ content: none; }
	.remote .remote-head{ background: url(../images/index/bg-remote01.png) #e1edf9 no-repeat; background-size: contain; background-position: bottom right; padding-top: 12.666vw; padding-bottom: 10.666vw; }
	.remote .remote-head h2{ font-size: 5.8666vw; line-height: 2; }
	.remote .remote-head h2 span{ font-size: 3vw; }
	.remote .remote-head h2 span strong{ font-size: 3.2vw; }
	.remote .remote-content{ padding-top: 5.333vw; padding-bottom: 13.33vw; }
	.remote .remote-content ul{ margin-bottom: 4vw; }
	.remote .remote-content ul li{ letter-spacing: 0; }
	.remote .remote-content .remaining{ font-size: 5.866vw; letter-spacing: 0; white-space: nowrap; text-align: center; line-height: 2.4; margin-bottom: 6.2666vw; }
	.remote .remote-content .remaining:after{ content: none; }
	.remote .remote-content .remaining span{ font-size: 7.466vw; }
	.remote .remote-content .remaining strong{ display: inline-block; font-size: 13.333vw; padding: 3vw 2vw 4vw; }
	.remote .remote-content .btn{ width: 100%; height: 18.666vw; font-size: 5.0666vw; padding-left: 4.6666vw; background-size: 4.2666vw; background-position: top 50% left 4vw; }
	
	/**** 201015 リマケ ****/	
	.row .invisa h4 span,.row .igo h4 span{font-size: 15px;margin-right: 10px;}
	
	/**** 202102 先着 ****/
	.contact .resv-counseling span::after{    content: '※カウンセリング+簡易検査7,000円(税別)';
    width: 100%;
    height: 28px;
    /* background: url(../images/index/icon-resv01.png) no-repeat; */
    /* background-size: contain; */
    position: absolute;
    top: 28px;
    right: 0%;
    font-size: 11px; letter-spacing: 0; }
	
	
	li.sns_logo{display: flex;
		padding: 1.5rem 1rem 0;
    justify-content: center;
		border-top: 1px dashed #000034;
	}
	li.sns_logo a{width: 15%; margin: 0 1rem; border: none!important}
	li.sns_logo img.sns_last{    padding-top: 4px;}		
	
	
	
}	

