/* =========================================================
   高知ヒストリア — 共通デザインシステム
   萩ヒストリア / 神石高原ヒストリアとトンマナを統一
   Color: 藍(indigo) / 土塀(ochre) / 朱(vermilion) / 夏みかん(mikan) / 黒潮(kuroshio・土佐固有の差し色)
   Type:  見出し = Shippori Mincho(明朝) / 本文 = Noto Sans JP
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');

:root{
  --ink:        #241f18;
  --ink-soft:   #4a4238;
  --washi:      #f7f0dd;
  --washi-deep: #ecdfba;
  --washi-line: #d8c69c;
  --paper:      #fbf6ea;
  --indigo:     #1c2c3d;
  --indigo-deep:#0e1a24;
  --indigo-mid: #2b4054;
  --ochre:      #b8863e;
  --ochre-soft: #d9b273;
  --vermilion:  #a8402c;
  --vermilion-deep:#7e2c1c;
  --mikan:      #de8129;
  --pine:       #3c5744;
  --kuroshio:   #2b6f8f;
  --kuroshio-soft:#7fb0c4;

  --surface:      var(--washi);
  --surface-card: var(--paper);
  --surface-deep: var(--washi-deep);
  --text:         var(--ink);
  --text-soft:    var(--ink-soft);
  --line:         var(--washi-line);
  --accent:       var(--vermilion);
  --accent-2:     var(--ochre);
  --header-bg:    var(--indigo);
  --header-fg:    var(--washi);

  --font-display: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --font-body: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;

  color-scheme: light;
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--surface);
  color:var(--text);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.95;
  -webkit-font-smoothing:antialiased;
  padding-left:max(16px, env(safe-area-inset-left,0px));
  padding-right:max(16px, env(safe-area-inset-right,0px));
}
img{max-width:100%;}
[hidden]{display:none!important;}

h1,h2,h3,h4{font-family:var(--font-display);color:var(--text);font-weight:700;line-height:1.44;text-wrap:balance;margin:0;}
a{color:inherit;}
p{margin:0 0 1em;max-width:38em;}
::selection{background:var(--accent);color:var(--washi);}

.eyebrow{display:inline-flex;align-items:center;gap:.6em;font-family:var(--font-body);font-size:.78rem;letter-spacing:.32em;font-weight:600;color:var(--accent);text-transform:uppercase;}
.eyebrow::before{content:"";width:1.4em;height:1px;background:var(--accent);display:inline-block;}

.wrap{max-width:1080px;margin:0 auto;padding-inline:20px;}
.col{max-width:760px;margin:0 auto;padding-inline:20px;}

/* header */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--header-bg);color:var(--header-fg);border-bottom:1px solid rgba(216,198,156,.18);}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;padding-right:132px;position:relative;}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.04em;text-decoration:none;color:var(--header-fg);white-space:nowrap;}
.brand .mon{width:28px;height:28px;flex:none;}
.brand-text{display:flex;flex-direction:column;line-height:1.32;gap:1px;}
.brand-text .brand-ja{font-size:1rem;}
.brand small{display:block;font-family:var(--font-body);font-weight:500;font-size:.6rem;letter-spacing:.18em;color:var(--ochre-soft);}

.mainnav{display:flex;flex-direction:column;gap:3px;align-items:flex-end;}
.mainnav .nav-row{display:flex;flex-wrap:wrap;gap:2px 4px;justify-content:flex-end;}
.mainnav a{font-size:.82rem;letter-spacing:.02em;padding:6px 10px;border-radius:3px;text-decoration:none;color:var(--header-fg);opacity:.82;white-space:nowrap;}
.mainnav a:hover{opacity:1;background:rgba(216,198,156,.12);}
.mainnav a[aria-current="page"]{opacity:1;color:var(--mikan);font-weight:600;}

.nav-toggle-btn{display:none;}
@media (max-width:820px){
  .site-header .wrap{flex-wrap:wrap;padding-block:12px;padding-right:168px;}
  .nav-toggle-btn{display:flex;align-items:center;justify-content:center;position:absolute;top:8px;right:120px;width:36px;height:36px;padding:0;margin:0;background:transparent;border:1px solid rgba(216,198,156,.35);border-radius:4px;cursor:pointer;z-index:6;}
  .nav-toggle-btn span{position:relative;display:block;width:18px;height:2px;background:var(--header-fg);transition:background .15s ease;}
  .nav-toggle-btn span::before,.nav-toggle-btn span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--header-fg);transition:transform .2s ease;}
  .nav-toggle-btn span::before{top:-6px;}
  .nav-toggle-btn span::after{top:6px;}
  .site-header .wrap.nav-open .nav-toggle-btn span{background:transparent;}
  .site-header .wrap.nav-open .nav-toggle-btn span::before{transform:translateY(6px) rotate(45deg);}
  .site-header .wrap.nav-open .nav-toggle-btn span::after{transform:translateY(-6px) rotate(-45deg);}
  .mainnav{display:none;align-items:flex-start;width:100%;margin-top:10px;padding-top:10px;border-top:1px solid rgba(216,198,156,.18);}
  .site-header .wrap.nav-open .mainnav{display:flex;}
  .mainnav .nav-row{justify-content:flex-start;gap:2px 6px;}
  .mainnav a{padding:6px 8px;font-size:.78rem;}
}
@media (max-width:380px){
  .site-header .wrap{padding-right:142px;}
  .brand{gap:6px;}
  .brand small{display:none;}
  .brand-text{gap:0;}
  .brand .mon{width:22px;height:22px;}
  .brand-text .brand-ja{font-size:.84rem;}
  .nav-toggle-btn{right:114px;width:32px;height:32px;top:10px;}
}

.lang-switch{position:absolute;top:14px;right:24px;z-index:5;display:flex;gap:4px;}
.lang-switch a{font-size:.7rem;font-weight:600;letter-spacing:.02em;line-height:1.5;padding:4px 8px;border:1px solid rgba(216,198,156,.35);border-radius:3px;color:var(--header-fg);opacity:.68;text-decoration:none;}
.lang-switch a:hover{opacity:1;background:rgba(216,198,156,.12);}
.lang-switch a.active{opacity:1;color:var(--mikan);border-color:var(--mikan);font-weight:700;}
@media (max-width:820px){.lang-switch{top:12px;right:16px;}.lang-switch a{padding:3px 6px;font-size:.66rem;}}

.hp-top-link{font-size:12px;color:inherit;opacity:.65;text-decoration:none;white-space:nowrap;margin-right:14px;}

.wave-divider{height:22px;width:100%;background-image:radial-gradient(circle at 10px 0, transparent 9px, var(--line) 9.5px, var(--line) 10.5px, transparent 11px);background-size:20px 20px;background-position:center top;opacity:.55;}

/* hero */
.hero{--hero-accent:var(--kuroshio);position:relative;overflow:hidden;color:var(--washi);}
.hero::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--hero-accent);z-index:3;}
.hero-plain{background:linear-gradient(160deg,var(--indigo-deep),var(--indigo) 55%,var(--indigo-mid));}
.hero-plain .wrap{padding-block:64px 56px;}
.hero-illust-bg{position:absolute;inset:0;z-index:0;background:linear-gradient(160deg,var(--indigo-deep),var(--indigo) 55%,var(--indigo-mid));}
.hero-illust-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero-illust-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(14,26,36,.88) 0%,rgba(14,26,36,.74) 32%,rgba(14,26,36,.38) 58%,rgba(14,26,36,.08) 80%,transparent 94%);}
@media (max-width:820px){.hero-illust-scrim{background:linear-gradient(180deg,rgba(14,26,36,.35) 0%,rgba(14,26,36,.88) 62%,rgba(14,26,36,.96) 100%);}}
.hero-illust .wrap{position:relative;z-index:2;padding-block:84px 60px;}
.hero-illust .wrap > div{max-width:560px;}
@media (max-width:820px){ .hero-illust .wrap{padding-block:48px 36px;} }

.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center;}
@media (max-width:820px){ .hero .wrap{grid-template-columns:1fr;} }
.hero.hero-illust .wrap,.hero-plain .wrap{display:block;}

.hero .eyebrow{color:var(--hero-accent);}
.hero .eyebrow::before{background:var(--hero-accent);}
.hero h1{font-size:clamp(2rem, 4.4vw, 3.1rem);color:var(--washi);margin-top:.5em;}
.hero .lede{color:#d9cdb2;font-size:1rem;line-height:1.95;margin-top:1em;max-width:34em;}
.hero-art{width:100%;height:auto;}

.crumbline{font-size:.78rem;color:#b9ac8c;letter-spacing:.06em;margin-bottom:8px;}
.crumbline a{text-decoration:none;border-bottom:1px solid rgba(185,172,140,.5);}

/* sections */
section{padding-block:56px;}
section + section{border-top:1px solid var(--line);}
.section-head{max-width:640px;margin-bottom:34px;}
.section-head h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-top:.45em;}
.section-head p{color:var(--text-soft);margin-top:.8em;}

.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start;}
@media (max-width:820px){.intro{grid-template-columns:1fr;}}
.intro-art{width:100%;max-width:320px;margin-inline:auto;}

.grid{display:grid;gap:22px;}
.grid.cols-2{grid-template-columns:repeat(2,1fr);}
.grid.cols-3{grid-template-columns:repeat(3,1fr);}
.grid.cols-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:900px){ .grid.cols-2, .grid.cols-3{grid-template-columns:1fr;} .grid.cols-4{grid-template-columns:repeat(2,1fr);} }
@media (max-width:480px){ .grid.cols-4{grid-template-columns:1fr;} }

.card{background:var(--surface-card);border:1px solid var(--line);border-radius:2px;padding:26px 24px;position:relative;}
.card::before{content:"";position:absolute;top:0;left:0;width:26px;height:3px;background:var(--accent);}

.room-grid .navcard:nth-child(1){--nc-color:#a8402c;}
.room-grid .navcard:nth-child(2){--nc-color:#2b6f8f;}
.room-grid .navcard:nth-child(3){--nc-color:#b8863e;}
.room-grid .navcard:nth-child(4){--nc-color:#5c6e46;}
.room-grid .navcard:nth-child(5){--nc-color:#6d4a7c;}
.room-grid .navcard:nth-child(6){--nc-color:#de8129;}
.room-grid .navcard:nth-child(7){--nc-color:#3f7d7a;}
.room-grid .navcard:nth-child(8){--nc-color:#7e2c1c;}
.room-grid .navcard:nth-child(9){--nc-color:#3a322a;}
.room-grid .navcard:nth-child(10){--nc-color:#a15c72;}
.room-grid .navcard:nth-child(11){--nc-color:#a6784f;}
.room-grid .navcard:nth-child(12){--nc-color:#375a2e;}

.navcard{display:flex;flex-direction:column;gap:9px;background:var(--surface-card);border:1px solid var(--line);border-top:3px solid var(--nc-color, var(--accent));padding:18px 18px 16px;text-decoration:none;color:var(--text);position:relative;overflow:hidden;transition:transform .16s ease, box-shadow .16s ease;}
.navcard:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(20,14,6,.16);}
.navcard .nc-head{display:flex;align-items:center;gap:9px;}
.navcard .num{font-family:var(--font-display);font-size:.66rem;letter-spacing:.12em;color:var(--nc-color, var(--accent-2));font-weight:700;}
.navcard h3{font-size:1rem;line-height:1.45;margin:0;}
.navcard p{color:var(--text-soft);font-size:.79rem;margin:0;max-width:none;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.navcard .icon{width:26px;height:26px;flex:none;}
.navcard .go{margin-top:auto;padding-top:2px;font-size:.72rem;letter-spacing:.05em;color:var(--nc-color, var(--accent));display:flex;align-items:center;gap:5px;}

/* 人物カード */
.person{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:24px;background:var(--surface-card);border:1px solid var(--line);}
.person .mon{width:64px;height:64px;flex:none;border-radius:50%;background:var(--surface-deep);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.person .mon svg{width:34px;height:34px;}
.person .mon img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.person h3{font-size:1.18rem;}
.person .role{font-size:.8rem;color:var(--accent);letter-spacing:.05em;margin:.3em 0 .7em;}
.person p{font-size:.93rem;color:var(--text-soft);margin:0;}
.person .yrs{font-variant-numeric:tabular-nums;font-size:.78rem;color:var(--text-soft);letter-spacing:.03em;}

.lead-figure{display:grid;grid-template-columns:auto 1fr;gap:26px;padding:30px;background:var(--surface-card);border:1px solid var(--line);}
.lead-figure .mon{width:84px;height:84px;flex:none;border-radius:50%;background:var(--surface-deep);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.lead-figure .mon svg{width:44px;height:44px;}
.lead-figure .mon img{width:100%;height:100%;object-fit:cover;}
.lead-figure .yrs{font-size:.8rem;color:var(--text-soft);font-variant-numeric:tabular-nums;letter-spacing:.03em;}
.lead-figure h3{font-size:1.5rem;margin-top:.15em;}
.lead-figure .role{color:var(--accent);font-size:.86rem;margin:.35em 0 1em;letter-spacing:.02em;}
@media (max-width:600px){.lead-figure{grid-template-columns:1fr;}.lead-figure .mon{width:56px;height:56px;}}

.person-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-block:22px;}
@media (max-width:600px){.person-grid{grid-template-columns:1fr;}}
.person-card{background:var(--surface-card);border:1px solid var(--line);padding:18px 16px;text-align:left;}
.person-card .mon{width:56px;height:56px;border-radius:50%;background:var(--surface-deep);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;margin-bottom:10px;overflow:hidden;}
.person-card .mon span{font-family:var(--font-display);font-size:1.05rem;color:var(--accent-2);}
.person-card .mon img{width:100%;height:100%;object-fit:cover;}
.person-card h4{font-size:.96rem;line-height:1.4;}
.person-card .yrs{font-size:.72rem;color:var(--text-soft);}
.person-card .role{font-size:.76rem;color:var(--accent);margin:.3em 0 .5em;font-weight:600;}
.person-card p{font-size:.84rem;color:var(--text-soft);margin:0;}

/* 印風の引用 */
.stamp-quote{display:flex;gap:20px;align-items:flex-start;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:28px;margin-block:8px;}
.stamp{flex:none;width:56px;height:56px;border-radius:6px;background:var(--vermilion);color:var(--washi);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:1.1rem;writing-mode:vertical-rl;}
.stamp-quote blockquote{margin:0;font-family:var(--font-display);font-size:1.15rem;line-height:1.85;}
.stamp-quote cite{display:block;margin-top:.6em;font-style:normal;font-size:.8rem;color:var(--text-soft);}

/* 年表 */
.timeline{border-left:2px solid var(--line);margin-left:8px;}
.tl-item{position:relative;padding:0 0 30px 26px;}
.tl-item::before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--accent);}
.tl-item .yr{font-family:var(--font-display);font-weight:700;color:var(--accent-2);font-size:.95rem;font-variant-numeric:tabular-nums;}
.tl-item h4{font-size:1.05rem;margin-top:.25em;}
.tl-item p{font-size:.9rem;color:var(--text-soft);margin-top:.4em;}

/* 情報ボックス */
.note{background:var(--surface-deep);border-left:3px solid var(--accent-2);padding:18px 20px;font-size:.9rem;color:var(--text-soft);margin-block:1.4em;}
.note strong{color:var(--text);}

.taglist{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:1em 0;}
.taglist li{border:1px solid var(--line);padding:6px 14px;font-size:.84rem;border-radius:99px;color:var(--text-soft);}

/* フッター */
.site-footer{background:var(--indigo-deep);color:#cabf9f;padding-block:40px 30px;margin-top:40px;padding-bottom:calc(30px + env(safe-area-inset-bottom,0px));}
.site-footer .wrap{display:flex;flex-wrap:wrap;gap:28px 40px;justify-content:space-between;}
.site-footer h5{color:var(--washi);font-family:var(--font-body);font-size:.78rem;letter-spacing:.14em;margin-bottom:12px;}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;}
.site-footer a{color:#cabf9f;text-decoration:none;font-size:.86rem;}
.site-footer a:hover{color:var(--mikan);}
.foot-note{width:100%;border-top:1px solid rgba(202,191,159,.18);margin-top:26px;padding-top:18px;font-size:.76rem;color:#8d8368;line-height:1.8;}
.legal-links{width:100%;display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;}
.legal-links a{font-size:.76rem;color:#8d8368;text-decoration:underline;}
.legal-links a:hover{color:var(--mikan);}
.contact-teaser{width:100%;border-top:1px solid rgba(202,191,159,.18);margin-top:26px;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.contact-teaser .txt h5{margin-bottom:4px;}
.contact-teaser .txt p{margin:0;font-size:.82rem;color:#b7ac8d;}
.hp-top-link-foot{font-size:12px;opacity:.65;margin:0 0 10px;}
.hp-top-link-foot a{color:inherit;text-decoration:underline;}

/* 問い合わせ */
.contact-card{background:linear-gradient(160deg, var(--indigo-deep), var(--indigo) 55%, var(--indigo-mid));color:var(--washi);padding:34px 30px;}
.contact-block h5{color:var(--washi);font-family:var(--font-body);font-size:.78rem;letter-spacing:.14em;margin-bottom:8px;}
.contact-block .desc{font-size:.82rem;color:#b7ac8d;margin-bottom:16px;max-width:520px;line-height:1.7;}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;max-width:560px;}
.contact-form .full{grid-column:1/-1;}
.contact-form label{display:block;font-size:.76rem;color:#cabf9f;margin-bottom:5px;letter-spacing:.03em;}
.contact-form input,.contact-form textarea{width:100%;background:rgba(247,240,221,.07);border:1px solid rgba(216,198,156,.3);color:var(--washi);padding:10px 12px;font-family:inherit;font-size:.88rem;border-radius:4px;}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#8d8368;}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--mikan);}
.contact-form textarea{resize:vertical;min-height:96px;}
.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.contact-form button{grid-column:1/-1;justify-self:start;background:var(--vermilion);color:var(--washi);border:none;padding:10px 28px;font-size:.86rem;letter-spacing:.05em;cursor:pointer;font-family:inherit;transition:opacity .15s ease;border-radius:4px;}
.contact-form button:hover{opacity:.85;}
.contact-form button:disabled{opacity:.5;cursor:default;}
.contact-status{grid-column:1/-1;font-size:.82rem;margin:0;min-height:1.2em;}
.contact-status.ok{color:#9fd6ab;}
.contact-status.err{color:#e59a9a;}
@media (max-width:560px){.contact-form{grid-template-columns:1fr;}}

/* 広告枠 */
.ad-slot-section{padding-block:10px;}
.ad-slot{border:1px dashed var(--line);background:var(--surface-deep);min-height:90px;display:flex;align-items:center;justify-content:center;color:var(--text-soft);font-size:.76rem;letter-spacing:.06em;position:relative;padding:12px;}
.ad-slot .ad-slot-label{position:absolute;top:6px;left:10px;font-size:.62rem;letter-spacing:.14em;color:var(--text-soft);opacity:.6;text-transform:uppercase;}

/* 写真 */
.photo-card{background:var(--paper);border:1px solid var(--line);padding:8px 8px 12px;box-shadow:0 2px 12px rgba(0,0,0,.10);}
.photo-card .ph-img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--surface-deep);}
.photo-card figcaption{font-size:.76rem;color:var(--text-soft);padding:10px 4px 0;letter-spacing:.02em;display:flex;justify-content:space-between;gap:10px;align-items:baseline;}
.photo-card figcaption .loc{color:var(--text);font-weight:600;font-size:.82rem;white-space:nowrap;}

.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-block:20px;}
@media (max-width:820px){.photo-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.photo-grid{grid-template-columns:1fr;}}
.photo-grid.cols-2{grid-template-columns:repeat(2,1fr);}
@media (max-width:600px){.photo-grid.cols-2{grid-template-columns:1fr;}}

.hero-photo-wrap{background:var(--paper);padding:8px 8px 40px;box-shadow:0 10px 34px rgba(0,0,0,.4);transform:rotate(-1.2deg);max-width:420px;margin-inline:auto;position:relative;}
.hero-photo-wrap img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;}
.hero-photo-wrap figcaption{position:absolute;left:0;right:0;bottom:10px;text-align:center;font-family:var(--font-display);font-size:.82rem;color:var(--ink-soft);letter-spacing:.04em;}
@media (max-width:820px){.hero-photo-wrap{transform:none;margin-top:8px;}}

.spot .ph-thumb{display:block;width:calc(100% + 40px);margin:-20px -20px 16px;aspect-ratio:16/10;object-fit:cover;border-bottom:1px solid var(--line);}

.photo-note{font-size:.78rem;color:var(--text-soft);margin-top:-6px;}
.ph-full{aspect-ratio:auto !important;height:auto !important;object-fit:contain !important;}

.pagenav{background:linear-gradient(160deg,var(--indigo-deep),var(--indigo) 55%,var(--indigo-mid));}
.pagenav-inner{display:flex;justify-content:space-between;align-items:stretch;gap:16px;padding-block:22px;flex-wrap:wrap;}
.pagenav .btn{flex-direction:column;align-items:flex-start;gap:2px;padding:12px 20px;min-width:160px;}
.pagenav-next{margin-left:auto;align-items:flex-end;text-align:right;}
.pagenav-dir{font-size:.72rem;letter-spacing:.06em;opacity:.85;}
.pagenav-title{font-size:.98rem;font-family:var(--font-display);letter-spacing:.02em;}
@media (max-width:560px){.pagenav-inner{flex-direction:column;}.pagenav .btn{width:100%;}.pagenav-next{margin-left:0;align-items:flex-start;text-align:left;}}

/* ユーティリティ */
.mt-lg{margin-top:2.2em;}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--washi);text-decoration:none;padding:11px 22px;font-size:.88rem;letter-spacing:.03em;border:1px solid var(--accent);border-radius:4px;transition:background .15s ease,color .15s ease;}
.btn.ghost{background:transparent;color:var(--accent);border-color:var(--accent);}
.btn.ghost:hover{background:var(--accent);color:var(--washi);}
.hero .btn.ghost,.pagenav .btn.ghost{color:var(--header-fg);border-color:rgba(216,198,156,.5);}
.hero .btn.ghost:hover,.pagenav .btn.ghost:hover{background:var(--washi);color:var(--indigo-deep);border-color:var(--washi);}

:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){ *{transition:none!important;animation:none!important;} }
