@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400;500&family=Noto+Sans+JP:wght@300;400;500;700&display=swap');:root{--ink:#232323;--navy:#102942;--pale:#e3e4eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;color:var(--ink);font:400 13px/2 "Noto Sans JP",sans-serif;overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}.container{width:min(1020px,calc(100% - 40px));margin:auto}.site-header{height:78px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:20;box-shadow:0 1px 12px #0001}.logo img{width:200px}.site-header nav{display:flex;gap:2vw}.site-header nav a,footer nav a{font:500 12px "Josefin Sans";letter-spacing:1.5px}.menu-button{display:none}.hero{height:720px;background:var(--pale);position:relative;overflow:hidden}.slider{position:absolute;right:0;width:65%;height:100%}.slider img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s}.slider img.active{opacity:1}.hero-copy{position:absolute;z-index:2;top:100px;left:max(4vw,calc((100% - 1200px)/2));width:510px;padding:50px;background:#fffffff2;box-shadow:0 12px 40px #1029421f}.hero h1{font:400 38px/1.5 "Josefin Sans","Noto Sans JP";letter-spacing:2px;margin:0 0 20px}.hero h2{font-size:18px}.concept{padding:85px 0;text-align:center;background:var(--navy);color:#fff}.concept small{letter-spacing:3px}.concept p{font-size:30px;letter-spacing:4px;margin:10px 0}.section{padding:85px 0}.pale{background:var(--pale)}.heading{display:flex;align-items:baseline;gap:18px;margin-bottom:60px}.heading h2{font:400 44px/1.2 "Josefin Sans";letter-spacing:6px;margin:0}.heading b{margin-left:auto}.feature{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;margin-bottom:90px}.feature.reverse img{order:2}.feature h3{font-size:20px;line-height:1.5;padding-bottom:18px;border-bottom:1px solid #d7d8de}.feature mark{display:inline-block;padding:7px 18px;background:var(--navy);color:#fff;font-size:16px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.cards article,.voices article{background:#f5f5f7;padding-bottom:24px}.cards img{width:100%;aspect-ratio:16/9;object-fit:cover}.cards h3,.cards p{margin-left:24px;margin-right:24px}.voices{display:grid;grid-template-columns:1fr 1fr;gap:25px}.voices article{padding:30px;border-left:3px solid var(--navy)}.voices h3{display:inline;font-size:17px}.faq{display:grid;gap:12px}.faq details{background:#fff}.faq summary{cursor:pointer;padding:20px 24px;background:var(--ink);color:#fff;font-size:15px;font-weight:500}.faq summary::marker{content:""}.faq summary::after{content:"＋";float:right}.faq details[open] summary::after{content:"−"}.faq details div{display:grid;grid-template-columns:210px 1fr;gap:28px;padding:28px;align-items:center}.faq img{width:210px;aspect-ratio:4/3;object-fit:cover}.pricebox{padding:22px;background:#0b0b0b;color:#fff;border-radius:18px;box-shadow:0 14px 34px #0005}.pricebox h3{font-size:20px;margin:0}.pricebox h4{margin-top:25px}.pricebox>p{display:flex;justify-content:space-between;gap:20px;margin:0;padding:11px 14px;border:1px solid #292929;border-bottom:0}.pricebox>p:nth-of-type(even){background:#111}.pricebox>p span{color:#ccc}.pricebox>small{display:block;margin-top:18px;color:#bbb}dl{display:grid;grid-template-columns:180px 1fr;margin:0;border-top:1px solid #b8bac2}dt,dd{padding:20px;margin:0;border-bottom:1px solid #b8bac2}dt{font-weight:700}form{max-width:760px;margin:auto;display:grid;gap:20px}form label{font-weight:500}form em{color:#b51629;font-size:11px}form input,form textarea{width:100%;padding:13px;margin-top:6px;border:1px solid #c8c9cf;background:#fafafa;font:inherit}form button{justify-self:center;min-width:240px;padding:15px;border:0;background:var(--navy);color:#fff;letter-spacing:3px}.consent{display:flex;justify-content:center;align-items:center;gap:8px}.consent input{width:auto;margin:0}.trap{position:absolute;left:-9999px}.line{display:block;width:90px;margin:35px auto}.line img{width:100%}#status{text-align:center;color:#176d37}footer{padding:55px 20px 25px;text-align:center;border-top:1px solid #eee}footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:20px 30px}footer p{font-size:10px;color:#777}.reveal{opacity:0;transform:translateY(24px);transition:.7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:768px){html{scroll-padding-top:62px}body{font-size:12px}.container{width:calc(100% - 30px)}.site-header{height:62px;padding:0 15px;position:sticky;top:0}.logo img{width:150px}.menu-button{display:grid;gap:5px;width:40px;height:40px;padding:10px;border:1px solid #ccc;background:#fff}.menu-button span{height:2px;background:#232323}.site-header nav{position:fixed;display:block;inset:62px 0 auto;max-height:0;overflow:hidden;background:#fff;box-shadow:0 10px 20px #0003;transition:max-height .35s}.site-header nav.open{max-height:520px}.site-header nav a{display:block;padding:9px 25px;border-bottom:1px solid #eee}.hero{height:690px}.slider{width:100%;height:360px}.hero-copy{top:285px;left:15px;right:15px;width:auto;padding:25px 22px}.hero h1{font-size:25px}.hero h2{font-size:14px}.concept{padding:55px 0}.concept p{font-size:20px;letter-spacing:2px}.section{padding:60px 0}.heading{display:block;margin-bottom:38px}.heading h2{font-size:29px}.heading b{display:block;margin-top:14px}.feature{grid-template-columns:1fr;gap:25px;margin-bottom:60px}.feature.reverse img{order:0}.cards,.voices{grid-template-columns:1fr}.faq details div{grid-template-columns:1fr;padding:20px}.faq img{width:100%}.pricebox{padding:12px;border-radius:12px}.pricebox>p{display:block}.pricebox>p span{display:block}dl{grid-template-columns:100px 1fr}dt,dd{padding:14px 10px}form button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.slider img{transition:none}}

/* 追加FAQは既存画像を流用せず、文章だけで読みやすく表示 */
.faq details .faq-answer-only{display:block;padding:24px 28px}.faq-answer-only p{margin:0}
@media(max-width:768px){.faq details .faq-answer-only{padding:20px}}
