:root{
  --bg:#080704;
  --panel:#121008;
  --panel-soft:#19150c;
  --ink:#fff7db;
  --muted:rgba(255,247,219,.78);
  --muted-soft:rgba(255,247,219,.6);
  --yellow:#ffd434;
  --yellow-soft:#fff3a6;
  --line:rgba(255,212,52,.26);
  --white-line:rgba(255,255,255,.12);
  --max:800px;
  --wide:1120px;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:radial-gradient(circle at 50% 0,rgba(255,212,52,.11),transparent 32rem),linear-gradient(180deg,#0f0c05 0,#080704 32rem);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:18px;line-height:1.9;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:#ffe67a;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
a:hover{color:#fff4b4}
a:focus-visible,summary:focus-visible{outline:3px solid var(--yellow-soft);outline-offset:4px;border-radius:6px}
.skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{left:16px;top:16px;width:auto;height:auto;padding:8px 14px;z-index:100;color:#111;background:#fff;border-radius:8px}
.site-header{border-bottom:1px solid var(--line);background:rgba(8,7,4,.94)}
.site-header__inner{width:min(var(--wide),calc(100% - 32px));min-height:72px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-name{color:var(--ink);font-size:17px;font-weight:900;text-decoration:none;letter-spacing:-.02em}
.header-nav{display:flex;align-items:center;gap:8px}
.home-link,.nav-link{display:inline-flex;min-height:48px;align-items:center;padding:0 14px;border:1px solid var(--line);border-radius:14px;font-size:15px;font-weight:800;text-decoration:none}
.breadcrumb{width:min(var(--wide),calc(100% - 32px));margin:0 auto;padding:22px 0 4px;color:var(--muted-soft);font-size:15px;line-height:1.7}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:5px 9px;margin:0;padding:0;list-style:none}
.breadcrumb li:not(:last-child)::after{content:">";margin-left:9px;color:rgba(255,247,219,.34)}
.breadcrumb a{color:var(--muted);text-decoration-thickness:1px}
.article-wrap{width:min(var(--max),calc(100% - 32px));margin:0 auto;padding:24px 0 72px}
.page-wrap{width:min(var(--wide),calc(100% - 32px));margin:0 auto;padding:34px 0 76px}
.pr-note{margin:0 0 28px;padding:14px 17px;border:1px solid var(--line);border-radius:16px;background:rgba(255,212,52,.065);color:var(--muted);font-size:15px;line-height:1.75}
.pr-note strong{display:block;color:var(--yellow-soft);font-size:16px}
.article-header h1,.page-header h1{margin:0;color:#fff3b6;font-size:clamp(34px,5vw,44px);line-height:1.3;letter-spacing:-.045em;text-wrap:balance}
.page-header{max-width:820px;margin-bottom:34px}
.lead,.page-lead{margin:22px 0 0;color:var(--muted);font-size:19px;line-height:1.85}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:20px 0 0;color:var(--muted-soft);font-size:15px;line-height:1.7}
.byline{margin:8px 0 0;color:var(--muted);font-size:15px}
.article-box,.toc,.caution,.summary-box,.courier-note,.service-link,.about-section{margin:34px 0;padding:22px 24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02)),var(--panel)}
.article-box h2,.toc h2,.caution h2,.summary-box h2,.courier-note h2,.about-section h2{margin:0 0 12px;font-size:23px;line-height:1.45}
.article-box ul,.toc ol{margin:0;padding-left:1.35em}
.article-box li+li,.toc li+li{margin-top:6px}
.toc a{display:inline-block;min-height:48px;padding:6px 0;color:var(--ink)}
.article-body h2{margin:58px 0 18px;padding-left:16px;border-left:5px solid var(--yellow);color:#fff3b6;font-size:28px;line-height:1.45;letter-spacing:-.035em;scroll-margin-top:20px}
.article-body h3{margin:36px 0 12px;color:#fff1a0;font-size:22px;line-height:1.5}
.article-body p{margin:0 0 22px;color:var(--muted)}
.article-body ul,.article-body ol{margin:0 0 24px;padding-left:1.35em;color:var(--muted)}
.article-body li+li{margin-top:8px}
.article-body strong{color:#fff3ad}
.courier-note{border-color:rgba(255,212,52,.48);background:linear-gradient(135deg,rgba(255,212,52,.12),rgba(255,255,255,.03)),#141108}
.courier-note h2{color:#ffe56f}
.courier-note p{margin:0;color:var(--muted)}
.courier-note p+p{margin-top:10px}
.caution{border-color:rgba(255,212,52,.35);background:rgba(255,212,52,.075)}
.caution h2{color:#fff0a0}
.caution p,.summary-box p{margin:0;color:var(--muted)}
.related{margin-top:52px;padding-top:34px;border-top:1px solid var(--white-line)}
.related h2{margin:0 0 18px;font-size:28px;line-height:1.45}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.related-card{display:flex;min-height:180px;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--panel-soft);color:var(--ink);text-decoration:none;transition:transform .2s ease,border-color .2s ease}
.related-card:hover{border-color:rgba(255,212,52,.52);transform:translateY(-2px)}
.related-card strong{font-size:17px;line-height:1.55;color:#fff3b6}
.related-card span{margin-top:8px;color:var(--muted);font-size:15px;line-height:1.75}
.article-nav{margin-top:42px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.service-link{display:block;min-height:96px;width:100%;color:var(--ink);text-decoration:none}
.service-link strong{display:block;color:#ffe67a;font-size:19px}
.service-link span{display:block;margin-top:6px;color:var(--muted);font-size:15px}
.back-home{display:inline-flex;min-height:48px;align-items:center;font-size:16px;font-weight:800}
.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.about-section{margin:0;min-height:100%}
.about-section p{margin:0 0 14px;color:var(--muted)}
.about-section p:last-child{margin-bottom:0}
.about-section ul{margin:0;padding-left:1.35em;color:var(--muted)}
.about-section li+li{margin-top:8px}
.about-section--wide{grid-column:1/-1}
.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.guide-card{position:relative;display:flex;min-height:238px;flex-direction:column;padding:25px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.015)),var(--panel);color:var(--ink);text-decoration:none;transition:transform .2s ease,border-color .2s ease}
.guide-card:hover{transform:translateY(-2px);border-color:rgba(255,212,52,.58)}
.guide-card h2{margin:0;color:#fff3b6;font-size:23px;line-height:1.48;letter-spacing:-.025em}
.guide-card p{margin:12px 0 20px;color:var(--muted);font-size:16px;line-height:1.75}
.guide-card__meta{margin-top:auto;color:var(--muted-soft);font-size:14px}
.guide-card__action{display:inline-flex;min-height:48px;align-items:center;margin-top:8px;color:#ffe67a;font-size:16px;font-weight:900}
.site-footer{padding:40px 0;border-top:1px solid var(--white-line);background:#060503}
.footer-policy{width:min(940px,calc(100% - 32px));margin:0 auto}
.policy-actions{display:grid;gap:10px}
.policy-panel{overflow:hidden;border:1px solid var(--white-line);border-radius:20px;background:rgba(255,255,255,.045)}
.policy-panel summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:0 18px;color:#fff0a4;font-size:15px;font-weight:900}
.policy-panel summary::-webkit-details-marker{display:none}
.policy-panel summary::after{content:"+";display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid var(--line);border-radius:50%}
.policy-panel[open] summary::after{content:"−"}
.policy-body{padding:0 18px 18px;color:var(--muted);font-size:15px;line-height:1.85}
.policy-body p{margin:10px 0 0}
.policy-body a{color:inherit;overflow-wrap:anywhere}
.copyright{margin:18px 0 0;color:var(--muted-soft);text-align:center;font-size:15px}
@media(max-width:760px){
  body{font-size:17px;line-height:1.9}
  .site-header__inner{width:min(100% - 24px,var(--wide));min-height:66px}
  .site-name{font-size:15px}
  .header-nav{gap:5px}
  .home-link,.nav-link{padding:0 10px;font-size:13px}
  .breadcrumb{width:min(100% - 24px,var(--wide));font-size:14px}
  .article-wrap,.page-wrap{width:min(100% - 24px,var(--max));padding-top:18px}
  .page-wrap{width:min(100% - 24px,var(--wide))}
  .article-header h1,.page-header h1{font-size:28px;line-height:1.38;letter-spacing:-.035em}
  .lead,.page-lead{font-size:17px}
  .article-box,.toc,.caution,.summary-box,.courier-note,.service-link,.about-section{padding:19px 18px;border-radius:18px}
  .article-body h2{margin-top:48px;font-size:23px;padding-left:12px}
  .article-body h3{font-size:20px}
  .related h2{font-size:24px}
  .related-grid,.guide-grid,.about-grid{grid-template-columns:1fr}
  .about-section--wide{grid-column:auto}
  .related-card{min-height:0}
  .guide-card{min-height:0;padding:21px}
  .guide-card h2{font-size:21px}
  .footer-policy{width:min(100% - 24px,940px)}
  .policy-panel summary{padding:0 15px;font-size:15px}
  .policy-body{padding:0 15px 16px;font-size:15px}
}
@media(max-width:430px){.header-nav .nav-link:first-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
