:root{
  --gold:#9C8560; --gsoft:#7A6A4F; --ink:#26241F; --sub:#4A4A42;
  --mist:#8B8577; --card:#FFFFFF; --line:#DCD3BF; --hair:#E7E2D6; --hair2:#EDE8DC;
  --bad:#B0563F; --bg1:#FBFAF6; --bg2:#F3F0E8;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;background:linear-gradient(180deg,var(--bg1),var(--bg2));color:var(--ink);min-height:100vh;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1160px;margin:0 auto;padding:0 44px;}
.nav{display:flex;justify-content:space-between;align-items:flex-end;padding:30px 44px 18px;border-bottom:1px solid var(--hair);max-width:1248px;margin:0 auto;}
.logo{font-family:"Noto Serif JP",serif;font-size:64px;font-weight:700;letter-spacing:.06em;line-height:1;}
.logo .ten{color:var(--gold);}
.logo small{display:block;font-size:10px;color:var(--mist);letter-spacing:.32em;margin:12px 0 0 4px;font-family:"Noto Sans JP",sans-serif;font-weight:400;}
.menu{display:flex;gap:26px;font-size:12px;letter-spacing:.2em;color:var(--mist);padding-bottom:8px;flex-wrap:wrap;}
.menu a.on{color:var(--gold);font-weight:600;}
.pagehead{padding:48px 0 8px;}
.pk{font-size:12px;letter-spacing:.3em;color:var(--gsoft);margin-bottom:10px;}
h1.pt{font-family:"Noto Serif JP",serif;font-size:24px;font-weight:700;letter-spacing:.05em;}
.pd{margin-top:10px;font-size:13px;color:var(--mist);letter-spacing:.04em;line-height:1.9;}
.h3{font-family:"Noto Serif JP",serif;font-size:16px;font-weight:700;margin:32px 0 4px;letter-spacing:.04em;}
.h3note{font-size:11px;color:var(--mist);margin-bottom:8px;line-height:1.7;}
.rule{width:52px;height:2px;background:var(--gold);margin:16px 0 22px;}
.hero{display:flex;gap:44px;align-items:center;padding:44px 0 8px;}
.hero .hl{flex:1.1;}
.hero .hr{flex:.9;}
.hero .hr img{width:100%;border-radius:2px;display:block;}
.badge{display:inline-block;border:1px solid var(--line);padding:6px 16px;font-size:10.5px;letter-spacing:.18em;color:var(--gsoft);margin-bottom:20px;}
.hero h1{font-family:"Noto Serif JP",serif;font-size:19px;font-weight:700;letter-spacing:.12em;}
.hero .sub{margin-top:12px;font-size:13.5px;color:var(--mist);letter-spacing:.06em;line-height:2;}
.hero .meta{margin-top:18px;font-size:10.5px;color:var(--mist);letter-spacing:.1em;line-height:2;}
.hero .meta b{color:var(--gsoft);font-weight:600;}
.dash-head{display:flex;justify-content:space-between;align-items:baseline;margin:30px 0 14px;gap:16px;flex-wrap:wrap;}
.sec-t{font-size:12px;letter-spacing:.28em;color:var(--gsoft);}
.sec-note{font-size:10px;color:var(--mist);letter-spacing:.08em;}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.mcard{background:var(--card);border:1px solid #E5DFD0;padding:18px 20px;box-shadow:0 1px 3px rgba(60,52,36,.05);}
.mcard .k{font-size:10.5px;color:var(--mist);letter-spacing:.12em;margin-bottom:7px;}
.mcard .v{font-family:"Noto Serif JP",serif;font-size:29px;font-weight:700;}
.mcard .v small{font-size:12px;color:var(--mist);font-weight:400;margin-left:2px;}
.mcard .trend{font-size:10px;margin-top:5px;letter-spacing:.04em;color:var(--mist);}
.mcard .trend.up{color:#5E8C69;} .mcard .trend.down{color:var(--bad);}
.mcard .v.bad{color:var(--bad);}
.receipt{display:inline-block;margin-top:10px;font-size:9px;color:var(--gsoft);letter-spacing:.12em;border:1px solid var(--line);padding:3px 9px;}
.worst{margin-top:32px;border:1px solid #E3BCAE;background:#FBF3EE;padding:22px 26px;}
.worst .wt{font-size:11.5px;letter-spacing:.22em;color:var(--bad);margin-bottom:12px;font-weight:600;}
.wrow{display:flex;align-items:baseline;gap:18px;padding:9px 0;border-bottom:1px solid var(--hair2);font-size:13px;flex-wrap:wrap;}
.wrow:last-child{border-bottom:none;}
.wrow .wn{font-weight:600;min-width:120px;}
.wrow .wv{font-family:"Noto Serif JP",serif;color:var(--bad);font-size:16px;min-width:130px;}
.wrow .wd{color:var(--mist);font-size:11.5px;flex:1;min-width:220px;line-height:1.7;}
.tease{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px;}
.tcard{border-top:2px solid var(--gold);padding:16px 4px 0;}
.tcard .tt{font-family:"Noto Serif JP",serif;font-size:17px;font-weight:700;margin-bottom:7px;}
.tcard .td{font-size:11.5px;color:var(--mist);line-height:1.8;}
.tcard .tl{display:inline-block;margin-top:9px;font-size:10px;color:var(--gsoft);letter-spacing:.14em;}
.story-strip{margin:40px 0 0;background:var(--card);border:1px solid #E5DFD0;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.story-strip .st{font-family:"Noto Serif JP",serif;font-size:16px;letter-spacing:.04em;line-height:1.8;}
.story-strip .sl{font-size:10.5px;color:var(--gsoft);letter-spacing:.16em;border:1px solid var(--line);padding:9px 20px;white-space:nowrap;}
.routine{margin-top:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.rcard{background:var(--card);border:1px solid #E5DFD0;padding:18px 20px;box-shadow:0 1px 3px rgba(60,52,36,.05);}
.rcard .rk{font-size:10px;letter-spacing:.2em;color:var(--gold);margin-bottom:8px;font-family:"Noto Serif JP",serif;}
.rcard .rv{font-size:12.5px;line-height:2;}
.detail{margin-top:36px;background:var(--card);border:1px solid #E5DFD0;padding:24px 28px;box-shadow:0 1px 3px rgba(60,52,36,.05);overflow-x:auto;}
.detail .dh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;gap:14px;flex-wrap:wrap;}
.detail .dt{font-family:"Noto Serif JP",serif;font-size:18px;font-weight:700;}
.detail .dcond{font-size:10px;color:var(--mist);letter-spacing:.06em;}
.pdfbtn{display:inline-block;font-size:9.5px;color:var(--gsoft);letter-spacing:.08em;border:1px solid var(--line);padding:4px 11px;margin:4px 6px 0 0;}
.librow{display:flex;align-items:center;gap:20px;padding:12px 4px;border-bottom:1px solid var(--hair);font-size:12.5px;flex-wrap:wrap;}
.librow .ld{font-family:"Noto Serif JP",serif;color:var(--gsoft);min-width:96px;}
.librow .lk{min-width:180px;font-weight:600;}
.librow .li{color:var(--mist);font-size:11px;flex:1;min-width:200px;}
.subnav{display:flex;gap:8px;margin:16px 0 0;flex-wrap:wrap;}
.subnav a{font-size:10.5px;letter-spacing:.1em;color:var(--mist);border:1px solid #E5DFD0;padding:6px 13px;background:var(--card);}
.subnav a.on{color:#fff;background:var(--gold);border-color:var(--gold);font-weight:600;}
.rulerow{display:flex;gap:14px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--hair2);flex-wrap:wrap;}
.rulerow:last-child{border-bottom:none;}
.rulerow .rn{font-family:"Noto Serif JP",serif;color:var(--gold);font-size:12px;min-width:26px;}
.rulerow .rt{font-size:13.5px;font-weight:600;min-width:250px;}
.rulerow .rd{font-size:11.5px;color:var(--mist);line-height:1.8;flex:1;min-width:240px;}
.wk{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:14px 0;}
.wd{background:var(--card);border:1px solid #E5DFD0;padding:12px 9px;box-shadow:0 1px 3px rgba(60,52,36,.05);}
.wd .dn{font-size:9px;letter-spacing:.18em;color:var(--gold);font-family:"Noto Serif JP",serif;margin-bottom:6px;}
.wd .dt{font-size:12.5px;font-weight:600;margin-bottom:3px;}
.wd .ds{font-size:9.5px;color:var(--mist);line-height:1.5;}
.wd.rest{background:#F3EFE5;}
.macro{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0;}
.macro .m{background:var(--card);border:1px solid #E5DFD0;padding:14px 12px;text-align:center;box-shadow:0 1px 3px rgba(60,52,36,.05);}
.macro .mv{font-family:"Noto Serif JP",serif;font-size:19px;font-weight:700;}
.macro .ml{font-size:9.5px;color:var(--mist);margin-top:4px;}
.srow{display:flex;justify-content:space-between;align-items:baseline;padding:9px 4px;border-bottom:1px solid var(--hair2);gap:14px;}
.srow:last-child{border-bottom:none;}
.srow .sn2{font-size:12.5px;font-weight:600;}
.srow .sd2{font-size:10.5px;color:var(--mist);}
.srow .st2{font-size:9px;color:var(--gsoft);border:1px solid var(--line);padding:3px 9px;white-space:nowrap;}
.sysrow{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--hair2);align-items:baseline;flex-wrap:wrap;}
.sysrow:last-child{border-bottom:none;}
.sysrow .syn{font-family:"Noto Serif JP",serif;color:var(--gold);font-size:12px;min-width:28px;}
.sysrow .syt2{font-size:13px;font-weight:600;min-width:280px;line-height:1.6;}
.sysrow .syd2{font-size:11px;color:var(--mist);line-height:1.8;flex:1;min-width:240px;}
.refs{margin:30px 0 8px;background:var(--card);border:1px solid #E5DFD0;padding:18px 22px;box-shadow:0 1px 3px rgba(60,52,36,.05);}
.refs .rt2{font-size:10.5px;letter-spacing:.2em;color:var(--gsoft);margin-bottom:10px;}
.refs .rl{display:flex;flex-wrap:wrap;gap:7px 9px;}
.refs a.ref{font-size:9.5px;color:var(--gsoft);border:1px solid var(--line);padding:4px 10px;letter-spacing:.02em;}
.thesis{font-size:12.5px;color:var(--mist);line-height:2;margin-top:12px;max-width:780px;}
.pnum{font-family:"Noto Serif JP",serif;font-size:11px;letter-spacing:.28em;color:var(--gold);margin-bottom:8px;}
.pimg{margin:22px 0 0;display:flex;gap:12px;flex-wrap:wrap;}
.pimg img{width:calc(50% - 6px);max-width:420px;border-radius:2px;display:block;}
.costtbl .crow{display:flex;align-items:baseline;gap:16px;padding:11px 4px;border-bottom:1px solid var(--hair2);flex-wrap:wrap;}
.costtbl .crow:last-child{border-bottom:none;}
.costtbl .ct{font-size:13px;font-weight:600;min-width:210px;}
.costtbl .cd{font-size:11px;color:var(--mist);flex:1;line-height:1.8;min-width:220px;}
.costtbl .cc{font-family:"Noto Serif JP",serif;font-size:13.5px;color:var(--gold);min-width:90px;text-align:right;}
.total{display:flex;justify-content:flex-end;gap:16px;align-items:baseline;padding:14px 4px;border-top:2px solid var(--gold);margin-top:4px;}
.total .tl2{font-size:11px;color:var(--mist);letter-spacing:.1em;}
.total .tv2{font-family:"Noto Serif JP",serif;font-size:22px;font-weight:700;color:var(--gold);}
.htl{display:flex;margin:16px 0 6px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:14px 0;flex-wrap:wrap;}
.htl .hn{flex:1 0 10%;text-align:center;padding:4px 3px;min-width:86px;}
.htl .hn::before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin:0 auto 6px;}
.htl .ha{font-family:"Noto Serif JP",serif;font-size:11px;color:var(--gold);margin-bottom:2px;}
.htl .hb{font-size:8.5px;color:var(--mist);line-height:1.4;}
.vtl{margin-top:22px;border-left:2px solid #E0D8C6;}
.ch{position:relative;padding:0 0 30px 30px;}
.ch::before{content:"";position:absolute;left:-6px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--gold);}
.ch .chy{font-family:"Noto Serif JP",serif;font-size:11.5px;color:var(--gold);letter-spacing:.12em;margin-bottom:4px;}
.ch .cht{font-family:"Noto Serif JP",serif;font-size:17px;font-weight:700;letter-spacing:.04em;margin-bottom:7px;}
.ch .chb{font-size:12.5px;color:var(--sub);line-height:2;letter-spacing:.02em;max-width:820px;}
.ch .chimg{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;}
.ch .chimg img{width:200px;border-radius:2px;display:block;}
.logrow{padding:14px 4px;border-bottom:1px solid var(--hair2);}
.logrow:last-child{border-bottom:none;}
.logrow .lgd{font-family:"Noto Serif JP",serif;font-size:11px;color:var(--gold);margin-bottom:4px;letter-spacing:.08em;}
.logrow .lgt{font-size:13px;font-weight:600;margin-bottom:3px;}
.logrow .lgb{font-size:11.5px;color:var(--mist);line-height:1.8;}
.tag{display:inline-block;font-size:9px;padding:2px 8px;border:1px solid var(--line);color:var(--gsoft);margin-right:7px;letter-spacing:.06em;}
.tag.stop{color:var(--bad);border-color:#E3BCAE;}
.foot{margin-top:48px;border-top:1px solid var(--hair);padding:22px 44px 34px;font-size:9.5px;color:var(--mist);line-height:1.9;letter-spacing:.05em;max-width:1248px;margin-left:auto;margin-right:auto;}
.foot .links{display:flex;gap:22px;margin-bottom:12px;font-size:10.5px;letter-spacing:.14em;color:var(--gsoft);flex-wrap:wrap;}
.axis{font-size:9px;fill:#A39B8B;}
@media (max-width:820px){
  .wrap{padding:0 20px;}
  .nav{padding:20px 20px 12px;flex-direction:column;align-items:flex-start;gap:12px;}
  .logo{font-size:44px;}
  .hero{flex-direction:column;padding-top:28px;gap:24px;}
  .cards{grid-template-columns:1fr 1fr;}
  .tease,.routine{grid-template-columns:1fr;}
  .wk{grid-template-columns:repeat(4,1fr);}
  .macro{grid-template-columns:1fr 1fr;}
  .htl .hn{flex:1 0 20%;}
  .foot{padding:18px 20px 28px;}
  .pimg img{width:100%;}
}
@media (max-width:480px){
  .cards{grid-template-columns:1fr;}
  .wk{grid-template-columns:repeat(2,1fr);}
}
