/* サイト共通（ヘッダー・フッター・シンプルページ）
   ※ 本文の .akf ブロックは Jimdo 時代の rem 指定（1rem=10px）のまま移植しているため、ルートを 62.5% に固定している */
:root{
  --ink:#1b1f2a; --ink-2:#4a5160; --line:#e6e2d9; --paper:#f6f1e9;
  --red:#b8312b; --navy:#0f1c33; --gold:#d9a441;
  --header-h:72px;
}
html{font-size:62.5%;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 8px)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;font-size:1.6rem;line-height:1.8;color:var(--ink);background:#fff}
img{max-width:100%;height:auto}
a{color:inherit}
.skip{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--navy);color:#fff;padding:8px 14px}
.skip:focus{left:8px;top:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* header */
.site-header{position:sticky;top:0;z-index:500;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.site-header__inner{max-width:1200px;margin:0 auto;padding:0 20px;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:16px}
.site-logo{display:block;flex:none;line-height:0}
.site-logo img{width:156px;height:auto}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px 4px}
.site-nav a{display:block;padding:8px 12px;font-size:1.45rem;font-weight:500;text-decoration:none;color:var(--ink-2);border-radius:6px;transition:color .2s,background .2s;white-space:nowrap}
.site-nav a:hover{color:var(--red);background:#faf5ee}
.site-nav a[aria-current="page"]{color:var(--red);box-shadow:inset 0 -2px 0 var(--red);border-radius:0}
.nav-toggle{display:none}

@media (max-width:1020px){
  .nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 10px;border:0;background:none;cursor:pointer}
  .nav-toggle span:not(.sr){display:block;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .25s}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .site-nav{position:fixed;inset:var(--header-h) 0 auto 0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.08);max-height:calc(100vh - var(--header-h));overflow:auto;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
  .site-nav.open{transform:none;opacity:1;visibility:visible}
  .site-nav ul{flex-direction:column;padding:8px 16px 16px}
  .site-nav a{padding:14px 8px;font-size:1.6rem;border-bottom:1px solid var(--line);border-radius:0}
  .site-nav a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--red);padding-left:14px}
}
@media (max-width:480px){:root{--header-h:60px}.site-logo img{width:126px}}

/* footer */
.site-footer{background:var(--navy);color:#cfd5e2;font-size:1.35rem}
.site-footer__inner{max-width:1100px;margin:0 auto;padding:40px 20px 32px;text-align:center}
.site-footer__links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;margin-bottom:16px}
.site-footer__links a{color:#fff;text-decoration:none}
.site-footer__links a:hover{color:var(--gold)}
.site-footer__org{margin:0 0 6px}
.site-footer__org a{color:#fff}
.site-footer__copy{margin:0;color:#8a93a8;font-size:1.2rem}

/* simple pages (概要・プライバシー・お問い合わせ・404) */
.plain{background:var(--paper);padding:72px 20px 96px}
.plain__inner{max-width:760px;margin:0 auto;background:#fff;border-radius:14px;padding:48px 44px;box-shadow:0 10px 30px rgba(15,28,51,.06)}
.plain__eyebrow{margin:0 0 6px;font-size:1.2rem;letter-spacing:.3em;color:var(--gold);font-weight:700}
.plain__title{margin:0 0 24px;font-family:"Shippori Mincho",serif;font-size:3rem;line-height:1.4;color:var(--navy)}
.plain__h2{margin:40px 0 12px;padding-left:12px;border-left:4px solid var(--red);font-size:1.9rem;line-height:1.5;color:var(--navy)}
.plain p,.plain li{font-size:1.55rem}
.plain a{color:var(--red)}
.plain__card{margin:20px 0;padding:20px 24px;border:1px solid var(--line);border-radius:10px;background:#fffdf9}
.plain__card p{margin:4px 0}
.plain__label{font-size:1.25rem!important;color:var(--ink-2);font-weight:700}
.plain__big{font-size:2rem!important;font-weight:700;color:var(--navy)}
.plain__dl{display:grid;grid-template-columns:7em 1fr;gap:10px 16px;margin:0;font-size:1.55rem}
.plain__dl dt{font-weight:700;color:var(--ink-2)}
.plain__dl dd{margin:0}
.plain__note{color:var(--ink-2);font-size:1.35rem!important;margin-top:32px}
.plain__btn{display:inline-block;margin-top:12px;padding:12px 28px;border-radius:999px;background:var(--red);color:#fff!important;text-decoration:none;font-weight:700}
@media (max-width:600px){.plain{padding:40px 12px 64px}.plain__inner{padding:32px 20px}.plain__title{font-size:2.4rem}.plain__dl{grid-template-columns:1fr;gap:2px}.plain__dl dd{margin-bottom:10px}}

/* トップはページ内に独自フッターがあるので、共通フッターは最小限にする */
.is-home .site-footer__org{display:none}
.is-home .site-footer__inner{padding-top:8px}
