@media(max-width: 768px){
	.mv .bg01{ height: auto; min-height: 0; }
	.mv .wrap{ position: static; width: 100%; display: block; transform: none; padding: 0; }
	.mv .inner{ position: absolute; top: 16.4rem; left: 50%; transform: translateX(-50%); width: calc(100% - 4rem); }
	.mv .inner img{ position: static; width: 22rem; display: block; margin: 0 auto .5rem; }
	.mv .inner h1{ font-size: 2.2rem; padding: 0; }
	.mv .inner h1 strong{ font-size: 2.8rem; }
	.mv .inner h1 strong span{ transform: translateY(-30%); }
	.mv .inner h1 small{ font-size: 1.7rem; margin-top: .4rem; }
	@media screen and (-webkit-min-device-pixel-ratio: 0) {
	    _::-webkit-full-page-media, _:future, :root .mv .inner h1{ letter-spacing: 0; }
	}
	.mv .inner h2, .mv .inner p{ font-size: 1rem; letter-spacing: .03em; }
	.mv dl{ position: relative; width: 100%; height: 16.5rem; justify-content: flex-end; }
	.mv dl:before{ content: ''; width: 16.5rem; height: 100%; background: #4d4d4d; position: absolute; top: 0; right: 0; mix-blend-mode: multiply; }
	.mv dl.dr02:before{ right: auto; left: 0; }
	.mv dl.dr01{ padding-bottom: 1rem; }
	.mv dl.dr02{ left: 0; justify-content: flex-start; padding-bottom: 1rem; }	
	.mv dl .dr-inner{ width: 16.5rem; z-index: 1; }

	h2.general span{ line-height: 1.5; }
	h2.general + p.sub-font{ font-size: 2.2rem; }
	@media screen and (-webkit-min-device-pixel-ratio: 0) {
	    _::-webkit-full-page-media, _:future, :root h2.general + p.sub-font{ letter-spacing: -.07rem; }
	    _::-webkit-full-page-media, _:future, :root .sec-allon4 .content-row h3{ letter-spacing: -.07rem; }
	}
	
	.sec-allon4{ padding-top: 12rem; margin-bottom: 5rem; }
	.sec-allon4 .bg01{ width: 29.2rem; left: 50%; transform: translateX(-50%); }
	.sec-allon4 .item01{ width: 30rem; margin: 3.6rem auto 4rem; transform: translateX(1rem); }
	.sec-allon4 h2 + p.sub-font{ width: 100vw; margin-left: -2rem; }
	.sec-allon4 .content-row{ margin-bottom: 6rem; }
	.sec-allon4 .content-row{ width: 100%; }
	.sec-allon4 .content-row .txt{ width: 100%; margin-bottom: 2rem; }
	.sec-allon4 .content-row h3{ text-align: center; margin-bottom: 1.7rem; width: 100%; }
	.sec-allon4 .content-row p{ width: 100%; letter-spacing: .05em; }
	.sec-allon4 .content-row img{ width: 33.5rem; }
	.sec-allon4 > h3{ letter-spacing: .03em; }
	.sec-allon4 > h3:after{ width: 7rem; height: 8.7rem; bottom: -3.6rem; right: -5rem; }
	.sec-allon4 .allon4-list{ padding: 2.5rem 0; }
	.sec-allon4 .allon4-list:after{ width: 3.5rem; height: 8.7rem; top: -6.6rem; left: 0; }
	.sec-allon4 .allon4-list:before{ width: calc(100% + 1rem); border-radius: 5rem 0; }
	.sec-allon4 .allon4-list li{ margin: 0; width: 100%; }
	.sec-allon4 .allon4-list li:last-of-type:after{ content: none; }
	.sec-allon4 .allon4-list li img{ width: 9.5rem; margin-bottom: .5rem; }
	.sec-allon4 .allon4-list li p{ font-size: 1.1rem; letter-spacing: 0; }
	.sec-allon4 .allon4-list li p strong{ font-size: 1.6rem; }

	.sec-comp{ padding: 6.5rem 0 5rem; }
	.sec-comp h2 + p.sub-font + p{ margin-bottom: 4.5rem; }
	.sec-comp table.sp{ width: 100%; }
	.sec-comp table.sp + table{ margin-top: 5rem; }
	.sec-comp table.sp tr > *{ border-bottom: solid 1px var(--sub-color01); }
	.sec-comp table.sp th{ vertical-align: middle; text-align: center; }
	.sec-comp table.sp thead th:first-of-type{ width: 9.5rem; }
	.sec-comp table.sp thead th:nth-of-type(2){ height: 20.5rem; background: #efefef; border-radius: 5rem 5rem 0 0; font-size: 2.4rem; }
	.sec-comp table.sp thead th:nth-of-type(2) small{ display: block; font-size: 1.2rem; font-weight: 300; line-height: 1; }
	.sec-comp table.sp thead th:nth-of-type(2) img{ display: block; width: 12.5rem; margin: 1rem auto 0; }	
	.sec-comp table.sp tbody th{ height: 12.5rem; font-size: 1.6rem; line-height: 1.5; color: var(--sub-color01); white-space: nowrap; }
	.sec-comp table.sp tbody td{ font-size: 1.6rem; font-weight: 700; text-align: center; vertical-align: middle; line-height: 1.5; background: #efefef; }
	.sec-comp table.sp tbody tr:first-of-type td{ font-size: 2.4rem; }
	.sec-comp table.sp tbody td small{ display: block; font-size: 1.2rem; font-weight: 300; margin-top: .8rem; letter-spacing: .03em; }
	.sec-comp table.sp + table.sp thead th:nth-of-type(2),
	.sec-comp table.sp + table.sp tbody td{ background: #d5e1f7; }
	.sec-comp table.sp + table.sp tbody td strong{ background: linear-gradient(transparent 60%, var(--sub-color03) 60%); }

	.sec-merit{ padding-top: 25rem; margin-bottom: 5rem; }
	.sec-merit .bg01{ width: 31.2rem; top: 2.5rem; left: 50%; transform: translateX(-50%); }
	.sec-merit h2 + p.sub-font{ width: 100vw; margin-left: -2rem; letter-spacing: 0; margin-bottom: 3rem; }
	.sec-merit h3{ margin-bottom: 1rem; }
	.sec-merit .case-photo{ flex-wrap: wrap; width: 26rem; margin: 0 auto 3.5rem; }
	.sec-merit .case-photo li:nth-of-type(-n+2){ width: 12.5rem; }
	.sec-merit .case-photo li:nth-of-type(3){ width: 100%; margin-top: 1rem; }
	.sec-merit .case-photo li img{ width: 100%; }
	.sec-merit .case-photo + table td{ padding: 1.4rem 0 1.4rem 2rem; }
	.sec-merit .case-photo + table + h3{ margin-top: 3.5rem; }

	.sec-trouble{ padding: 7rem 0 5rem; }
	.sec-trouble h2 + p.sub-font + p{ max-width: 100%; margin-bottom: 4rem; }
	.sec-trouble .trouble-list li:before{ width: 100%; border-radius: 5rem 0; }
	.sec-trouble .trouble-list li{ padding: 6rem 2rem 4.5rem; }
	.sec-trouble .trouble-list li + li { margin-top: 6.5rem; }
	.sec-trouble .trouble-list li .no{ font-size: 3.6rem; top: -3.6rem; }
	.sec-trouble .trouble-list li .no strong{ font-size: 7.5rem; }
	.sec-trouble .trouble-list li h3{ font-size: 2.4rem; margin-bottom: 1.5rem; }
	.sec-trouble .trouble-list li h3 + p{ margin-bottom: 2rem; }
	.sec-trouble .trouble-list li .row.half .left{ width: 100%; margin-bottom: 2.5rem; }
	.sec-trouble .trouble-list li .row.half .right{ width: 100%; }
	.sec-trouble .trouble-list li .row.half img{ width: 100%; }
	.sec-trouble .trouble-list li img.item01{ margin: 2rem 0; width: 100%; }

	.sec-other{ padding-top: 24.5rem; }
	.sec-other .bg01{ top: 1.5rem; left: -3.5rem; width: 35rem; }
	.sec-other h2{ width: 100vw; margin-left: -2rem; }
	.sec-other .other-list li:before{ width: 100vw; right: -2rem; height: calc(100% - 5rem); }
	.sec-other .other-list li:nth-of-type(even):before{ left: -2rem; }
	.sec-other .other-list li + li{ margin-top: 5rem; }
	.sec-other .other-list li picture{ order: 1; }
	.sec-other .other-list li img{ margin-bottom: 2rem; }
	.sec-other .other-list li .head{ width: 100%; margin-bottom: 1.5rem; order: 2; }
	.sec-other .other-list li .head .no{ margin-bottom: 2.5rem; }	
	.sec-other .other-list li > p{ width: 100%; order: 3; }

	.img-box{ height: 30rem; }
	.img-box .inner small{ font-size: 1.5rem; }
	.img-box .inner p{ font-size: 3.2rem; letter-spacing: .04em; }
	.img-box .inner p strong{ font-size: 6rem; }
	.img-box .inner p strong:after{ width: 1.55rem; height: 2.3rem; }

	.sec-reasons{ padding-top: 24.5rem; margin-bottom: 4.5rem; }
	.sec-reasons .bg01{ top: 4.2rem; right: auto; left: 50%; transform: translateX(-50%); width: 25rem; }
	.sec-reasons .reasons-list:before{ content: none; }
	.sec-reasons .reasons-list li{ width: 100%; }
	.sec-reasons .reasons-list li:nth-of-type(n+2){ margin-top: 2rem; }
	.sec-reasons .reasons-list li img{ width: 100%; }

	.sec-flow{ padding: 7rem 0 2.5rem; margin-bottom: 4rem; }
	.sec-flow .wrap{ width: 100%; }
	.sec-flow h2 + p.sub-font{ width: 100vw; margin-left: -2rem; }
	.sec-flow .flow-list li{ padding: 2.5rem 2rem 2.5rem; flex-wrap: wrap; justify-content: center; background: rgba(255, 255, 255, .5); border-radius: 5rem 0; }
	.sec-flow .flow-list li:nth-of-type(even){ background: none; justify-content: center; }
	.sec-flow .flow-list li:nth-of-type(odd):before{ content: none; }
	.sec-flow .flow-list li .txt{ width: 100%; margin: 0 0 2rem; }
	.sec-flow .flow-list li img{ width: 24rem; }

	.sec-dr{ padding-top: 20.5rem; margin-bottom: 4rem; }
	.sec-dr .bg01{ width: 25rem; top: 0; }
	.sec-dr h2 + p.sub-font{ margin-bottom: 1.5rem; }
	.sec-dr .dr-list{ height: auto; flex-wrap: wrap; margin-bottom: 2rem; }
	.sec-dr .dr-list li{ width: 100%; justify-content: flex-start; align-items: flex-start; }
	.sec-dr .dr-list li:before,.sec-dr .dr-list li:after{ left: 0; transform: none; }
	.sec-dr .dr-list li img{ width: 25rem; }
	.sec-dr .dr-list li:nth-of-type(1){ padding: 3rem 0 0 0; min-height: 30rem; z-index: 0; }
	.sec-dr .dr-list li:nth-of-type(1) img{ right: -5rem; }
	.sec-dr .dr-list li:nth-of-type(2){ padding: 0; height: 20rem; }
	.sec-dr .dr-list li:nth-of-type(2):before{ left: auto; right: 0; bottom: 1px; }
	.sec-dr .dr-list li:nth-of-type(2):after{ left: auto; right: 0; bottom: 0; }
	.sec-dr .dr-list li:nth-of-type(2) img{ left: -5.5rem; }
	.sec-dr .dr-list li:nth-of-type(2) .inner{ margin-left: auto; }

	.sec-faq{ padding: 6.5rem 0 5rem; }
	.sec-faq dl.faq dt{ padding: 1.5rem 4.5rem 1.5rem 6rem; line-height: 1.6; }
	.sec-faq dl.faq dt:before{ left: 1.2rem; }
	.sec-faq dl.faq dt .torigger{ right: 1.5rem; top: 1.8rem; transform: none; }
	.sec-faq dl.faq dd{ padding: 2rem 2rem 2rem 6rem; }

	.sec-consul .wrap{ padding-top: 13rem; padding-bottom: 5rem; }
	.sec-consul .bg01{ left: 0; width: 100vw; }
	.sec-consul h2{ margin-bottom: 2rem; }
	.sec-consul .step{ flex-wrap: wrap; padding: 0; position: relative; z-index: 0; }
	.sec-consul .step:before{ content: ''; width: 1px; height: calc(100% - 12.5rem * 2); background: url(../images/common/border03.png) repeat-y center/contain; position: absolute; top: 12.5rem; left: calc((12.5rem - 1px) / 2); z-index: -1; }
	.sec-consul .step li{ width: 100%; display: flex; align-items: center; justify-content: space-between; }
	.sec-consul .step li + li{ margin-top: 5rem; }
	.sec-consul .step li:nth-of-type(2) h3:before{ content: none; }
	.sec-consul .step li:nth-of-type(3) h3{ background: #97b6ed; }
	.sec-consul .step li h3{ margin: 0; }
	.sec-consul .step li p{ width: 18.5rem; }
	.sec-consul .btn-counceling{ width: 100%; font-size: 1.5rem; margin-bottom: 1.5rem; }
	.sec-consul .btn-tel{ width: 100%; font-size: 1.5rem; }
	.sec-consul .btn-tel span{ font-size: 2.8rem; }
	
	
	
	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{width: 50%;}
	.sns_last{   padding-top: 4px;}
    
    .banner_wrap{ width: 100%; margin: 0 auto 60px;}
    .banner_wrap h3{font-size: 2.2rem;}
	.banner_wrap.mt{ margin-top: 60px;}
    .banner_wrap.padding_lr{ padding: 0 20px;}
}
