
:root{--night:#111C2E;--night-soft:#1B2A42;--night-line:#2B3D5A;--washi:#F6F0DF;--washi-shade:#EBE1CA;--washi-line:#D9CCAC;--shu:#CE3A2B;--shu-deep:#A82A20;--kin:#C9A227;--kin-light:#E3C878;--sumi:#2A241B;--sumi-soft:#6B5F4A;--mist:#C6D0DF;--font-display:'Yuji Syuku','Hiragino Mincho ProN','Yu Mincho',serif;--font-body:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:76px}
body{font-family:var(--font-body);background-color:var(--night);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60' viewBox='0 0 120 60'%3E%3Cg fill='none' stroke='%23C9A227' stroke-opacity='0.055' stroke-width='1.4'%3E%3Cpath d='M0 60a30 30 0 0 1 60 0M-30 60a30 30 0 0 1 60 0M30 60a30 30 0 0 1 60 0M60 60a30 30 0 0 1 60 0M90 60a30 30 0 0 1 60 0'/%3E%3Cpath d='M0 60a20 20 0 0 1 40 0M60 60a20 20 0 0 1 40 0M-30 30a30 30 0 0 1 60 0M30 30a30 30 0 0 1 60 0M90 30a30 30 0 0 1 60 0M0 30a20 20 0 0 1 40 0M60 30a20 20 0 0 1 40 0'/%3E%3C/g%3E%3C/svg%3E");color:var(--washi);min-height:100vh}
a{color:inherit}
.skip-link{position:absolute;left:8px;top:-52px;z-index:100;background:var(--washi);color:var(--sumi);padding:10px 16px;border-radius:0 0 8px 8px;font-size:13px;letter-spacing:.1em;text-decoration:none;transition:top .2s}
.skip-link:focus{top:0;outline:2px solid var(--shu)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
a:focus-visible,button:focus-visible{outline:2px solid var(--kin-light);outline-offset:2px}
article.paper a:focus-visible,.cta-box a:focus-visible{outline-color:var(--shu)}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms !important;transition-duration:.01ms !important}}
.site-nav{border-bottom:1px solid var(--washi-line);background:rgba(246,240,223,.97);backdrop-filter:blur(6px);position:sticky;top:0;z-index:50;box-shadow:0 2px 12px rgba(0,0,0,.28)}
.nav-in{max-width:900px;margin:0 auto;padding:12px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.site-nav .brand{font-family:var(--font-display);font-size:20px;letter-spacing:.16em;color:var(--shu-deep);text-decoration:none}
.site-nav .links{display:flex;gap:4px;flex-wrap:wrap}
.site-nav .links a{font-size:14px;letter-spacing:.12em;color:var(--sumi);text-decoration:none;padding:8px 13px;border-radius:999px;transition:.2s;font-weight:500}
.site-nav .links a:hover{color:var(--shu-deep);background:rgba(206,58,43,.08)}
.site-nav .links a[aria-current="page"]{background:var(--shu);color:#fff}
.site-nav a:focus-visible{outline-color:var(--shu)}
.site-foot{border-top:1px solid var(--night-line);margin-top:60px;padding:34px 18px 44px;text-align:center;font-size:13.5px;color:var(--mist);letter-spacing:.08em;line-height:2.1}
.site-foot .f-lead{margin-top:12px}
.f-motto{font-family:var(--font-display);font-size:clamp(19px,5vw,27px);color:var(--kin-light);letter-spacing:.12em;line-height:1.9;margin-top:4px}
.f-motto .nb{display:inline-block}
.site-foot .f-brand{font-family:var(--font-display);font-size:17px;letter-spacing:.2em;color:var(--washi)}
.site-foot a{color:var(--kin-light);text-decoration:none}
.site-foot a:hover{text-decoration:underline}
.site-foot .f-note{color:#8B99B0;font-size:10.5px;margin-top:8px}
/* ---- 記事ページ ---- */
.wrap-a{max-width:720px;margin:0 auto;padding:0 16px}
.crumbs{font-size:12.5px;color:var(--mist);letter-spacing:.08em;padding:16px 2px 14px}
.crumbs a{color:var(--mist);text-decoration:none}
.crumbs a:hover{color:var(--kin-light)}
article.paper{background:var(--washi);color:var(--sumi);border-radius:10px;padding:34px 28px 30px;box-shadow:0 16px 40px rgba(0,0,0,.45);position:relative}
article.paper::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--shu);border-radius:10px 10px 0 0}
.a-cat{display:inline-block;font-size:11px;letter-spacing:.2em;color:var(--shu-deep);border:1px solid var(--shu);border-radius:999px;padding:3px 12px;margin-bottom:14px}
article.paper h1{font-family:var(--font-display);font-weight:400;font-size:clamp(23px,5.4vw,30px);line-height:1.5;letter-spacing:.04em;margin-bottom:18px}
article.paper h2{font-family:var(--font-display);font-weight:400;font-size:20px;letter-spacing:.06em;margin:34px 0 12px;padding:8px 0 8px 14px;border-left:4px solid var(--shu);background:linear-gradient(90deg,rgba(206,58,43,.06),transparent)}
article.paper h3{font-size:15.5px;margin:22px 0 8px;color:var(--shu-deep);letter-spacing:.06em}
article.paper p{font-size:14.5px;line-height:2.05;margin-bottom:14px}
article.paper a{color:var(--shu-deep);text-decoration-color:rgba(206,58,43,.4)}
article.paper strong{background:linear-gradient(transparent 68%,rgba(227,200,120,.55) 68%)}
.d-table{width:100%;border-collapse:collapse;margin:14px 0 18px;font-size:13px;line-height:1.9}
.d-table th{background:rgba(206,58,43,.07);color:var(--shu-deep);font-weight:700;padding:8px 10px;border:1px solid var(--washi-line);white-space:nowrap;letter-spacing:.06em}
.d-table td{padding:8px 12px;border:1px solid var(--washi-line)}
.d-table thead th{background:var(--shu);color:#FFFFFF;text-align:left}
.t-note{font-size:12px;color:var(--sumi-soft);margin-top:-8px}
.day-list{list-style:none;margin:14px 0 18px}
.day-list li{border:1px solid var(--washi-line);border-left:4px solid var(--kin);background:rgba(255,255,255,.4);padding:11px 14px;margin-bottom:8px;border-radius:0 8px 8px 0;font-size:14px;line-height:1.8}
.day-list li strong{background:none;color:var(--shu-deep);margin-right:10px}
.day-list li span{color:var(--sumi-soft);font-size:13px}
.cta-box{margin:32px 0 6px;border:1.4px solid var(--kin);position:relative;padding:22px 18px 18px;background:rgba(201,162,39,.06);text-align:center;border-radius:8px}
.cta-box .cta-t{font-family:var(--font-display);font-size:16px;letter-spacing:.1em;color:var(--shu-deep);margin-bottom:6px}
.cta-box p{font-size:13.5px;line-height:1.9;color:var(--sumi-soft);margin-bottom:12px}
.btn{display:inline-block;background:var(--shu);color:#FFFFFF;text-decoration:none;font-size:13.5px;letter-spacing:.14em;padding:11px 26px;border-radius:999px;transition:.2s;border:none;cursor:pointer;font-family:var(--font-body)}
.btn:hover{background:var(--shu-deep)}
.btn.gold{background:linear-gradient(140deg,#DDBB55,#B8901F 70%);color:#2E2408}
.related{margin:26px 0 0}
.related h2{font-family:var(--font-display);font-weight:400;font-size:16px;letter-spacing:.2em;color:var(--kin-light);margin-bottom:10px;text-align:center}
.related ul{list-style:none;display:grid;gap:8px}
.related li a{display:block;border:1px solid var(--washi-line);border-radius:10px;padding:12px 16px;font-size:13.5px;letter-spacing:.04em;color:var(--sumi);text-decoration:none;line-height:1.7;transition:.2s;background:var(--washi);box-shadow:0 5px 14px rgba(0,0,0,.3)}
.related li a:hover{border-color:var(--kin);color:var(--shu-deep)}
/* ---- トップページ ---- */
.ad-slot{max-width:720px;margin:30px auto 0;padding:0 16px}
.ad-in{border:1px dashed var(--washi-line);border-radius:10px;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--sumi-soft);font-size:12px;letter-spacing:.18em;background:rgba(246,240,223,.94)}
.ad-tag{font-size:10px;letter-spacing:.3em;border:1px solid var(--washi-line);border-radius:4px;padding:1px 8px}
.ad-paper{margin:26px 0;border:1px dashed var(--washi-line);border-radius:10px;min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--sumi-soft);font-size:12px;letter-spacing:.18em;background:rgba(255,255,255,.35)}
.ad-paper .ad-tag{border-color:var(--washi-line)}
article.paper.essay::before{background:linear-gradient(90deg,#DDBB55,#B8901F)}
.a-cat.essay-cat{color:#6E560C;border-color:var(--kin)}
.hero{text-align:center;padding:52px 18px 30px}
.hero .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.34em;color:var(--kin-light)}
.hero .eyebrow::before,.hero .eyebrow::after{content:"";width:26px;height:1px;background:var(--kin);opacity:.6}
.hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(38px,10vw,54px);letter-spacing:.14em;margin:10px 0 8px}
.hero .lead{font-size:14.5px;color:var(--mist);letter-spacing:.14em;line-height:2.2}
.tools{max-width:760px;margin:26px auto 0;padding:0 16px;display:grid;gap:16px}
@media(min-width:640px){.tools{grid-template-columns:1fr 1fr}}
.tool-card{background:var(--washi);color:var(--sumi);border-radius:12px;padding:26px 22px 24px;text-align:center;box-shadow:0 14px 36px rgba(0,0,0,.45);position:relative;overflow:hidden}
.tool-card::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--shu)}
.tool-card.gold::before{background:linear-gradient(90deg,#DDBB55,#B8901F)}
.tool-card .tc-mark{font-family:var(--font-display);font-size:34px;color:var(--shu);line-height:1.3}
.tool-card h2{font-family:var(--font-display);font-weight:400;font-size:21px;letter-spacing:.14em;margin:6px 0 8px}
.tool-card p{font-size:13.5px;line-height:2;color:var(--sumi-soft);margin-bottom:14px}
.tool-badge{position:absolute;top:14px;right:-32px;transform:rotate(38deg);background:var(--kin);color:#3E3110;font-size:10px;letter-spacing:.2em;padding:4px 38px}
.sec-title{text-align:center;font-family:var(--font-display);font-weight:400;font-size:24px;letter-spacing:.24em;margin:56px 0 6px}
.sec-lead{text-align:center;font-size:13px;color:var(--mist);letter-spacing:.14em;margin-bottom:26px}
.art-wrap{max-width:860px;margin:0 auto;padding:0 16px}
.cat-h{font-family:var(--font-display);font-weight:400;font-size:16px;letter-spacing:.2em;color:var(--kin-light);margin:30px 0 12px;display:flex;align-items:center;gap:12px}
.cat-h::after{content:"";flex:1;height:1px;background:var(--night-line)}
.art-grid{display:grid;gap:10px}
@media(min-width:640px){.art-grid{grid-template-columns:1fr 1fr}}
.art-card{display:block;border:1px solid var(--washi-line);border-radius:12px;padding:16px 18px;text-decoration:none;color:var(--sumi);background:var(--washi);box-shadow:0 6px 18px rgba(0,0,0,.32);transition:.2s}
.art-card:hover{border-color:var(--kin);transform:translateY(-2px)}
.art-card:focus-visible{border-color:var(--kin-light)}
.art-card h3{font-size:14px;letter-spacing:.04em;line-height:1.75;font-weight:500;margin-bottom:6px}
.art-card p{font-size:12.5px;color:var(--sumi-soft);line-height:1.9}
.art-card .read{display:inline-block;margin-top:8px;font-size:12px;letter-spacing:.14em;color:var(--shu-deep);font-weight:700}
