:root{
  --honey:#E9A825;--honey-deep:#C7841A;--comb:#1C1610;--wax:#FBF5E6;--ink:#2A2118;--mute:#7A6B57;--line:#E6D8BC;
  --fs:clamp(15px,1.05vw,17px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:var(--fs);scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{font-family:"Zen Kaku Gothic New","Hiragino Sans","Noto Sans JP",sans-serif;color:var(--ink);background:var(--wax);line-height:1.85;letter-spacing:.02em}
h1,h2,h3{font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:600;line-height:1.35;letter-spacing:.04em}
a{color:inherit}
img{max-width:100%}
.wrap{width:min(1080px,92vw);margin:0 auto}

/* header */
.site-head{background:var(--comb);color:var(--wax);position:sticky;top:0;z-index:10}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-family:"Shippori Mincho",serif;font-size:1.15rem;letter-spacing:.08em}
.brand svg{width:26px;height:26px}
.nav{display:flex;gap:1.6rem;list-style:none}
.nav a{text-decoration:none;font-size:.92rem;opacity:.8;padding:.3rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{opacity:1;border-color:var(--honey)}
.nav a:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--honey);outline-offset:3px}
.menu-btn{display:none;background:none;border:1px solid rgba(255,255,255,.3);color:var(--wax);padding:.35rem .7rem;border-radius:4px;font-size:.9rem}
@media(max-width:720px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--comb);flex-direction:column;gap:0;padding:.5rem 4vw 1rem}
  .nav.open{display:flex}
  .nav a{display:block;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.1)}
}

/* hero */
.hero{background:var(--comb);color:var(--wax);position:relative;overflow:hidden}
.hero .wrap{position:relative;padding:6rem 0 5rem;max-width:720px;margin-left:max(4vw,calc((100vw - 1080px)/2))}
.hero h1{font-size:clamp(2rem,5vw,3.4rem);margin-bottom:1.2rem}
.hero p{font-size:1.05rem;opacity:.85;max-width:34em}
.hero .comb-bg{position:absolute;right:-6vw;top:-10%;height:120%;width:auto;opacity:.9;pointer-events:none}
@media(max-width:900px){.hero .comb-bg{opacity:.25}}
.hero-note{margin-top:1.6rem;font-size:.85rem;color:var(--honey)}

/* sections */
section{padding:4.5rem 0}
section+section{border-top:1px solid var(--line)}
h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:1.6rem}
h2 .sub{display:block;font-family:inherit;font-size:.9rem;color:var(--honey-deep);margin-bottom:.4rem;font-weight:500}
.lead{max-width:38em;color:var(--ink);font-size:1.02rem}
.grid{display:grid;gap:2.2rem 3rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:2rem}
.grid h3{font-size:1.15rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.6rem}
.grid h3::before{content:"";width:12px;height:14px;background:var(--honey);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);flex:none}
.grid p{color:var(--mute);font-size:.95rem}

/* flow */
.flow{display:flex;flex-wrap:wrap;gap:0;margin-top:2rem;border:1px solid var(--line);background:#fff}
.flow div{flex:1 1 180px;padding:1.4rem 1.2rem;border-right:1px solid var(--line);position:relative}
.flow div:last-child{border-right:0}
.flow strong{display:block;font-family:"Shippori Mincho",serif;font-size:1.05rem;margin-bottom:.3rem}
.flow small{color:var(--mute);line-height:1.6;display:block}
.flow div+div::before{content:"";position:absolute;left:-7px;top:50%;width:12px;height:12px;background:#fff;border-right:1px solid var(--line);border-top:1px solid var(--line);transform:translateY(-50%) rotate(45deg)}
@media(max-width:720px){.flow div{border-right:0;border-bottom:1px solid var(--line)}.flow div:last-child{border-bottom:0}.flow div+div::before{display:none}}

/* rules */
.rules{list-style:none;margin-top:1.5rem;max-width:40em}
.rules li{padding:.9rem 0;border-bottom:1px dashed var(--line);display:grid;grid-template-columns:8em 1fr;gap:1rem}
.rules li span:first-child{color:var(--honey-deep);font-weight:600}

/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2rem}
.stats div{background:#fff;padding:1.4rem 1.2rem}
.stats b{display:block;font-family:"Shippori Mincho",serif;font-size:1.9rem;font-weight:600;line-height:1.2}
.stats span{font-size:.85rem;color:var(--mute)}
.plus{color:var(--honey-deep)}
table{width:100%;border-collapse:collapse;margin-top:2rem;background:#fff;font-size:.95rem}
th,td{padding:.75rem .9rem;border-bottom:1px solid var(--line);text-align:left}
th{background:var(--comb);color:var(--wax);font-weight:500}
td.num{text-align:right;font-variant-numeric:tabular-nums}
.notice{margin-top:2rem;padding:1.2rem 1.4rem;background:#fff;border-left:4px solid var(--honey);font-size:.9rem;color:var(--mute);max-width:44em}

/* form */
form{max-width:36em;margin-top:2rem;display:grid;gap:1.2rem}
label{display:grid;gap:.4rem;font-size:.95rem}
input,textarea,select{font:inherit;padding:.7rem .8rem;border:1px solid var(--line);background:#fff;border-radius:3px;width:100%}
textarea{min-height:9em;resize:vertical}
.btn{display:inline-block;background:var(--honey);color:var(--comb);text-decoration:none;font-weight:600;padding:.85rem 1.8rem;border:0;border-radius:3px;cursor:pointer;font-size:1rem}
.btn:hover{background:var(--honey-deep)}
.btn-ghost{background:transparent;color:var(--wax);border:1px solid var(--honey);}
.btn-ghost:hover{background:var(--honey);color:var(--comb)}
.hero .btn{margin-top:2rem}

/* footer */
footer{background:var(--comb);color:var(--wax);padding:3rem 0 2rem;font-size:.85rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;align-items:flex-end}
footer p{opacity:.65;max-width:40em}
footer ul{list-style:none;display:flex;gap:1.4rem}
footer a{text-decoration:none;opacity:.8}
footer a:hover{opacity:1}
.page-title{background:var(--comb);color:var(--wax);padding:3.5rem 0}
.page-title h1{font-size:clamp(1.8rem,4vw,2.6rem)}
.page-title p{opacity:.75;margin-top:.5rem}
