:root{--paper:#F2ECDF;--paper-light:#FBF8F1;--ink:#192522;--ink-soft:#5B625D;--blue:#123F49;--gold:#C59A32;--brown:#654638;--line:#C9BEAA;--line-dark:#847968}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:2;-webkit-font-smoothing:antialiased}
a{color:inherit} a:focus-visible{outline:1px solid var(--gold);outline-offset:5px}
.site-nav{min-height:82px;padding:18px 3.6vw;display:flex;align-items:center;justify-content:space-between;gap:30px;position:sticky;top:0;z-index:20;background:rgba(242,236,223,.96);border-bottom:1px solid rgba(101,70,56,.14);backdrop-filter:blur(12px)}
.brand{font-family:'Noto Serif JP',serif;font-size:13px;letter-spacing:.17em;text-decoration:none}
.brand::after{content:'SAKUnoTORIDORI';display:block;margin-top:2px;font-family:'Bodoni Moda',serif;font-size:8px;letter-spacing:.34em;color:var(--brown)}
.nav-links{display:flex;gap:28px;align-items:center}.nav-links a{font-family:'Bodoni Moda',serif;font-size:9px;letter-spacing:.22em;text-decoration:none;border-bottom:1px solid transparent}.nav-links a:hover{border-color:var(--gold)}
.terms-hero{width:min(1180px,92vw);margin:0 auto;padding:92px 0 74px;display:grid;grid-template-columns:.75fr 1.25fr;gap:8%;align-items:end;border-bottom:1px solid var(--line-dark)}
.hero-index,.eyebrow{font-family:'Bodoni Moda',serif;font-size:9px;letter-spacing:.22em;color:var(--gold)}
.terms-hero h1{margin:14px 0 0;font-family:'Noto Serif JP',serif;font-size:clamp(28px,3.4vw,48px);font-weight:400;line-height:1.6;letter-spacing:.1em}
.hero-word{margin:0;font-family:'Bodoni Moda',serif;font-size:clamp(78px,12vw,168px);line-height:.76;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(18,63,73,.52)}
.hero-note{max-width:620px;margin:32px 0 0 auto;color:var(--ink-soft);font-size:13px;line-height:2}
.revision{margin-top:18px;font-family:'Bodoni Moda',serif;font-size:9px;letter-spacing:.18em;color:var(--brown)}
.important{width:min(1180px,92vw);margin:0 auto;padding:34px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:180px 1fr;gap:7%}
.important h2{margin:0;font-family:'Noto Serif JP',serif;font-size:14px;font-weight:400;letter-spacing:.1em}.important p{margin:0;color:var(--ink-soft);font-size:13px}
.terms-shell{width:min(1180px,92vw);margin:0 auto;padding:100px 0 140px;display:grid;grid-template-columns:240px minmax(0,760px);gap:10%;justify-content:space-between}
.terms-toc{position:sticky;top:118px;align-self:start}.terms-toc .eyebrow{display:block;margin-bottom:20px}.terms-toc ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--line-dark)}
.terms-toc a{display:grid;grid-template-columns:34px 1fr;padding:9px 0;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:11px;line-height:1.65;letter-spacing:.05em;text-decoration:none}.terms-toc a span{font-family:'Bodoni Moda',serif;font-size:8px;color:var(--gold)}.terms-toc a:hover{color:var(--ink)}
.terms-content{min-width:0}.terms-intro{margin:0 0 76px;color:var(--ink-soft);font-size:13px}.terms-section{padding:54px 0 58px;border-top:1px solid var(--line-dark)}
.terms-heading{display:grid;grid-template-columns:58px 1fr;gap:20px;align-items:start;margin-bottom:28px}.terms-number{font-family:'Bodoni Moda',serif;font-size:11px;letter-spacing:.18em;color:var(--gold)}
.terms-section h2{margin:0;font-family:'Noto Serif JP',serif;font-size:19px;font-weight:400;letter-spacing:.08em;line-height:1.6}.terms-section h3{margin:30px 0 8px;font-size:14px;font-weight:500;letter-spacing:.05em}
.terms-section p{margin:0;color:var(--ink-soft);font-size:13px;line-height:2}.terms-section p+p{margin-top:13px}.terms-section ul,.terms-section ol{margin:14px 0 0;padding-left:1.4em;color:var(--ink-soft);font-size:13px}.terms-section li+li{margin-top:8px}
.note-block{margin-top:22px;padding:18px 20px;border-left:2px solid var(--gold);background:rgba(251,248,241,.52);color:var(--ink-soft);font-size:12px}
.terms-actions{margin-top:76px;padding-top:38px;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;gap:26px}.text-link{display:inline-block;padding-bottom:6px;border-bottom:1px solid var(--gold);font-size:12px;letter-spacing:.1em;text-decoration:none}.text-link::after{content:'→';margin-left:16px;color:var(--gold)}
footer{border-top:1px solid var(--line);padding:50px 4vw 68px;display:flex;justify-content:space-between;gap:30px;color:var(--ink-soft);font-size:10px}footer .footer-name{font-family:'Noto Serif JP',serif;font-size:13px;letter-spacing:.12em;color:var(--ink)}
@media(max-width:800px){
  html{scroll-padding-top:82px}.site-nav{min-height:68px;padding:14px 20px}.brand{font-size:10px;line-height:1.55}.nav-links{gap:14px}.nav-links a{font-size:8px;letter-spacing:.14em}.nav-links a:last-child{display:none}
  .terms-hero{padding:60px 0 52px;grid-template-columns:1fr;gap:42px}.terms-hero h1{font-size:26px}.hero-word{font-size:24vw}.hero-note{margin-left:0;font-size:13px}
  .important{padding:28px 0;grid-template-columns:1fr;gap:10px}.important p{font-size:13px}
  .terms-shell{width:100%;padding:0 0 100px;display:block}.terms-toc{position:sticky;top:68px;z-index:12;padding:0 20px;background:rgba(242,236,223,.97);border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap;scrollbar-width:none}.terms-toc::-webkit-scrollbar{display:none}.terms-toc .eyebrow{display:none}.terms-toc ol{display:flex;border:0}.terms-toc li{flex:0 0 auto}.terms-toc a{display:flex;gap:8px;padding:13px 17px 13px 0;margin-right:17px;border:0;font-size:11px}
  .terms-content{width:calc(100% - 40px);margin:0 auto;padding-top:70px}.terms-intro{margin-bottom:56px}.terms-section{padding:42px 0 46px}.terms-heading{grid-template-columns:42px 1fr;gap:10px}.terms-section h2{font-size:17px}.terms-section p,.terms-section ul,.terms-section ol{font-size:13px;line-height:1.95}.note-block{padding:16px 15px}.terms-actions{display:block}.text-link{display:table;margin-top:20px}
  footer{display:block;padding-left:20px;padding-right:20px}footer p:last-child{margin-top:12px}
}
