/*
Theme Name: 虹、結 — 夕なぎ
Theme URI: https://niji-yui.com/
Description: 映画「虹、結」公式サイト用の Inspiro 子テーマ。デザインは M案「夕なぎ」＋背景④「卓に紙を敷く」（2026-08-17 せいじさん確定）。使わない3点＝虹の多色グラデーション帯／純白の背景／真っ黒の本文。
Author: 株式会社CREATE-Links
Template: inspiro
Version: 1.0.0
Requires at least: 6.0
Text Domain: niji-yui-yunagi
*/

/* ============================================================
   0. 変数（確定色）
   ============================================================ */
:root{
  --s-table:#EFE2CE;      /* 卓＝画面の外周 */
  --s-page:#FBF6EC;       /* 紙＝読む面 */
  --s-ink:#3A3028;        /* 本文（真っ黒にしない） */
  --s-soft:#706455;       /* 補助文字（2026-08-22 #7C6F5E から10%深く。AA4.5達成） */
  --s-line:#D8C9AE;       /* 罫線 */
  --s-panel:#F2E7D3;      /* 帯 */
  --s-accent:#9E5429;     /* 夕陽（2026-08-22 #B4602F から12%深く。AA4.5達成） */
  --s-accent-ink:#FDF7EE;
  --s-hero-a:#F3E8D6; --s-hero-b:#E3CBA9; --s-hero-c:#CFA57A;
  --s-shot:#E7D9BE; --s-shot-ink:#6F6150;   /* 入力欄のうすい字（2026-08-22 #8B7A62 から。AA4.5達成） */
  --s-quote:#EFE3CC;
  --s-inner:900px;        /* 下層ページの本文幅 */
  --s-paper:1080px;
  /* 文字の階層は2つだけ（2026-08-22 せいじさん決定。大きさは据え置き・種類を整理） */
  --t-body:14.5px;        /* 本文 */
  --t-sub:12.5px;         /* 補助・ラベル・日付 */
  --t-onhero:#3A3028;     /* ヒーロー／見出し帯の上に置く文字 */
}
body.home,
body.page-template-front{ --s-inner:960px; }   /* トップだけ少し広い */

/* 紙・ノイズのSVG（外部画像を使わない） */
:root{
  --noise-paper:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='4'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23p)'/%3E%3C/svg%3E");
  --noise-warm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ============================================================
   0-b. 親テーマ Inspiro が出す残骸を消す
   Inspiro は wp_body_open でスマホ用サイドナビ #side-nav を出す。
   親のCSSを読み込んでいないので、そのままだと素のリストが
   ページ最上部に露出してしまう。夕なぎのメニューと重複するため消す。
   ============================================================ */
#side-nav,
.side-nav-overlay,
.navbar-toggle{display:none!important}

/* ============================================================
   1. 土台
   ============================================================ */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--s-table);
  color:var(--s-ink);
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
  font-size:15px;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
a{color:var(--s-accent)}
.mincho,
h1,h2,h3,.nav .brand,.lead .x,.songs .t{
  font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho","MS PMincho",serif;
}
.inner{max-width:var(--s-inner);margin:0 auto;padding:0 30px}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:8px;top:8px;z-index:999;background:var(--s-page);padding:10px 16px;border-radius:8px}

/* 卓の上に敷いた紙 */
.paper{
  background:var(--s-page);max-width:var(--s-paper);margin:0 auto;position:relative;
  border-left:1px solid var(--s-line);border-right:1px solid var(--s-line);
  box-shadow:0 2px 44px rgba(80,55,25,.11);
}
.paper::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.03;z-index:0;
  background-image:var(--noise-paper);
}
.paper > *{position:relative;z-index:1}

/* ============================================================
   2. ヘッダー（ナビ）
   ============================================================ */
.nav{
  position:sticky;top:0;z-index:20;
  background:rgba(251,246,236,.92);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--s-line);
}
.nav .inner{display:flex;align-items:center;gap:20px;min-height:62px;max-width:var(--s-paper)}
.nav .brand{font-size:15px;letter-spacing:.34em;font-weight:500;white-space:nowrap;
  color:var(--s-ink);text-decoration:none}
.nav .brand img{max-height:30px;width:auto;display:block}
.nav ul{list-style:none;display:flex;gap:19px;margin:0;padding:0;font-size:12.5px;flex-wrap:wrap}
.nav li{margin:0}
.nav a{color:var(--s-soft);text-decoration:none;white-space:nowrap;
  padding-bottom:2px;border-bottom:1px solid transparent}
.nav a:hover,
.nav .current-menu-item > a,
.nav .current_page_item > a,
.nav .current-menu-ancestor > a{color:var(--s-ink);border-bottom-color:var(--s-accent)}
.nav .cta{
  margin-left:auto;font-size:12px;letter-spacing:.08em;padding:8px 18px;border-radius:999px;
  background:var(--s-accent);color:var(--s-accent-ink);text-decoration:none;white-space:nowrap;
  border-bottom:0;
}
.nav .cta:hover{opacity:.88;border-bottom:0;color:var(--s-accent-ink)}

/* ハンバーガー（スマホ用・JS不要） */
.nav-toggle{display:none}
.nav-burger{display:none;margin-left:auto;cursor:pointer;padding:10px;line-height:0}
.nav-burger span{display:block;width:22px;height:1.5px;background:var(--s-ink);margin:5px 0;
  transition:transform .22s ease,opacity .22s ease}

/* ============================================================
   3. ページ見出し（下層）／ヒーロー（トップ）
   ============================================================ */
.phead{
  padding:84px 30px 76px;text-align:center;
  background:linear-gradient(174deg,var(--s-hero-a) 0%,var(--s-hero-b) 60%,var(--s-hero-c) 100%);
  position:relative;overflow:hidden;
}
.phead::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.045;
  background-image:var(--noise-warm)}
.phead > *{position:relative;z-index:1}
.phead .eb{font-size:var(--t-sub);letter-spacing:.2em;color:var(--t-onhero);margin:0}
.phead h1{font-size:31px;font-weight:400;letter-spacing:.16em;margin:18px 0 14px}
.phead p{margin:0 auto;max-width:36em;font-size:var(--t-body);line-height:2.4;color:var(--t-onhero)}

.hero{
  position:relative;min-height:660px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:120px 30px 96px;
  background-color:var(--s-hero-c);
  background-image:linear-gradient(180deg,rgba(251,246,236,.88) 0%,rgba(247,235,214,.62) 42%,rgba(207,165,122,.55) 100%);
  background-size:cover;background-position:center 62%;
  color:var(--s-ink);overflow:hidden;
}
/* アイキャッチ画像があれば front-page.php が --hero-img を差し込む */
.hero.has-photo{
  background-image:
    linear-gradient(180deg,rgba(251,246,236,.88) 0%,rgba(247,235,214,.62) 42%,rgba(207,165,122,.55) 100%),
    var(--hero-img);
}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.045;
  background-image:var(--noise-warm)}
.hero > *{position:relative;z-index:1}
/* text-wrap:balance＝スマホで2行に割れるとき、最終行が1文字だけになるのを防ぐ
   （2026-08-23 実測：無しだと[332px, 25px]、有りだと[183px, 174px]）。
   対応していないブラウザでは単に無視されるだけで、崩れはしない。 */
.hero .badge{font-size:var(--t-sub);letter-spacing:.16em;color:var(--t-onhero);margin-bottom:52px;
  text-wrap:balance}
/* 題字を包む h1。見た目は変えない（2026-08-22） */
.hero .ttl{display:block;width:100%;margin:0;padding:0;font-size:0;line-height:0;text-align:center}
.hero .logo{width:min(360px,64%);height:auto;display:block;margin:0 auto 44px}
/* スマホだけに出す入口。PCはヘッダーのボタンが常時出ている（2026-08-22） */
.hero .hero-cta{display:none}
.hero .copy{font-size:16px;letter-spacing:.22em;margin:0;font-weight:400;line-height:2.4}
.hero .sub{font-size:var(--t-sub);letter-spacing:.16em;color:var(--t-onhero);margin-top:34px}
.hero .cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);
  font-size:var(--t-sub);letter-spacing:.24em;color:var(--t-onhero)}
.hero .cue::after{content:"";display:block;width:1px;height:30px;margin:10px auto 0;
  background:currentColor;opacity:.45}

/* ============================================================
   4. セクション
   ============================================================ */
.sec{padding:96px 0}
body.home .sec{padding:112px 0}
.sec.alt{background:var(--s-panel)}
.sec .eyebrow{font-size:var(--t-sub);letter-spacing:.22em;color:var(--s-soft);margin:0 0 18px}
.sec h2{font-size:25px;margin:0 0 28px;font-weight:400;letter-spacing:.1em;text-wrap:balance}
body.home .sec h2{font-size:27px;margin-bottom:30px}
.sec h2::after{content:"";display:block;width:40px;height:2px;border-radius:2px;
  background:var(--s-accent);margin-top:20px}
.sec h3{font-size:var(--t-sub);font-weight:600;margin:44px 0 14px;letter-spacing:.2em;color:var(--s-soft)}
.sec h3::before{content:"";display:inline-block;width:14px;height:1px;background:var(--s-accent);
  vertical-align:middle;margin-right:10px}
.sec p{font-size:var(--t-body);line-height:2.5}

/* 章見出し（年・区分） */
.chap,.hist .y{display:flex;align-items:baseline;gap:16px;margin:46px 0 8px}
.chap b,.hist .y b{font-size:18px;font-weight:400;letter-spacing:.24em;color:var(--s-accent);
  font-family:"Hiragino Mincho ProN","Yu Mincho",serif}
.hist .y b{font-size:22px;letter-spacing:.06em}
.chap i,.hist .y i{flex:1;height:1px;background:var(--s-line);font-style:normal}

/* ============================================================
   5. トップページの部品
   ============================================================ */
.intro{text-align:center;padding:130px 0}
.intro p{font-size:22px;line-height:2.9;letter-spacing:.18em;margin:0 auto;max-width:26em}
.intro .credit{font-size:var(--t-sub);color:var(--s-soft);letter-spacing:.14em;margin-top:56px;line-height:2.4}

.quote{background:var(--s-quote);padding:104px 30px;display:flex;justify-content:center;
  border-top:1px solid var(--s-line);border-bottom:1px solid var(--s-line)}
.quote blockquote{writing-mode:vertical-rl;margin:0;font-size:20px;line-height:2.5;
  letter-spacing:.26em;color:var(--s-ink);max-height:400px}
.quote .by{writing-mode:vertical-rl;font-size:var(--t-sub);letter-spacing:.24em;
  color:var(--s-soft);margin-right:34px;align-self:flex-end}

.story{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;margin-bottom:62px}
/* 2026-08-22 ジグザグ配置をやめ、写真は常に左・文章の左端を1本の線にそろえる */
.shot{background:var(--s-shot);border:1px solid var(--s-line);border-radius:14px;
  aspect-ratio:16/9;width:100%;object-fit:cover;display:block}
.story p{margin:0;font-size:var(--t-body);line-height:2.7;letter-spacing:.02em}

.trailer{aspect-ratio:16/9;background:#2A211A;border-radius:14px;position:relative;
  overflow:hidden;border:1px solid var(--s-line)}
.trailer iframe{width:100%;height:100%;border:0;display:block}

.cast{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:24px}
.cast .p{text-align:center}
.cast .p .pic{aspect-ratio:3/4;background:var(--s-shot);border:1px solid var(--s-line);
  border-radius:14px;margin-bottom:14px;overflow:hidden}
.cast .p .pic img{width:100%;height:100%;object-fit:cover;display:block}
.cast .p .nm{font-size:15px;letter-spacing:.18em}
.cast .p .rl{font-size:var(--t-sub);color:var(--s-soft);margin-top:6px;letter-spacing:.16em}
.cast .more{font-size:var(--t-sub);color:var(--s-soft);margin-top:38px;line-height:2.4;letter-spacing:.08em}

.voices{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:22px}
.voice{background:var(--s-panel);border-radius:14px;padding:30px}
.sec.alt .voice{background:var(--s-page)}
/* 🔴 観客の声だけ14pxに据え置く（2026-08-23 実測で決定）。
   var(--t-body)=14.5px にすると、カード幅225pxでは行が1本増え、
   最終行が27〜42px＝1〜2文字だけの孤立行になる（Rangeで実測）。
   0.5pxの差は読み手に見えないので、孤立行を作らないほうを取る。 */
.voice p{margin:0;font-size:14px;line-height:2.7}
.voice .src{margin-top:20px;font-size:var(--t-sub);color:var(--s-soft);letter-spacing:.12em}

.cta-band{padding:124px 30px;text-align:center;color:var(--s-ink);
  background:linear-gradient(168deg,var(--s-hero-a) 0%,var(--s-hero-c) 100%);
  position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.045;
  background-image:var(--noise-warm)}
.cta-band > *{position:relative;z-index:1}
.cta-band h2{font-size:29px;margin:0 0 26px;font-weight:400;letter-spacing:.16em}
.cta-band p{margin:0 auto 40px;max-width:28em;font-size:var(--t-body);line-height:2.5;color:var(--t-onhero)}
.cta-band .btn,
.btn{display:inline-block;background:var(--s-accent);color:var(--s-accent-ink);
  text-decoration:none;font-size:13.5px;padding:17px 48px;border-radius:999px;letter-spacing:.18em}
.btn:hover{opacity:.88;color:var(--s-accent-ink)}
.cta-band .fine{margin-top:26px;max-width:46em;font-size:var(--t-sub);color:var(--t-onhero);letter-spacing:.06em}

/* ============================================================
   6. 「観る・上映する」の部品
   ============================================================ */
.hist{margin:22px 0 0}
.hist ul{list-style:none;margin:0;padding:0}
.hist li{display:flex;gap:22px;padding:15px 0;border-bottom:1px dashed var(--s-line);
  font-size:var(--t-body);align-items:baseline;flex-wrap:wrap}
.hist .d{min-width:110px;font-size:var(--t-sub);color:var(--s-soft);letter-spacing:.08em;
  font-variant-numeric:tabular-nums}
.hist .v{flex:1;min-width:200px}
.hist .pl{font-size:var(--t-sub);color:var(--s-soft);letter-spacing:.1em;
  border:1px solid var(--s-line);border-radius:999px;padding:3px 12px;white-space:nowrap}
.hist .pl.big{border-color:var(--s-accent);color:var(--s-accent)}

.spec{width:100%;border-collapse:collapse;font-size:var(--t-body);margin:16px 0}
.spec th,.spec td{border-bottom:1px solid var(--s-line);padding:14px 12px;
  text-align:left;vertical-align:top}
.spec th{width:10em;font-weight:600;color:var(--s-soft);font-size:var(--t-sub);white-space:nowrap}

/* ============================================================
   7. 「応援する」の部品
   ============================================================ */
.names{display:flex;flex-wrap:wrap;gap:10px 12px;margin:14px 0}
.names span{font-size:var(--t-body);background:var(--s-panel);border:1px solid var(--s-line);
  border-radius:8px;padding:9px 16px;line-height:1.6}
.sec.alt .names span{background:var(--s-page)}
.names span.gov{border-color:var(--s-accent);color:var(--s-accent)}
.reg{font-size:var(--t-sub);letter-spacing:.16em;color:var(--s-accent);margin:22px 0 -2px}
.reg::before{content:"｜";margin-right:6px;opacity:.5}

.ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:22px 0}
.way{background:var(--s-page);border:1px solid var(--s-line);border-radius:14px;padding:26px 28px}
.way .n{font-size:var(--t-sub);letter-spacing:.2em;color:var(--s-accent);margin-bottom:10px}
.way h4{margin:0 0 10px;font-size:16.5px;letter-spacing:.06em;font-weight:400}
.way p{font-size:var(--t-body);line-height:2.2;margin:0;color:var(--s-soft)}

/* ============================================================
   8. 「キャスト＆スタッフ」の部品
   ============================================================ */
.lead{text-align:center;padding:14px 0 28px}
.lead .x{font-size:26px;letter-spacing:.2em;line-height:2.2}
.lead .x b{font-weight:400}
.lead .x span{color:var(--s-soft);font-size:17px;margin:0 12px}

.roles{margin:6px 0}
.roles .r{display:grid;grid-template-columns:7.5em 9em 1fr;gap:10px 18px;padding:11px 0;
  border-bottom:1px dashed var(--s-line);font-size:var(--t-body);align-items:baseline}
.roles .r .p{font-size:var(--t-sub);color:var(--s-soft);letter-spacing:.06em}
.roles .r .c{font-size:var(--t-body);color:var(--s-soft)}
.roles .r .n{letter-spacing:.08em}

.plain{display:flex;flex-wrap:wrap;gap:8px 20px;margin:12px 0;font-size:var(--t-body);line-height:2}
.small-note{font-size:var(--t-sub);color:var(--s-soft);margin-top:10px}

.staff{margin:8px 0}
.staff .s{display:grid;grid-template-columns:11em 1fr;gap:8px 20px;padding:11px 0;
  border-bottom:1px solid var(--s-line);font-size:var(--t-body);align-items:baseline}
.staff .s .k{font-size:var(--t-sub);color:var(--s-soft);letter-spacing:.1em}

.songs .g{margin:20px 0}
.songs .t{font-size:16px;letter-spacing:.06em}
.songs .d{font-size:var(--t-sub);color:var(--s-soft);margin-top:4px}

/* ============================================================
   9. ニュース（投稿）
   ============================================================ */
.news ul,.newslist{margin:0;padding:0;list-style:none}
.news li,.newslist li{list-style:none;display:flex;gap:24px;padding:20px 0;
  border-bottom:1px dashed var(--s-line);font-size:var(--t-body);align-items:baseline;flex-wrap:wrap}
.news .d,.newslist .d{font-size:var(--t-sub);color:var(--s-soft);min-width:92px;letter-spacing:.1em;
  font-variant-numeric:tabular-nums}
.news .t,.newslist .t{font-size:var(--t-sub);letter-spacing:.1em;padding:3px 10px;
  border:1px solid var(--s-line);color:var(--s-soft);white-space:nowrap;border-radius:999px}
.newslist .ttl{flex:1;min-width:220px}
.newslist a{color:var(--s-ink);text-decoration:none;border-bottom:1px solid transparent}
.newslist a:hover{border-bottom-color:var(--s-accent)}

.entry{font-size:15px;line-height:2.4}
.entry h2{font-size:21px;margin:52px 0 18px}
.entry h2::after{display:none}
.entry h3{font-size:17px;margin:40px 0 14px;color:var(--s-ink);letter-spacing:.06em;font-weight:500}
.entry h3::before{display:none}
.entry img{border-radius:14px;border:1px solid var(--s-line)}
.entry blockquote{margin:26px 0;padding:4px 0 4px 22px;border-left:3px solid var(--s-accent);
  color:var(--s-soft)}
.entry ul,.entry ol{padding-left:1.4em}
.entry li{margin:8px 0}
.pager{display:flex;justify-content:space-between;gap:20px;margin-top:64px;
  padding-top:28px;border-top:1px solid var(--s-line);font-size:var(--t-sub)}
.pager a{color:var(--s-soft);text-decoration:none}
.pager a:hover{color:var(--s-accent)}

/* ============================================================
   10. フォーム（Contact Form 7）
   ============================================================ */
.form,
.wpcf7{background:var(--s-page);border:1px solid var(--s-line);border-radius:16px;
  padding:36px 34px;margin-top:24px}
.sec.alt .wpcf7{background:var(--s-page)}
.wpcf7 p{margin:0 0 20px;font-size:inherit;line-height:1.9}
.form label,
.wpcf7 label{display:block;font-size:var(--t-sub);letter-spacing:.08em;margin-bottom:7px;font-weight:600}
.form .req,
.wpcf7 .req{font-size:var(--t-sub);color:var(--s-accent-ink);background:var(--s-accent);
  border-radius:3px;padding:1px 6px;margin-left:7px;letter-spacing:.06em;font-weight:400}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="date"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea{
  width:100%;background:var(--s-panel);border:1px solid var(--s-line);border-radius:8px;
  padding:12px 14px;font-size:var(--t-body);color:var(--s-ink);font-family:inherit;line-height:1.8;
  -webkit-appearance:none;appearance:none;
}
.wpcf7 select{background-image:linear-gradient(45deg,transparent 50%,var(--s-soft) 50%),
  linear-gradient(135deg,var(--s-soft) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.wpcf7 textarea{min-height:150px;resize:vertical}
.wpcf7 input:focus,.wpcf7 textarea:focus,.wpcf7 select:focus{
  outline:none;border-color:var(--s-accent);background:var(--s-page)}
.wpcf7 ::placeholder{color:var(--s-shot-ink);opacity:1}
.wpcf7 .fg{margin-bottom:20px}
.wpcf7 .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.wpcf7 input[type="submit"]{
  display:inline-block;margin-top:8px;background:var(--s-accent);color:var(--s-accent-ink);
  border:0;border-radius:999px;padding:16px 48px;font-size:14px;letter-spacing:.18em;
  cursor:pointer;font-family:"Hiragino Mincho ProN","Yu Mincho",serif}
.wpcf7 input[type="submit"]:hover{opacity:.88}
.wpcf7-not-valid-tip{color:#A33B22;font-size:var(--t-sub);margin-top:6px}
.wpcf7-response-output{border-radius:10px;border:1px solid var(--s-line)!important;
  padding:14px 18px!important;margin:20px 0 0!important;font-size:var(--t-sub)}
.wpcf7-spinner{margin-left:14px}

/* モックアップ用の空箱（本文にベタ書きする場合） */
.form .box{background:var(--s-panel);border:1px solid var(--s-line);border-radius:8px;
  padding:12px 14px;font-size:13px;color:var(--s-shot-ink)}
.form .box.tall{height:96px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form .fg{margin-bottom:20px}

/* ============================================================
   11. フッター
   ============================================================ */
.foot{background:var(--s-panel);padding:76px 0 40px;border-top:1px solid var(--s-line)}
.foot .inner{max-width:var(--s-paper)}
.foot .row{display:flex;gap:46px;flex-wrap:wrap;font-size:var(--t-sub);color:var(--s-soft)}
.foot .row h4{font-size:var(--t-sub);letter-spacing:.24em;color:var(--s-ink);margin:0 0 14px;font-weight:400}
.foot .row div{line-height:2.4}
.foot .row ul{list-style:none;margin:0;padding:0;line-height:2.4}
.foot .row a{color:var(--s-soft);text-decoration:none}
.foot .row a:hover{color:var(--s-accent)}
.foot .seal{margin-top:48px;display:flex;align-items:center;gap:16px;padding-top:28px;
  border-top:1px solid var(--s-line)}
.foot .seal .mark{width:34px;height:34px;border-radius:50%;border:1px solid var(--s-accent);
  color:var(--s-accent);display:flex;align-items:center;justify-content:center;
  font-size:15px;flex:0 0 34px}
/* スマホでは使える幅が285pxしかなく、12.5pxだと1行に収まらない（実測）。
   balanceを入れると[161px,165px]のほぼ均等な2行になる。無しだと[284px,41px]。
   10.5pxに戻せば1行に収まるが、それでは読みやすくする目的に反するため2行を選んだ。 */
.foot .copy{font-size:var(--t-sub);color:var(--s-soft);letter-spacing:.1em;text-wrap:balance}

/* ============================================================
   12. Gutenberg ブロックの最低限の調整
   ============================================================ */
.entry .wp-block-image figcaption,
.entry figcaption{font-size:var(--t-sub);color:var(--s-soft);text-align:center;margin-top:10px}
.entry .wp-block-separator{border:0;border-top:1px solid var(--s-line);margin:44px 0}
.entry .wp-block-table table{width:100%;border-collapse:collapse;font-size:var(--t-body)}
.entry .wp-block-table td,.entry .wp-block-table th{
  border:1px solid var(--s-line);padding:11px 14px}
.alignwide{max-width:min(1080px,100%);margin-left:auto;margin-right:auto}
.alignfull{max-width:none}

/* ============================================================
   13. WooCommerce（ショップ）— 夕なぎに最低限そろえる
   ============================================================ */
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  background:var(--s-accent);color:var(--s-accent-ink);border-radius:999px;
  padding:13px 32px;font-size:13.5px;letter-spacing:.1em;border:0}
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{background:var(--s-accent);opacity:.88;color:var(--s-accent-ink)}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price{color:var(--s-accent)}
.woocommerce ul.products li.product a img{border-radius:14px;border:1px solid var(--s-line)}
.woocommerce table.shop_table{border-color:var(--s-line);border-radius:10px}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-color:var(--s-line)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-top-color:var(--s-accent);background:var(--s-panel);border-radius:8px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--s-accent)}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  background:var(--s-panel);border:1px solid var(--s-line);border-radius:8px;padding:11px 14px}

/* ============================================================
   14. スマホ
   ============================================================ */
@media (max-width:900px){
  .roles .r{grid-template-columns:1fr;gap:2px;padding:14px 0}
  .roles .r .p,.roles .r .c{font-size:12.5px}
  .staff .s{grid-template-columns:1fr;gap:2px}
  .wpcf7 .row,.form .row{grid-template-columns:1fr}
}
@media (max-width:720px){
  .inner{padding:0 20px}
  .story{grid-template-columns:1fr}
  /* （ジグザグ廃止によりスマホ側の打ち消しも不要になった） */
  .intro{padding:88px 0}
  .intro p{font-size:17px;line-height:2.6}
  .quote{padding:72px 20px}
  .quote blockquote{font-size:16px;max-height:320px}
  .sec,body.home .sec{padding:76px 0}
  .phead{padding:64px 20px 58px}
  .phead h1{font-size:25px}
  .hero{min-height:560px;padding:88px 20px 88px}
  .hero .badge{font-size:11.5px;letter-spacing:.08em;margin-bottom:30px}
  .hero .logo{width:min(300px,78%);margin:0 auto 28px}
  .hero .copy{font-size:14px;letter-spacing:.1em;line-height:2.2}
  .hero .sub{font-size:12px;letter-spacing:.1em;margin-top:24px;line-height:2}
  .hero .cue{display:none}   /* 指で送る前提。下端の文字と重なるため出さない */
  /* スマホの最初の画面に押せる入口が1つも無かったため（2026-08-22） */
  .hero .hero-cta{display:inline-block;margin-top:26px;padding:13px 28px;border-radius:999px;
    background:var(--s-accent);color:var(--s-accent-ink);text-decoration:none;
    font-size:var(--t-sub);letter-spacing:.1em;
    font-family:"Hiragino Mincho ProN","Yu Mincho",serif}
  .cta-band{padding:88px 20px}
  .cta-band h2{font-size:23px}
  .foot{padding:56px 0 32px}
  .foot .row{gap:30px}
  .paper{border-left:0;border-right:0}

  /* ナビをハンバーガーに */
  .nav-burger{display:block}
  .nav .inner{flex-wrap:wrap;gap:0;padding-top:0;padding-bottom:0}
  .nav .brand{margin-right:auto}
  .nav ul{
    display:none;width:100%;flex-direction:column;gap:0;
    border-top:1px solid var(--s-line);padding:6px 0 14px}
  .nav li{width:100%}
  .nav ul a{display:block;padding:13px 2px;font-size:14px;border-bottom:0}
  /* お問い合わせボタンは、メニューを開いたときだけ出す */
  .nav .cta{display:none;margin:12px 0 6px;width:100%;text-align:center;padding:13px 18px;order:9}
  .nav-toggle:checked ~ ul{display:flex}
  .nav-toggle:checked ~ .cta{display:block}
  .nav-toggle:checked ~ .nav-burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .nav-toggle:checked ~ .nav-burger span:nth-child(2){opacity:0}
  .nav-toggle:checked ~ .nav-burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
}

/* 印刷 */
@media print{
  .nav,.cta-band,.foot{display:none}
  body{background:#fff}
  .paper{box-shadow:none;border:0}
}
