@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
:root {
	--wh:#ffffff;
	--bk:#323131;
	--bl:#147EC6;
	--gr:#A1A1A1;
	--or:#E87219;
}
*{ padding:0; margin:0; box-sizing:border-box; }

html{ font-family:"Noto Sans JP", sans-serif; color:var(--bk); margin-top:0 !important; }
body{ font-weight:500; overflow-x:hidden; width:100%; background:#F7F7F7 url("./img/bg1.png") fixed no-repeat center top/cover; }
a{ color:inherit; }
img{ max-width:100%; height:auto; vertical-align:bottom; }
a img{ transition: all 300ms 0s ease; }
a:hover img{ opacity:0.6; }

footer .copy{ font-size:12rem; line-height:20rem; letter-spacing:0.02em; text-align:center; }
footer .legal-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:0.8em 1.6em; font-size:12rem; line-height:1.6; margin-bottom:0.8em; }
footer .legal-links a{ text-decoration:underline; }

/* PC */
@media screen and (min-width:1050px) {
	html{ font-size:2px; }
	.sp{ display:none; }
	body{ display:flex; justify-content:center; }
	body::before,
	body::after{ display:block; content:""; }
	body::before{ width:calc(100vw - (1050rem / 2)); max-width:calc(300rem / 2); }
	body::after{ width:calc(300rem / 2); }
	header{ position:fixed; right:calc(10rem / 2); top:calc(85rem / 2); width:calc(280rem / 2); }
	header .logo{ max-width:calc(244rem / 2); margin:0 auto calc(84rem / 2); }
	header h2{ font-size:calc(34rem / 2); line-height:calc(46rem / 2); font-weight:700; color:var(--gr); margin-bottom:calc(8rem / 2); }
	header nav{ max-height:calc(100vh - ((85rem + 158rem + 84rem + 46rem + 8rem) / 2)); overflow-y:auto; }
	header nav>a{ display:block; background:var(--wh); font-size:calc(16rem / 2); line-height:calc(24rem / 2); font-weight:700; text-decoration:none; padding:calc(8rem / 2) calc(16rem / 2); margin-bottom:calc(8rem / 2); box-shadow:0 calc(3rem / 2) calc(6rem / 2) rgba(0,0,0,0.16); transition:all 300ms 0s ease; }
	header nav>a:hover,
	header nav>a.active{ color:var(--bl); }
	header nav>a::before{ content:"◆"; color:var(--bl); margin-right:calc(16rem / 2); }
	header .side{ display:flex; gap:11rem; flex-flow:column; }
	header .side>*{ box-shadow:0 2rem 2.5rem rgba(0,0,0,0.35); }
	main{ padding-top:calc(78rem / 2); width:375rem; }
	footer{ padding: calc(9rem / 2)  calc(16rem / 2) calc(225rem / 2); }
}
@media screen and (min-width:1350px) {
	body::before{ display:block; content:""; width:calc(300rem / 2); }
	header{ right:calc(((100vw - 375rem) / 2 - (300rem / 2)) / 2 + (10rem / 2)); }
	header .side{
		width:calc(280rem / 2);
		position:fixed; left:calc(((100vw - 375rem) / 2 - (300rem / 2)) / 2 + (10rem / 2)); top:50%; transform:translateY(-50%);
	}
}
/* SP */
@media screen and (max-width:1049px) {
	html{ font-size:calc(100vw / 375); }
	.pc{ display:none; }
	header .logo{ max-width:164rem; margin:8rem auto 6rem; }
	footer{ padding:9rem 16rem 51rem; }

	.float{ position:fixed; left:0; bottom:0; right:0; background:rgba(0,0,0,0.60); z-index:100; padding:10rem 0 7rem; }
	.float .inner{ display:flex; justify-content:center; align-items:flex-end; gap:0; }
	.float a{ display:block; width:172rem; }
}



#reason{ margin:0 16rem -67rem; position:relative; z-index:2; }
.diagnosis{ background:#1574CB; position:relative; z-index:1; }
.diagnosis .btn{ position:absolute; bottom:calc(100% / 672 * 56); left:calc(100% / 750 * 33); right:calc(100% / 750 * 33); }
#reason+.diagnosis{ padding-top:50rem; }
#reason p{ font-size:9rem; line-height:13rem; color:var(--wh); font-weight:400; text-align:right; margin-top:0; }

.quick{ position:relative; z-index:1; margin-bottom:21rem; }
.quick .btn{ position:absolute; bottom:calc(100% / 398 * 38); left:calc(100% / 750 * 33); right:calc(100% / 750 * 33); }

.worries ._1{ margin:0 16rem; }
.worries ._2{ margin:0 16rem 0 -6rem; }
.worries ._3{ margin:0 16rem 41rem; }
.worries ._4{ margin:0 16rem 20rem; }
.worries ._5{ margin:0 16rem 42rem; }
.worries ._6{ margin:0 48rem 17rem; }

.comparison{ margin:0 16rem 40rem; }
.comparison .text1{ margin-bottom:29rem; }
.comparison .box{ display:flex; gap:12rem; font-size:10rem; line-height:15rem; font-weight:700; }
.comparison .box .o{ color:var(--or); }
.comparison .box dl{ width:68rem; }
.comparison .box dt{ height:58rem; display:flex; align-items:flex-end; margin-bottom:14rem; }
.comparison .box dt span{ display:flex; justify-content:center; align-items:center; width:68rem; height:42rem; border-radius:5rem; background:var(--bk); color:var(--wh); text-align:center; }
.comparison .box dd{ display:flex; justify-content:center; align-items:center; height:40rem; padding-bottom:10rem; border-bottom:1rem solid #707070; font-size:12rem; line-height:16rem; text-align:center; letter-spacing:0.01em; }
.comparison .box dd:nth-of-type(2){ height:30rem; }
.comparison .box dd:not(:last-child){ margin-bottom:30rem; }
.comparison .box dd strong{ font-size:14rem; font-weight:700; line-height:16rem; }
.comparison .box dd .s{ font-size:10rem; line-height:15rem; }
.comparison .box ._0{ width:calc(100% - (86rem + 68rem * 2 + 12rem * 3));  color:var(--bl); }
.comparison .box ._0 dd{ justify-content:flex-start; }
.comparison .box ._0 img{ height:20rem; vertical-align:middle; margin-right:0.5em; }
.comparison .box ._1{ width:86rem; position:relative; }
.comparison .box ._1>*{ position:relative; z-index:1; }
.comparison .box ._1::before{ display:block; content:""; border:1rem solid var(--bl); background:rgba(20,126,198,0.12); position:absolute; left:-6rem; top:-6rem; right:-6rem; bottom:-14rem; }
.comparison .box ._1::after{ display:block; content:""; width:54rem; height:32rem; background:url("./img/comparison/arr.png") no-repeat center/cover; position:absolute; left:50%; bottom:-54rem; transform:translateX(-50%); }
.comparison .box ._1 dt img{ height:58rem; }
.comparison .box ._1 dd{ font-size:12rem; line-height:16rem; border-bottom-color:var(--or); }
.comparison .box ._1 dd strong{ font-size:18rem; line-height:1; }


.voice_top{ margin-bottom:-22rem; }
.voice_box{ background:#1574CB url("./img/voice_bg.png") no-repeat left top/100% auto; padding:0 16rem 16em; margin-bottom:40rem; }
.voice .ttl{ padding:20rem 30rem 16rem 0; text-align:right; }
.voice .ttl h3{ font-size:20rem; line-height:24rem; font-weight:700; color:var(--wh); margin-bottom:13rem; }
.voice .ttl p{ font-size:20rem; line-height:24rem; font-weight:700; color:var(--wh); }
.voice .ttl p strong{ font-size:42rem; line-height:24rem; font-weight:700; color:#F3FF87; position:relative; padding:0 0.125em; }
.voice .ttl p strong::after{ display:inline-block; content:""; height:8rem; background:var(--or); border-radius:4rem; position:absolute; left:0; bottom:8rem; right:0; z-index:0; }
.voice .ttl p strong span{ position:relative; z-index:1; }
.voice .ttl p sub{ font-size:11rem; line-height:1.0; vertical-align:bottom; margin:0 -1.25em 0 0.25em; }
.voice .sub{ font-size:29rem; line-height:32rem; color:var(--wh); text-align:right; font-weight:900; margin-bottom:17rem; padding-right:30rem; }
.voice .sub strong{ font-weight:900; color:#F3FF87; }

.voice .item2{ margin:0 -2rem 3rem 0; }
.voice .note{ font-size:9rem; line-height:16rem; font-weight:500; color:var(--wh); }
.voice .note p{ padding-left:1em; text-indent:-1em; }

.voice .item{ display:flex; gap:5rem; align-items:flex-start; padding:10rem; background:var(--wh); border-radius:5rem; box-shadow:2rem 3rem 0 rgba(0,0,0,0.76); }
.voice .item:not(:last-of-type){ margin-bottom:15rem; }
.voice .item figure{ width:92rem; }
.voice .item figure img{ border-radius:50%; margin-bottom:10rem; }
.voice .item figure figcaption{ font-size:12rem; line-height:20rem; }
.voice .item .text{ width:calc(100% - 92rem - 5rem); }
.voice .item .text .txt{ font-size:12rem; line-height:20rem; font-weight:700; }
.voice .item .text dl{ display:flex; gap:6rem; padding:4rem 6rem; margin-left:18rem; }
.voice .item .text dl.d1{ background:var(--bl); margin-bottom:11rem; position:relative; }
.voice .item .text dl.d2{ background:var(--or); margin-bottom:16rem; }
.voice .item .text dt{ display:flex; justify-content:center; align-items:center; width:52rem; font-size:12rem; color:#FFFFFF; }
.voice .item .text dd{ width:66rem; background:var(--wh); font-size:10rem; line-height:15rem; font-weight:700; padding:5rem; align-items:flex-end; }
.voice .item .text dd strong{ font-size:18rem; font-weight:900; }
.voice .item .text dl.d0 dd{ display:flex; justify-content:center; align-items:center; line-height:1; text-align:center; padding:0; }
.voice .item .text dl.d1 dd{ color:#144D8D; text-align:right; }
.voice .item .text dl.d2 dd{ color:#FE4500; text-align:right; }
.voice .item .text dl.d1::before{ display:block; content:""; width:21rem; height:13rem; background:url("./img/voice_arr.png") no-repeat center/cover; position:absolute; right:65rem; bottom:-11rem; }
.voice .item .text .sub{ font-size:14rem; line-height:16rem; background:#FFEFC7; padding:2rem; margin-bottom:9rem; }
.voice .item .text .sub strong{ color:var(--or); }

.support ._0{ margin:0 0 1rem -4rem; }
.support .wrap{ display:flex; flex-flow:column; gap:45rem; background:var(--wh); padding:15rem; border:2rem solid var(--bl); border-radius:5rem; margin:0 16rem 52rem; }


.fukuma{ width:359rem; padding:7rem 13rem 10rem 11rem; margin:0 auto 66rem; background:var(--wh); border-radius:6rem; box-shadow:0 0 99rem rgba(0,0,0,0.11); }
.fukuma hgroup{ margin:8rem 0 8rem; color:var(--bl); text-align:center; letter-spacing:0.05em; }
.fukuma hgroup h3{ font-size:18rem; line-height:28rem; font-weight:700; }
.fukuma .number{ color:var(--bk); font-size:12rem; line-height:20rem; font-weight:500; text-align:right; margin-bottom:13rem; }
.fukuma .photo{ overflow:hidden; border-radius:5rem; box-shadow:5rem 8rem 0 rgba(0,0,0,0.06); margin:0 10rem 26rem 0; }
.fukuma .text{ font-size:12rem; line-height:20rem; font-weight:700; }
.fukuma .text2{ overflow:hidden; max-height:calc(26rem * 6); margin:0 -2.5rem; position:relative; transition: all 300ms 0s ease; }
.fukuma .text2 .more{
	position:absolute; left:0; right:0; bottom:0;
	font-size:20rem; line-height:1.0; text-align:center; cursor:pointer;
	padding:50rem 0 10rem; background:linear-gradient(to Top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
	transition: all 300ms 0s ease;
}
.fukuma .text2 .more svg{
	display:block; fill:#323131;
	width:59rem; height:34.5rem;
	margin:0 auto 5rem;
}
.fukuma .text2.active{ max-height:200vh;}
.fukuma .text2.active .more{ opacity:0; }

.qa{ padding:0 16rem 66rem; }
.qa .ttl{ font-size:20rem; line-height:24rem; font-weight:700; color:var(--bl); text-align:center; letter-spacing:0.05em; margin-bottom:23rem; }
.qa .item:not(:last-child){ margin-bottom:20rem; }
.qa .q{ font-size:12rem; line-height:20rem; color:var(--wh); font-weight:700; letter-spacing:0.05em; background:var(--bl); padding:8rem 8rem 7rem; margin-bottom:7rem; position:relative; }
.qa .q::after {
	display: block;
	content: "";
	width: 6rem;
	height: 6rem;
	border-top: 1rem solid #ffffff;
	border-left: 1rem solid #ffffff;
	border-bottom: 1rem solid transparent;
	border-right: 1rem solid transparent;
	position: absolute;
	right: 10rem;
	top: calc(50% - 6rem);
	transform: rotate(225deg);
	transition: all 300ms 0s ease;
}
.qa .active .q::after {
  transform: rotate(45deg);
  top: calc(50% - 3rem);
}

.qa .a{ font-size:12rem; line-height:20rem; font-weight:700; max-height:0; overflow:hidden; transition:all 300ms 0s ease; }
.qa .active .a{ max-height:100vh; }


/* end */