:root{--ink:#172c30;--muted:#41585b;--teal:#08798c;--line:#08753d;--paper:#fff;--rule:#dbe7e7;--warm:#fcf7ed;--soft:#eef8f6}
*{box-sizing:border-box}
html{scroll-padding-top:1rem}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 "Noto Sans JP","Yu Gothic",Meiryo,system-ui,sans-serif;overflow-wrap:anywhere}
img{display:block;max-width:100%;height:auto}
a{color:#086879;text-underline-offset:.2em}
:focus-visible{outline:3px solid #aa4f00;outline-offset:4px}
.skip{position:absolute;left:12px;top:-100px;background:white;padding:8px 16px;z-index:2}
.skip:focus{top:12px}
.wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.preview{background:#173a42;color:white;text-align:center;font-size:.77rem;letter-spacing:.07em;padding:5px 12px}
.header{border-bottom:1px solid var(--rule)}
.header-inner,.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:13px}
.header img,.footer-inner img{width:158px}
nav{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center}
nav a{color:var(--ink);font-size:.9rem;font-weight:700}
.header nav a{text-decoration:none}
.button{min-height:52px;border-radius:10px;padding:10px 19px;display:inline-flex;gap:.65em;align-items:center;justify-content:center;font-weight:800;text-decoration:none;line-height:1.4;text-align:center;border:1px solid transparent}
.button.line{background:var(--line);color:white;box-shadow:0 4px 0 #06552d}
.button.line:hover{background:#065d31}
.button.secondary{background:#fff;color:#14545c;border-color:#98afb0}
.button.secondary:hover{background:#eef8f6}
.compact{min-height:44px;font-size:.87rem}
.hero{background:linear-gradient(125deg,#fbf6eb 12%,#f7faf7 69%,#e7f4f2)}
.hero-grid,.store-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(25px,5vw,78px)}
.hero-grid{padding-block:clamp(36px,6vw,82px)}
.hero-copy>p{margin:.9em 0;max-width:38em}
.location,.promise{font-weight:800}
.location{font-size:.92rem;color:#285b60}
.location:before{content:"";display:inline-block;width:.55em;height:.55em;border-radius:50%;background:#c55120;margin-right:.6em;vertical-align:.12em}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{line-height:1.35}
h1{font-size:clamp(2.08rem,4.8vw,4.25rem);letter-spacing:-.055em}
h1 span{color:var(--teal)}
h2{font-size:clamp(1.55rem,3.4vw,2.7rem);letter-spacing:-.035em}
h3{font-size:1.17rem}
.hero-photo{background:#eadcc5;border-radius:22px;overflow:hidden;box-shadow:0 15px 40px #48362520}
.hero-photo img{width:100%;aspect-ratio:1;object-fit:cover}
.platforms{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 21px;padding:0}
.platforms li{border:1px solid #b5cdcd;background:white;padding:2px 12px;border-radius:99px;font-weight:700;font-size:.83rem}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.small{font-size:.84rem;color:var(--muted)}
.section{padding-block:clamp(44px,7vw,92px)}
.section-intro{margin-bottom:24px}
.eyebrow{color:#086779;font-weight:850;letter-spacing:.16em;font-size:.77rem;margin-bottom:7px}
.section-intro>p:last-child,.consult p:last-child,.store-grid h2+p{margin-top:10px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sale,.info{overflow:hidden;border:1px solid var(--rule);border-radius:17px;background:white;box-shadow:0 6px 22px #183b4010;min-width:0}
.sale-photo{background:#f3f3f2;aspect-ratio:1.1;overflow:hidden}
.sale-photo img{width:100%;height:100%;object-fit:contain}
.sale-content,.info{padding:20px}
.sale-content p,.info p:last-child{color:var(--muted);font-size:.92rem}
.sale-cost{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:7px 0 9px;color:#075f70}
.sale-cost span{font-size:.76rem;font-weight:700;color:var(--muted)}
.sale-cost strong{font-size:clamp(1.45rem,3vw,2.05rem);line-height:1.3;font-variant-numeric:tabular-nums}
.price-note,#fees>.small{margin-top:14px}
.campaign{display:grid;grid-template-columns:minmax(0, .9fr) minmax(0,1fr);align-items:center;gap:clamp(16px,4vw,52px);margin-top:clamp(24px,4vw,48px);padding:clamp(14px,3vw,32px);background:#edf8f0;border:1px solid #bedbc5;border-radius:18px}
.campaign-image{width:100%;border-radius:12px}
.campaign-label{display:inline-block;margin-bottom:9px;padding:3px 12px;border-radius:999px;background:#185c3b;color:#fff;font-size:.8rem;font-weight:800}
.campaign h2{font-size:clamp(1.35rem,2.8vw,2.3rem)}
.campaign-copy h2+p{margin:10px 0 16px}
.campaign-copy strong{color:#12653b;white-space:nowrap}
@media(max-width:740px){.campaign{grid-template-columns:minmax(0,1fr)}.campaign .button{width:100%}}
.consult{margin-top:30px;padding:clamp(20px,4vw,42px);background:var(--soft);border:1px solid #beded7;border-radius:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px}
.consult h2{font-size:clamp(1.3rem,2.55vw,2.15rem)}
.shade{background:#f6f8f5}
.store-photo{border-radius:18px;width:100%}
.store-details{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:9px 14px;font-size:.9rem;margin-block:18px}
.store-details dt{font-weight:800}.store-details dd{margin:0}
.amount{font-size:1.3rem;font-weight:850;color:#086779;margin:8px 0 12px}
.steps{list-style:none;padding:0;margin:0}
.steps img,.compare img{width:144px;height:100px;margin:0 auto 14px}
.steps h3{margin-bottom:9px}
.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.compare{padding:clamp(20px,3vw,32px)}
.compare.listing{border-color:#98c8bf;background:#f2faf8}
.route{margin:10px 0;padding:8px 12px;background:#edf3f4;border-radius:8px;color:#14545c;font-weight:750;font-size:.88rem}
@media(max-width:600px){.comparison-grid,.cards.steps{grid-template-columns:1fr}}
details{border-bottom:1px solid var(--rule);padding:12px 0}
details:first-of-type{margin-top:19px}
summary{font-weight:750;cursor:pointer;padding:5px 0}
details>p{padding:8px 0}
footer{background:#f5f8f7;border-top:1px solid var(--rule)}
footer .footer-inner{padding-block:25px}
@media(max-width:860px){.consult{grid-template-columns:1fr}.consult .button{justify-self:start}}
@media(max-width:740px){.wrap{width:calc(100% - 32px)}.hero-grid,.store-grid{grid-template-columns:1fr}.hero-photo img{aspect-ratio:1.22;object-position:center 52%}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.header-inner{flex-wrap:wrap;gap:9px 12px}.header-inner nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--rule);padding-top:7px}.header-inner nav a{padding:4px 3px}.footer-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:460px){.cards{grid-template-columns:1fr}.actions{display:grid;grid-template-columns:minmax(0,1fr)}.consult .button{width:100%}.header img{width:130px}.sale-photo{aspect-ratio:1.15}}
