/* このサイトは、スマートフォンでも見やすいように余白を少し大きめにしています。 */
:root{--ink:#283330;--accent:#8b6f5a;--soft:#edf3ef;--cream:#f5f0e8;--bg:#fbfbf8;--muted:#68736f;--line:#dbe2de;--max:1160px}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.9}
a{color:inherit;text-decoration:none}.wrap{width:min(92%,var(--max));margin:auto}
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.nav{min-height:78px;display:flex;justify-content:space-between;align-items:center}
.logo{font-weight:900;letter-spacing:.12em}.logo small{display:block;font-size:8px;color:var(--accent);letter-spacing:.2em}
.menu{display:flex;gap:17px;font-size:13px}.menu a:hover{color:var(--accent)}.hamb{display:none;border:0;background:none;font-size:25px}
.hero{background:var(--cream);padding:24px 0 70px}.hero-grid{display:grid;grid-template-columns:1fr 1fr}
.hero-copy{background:#fff;padding:72px 62px;display:flex;align-items:center}.hero-image{min-height:570px;background:url("https://images.pexels.com/photos/4239033/pexels-photo-4239033.jpeg?auto=compress&cs=tinysrgb&w=1500") center/cover}
.eyebrow{font-size:10px;letter-spacing:.27em;color:var(--accent);font-weight:900}
h1{font-size:clamp(38px,5vw,64px);line-height:1.4;margin:12px 0 20px}h2{font-size:34px;line-height:1.5}
p{color:var(--muted)}.btn{display:inline-block;background:var(--accent);color:#fff;padding:12px 28px;margin-top:14px;border-radius:4px}
section{padding:86px 0}.section-head{max-width:760px;margin-bottom:38px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);padding:27px}
.card h3{margin-top:4px}.soft{background:var(--soft)}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px}
.point{background:#fff;padding:18px;margin:10px 0;border-left:4px solid var(--accent)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.step{background:var(--cream);padding:22px}.step b{font-size:28px;color:var(--accent)}
.cta{background:var(--accent);color:#fff}.cta p{color:#edf6f4}
.page{background:var(--cream);padding:60px 0}.article{max-width:820px}
.faq details{background:#fff;border:1px solid var(--line);padding:18px;margin:10px 0}
.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px}.form{background:#fff;border:1px solid var(--line);padding:30px}
label{display:block;font-weight:700;font-size:13px;margin:12px 0 5px}input,select,textarea{width:100%;padding:11px;border:1px solid #ccd5d2;font:inherit}textarea{min-height:140px}
.table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:14px;border-bottom:1px solid var(--line);text-align:left}th{background:var(--soft)}
footer{background:var(--ink);color:#fff;padding:50px 0 20px}.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px}.foot p,.foot a{color:#bdc9c4;font-size:13px}
.copy{border-top:1px solid #ffffff22;margin-top:25px;padding-top:15px;font-size:11px;color:#9ba8a3}
.cookie{position:fixed;left:15px;right:15px;bottom:15px;background:#fff;border:1px solid var(--line);padding:15px;display:flex;justify-content:space-between;gap:15px;align-items:center;z-index:50;box-shadow:0 10px 30px #0002}
.cookie p{margin:0;font-size:12px}.cookie button{background:var(--accent);color:#fff;border:0;padding:9px 18px}
@media(max-width:820px){.menu{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:18px 4%;flex-direction:column}.menu.open{display:flex}.hamb{display:block}.hero-grid,.split,.contact{grid-template-columns:1fr}.hero-copy{padding:55px 6%}.hero-image{min-height:360px}.grid3{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.foot{grid-template-columns:1fr}.cookie{flex-direction:column;align-items:flex-start}}
