:root{--text: #3A2E24;--text-sub: #7A6C5D;--accent: #8C3B2E;--green: #4F6B4A;--ocher: #B07A2A;--bar: #B5A893;--rule: #D8D0C4;--card: #F4F0E9;--card-accent: #F7EEEB;--bg: #FDFBF7;--maxw: 960px;--gutter: 20px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Noto Sans JP,Hiragino Sans,Hiragino Kaku Gothic ProN,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.9;font-feature-settings:"palt"}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}h1,h2,h3{line-height:1.5;font-weight:700;letter-spacing:.02em}h1{font-size:clamp(1.6rem,5vw,2.4rem);margin:0 0 .6em}h2{font-size:clamp(1.3rem,4vw,1.7rem);margin:2.4em 0 .8em}h3{font-size:1.1rem;margin:2em 0 .6em;color:var(--green)}p{margin:0 0 1.4em}a{color:var(--accent);text-underline-offset:.2em}a:hover{opacity:.75}img{max-width:100%;height:auto;display:block}hr{border:0;border-top:1px solid var(--rule);margin:3rem 0}.lead{font-size:1.05rem;color:var(--text-sub)}.site-header{border-bottom:1px solid var(--rule);background:var(--bg)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:16px;flex-wrap:wrap}.logo{font-weight:700;font-size:1.15rem;letter-spacing:.06em;color:var(--text);text-decoration:none}.logo small{display:block;font-size:.7rem;font-weight:400;color:var(--text-sub);letter-spacing:.12em}.nav{display:flex;gap:18px;flex-wrap:wrap}.nav a{color:var(--text);text-decoration:none;font-size:.9rem}.nav a:hover{color:var(--accent)}.hero{padding:clamp(48px,10vw,96px) 0}.hero .slogan{font-size:clamp(1.8rem,6vw,3rem);font-weight:700;line-height:1.4;margin:0 0 .5em}.hero .sub{font-size:1.05rem;color:var(--text-sub);max-width:34em}.cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:2rem 0}.card{background:var(--card);border-radius:10px;padding:22px}.card.is-accent{background:var(--card-accent)}.card h3{margin-top:0}.card p:last-child{margin-bottom:0}.card .tag{display:inline-block;font-size:.72rem;letter-spacing:.08em;color:#fff;background:var(--green);border-radius:3px;padding:2px 8px;margin-bottom:.6em}.card .tag.is-plan{background:var(--bar)}.cta{background:var(--card-accent);border-radius:12px;padding:clamp(24px,5vw,40px);margin:3rem 0}.cta h2{margin-top:0}.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;border-radius:6px;padding:14px 28px;font-weight:700}.btn:hover{opacity:.85}.site-footer{border-top:1px solid var(--rule);margin-top:4rem;padding-block:32px;font-size:.85rem;color:var(--text-sub)}.site-footer .nav{margin-bottom:1rem}.site-footer .nav a{font-size:.85rem;color:var(--text-sub)}.hero-photo{position:relative;min-height:min(78vh,620px);display:flex;align-items:flex-end;overflow:hidden}.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:0}.hero-photo:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,#1c1611c7,#1c16116b 45%,#1c16111f)}.hero-photo .wrap{position:relative;z-index:2;padding-block:44px;color:#fff}.hero-photo .slogan{font-size:clamp(2rem,7vw,3.4rem);font-weight:700;line-height:1.35;margin:0 0 .4em;letter-spacing:.04em;text-shadow:0 2px 16px rgba(0,0,0,.4)}.hero-photo .sub{color:#ffffffeb;max-width:30em;margin:0;text-shadow:0 1px 10px rgba(0,0,0,.5)}.card-photo{padding:0;overflow:hidden;background:var(--card);border-radius:10px}.card-photo .ph{aspect-ratio:4 / 3;overflow:hidden}.card-photo .ph img{width:100%;height:100%;object-fit:cover}.card-photo .body{padding:20px 22px 24px}.card-photo .body h3{margin-top:0}.card-photo .body p:last-child{margin-bottom:0}.steps{display:grid;gap:14px;margin:2rem 0;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.step{text-align:left}.step .ph{aspect-ratio:3 / 4;overflow:hidden;border-radius:8px;margin-bottom:10px}.step .ph img{width:100%;height:100%;object-fit:cover}.step .no{font-size:.72rem;letter-spacing:.1em;color:var(--text-sub);display:block;margin-bottom:2px}.step h3{margin:0 0 .3em;font-size:1rem}.step p{font-size:.88rem;color:var(--text-sub);margin:0;line-height:1.75}.band{margin:3rem 0;border-radius:12px;overflow:hidden}.band img{width:100%;aspect-ratio:21 / 9;object-fit:cover;object-position:center 45%}@media(max-width:600px){.band img{aspect-ratio:4 / 3}}
