:root{--ink:#25312e;--muted:#63706b;--line:#dce5df;--paper:#fff;--soft:#f3f7f4;--mint:#dff4e9;--brand:#19745f;--brand-dark:#0c5544;--accent:#f08b58;--warn:#fff3d7;--radius:22px;--shadow:0 14px 36px rgba(31,66,54,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.75}a{color:inherit}.shell{width:min(1120px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.2}.brand span{font-weight:800;letter-spacing:.02em}.brand small{color:var(--muted);font-size:.68rem;margin-top:4px}.nav nav{display:flex;gap:24px}.nav nav a{text-decoration:none;font-size:.9rem;font-weight:700}.menu{display:none;border:1px solid var(--line);background:white;border-radius:99px;padding:8px 14px}.hero{padding:78px 0 66px;background:linear-gradient(135deg,#f5faf7 0%,#fff 55%,#fff7ee 100%)}.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:center}.eyebrow,.kicker{margin:0 0 10px;color:var(--brand);font-weight:800;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.hero h1,.page-hero h1,.product-hero h1{font-size:clamp(2.3rem,5vw,4.7rem);line-height:1.12;letter-spacing:-.045em;margin:0 0 24px}.hero h1 em{font-style:normal;color:var(--brand)}.lede{font-size:1.08rem;color:#4c5b56;max-width:720px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 12px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--brand);color:#fff;padding:14px 23px;text-decoration:none;font-weight:800;cursor:pointer}.button:hover{background:var(--brand-dark)}.button.secondary{background:#fff;color:var(--brand-dark);border:1px solid #b7d4c8}.micro{font-size:.78rem;color:var(--muted)}.weather-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:34px;box-shadow:var(--shadow);display:grid;gap:10px}.weather-card span{color:var(--muted);font-size:.85rem}.weather-card strong{font-size:1.35rem}.weather-card i{font-style:normal;color:var(--accent);font-size:1.8rem}.section{padding:72px 0}.soft{background:var(--soft)}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:32px}.section-head h2,.two-col h2,.prose h2{margin:0;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.25}.section-head>p{max-width:520px;color:var(--muted);margin:0}.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.category-card{border:1px solid var(--line);border-radius:18px;padding:22px 17px;text-decoration:none;display:flex;flex-direction:column;min-height:170px;background:#fff}.category-card:hover{border-color:var(--brand);transform:translateY(-2px)}.category-card span{font-size:.75rem;color:var(--accent);font-weight:800}.category-card strong{margin:20px 0 5px}.category-card small{color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;box-shadow:0 4px 18px rgba(31,66,54,.04)}.card-body{padding:22px}.product-card h3{font-size:1.16rem;line-height:1.45;margin:5px 0 10px}.product-card h3 a{text-decoration:none}.product-visual{height:180px;background:linear-gradient(145deg,#e3f4ec,#f8eee4);display:flex;align-items:end;justify-content:center;position:relative;overflow:hidden;padding:18px}.product-visual:before,.product-visual:after{content:"";position:absolute;border-radius:40px;background:rgba(255,255,255,.74);box-shadow:0 10px 20px rgba(47,94,76,.1)}.visual-oil:before{width:62px;height:116px;bottom:28px}.visual-oil:after{width:26px;height:18px;bottom:142px}.visual-treatment:before{width:105px;height:92px;bottom:30px}.visual-treatment:after{width:76px;height:28px;bottom:115px}.visual-dryer:before{width:105px;height:70px;bottom:68px;transform:rotate(-12deg)}.visual-dryer:after{width:35px;height:86px;bottom:17px;transform:rotate(16deg)}.visual-iron:before{width:34px;height:137px;bottom:18px;transform:rotate(-10deg)}.visual-iron:after{width:34px;height:137px;bottom:18px;transform:translateX(24px) rotate(10deg)}.visual-stick:before{width:34px;height:126px;bottom:22px}.visual-stick:after{width:18px;height:45px;bottom:130px}.product-visual span{position:relative;z-index:2;background:rgba(255,255,255,.9);padding:4px 10px;border-radius:99px;font-size:.75rem;font-weight:800}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.chips span{background:var(--mint);color:var(--brand-dark);border-radius:99px;padding:4px 10px;font-size:.72rem}.price{font-size:1.02rem;font-weight:800;margin:14px 0}.caution{background:var(--warn);padding:12px;border-radius:12px;font-size:.82rem}.text-link{color:var(--brand-dark);font-weight:800;text-decoration:none}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px}.principle,.review-box,.summary-box{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:#fff}.page-hero,.product-hero{padding:64px 0;background:var(--soft)}.page-hero.accent{background:linear-gradient(120deg,#e8f7ef,#fff7ec)}.page-hero h1,.product-hero h1{font-size:clamp(2.2rem,4vw,3.8rem)}.intro-link{margin-bottom:32px}.intro-link a{display:flex;justify-content:space-between;gap:20px;padding:24px;border-radius:18px;background:var(--mint);text-decoration:none}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:64px}.flow div{padding:20px;border:1px solid var(--line);border-radius:16px}.flow span{display:block;color:var(--accent);font-weight:800;font-size:.8rem}.product-hero-grid{display:grid;grid-template-columns:360px 1fr;gap:56px;align-items:center}.product-hero .product-visual{height:330px;border-radius:28px}.detail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:64px}.detail-grid section+section{margin-top:48px}.review-box h2{font-size:1.45rem}.review-box h3{font-size:1rem;margin-top:28px}.notice{background:var(--warn);padding:15px;border-radius:12px;font-size:.85rem}.merchant-row{display:flex;gap:10px;flex-wrap:wrap}.merchant-row span{padding:12px 18px;background:#e9eeeb;color:#74807b;border-radius:99px;font-weight:700}.merchant-row small{font-weight:400}.source-list{padding:0;list-style:none}.source-list li{padding:12px 0;border-bottom:1px solid var(--line)}.source-list small{display:block;color:var(--muted)}.updated{grid-column:1/-1;color:var(--muted)}.finder-layout{display:grid;grid-template-columns:380px 1fr;gap:42px;align-items:start}.finder-form{background:var(--soft);border-radius:var(--radius);padding:25px}.finder-form label{display:block;font-weight:700;font-size:.86rem;margin-bottom:16px}.finder-form select{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #cbd7d0;border-radius:10px;background:#fff;color:var(--ink)}.finder-form .button{width:100%}.finder-results{display:grid;gap:14px;margin-top:16px}.finder-result{border:1px solid var(--line);border-radius:18px;padding:22px}.finder-result header{display:flex;justify-content:space-between;gap:20px}.finder-result h2{font-size:1.1rem;margin:0}.fit-label{white-space:nowrap;background:var(--mint);color:var(--brand-dark);font-weight:800;font-size:.75rem;border-radius:99px;padding:5px 10px}.fit-label.conditional{background:var(--warn);color:#7b5313}.reason-list{font-size:.88rem}.summary-box{background:#fff}.prose{max-width:800px}.prose h2{margin-top:46px;font-size:1.65rem}.prose p{color:#44514d}footer{border-top:1px solid var(--line);padding:48px 0;background:#f8faf9}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.footer-grid a,.footer-grid span{display:block;margin:7px 0;color:var(--muted);font-size:.85rem}.footer-grid p{color:var(--muted);font-size:.85rem;max-width:400px}
@media(max-width:850px){.shell{width:min(100% - 28px,680px)}.nav{height:66px}.menu{display:block}.nav nav{display:none;position:absolute;top:66px;left:0;right:0;background:white;padding:18px 20px;border-bottom:1px solid var(--line);flex-direction:column}.nav nav.open{display:flex}.hero{padding:50px 0}.hero-grid,.two-col,.product-hero-grid,.detail-grid,.finder-layout{grid-template-columns:1fr;gap:30px}.hero h1{font-size:2.55rem}.section{padding:52px 0}.section-head{display:block}.section-head>p{margin-top:14px}.category-grid{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:1fr}.product-visual{height:160px}.flow{grid-template-columns:1fr 1fr}.product-hero .product-visual{height:250px}.footer-grid{grid-template-columns:1fr}.finder-form{padding:18px}}
@media(max-width:430px){.hero h1,.page-hero h1,.product-hero h1{font-size:2.15rem}.category-grid{grid-template-columns:1fr}.category-card{min-height:120px}.flow{grid-template-columns:1fr}.merchant-row{display:grid}.merchant-row span{text-align:center}.finder-result header{display:block}.fit-label{display:inline-block;margin-top:8px}}
.review-learning{padding:72px 0;background:#f7fbf9;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.review-learning-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:start}.sample-banner{background:var(--warn);padding:13px 15px;border-radius:12px;font-size:.84rem}.review-summary{margin:20px 0}.review-summary>strong{font-size:1.1rem}.review-summary ul{padding:0;list-style:none;margin:14px 0}.review-summary li{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}.review-intake-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.review-intake-card h2,.review-learning h2{font-size:1.45rem;line-height:1.35}.feedback-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0}.feedback-option{display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px;font-size:.85rem;cursor:pointer}.feedback-option:has(input:checked){border-color:var(--brand);background:var(--mint)}.feedback-option input{width:18px;height:18px;accent-color:var(--brand)}.review-conditions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.review-conditions label,.free-text{font-size:.8rem;font-weight:700}.review-conditions select,.free-text textarea{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #cbd7d0;border-radius:10px;background:#fff;color:var(--ink);font:inherit}.free-text{display:block;margin:16px 0}.review-form-status{min-height:1.75em;color:var(--brand-dark);font-weight:800}.review-details{margin-top:18px}.review-details article{border-top:1px solid var(--line);padding:16px 0}.review-details article p{margin:5px 0}.review-details article small{color:var(--muted)}.review-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px}.review-pagination button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:8px 14px}.review-pagination button:disabled{opacity:.4}
@media(max-width:850px){.review-learning-grid{grid-template-columns:1fr}.review-learning{padding:52px 0}}
@media(max-width:430px){.feedback-options,.review-conditions{grid-template-columns:1fr}.review-intake-card{padding:20px}.review-pagination{font-size:.75rem}}

.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.problem-card{display:flex;flex-direction:column;min-height:230px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff;text-decoration:none;box-shadow:0 7px 22px rgba(31,66,54,.05);transition:.18s ease}.problem-card:hover{transform:translateY(-3px);border-color:#a7cfc0;box-shadow:var(--shadow)}.problem-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--mint);color:var(--brand-dark);font-size:.74rem;font-weight:900}.problem-card strong{font-size:1.05rem;line-height:1.45;margin:18px 0 8px}.problem-card small{color:var(--muted);line-height:1.7;flex:1}.problem-card em{font-style:normal;color:var(--brand-dark);font-weight:800;font-size:.82rem;margin-top:18px}.problem-story{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:start}.problem-story h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:0 0 20px}.pain-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0;list-style:none}.pain-list li{padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:#fff}.outcome-card{background:linear-gradient(145deg,#e5f6ee,#fff7ec);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.outcome-card span{display:block;color:var(--brand);font-size:.78rem;font-weight:800;letter-spacing:.1em;margin-bottom:10px}.outcome-card strong{font-size:1.2rem;line-height:1.65}
@media(max-width:850px){.problem-grid{grid-template-columns:repeat(2,1fr)}.problem-story{grid-template-columns:1fr;gap:28px}}
@media(max-width:430px){.problem-grid,.pain-list{grid-template-columns:1fr}.problem-card{min-height:0}}

.category-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.visual-brush:before{width:108px;height:76px;bottom:54px;border-radius:46% 46% 42% 42%}.visual-brush:after{width:78px;height:8px;bottom:94px;box-shadow:0 -14px 0 rgba(255,255,255,.74),0 14px 0 rgba(255,255,255,.74)}
.visual-milk:before{width:74px;height:116px;bottom:24px;border-radius:18px}.visual-milk:after{width:32px;height:28px;bottom:132px;border-radius:8px}
.visual-mask:before{width:118px;height:72px;bottom:34px;border-radius:20px 20px 28px 28px}.visual-mask:after{width:96px;height:22px;bottom:103px;border-radius:12px}
.visual-mist:before{width:58px;height:120px;bottom:22px;border-radius:16px}.visual-mist:after{width:24px;height:32px;bottom:136px;border-radius:8px}

.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.guide-card{border:1px solid var(--line);border-radius:20px;background:#fff;padding:24px;box-shadow:0 7px 22px rgba(31,66,54,.04)}.guide-card h3{font-size:1.22rem;line-height:1.5;margin:6px 0 10px}.guide-card h3 a{text-decoration:none}.guide-card p:not(.eyebrow){color:var(--muted)}.guide-body{max-width:820px}.guide-body section+section{margin-top:44px}.guide-body h2{font-size:1.7rem;line-height:1.4;margin:0 0 12px}.guide-body p{color:#44514d;font-size:1rem}.guide-article .page-hero{background:linear-gradient(120deg,#f3f8f5,#fff8ef)}@media(max-width:850px){.guide-grid{grid-template-columns:1fr}}

/* v0.3 color system — brighter editorial commerce */
:root{
  --brand:#087f73;
  --brand-dark:#075f59;
  --accent:#ff5f73;
  --blue:#3988f5;
  --lavender:#8268ee;
  --gold:#f3ad3f;
  --mint:#dcf6ed;
  --soft:#f6faf9;
  --soft-blue:#edf6ff;
  --soft-pink:#fff0f3;
  --soft-lavender:#f3efff;
  --soft-gold:#fff7e6;
}
.hero{
  background:
    radial-gradient(circle at 14% 18%,rgba(67,205,188,.18),transparent 30%),
    radial-gradient(circle at 86% 24%,rgba(73,144,255,.15),transparent 30%),
    linear-gradient(135deg,#f2fbf8 0%,#fff 48%,#fff2f4 100%);
}
.hero h1 em{color:var(--accent)}
.button{
  background:linear-gradient(135deg,var(--accent),#ff7a62);
  box-shadow:0 10px 24px rgba(255,95,115,.22);
}
.button:hover{background:linear-gradient(135deg,#ed4f65,#f56f57)}
.button.secondary{
  background:#fff;
  color:var(--brand-dark);
  border:1px solid #9fd6ca;
  box-shadow:none;
}
.weather-card{
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(237,246,255,.92));
  border-color:#cfe3f6;
}
.weather-card i{color:var(--accent)}
.problem-card,.guide-card,.category-card,.product-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.problem-card:nth-child(4n+1){background:linear-gradient(145deg,#fff,var(--soft-pink));border-color:#f5ccd4}
.problem-card:nth-child(4n+2){background:linear-gradient(145deg,#fff,#ecfaf5);border-color:#cce9df}
.problem-card:nth-child(4n+3){background:linear-gradient(145deg,#fff,var(--soft-blue));border-color:#cfdef3}
.problem-card:nth-child(4n){background:linear-gradient(145deg,#fff,var(--soft-lavender));border-color:#ddd3f4}
.problem-card:nth-child(4n+1) .problem-icon{background:#ffe0e6;color:#d84f67}
.problem-card:nth-child(4n+2) .problem-icon{background:#d9f5eb;color:#087f73}
.problem-card:nth-child(4n+3) .problem-icon{background:#dcecff;color:#2f76cf}
.problem-card:nth-child(4n) .problem-icon{background:#e7e0ff;color:#7057cf}
.guide-card:nth-child(4n+1){border-top:4px solid var(--blue);background:linear-gradient(180deg,#fff,var(--soft-blue))}
.guide-card:nth-child(4n+2){border-top:4px solid var(--accent);background:linear-gradient(180deg,#fff,var(--soft-pink))}
.guide-card:nth-child(4n+3){border-top:4px solid var(--brand);background:linear-gradient(180deg,#fff,#eefaf6)}
.guide-card:nth-child(4n){border-top:4px solid var(--lavender);background:linear-gradient(180deg,#fff,var(--soft-lavender))}
.category-card:nth-child(5n+1){background:linear-gradient(145deg,#fff,var(--soft-pink))}
.category-card:nth-child(5n+2){background:linear-gradient(145deg,#fff,#edf9f5)}
.category-card:nth-child(5n+3){background:linear-gradient(145deg,#fff,var(--soft-blue))}
.category-card:nth-child(5n+4){background:linear-gradient(145deg,#fff,var(--soft-lavender))}
.category-card:nth-child(5n){background:linear-gradient(145deg,#fff,var(--soft-gold))}
.category-card:nth-child(5n+1) span{color:var(--accent)}
.category-card:nth-child(5n+2) span{color:var(--brand)}
.category-card:nth-child(5n+3) span{color:var(--blue)}
.category-card:nth-child(5n+4) span{color:var(--lavender)}
.category-card:nth-child(5n) span{color:#c77d08}
.product-card:nth-child(5n+1) .product-visual{background:linear-gradient(145deg,#fff0f3,#f9eadd)}
.product-card:nth-child(5n+2) .product-visual{background:linear-gradient(145deg,#e5f8f1,#fff4df)}
.product-card:nth-child(5n+3) .product-visual{background:linear-gradient(145deg,#e6f2ff,#eef9f5)}
.product-card:nth-child(5n+4) .product-visual{background:linear-gradient(145deg,#efe9ff,#eef6ff)}
.product-card:nth-child(5n) .product-visual{background:linear-gradient(145deg,#fff3e8,#ffecef)}
.chips span:nth-child(3n+1){background:#dff6ed;color:#075f59}
.chips span:nth-child(3n+2){background:#e5f0ff;color:#3269ad}
.chips span:nth-child(3n){background:#f1eaff;color:#6950ba}
.page-hero.accent{
  background:
    radial-gradient(circle at 82% 20%,rgba(57,136,245,.14),transparent 30%),
    linear-gradient(120deg,#e8f8f2,#fff7ec 60%,#fff0f3);
}
.soft{
  background:
    radial-gradient(circle at 8% 10%,rgba(69,194,174,.08),transparent 24%),
    linear-gradient(180deg,#f4faf8,#f8fbff);
}
.outcome-card{background:linear-gradient(145deg,#e4f7ef,#edf5ff 55%,#fff2e9)}
.notice,.caution{background:linear-gradient(135deg,#fff5db,#fff0e7)}
.text-link{color:#08796e}
.site-header{border-bottom-color:#d6e8e2}
footer{
  background:linear-gradient(135deg,#f6fbf9,#f3f7ff 55%,#fff5f6);
}
@media(max-width:850px){
  .hero{background:linear-gradient(160deg,#eefaf6 0%,#fff 55%,#fff2f4 100%)}
}
