.forPC{ display: none;}
.forSP{ display: block;}

header h1{ max-width: 120px;}
header h1.none{ display: none;}
header .contactBtn-btn{ display: none;}
header .contactBtn-btn .mail{ pointer-events: all;}
header nav{ width: 250px; height: 310px; top: 70px;}
header nav ul{ padding: 0 10px;}
header nav ul li a{ font-size: 14px;}

.mv{ min-height: 60vh; height: auto;}
.mv::after{ display: none;}
.mv .text{ max-width: 560px; padding: 0 10px; margin-top: 90px;}
/*.mv .bi-btn{ margin-top: 80px;}*/
.bi-btn p:nth-child(1){ font-size: 12px;}
.bi-btn p:nth-child(2){ font-size: 18px;}

.case{ margin-top: 43px;}
.case .hgroup h2{ font-size: 23px;}
.case .hgroup h3{ font-size: 16px;}
@media screen and (max-width:450px){
	.case .slide-box li{ margin: 30px 10px 0;}
	.case .slide-box li .box h2{ font-size: 16px;}
	.case .slide-box li .box > div .img .icon{ width: 100px; height: 100px;}
	.case .slide-box li .box > div .text h3{ font-size: 14px;}
	.case .slide-box li .box > div .text .table .left p,
	.case .slide-box li .box > div .text .table .right p{ font-size: 12px;}
	.case .slide-box .slick-track{ padding-bottom: 70px;}
}

.problem{ margin-top: 43px;}
.problem::after{ width: 24px;}
.problem .hgroup{ width: 194px; height: 106px;}
.problem .hgroup h2{ font-size: 23px; line-height: 1.2; padding-top: 30px;}
.problem > .text01 h3{ font-size: 16px; text-align: left;}
.problem > .text01 h3 br{ display: none;}
.problem ul{ display: block; width: 100%; max-width: 450px; margin-left: auto; margin-right: auto;}
.problem ul li{ padding: 10px 20px;}
.problem ul li:nth-child(2){ margin-top: 10px}
.problem ul li .text{ padding: 0;}
.problem ul li .text p{ font-size: 16px;}
.problem .title{ margin-top: 43px;}
.problem .title h3{ font-size: 23px; line-height: 1.2; padding-top: 10px; display: block; width: 210px; margin: auto auto;}
.problem .title h3::before{ bottom: 0px; left: 35px;}
.problem .title h3::after{ bottom: 0px; right: 35px;}
.problem .type{ padding: 20px 10px; display: block; text-align: center; margin: 10px auto 0;}
.problem .type img{ width: 100%; max-width: 230px;}
.problem .type img:nth-child(2){ width: 100%; max-width: 230px; margin: 10px 0 0;}
.problem > .text02{ margin-top: 10px;}
.problem > .text02 p{ font-size: 14px;}
.problem > .text02 h3{ font-size: 18px;}
.problem > .text02 h3 br{ display: none;}

.merit{ margin-top: 43px;}
.merit .hgroup h2{ font-size: 23px; padding-top: 12px;}
.merit > .text01{ padding: 10px 12px;}
.merit > .text01 h3{ font-size: 16px; text-align: left;}
.merit > .about{ margin-top: 43px;}
.merit > .about::after{ width: 24px;}
.merit > .about .hgroup{ width: 194px; height: 106px;}
.merit > .about .hgroup h2 img{ width: 120px;}
.merit > .about ul{ display: block; width: 100%; max-width: 450px; margin-left: auto; margin-right: auto;}
.merit > .about ul li,
.merit > .about ul li .box{ height: auto !important;}
.merit > .about ul li .num{ font-size: 30px;}

.works{ margin-top: 43px;}
.works .title{ margin-top: 43px;}
.works .title h3{ font-size: 23px; line-height: 1.2; padding-top: 10px; display: block; width: 250px; margin: auto auto; padding-top: 0;}
.works .title h3::before{ top: 0; left: 10px;}
.works .title h3::after{ top: 0; right: 10px;}
.works ul.list01{ padding: 0 12px; box-sizing: border-box; width: 100%; max-width: 450px; margin-left: auto; margin-right: auto;}
.works .details__summary > div{ font-size: 14px; padding: 10px; max-width: 210px; margin-right: 12px;}
.works .bi-btn{ width: calc(100% - 24px); margin: 30px auto 0;}

.schedule{ margin-top: 43px;}
.schedule .hgroup{ width: 194px; height: 106px;}
.schedule .hgroup h2{ font-size: 23px; line-height: 1.2; padding-top: 10px;}
.schedule > .hgroup h3{ font-size: 14px;}
.schedule ul{ display: block; width: 100%; max-width: 450px; margin-left: auto; margin-right: auto;}
.schedule ul li:nth-child(2){ margin-top: 10px;}
.schedule ul li .hgroup{ height: auto; padding-bottom: 20px;}
.schedule ul li .hgroup h3{ font-size: 20px}
.schedule ul li .hgroup h4{ font-size: 14px;}
.schedule ul li table{ margin-top: 10px; border-spacing: 2px;}
.schedule ul li table .t{ font-size: 16px;}
.schedule ul li table .te1{ width: 70px; vertical-align: middle; font-size: 15px;}

.flow{ margin-top: 43px; padding-bottom: 30px}
.flow .hgroup{ width: 194px; height: 106px;}
.flow .hgroup h2{ font-size: 23px; line-height: 1.2; padding-top: 10px;}
.flow > .hgroup h3{ font-size: 14px;}
.flow > .hgroup h3 br{ display: none;}
.flow .flow-box{ max-width: 100%; max-width: 450px; margin: 60px auto auto; left: 0;}
.flow .flow-box .right{ border-left: 2px solid; padding-left: 4px; box-sizing: border-box;}
.flow .flow-box .right .f01 .circle,
.flow .flow-box .right .f02 .circle{ width: 60px; height: 60px; font-size: 20px; top: -9px; left: -20px;}
.flow .flow-box .right .f01 > .text,
.flow .flow-box .right .f02 > .text{ padding: 10px 10px 10px 50px;}
.flow .flow-box .right .f01 > .text p,
.flow .flow-box .right .f02 > .text p{ font-size: 16px;}
.flow .details{ margin: 20px 0 0 0;}
.flow .details__summary > div{ font-size: 14px; padding: 10px; max-width: 210px; margin-right: 12px;}
.flow .details__content ul li .num{ font-size: 20px; width: 40px;}
.flow .details__content ul li > .text{ width: calc(100% - 40px); padding: 10px;}
.flow .details__content ul li > .text h3{ font-size: 18px;}
.flow .details__content ul li > .text p{ font-size: 16px;}
.flow .flow-box .right > div:nth-child(3),
.flow .flow-box .right > div:nth-child(4),
.flow .flow-box .right > div:nth-child(5){ margin-top: 40px;}

.faq{ margin-top: 43px;}
.faq .hgroup{ width: 194px; height: 106px;}
.faq .hgroup h2{ font-size: 23px; line-height: 1.2; padding-top: 20px;}
.faq > .hgroup h3{ font-size: 14px;}
.faq > .hgroup h3 br{ display: none;}
.faq > #acMenu{ width: 100%; max-width: 450px; margin-left: auto; margin-right: auto;}
.faq > #acMenu dt .left{ width: 26px; margin-top: 10px;}
.faq > #acMenu dt .right p{ font-size: 16px;}
.faq > #acMenu dd .left{ width: 26px; margin-top: 10px;}
.faq > #acMenu dd .right p{ font-size: 16px;}

.notice{ margin-top: 86px;}
.notice .text{ padding: 40px 20px 20px;}
.notice .text img{ width: 110px;}
.notice .text p{ font-size: 20px;}
.notice .text p br{ display: none;}

.contact{ margin-top: 43px; padding: 43px 12px 30px;}
.contact .hgroup{ width: 234px;}
.contact .hgroup span{ max-width: 145px;}
.contact .hgroup h2{ font-size: 23px; line-height: 1.2; padding-top: 10px;}
.contact > .text01{ padding: 10px;}
.contact > .text01 h3{ font-size: 16px; text-align: left;}
.contact > .text01 h3 br{ display: none;}
.contact > .text01 h3 a{ font-size: 16px;}
.contact .form{ padding: 10px;}
.contact .form table{ border-spacing: 0;}
.contact .form table th{ display: block;}
.contact .form table th > div .req,
.contact .form table th > div .any{ font-size: 12px;}
.contact .form table th > div p{ font-size: 16px;}
.contact .form table td{ display: block; padding-top: 6px;}
.contact .form table td input[type="text"],
.contact .form table td select,
.contact .form table td textarea{ font-size: 16px;}
.contact .form table td label{ font-size: 16px; position: relative; padding-left: 26px; box-sizing: border-box; line-height: 1.2}
.contact .form table td label:nth-child(even){ margin: 10px 0;}
.contact .form table td label:last-child{ margin: 10px 0 0;}
.contact .form table td label input[type="checkbox"]{ position: absolute; top: 0; left: 0;}
.contact .form .pp,
.contact .form .pp a{ font-size: 16px;}
.contact .form button{ font-size: 14px; padding: 10px; max-width: 210px; margin-bottom: 20px;}

footer{ padding: 43px 12px 60px;}
footer a{ max-width: 100px;}
footer p{ font-size: 12px; margin-top: 43px;}

.grecaptcha-badge{ bottom: 64px !important;}

.forSP.f{ position: fixed; bottom: 0; width: 100%; padding: 0 10px 10px; box-sizing: border-box;}
.forSP .contactBtn-btn{ width: 100%; max-width: 100%; display: flex; justify-content: space-between; align-items: stretch;}
.forSP .contactBtn-btn .tel{ width: 49%; display: block; background-color: #cad3db; border: 1px solid #161616; box-sizing: border-box; border-radius: 100px; display: flex; justify-content: center; align-items: center; padding: 5px 10px;}
.forSP .contactBtn-btn .tel .icon{ background-image: url(../images/icon-tel.webp); background-size: 100%; background-repeat: no-repeat; background-position: center center; width: 24px; height: 24px; margin-right: 8px;}
.forSP .contactBtn-btn .tel .text p:nth-child(1){ font-size: 15px; font-weight: bold; line-height: 1;}
.forSP .contactBtn-btn .tel .text p:nth-child(2){ font-size: 11px; font-weight: bold; margin-top: -2px;}
.forSP .contactBtn-btn .mail{ width: 49%; display: block; background-color: #a04674; box-sizing: border-box; border-radius: 100px; display: flex; justify-content: center; align-items: center; padding: 5px 10px;}
.forSP .contactBtn-btn .mail .icon{ background-image: url(../images/icon-mail.webp); background-size: 100%; background-repeat: no-repeat; background-position: center center; width: 20px; height: 24px; margin-right: 8px;}
.forSP .contactBtn-btn .mail .text p:nth-child(1){ font-size: 15px; font-weight: bold; line-height: 1; color: #fff;}