@charset "utf-8";
/* ============================================================================
   湘南フードトラック協会 公式サイト — 本番スタイル ver4.2「湘南ポップ・スカイ（UGOKKO実測パレット）」
   方向性: 空色×白×クリーム＋多色ポップ（参考=GO! UGOKKO!サイト）。
   ugokko.jp のピクセル実測パレットを反映（空#6EC1E1・紙白#F5F4F0・こすもす#E36795 ほか。暗色化なし）。
   ・使用色はカラーガイドv4.2の実測色のみ（墨#343436含む）。ガイド外の色は定義・使用しない。
   ・罫＝砂#D3C6A7、影＝墨の低透過。面は「明るい色＋墨文字」、白文字はこすもす面のみ。
   ・テーマ＝空（面・リンク・ラベル・下線・大数字）／アクセント＝こすもす（筆記体・1フレーズ・小さな差し）。フォーカスリング＝ききょう。
   ・ボタンは墨か空のみ（塗り＝墨/空、線＝墨。暗い面上の白線ゴーストは墨系の反転として許容: D-42）。
   ============================================================================ */

/* ---------- 1. トークン ---------- */
:root{
  /* --- カラーガイドv4.2 純正パレット（UGOKKO実測のみ。ガイド外の色は定義しない） --- */
  --sky:#6EC1E1;        /* 空＝テーマカラー。面・ボタン・リンク・ラベル・大数字・下線（明るい面の上は墨文字） */
  --paper:#FFFFFF;      /* 白 */
  --cream:#F5F4F0;      /* 紙白。リズム面・フッター */
  --sand:#D3C6A7;       /* 砂。罫・淡いチップ面 */
  --sumi:#343436;       /* 墨。本文・見出し・UI線（UGOKKO本文帯の実測ダーク） */
  --pink-d:#E36795;     /* こすもす＝アクセント限定。筆記体・見出し1フレーズ・小さな差し（ボタンには不使用: D-42） */
  --pink:#E4A0B8;       /* 淡桃。ドット・淡い装飾 */
  --pop-yellow:#F8D14C; /* ひまわり */
  --pop-orange:#EEA039; /* みかん */
  --pop-green:#58AE6B;  /* わかば */
  --pop-red:#D15E4F;    /* あかね */
  --pop-purple:#6467AB; /* ききょう。フォーカスリング・第4カード */
  --soft-blue:#73C0D1;  /* 淡青（予備） */
  --soft-teal:#7ABFBA;  /* 淡青緑（予備） */
  --soft-green:#94BD7B; /* 淡緑（予備） */
  --soft-yellow:#ECCC56;/* 淡黄（予備） */

  /* --- 互換エイリアス（すべて上記ガイド色へ解決） --- */
  --paper-2:var(--cream);
  --paper-3:var(--sand);
  --white:#ffffff;
  --ink:var(--sumi);
  --ink-2:var(--sumi);
  --ink-sub:rgba(52,52,54,.66);
  --sky-d:var(--sumi);        /* 旧・暗色面/濃線 → 墨線として解決（背景用途は個別で空へ修正済み） */
  --sky-ink:var(--sky);       /* 旧・リンク/ラベル → テーマ＝空 */
  --sky-mid:var(--sumi);      /* 旧・見出しブルー → 墨（数字は個別にこすもす） */
  --brand:var(--sky);
  --brand-d:var(--sky-d);
  --brand-ink:var(--sky-ink);
  --deep:var(--sky);
  --footer-dark:var(--cream);
  --pink-ink:var(--pink-d);
  --pink-light:var(--pink);
  --pop-green-d:var(--pop-green);
  --tint-sky:var(--sky);
  --tint-pink:var(--pink-d);
  --tint-yellow:var(--pop-yellow);
  --tint-green:var(--pop-green);
  --cream-2:var(--sand);
  --mist:var(--cream);
  --tomato:var(--sky);
  --tomato-d:var(--brand-d);
  --tomato-ink:var(--brand-ink);
  --sea:var(--sky);
  --sea-d:var(--brand-ink);
  --amber:var(--pink);
  --amber-d:var(--pink-d);
  --positive:var(--pop-green);
  --critical:var(--pop-red);
  --line:var(--sand);              /* 罫＝砂 */
  --hairline:rgba(211,198,167,.6); /* 砂の透過 */

  --font-display-en:'Oswald','LINE Seed JP',sans-serif; /* 英字ディスプレイ（品のある無骨ゴシック） */
  --font-script:'Yellowtail',cursive;                    /* 装飾英語（手書き筆記体・少量） */
  --font-serif:var(--font-display-en);                   /* 互換名（Marcellusは廃止） */
  --font-en:'LINE Seed JP','Noto Sans JP',sans-serif;   /* 英字・数字（LINE Seed） */
  --font-en2:'LINE Seed JP','Noto Sans JP',sans-serif;  /* 英字ラベル */
  --font-jp:'LINE Seed JP','Noto Sans JP',sans-serif;   /* 和文見出し */
  --font-body:'LINE Seed JP','Noto Sans JP',sans-serif; /* 本文・UI */
  /* 下層キット互換エイリアス */
  --font-display:var(--font-jp);
  --font-accent:var(--font-en2);

  /* 機能色エイリアス（キットが参照） */
  --primary:var(--brand-ink);
  --primary-deep:var(--deep);
  --accent:var(--pink);
  --accent-deep:var(--pink-d);
  --surface:var(--cream);
  --surface-deep:var(--cream-2);

  /* タイプスケール（キット用） */
  --fs-xs:.8125rem; --fs-sm:.9375rem; --fs-base:1rem; --fs-md:1.1rem;

  --wrap:1280px;
  --container:1280px;
  --gut:clamp(20px,5vw,64px);
  --gutter:var(--gut);
  --header-gap:22px;      /* 帯の上の余白（背後の写真/ページヘッダーが覗く） */
  --header-band-h:64px;   /* 帯（メニュー）の高さ */
  --head-h:86px;          /* = gap + band-h（コンテンツ上オフセット用） */
  --badge-size:100px;     /* 丸ロゴ径（帯から上下対称にはみ出す） */

  --radius-s:6px; --radius-m:12px; --radius-l:18px; --radius-pill:999px;
  --shadow-hard:0 10px 26px rgba(52,52,54,.10); /* 互換名。実体は淡い空色のソフト影 */
  --shadow-soft:0 14px 34px rgba(52,52,54,.10);
  --shadow-sm:0 2px 10px rgba(52,52,54,.05);
  --shadow-md:0 12px 30px rgba(52,52,54,.10);

  --dur-fast:.16s; --dur-base:.28s; --dur-slow:.7s;
  --ease:cubic-bezier(.22,1,.36,1);
}

/* ---------- 2. リセット・ベース ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.75;
  color:var(--ink);
  background:var(--paper);
  /* 固定ヘッダーは透明帯＋はみ出しロゴ。背後に写真/ページヘッダーが覗くため body に上オフセットは持たせない */
  font-feature-settings:"palt" 1;
  word-break:auto-phrase;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.is-locked{overflow:hidden}
img,picture,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
ul{list-style:none}
::selection{background:var(--sky);color:var(--ink)}
:focus-visible{outline:3px solid var(--pop-purple);outline-offset:3px;border-radius:2px}

.material-symbols-rounded{
  font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;
  line-height:1;vertical-align:middle;-webkit-font-smoothing:antialiased;
}
.visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* ---------- 3. タイポグラフィ基本 ---------- */
h1,h2,h3,h4{font-family:var(--font-jp);font-weight:900;line-height:1.28;letter-spacing:.01em;text-wrap:balance;color:var(--ink)}
.section--ink :is(h1,h2,h3,h4){color:inherit}
p{text-wrap:pretty}

/* ---------- 4. レイアウト・共通プリミティブ ---------- */
.wrap,.container{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut);position:relative;z-index:1}
.section{padding-block:clamp(64px,9vw,120px);position:relative;z-index:1}
.section--surface{background:var(--paper-2)}
.section--paper{background:var(--paper)}
.section--white{background:var(--white)}
.section--ink{background:var(--ink);color:var(--paper)}

/* ラベル（tag / eyebrow / kick） */
.tag{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:var(--font-en2);font-weight:800;font-size:.72rem;
  letter-spacing:.22em;text-transform:uppercase;
  padding:.42em .85em;border:1.5px solid var(--line);border-radius:999px;
  background:var(--paper);color:var(--brand-ink);line-height:1;
}
.tag--tomato{background:var(--sky);border:none;color:#fff}
.tag--ink{background:var(--ink);border:none;color:var(--paper)}
.tag .dot{width:7px;height:7px;border-radius:50%;background:var(--pink)}
.tag--tomato .dot{background:var(--pink-d)}
.tag--ink .dot{background:var(--pink-light)}

.eyebrow{
  display:inline-flex;align-items:center;gap:.6em;
  font-family:var(--font-en2);font-weight:900;font-size:.74rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--tomato-ink);line-height:1;
}
.eyebrow::before{content:"";width:26px;height:3px;background:var(--sky);display:inline-block}

/* セクション見出し（ホーム=.shead / 下層=.section__head を統一トーンで） */
.shead,.section__head{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(34px,5vw,56px)}
.section__head{max-width:820px}
.shead .kick,.section__head .eyebrow{margin-bottom:0}
.shead .kick{
  font-family:var(--font-en);color:var(--tomato-ink);
  font-size:clamp(1rem,2.4vw,1.35rem);letter-spacing:.12em;text-transform:uppercase;line-height:1;
}
.shead h2,.section__title{
  font-family:var(--font-jp);font-weight:900;color:var(--sky-mid);
  font-size:clamp(1.9rem,5.4vw,3.4rem);line-height:1.1;letter-spacing:.01em;margin:0;
}
.section__title{font-size:clamp(1.4rem,2.8vw,2rem)}
.shead p,.section__lead{max-width:60ch;margin:.2em 0 0;color:var(--ink-2);font-size:1.04rem;line-height:1.8}
.section__head--center{text-align:center;align-items:center;margin-inline:auto}
.section__head--center .eyebrow{justify-content:center}
.section__foot{margin-top:clamp(36px,6vw,60px);text-align:center}

/* ---------- ボタン ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--font-jp);font-weight:900;font-size:1.02rem;line-height:1;
  padding:1.05em 1.6em;border:none;border-radius:12px;
  text-decoration:none;cursor:pointer;
  background:var(--sky);color:#fff;
  box-shadow:var(--shadow-hard);
  transition:transform .12s ease,box-shadow .12s ease,background .18s ease,color .18s ease;
}
.btn .ar{font-family:var(--font-en2);font-weight:900;flex:none}
.btn svg{width:1.05em;height:1.05em;flex:none}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(52,52,54,.16)}
.btn:active{transform:translateY(0);box-shadow:0 4px 12px rgba(52,52,54,.10)}
.btn--tomato,.btn-accent{background:var(--sumi);color:#fff}
.btn--ghost,.btn-ghost{background:transparent;color:var(--sumi);border:1.5px solid var(--sumi);box-shadow:none}
.btn--ghost:hover,.btn-ghost:hover{background:var(--sky);color:#fff;border-color:var(--sky)}
.btn--onlight{background:var(--paper);color:var(--sumi)}
/* 暗背景（ヒーロー/ダーク帯）でのゴースト＝白抜き */
.hero .btn--ghost,.cta-band .btn--ghost,.ctaband .btn--ghost,.section--ink .btn--ghost,
.hero .btn-ghost,.cta-band .btn-ghost,.section--ink .btn-ghost{
  color:#fff;border-color:rgba(255,255,255,.85)
}
.page-hero .btn--ghost,.page-hero .btn-ghost{color:var(--ink);border-color:var(--ink)}
.hero .btn--ghost:hover,.cta-band .btn--ghost:hover,.ctaband .btn--ghost:hover,.section--ink .btn--ghost:hover,
.hero .btn-ghost:hover,.cta-band .btn-ghost:hover,.section--ink .btn-ghost:hover{
  background:#fff;color:var(--sky-ink);border-color:#fff
}
.page-hero .btn--ghost:hover,.page-hero .btn-ghost:hover{background:var(--paper);color:var(--sky-ink);border-color:var(--paper)}
.hero .btn--onlight,.cta-band .btn--onlight,.ctaband .btn--onlight,.page-hero .btn--onlight,.section--ink .btn--onlight{background:var(--paper);color:var(--brand-ink)}

/* アローリンク */
.arrow-link{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-jp);font-weight:700;font-size:var(--fs-sm);color:var(--ink)}
.arrow-link .ar{font-family:var(--font-en2);font-weight:900;transition:transform var(--dur-base) var(--ease)}
.arrow-link svg{width:1.2em;height:1.2em;flex:none;transition:transform var(--dur-base) var(--ease)}
.arrow-link:hover .ar,.arrow-link:hover svg{transform:translateX(.32em)}
.arrow-link--light{color:#fff}

/* ============================================================================
   5. ヘッダー
   ============================================================================ */
/* スキップリンク・フォーカス可視化（アクセシビリティ） */
.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--sumi,#343436);color:#fff;padding:10px 18px;border-radius:0 0 10px 10px;font-weight:700;text-decoration:none;transition:top .2s}
.skip-link:focus{top:0}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.site-header{position:fixed;inset:0 0 auto 0;z-index:60;background:transparent;padding-top:var(--header-gap)}
/* 帯上の隙間から覗くコンテンツをすりガラス化 */
.site-header::before{content:"";position:absolute;inset:0 0 auto 0;height:var(--header-gap);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(255,255,255,.28);pointer-events:none}
.header-band{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 6px 20px rgba(52,52,54,.10)}
.header-inner{max-width:var(--wrap);margin-inline:auto;padding:0 var(--gut);height:var(--header-band-h);display:flex;align-items:center;gap:20px}
.brand{position:relative;z-index:30;display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--ink);flex:0 0 auto}
.brand__badge{width:var(--badge-size);height:var(--badge-size);flex:none;margin-block:calc((var(--header-band-h) - var(--badge-size))/2);border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--line),0 8px 20px rgba(52,52,54,.14);padding:4px;animation:wheelSpin 60s cubic-bezier(.5,0,.2,1) infinite}
@keyframes wheelSpin{0%,97%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.brand:hover .brand__badge{animation-play-state:paused}
.brand__name{display:flex;flex-direction:column;line-height:1;gap:3px}
.brand__name b{font-family:var(--font-en2);font-weight:900;font-size:.92rem;letter-spacing:0;color:var(--brand-d)}
.brand__name span{font-family:var(--font-en2);font-weight:800;font-size:.92rem;letter-spacing:0;color:var(--brand-d)}
.gnav{margin-left:auto;display:flex;align-items:center;gap:clamp(2px,.5vw,10px)}
.gnav__link{
  text-decoration:none;color:var(--ink);font-family:var(--font-jp);font-weight:700;font-size:.92rem;
  white-space:nowrap;display:inline-flex;align-items:center;height:var(--header-band-h);padding:0 clamp(8px,.9vw,16px);
  transition:background var(--dur-base) var(--ease),color var(--dur-base) var(--ease);
}
.gnav__link:hover,.gnav__link.is-active{background:var(--sky);color:#fff}
.gnav__sns{display:inline-grid;place-items:center;width:42px;height:42px;border:1.5px solid var(--line);border-radius:50%;color:var(--brand-d);text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s}
.gnav__sns:hover{background:var(--sky);color:#fff;border-color:var(--sky);transform:rotate(-6deg)}
.gnav__sns svg{width:20px;height:20px}
.hamburger{display:none;margin-left:auto;width:48px;height:44px;border:1.5px solid var(--line);border-radius:8px;background:var(--paper);cursor:pointer;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px;flex:none}
.hamburger span{display:block;width:22px;height:3px;background:var(--brand-d);border-radius:2px;transition:.25s}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ============================================================================
   7. ホーム・ヒーロー（v5 骨太スプリット：左タイポ／右写真ブリード）
   ============================================================================ */
.hero-v5{position:relative;background:linear-gradient(180deg,rgba(211,198,167,.30),rgba(211,198,167,0) clamp(240px,36vh,380px)) var(--paper);overflow:hidden;padding:calc(var(--head-h) + clamp(28px,4.5vw,56px)) 0 clamp(44px,6vw,76px)}
.hero-v5 .wrap{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(28px,4.5vw,64px);align-items:center}
.hero-v5__kicker{font-family:var(--font-display-en);font-weight:500;font-size:.86rem;letter-spacing:.3em;text-transform:uppercase;color:var(--sky-ink)}
.hero-v5__script{display:block;font-family:var(--font-script);font-weight:400;font-size:clamp(2rem,3.6vw,3rem);line-height:1.2;color:var(--pink-d);transform:rotate(-3deg);transform-origin:left bottom;margin:14px 0 6px}
.hero-v5__text h1{font-family:var(--font-jp);font-weight:900;font-size:clamp(2rem,3.9vw,3.15rem);line-height:1.42;letter-spacing:.01em;color:var(--ink);margin:10px 0 0}
.hero-v5__text .lede{margin:22px 0 0;color:var(--ink-2);font-size:1rem;line-height:2;max-width:42ch}
.hero-v5__text .cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.hero-v5__photo{position:relative;overflow:hidden;border-radius:22px 0 0 22px;margin:0 calc(-1 * ((100vw - min(100vw,var(--wrap))) / 2 + var(--gut))) 0 0;height:clamp(440px,58vh,620px)}
.hero-v5__photo picture{position:absolute;inset:0;display:block}
/* ヒーロー・スライドショー（3枚クロスフェード） */
.hero-slides picture{opacity:0;transition:opacity 1.2s var(--ease)}
.hero-slides picture.is-active{opacity:1}
@media(prefers-reduced-motion:reduce){.hero-slides picture{transition:none}}
.hero-v5__photo img{width:100%;height:100%;object-fit:cover;border-radius:22px 0 0 22px;display:block}

/* 回転エンブレム（装飾シール・共通） */
.seal{position:absolute;z-index:1;width:clamp(84px,10vw,132px);pointer-events:none;animation:spin 24s linear infinite}
.seal img{width:100%;display:block}

/* エディトリアル見出し・共通ラベル文法（v4） */
.ed-head{font-family:var(--font-display-en);font-weight:600;text-transform:uppercase;font-size:clamp(1.9rem,4.2vw,3.2rem);line-height:1.14;letter-spacing:.02em;color:var(--ink);margin:0}
.ed-head em{font-style:normal;color:var(--pop-green)}
.ed-lead{max-width:52ch;margin:18px 0 0;color:var(--ink-2);font-size:1.02rem;line-height:1.9}
.cat-label{display:inline-flex;align-items:center;gap:.6em;font-family:var(--font-display-en);font-weight:500;font-size:.82rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brand-ink);line-height:1}
.cat-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:clamp(24px,3.5vw,40px)}
.more{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-jp);font-weight:700;font-size:.92rem;color:var(--ink);white-space:nowrap}
.more .ar{font-family:var(--font-en2);font-weight:900;transition:transform var(--dur-base) var(--ease)}
.more:hover .ar{transform:translateX(.35em)}

/* ============================================================================
   8. ミッション（v4 白場の右寄せステートメント）
   ============================================================================ */
.mission-ed{background:var(--paper);position:relative;overflow:visible;overflow-x:clip}
.mission-ed.section{padding-top:clamp(48px,7vw,100px);padding-bottom:clamp(32px,4.5vw,60px)}
.mission-ed .ghost{position:absolute;top:-.38em;right:-.06em;padding-top:.45em;z-index:0;margin:0;font-family:var(--font-display-en);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(5.5rem,19vw,18rem);line-height:.62;text-align:right;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px var(--hairline);pointer-events:none;user-select:none}
.mission-ed .wrap{position:relative;z-index:1;display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(32px,6vw,88px);align-items:center}
.mission-ed__photo{margin:0}
.mission-ed__photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;display:block}
.mission-ed__body{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.mission-ed__body h2{font-family:var(--font-jp);font-weight:900;font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.5;letter-spacing:.01em;color:var(--ink);margin:18px 0 0}
.mission-ed__body h2 em{font-style:normal;color:var(--pop-green)}
.mission-ed__body p{max-width:44ch;margin:1.4em 0 0;color:var(--ink-2);font-size:1rem;line-height:2;text-align:left}
.mission-ed__body .more{margin-top:26px}

/* ============================================================================
   9. 3本柱（v4 縦3:4写真カード）
   ============================================================================ */
.pillars-ed{background:var(--paper);padding-top:clamp(32px,4.5vw,60px)}
.pcards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);margin-top:clamp(34px,5vw,56px)}
.pcard-ed:nth-child(2){margin-top:clamp(28px,4vw,56px)}
.pcard-ed:nth-child(3){margin-top:clamp(56px,8vw,112px)}
.pcard-ed{display:flex;flex-direction:column;color:var(--ink);text-decoration:none}
.pcard-ed figure{margin:0;overflow:hidden;border-radius:14px}
.pcard-ed img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;transition:transform var(--dur-slow) var(--ease)}
.pcard-ed:hover img{transform:scale(1.04)}
.pcard-ed .en{margin-top:16px;font-family:var(--font-en2);font-weight:800;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--pop-green)}
.pcard-ed:nth-child(1) .en{color:var(--pop-red)}
.pcard-ed:nth-child(2) .en{color:var(--pop-purple)}
.pcard-ed:nth-child(3) .en{color:var(--pop-green-d)}
.pcard-ed h3{font-family:var(--font-jp);font-weight:900;font-size:1.22rem;line-height:1.5;color:var(--ink);margin:8px 0 0}
.pcard-ed p{margin:10px 0 0;color:var(--ink-2);font-size:.92rem;line-height:1.85}
.pcard-ed .more{margin-top:14px}

/* ============================================================================
   10. FIND（v4 全幅写真帯＋白い検索カード）
   ============================================================================ */
.find-band{position:relative;overflow:hidden}
.find-band__media{position:absolute;inset:0;margin:0}
.find-band__media picture{position:absolute;inset:0;display:block}
.find-band__media img{width:100%;height:100%;object-fit:cover;object-position:30% 100%;display:block}
.find-band .wrap{position:relative;z-index:1;padding-block:clamp(56px,8vw,104px)}
.find-panel{background:var(--paper);border-radius:18px;box-shadow:0 20px 48px rgba(52,52,54,.16);padding:clamp(26px,3.6vw,44px);max-width:560px;margin-left:auto}
.find-panel h2{font-family:var(--font-jp);font-weight:900;font-size:clamp(1.5rem,2.8vw,2.1rem);color:var(--ink);margin:12px 0 22px}
.find-panel .cols{display:grid;grid-template-columns:1fr;gap:20px}
.filtlab{font-family:var(--font-en2);font-weight:900;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brand-ink);margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips button{font-family:var(--font-jp);font-weight:700;font-size:.9rem;background:var(--paper);border:1.5px solid var(--line);border-radius:999px;padding:.48em 1.05em;cursor:pointer;transition:background .16s,color .16s,transform .12s;color:var(--sumi)}
.chips button:hover,.chips button[aria-pressed="true"]{background:var(--sky);border-color:var(--sky);color:#fff;transform:translateY(-2px)}
.find-panel .foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:28px}
.count{display:flex;align-items:baseline;gap:.4em;font-family:var(--font-jp);font-weight:700;color:var(--ink)}
.count b{font-family:var(--font-display-en);font-weight:600;font-size:2.7rem;color:var(--sky);line-height:.8}
.count .req{font-size:.72rem;color:var(--ink-sub);font-weight:500}

/* 関連店舗カルーセル（全幅・無限ループ棚） */
.truck-shelf{display:flex;gap:clamp(14px,1.8vw,22px);overflow-x:auto;padding:8px calc((100vw - min(100vw,var(--wrap))) / 2 + var(--gut));margin-inline:calc(-1 * ((100vw - min(100vw,var(--wrap))) / 2 + var(--gut)));overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.truck-shelf::-webkit-scrollbar{display:none}
.truck-shelf .truck-card{flex:0 0 236px;box-shadow:none}
.truck-shelf .truck-card:hover{box-shadow:none}
.truck-shelf__nav{display:flex;gap:10px;justify-content:center;margin-top:18px}
.shelf-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--sumi);background:#fff;color:var(--sumi);font-family:var(--font-en2);font-weight:900;font-size:1.05rem;cursor:pointer;transition:background .18s,color .18s}
.shelf-btn:hover{background:var(--sky);border-color:var(--sky);color:#fff}

/* ============================================================================
   10b. 登録店ロゴ・マーキー
   ============================================================================ */
.logo-marquee{background:var(--paper);padding:clamp(22px,3vw,34px) 0;overflow:hidden;border-bottom:1px solid var(--hairline)}
.logo-marquee__track{display:flex;width:max-content}
.logo-marquee__group{display:flex;align-items:center;gap:clamp(20px,2.6vw,36px);padding-right:clamp(20px,2.6vw,36px);animation:logoMarquee 70s linear infinite}
@keyframes logoMarquee{to{transform:translateX(-100%)}}
.logo-marquee__item{flex:none;width:64px;height:64px;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--hairline);transition:transform var(--dur-base) var(--ease)}
.logo-marquee__item:hover{transform:scale(1.15)}
.logo-marquee__item img{width:100%;height:100%;object-fit:cover;display:block}
@media (prefers-reduced-motion:reduce){
  .logo-marquee__group{animation:none}
  .logo-marquee__track{width:auto;overflow-x:auto}
}

/* ============================================================================
   11. START（v4 クリーム面・枠なしステップ）
   ============================================================================ */
.steps-ed{background:var(--cream)}
.steps-ed .ed-head-jp{font-family:var(--font-jp);font-weight:900;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.4;color:var(--ink);margin:10px 0 0}
.steps-ed__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.6vw,48px);margin-top:clamp(30px,4.5vw,52px)}
.step-ed{border-top:2px solid var(--brand);padding-top:20px}
.step-ed .no{font-family:var(--font-display-en);font-weight:600;font-size:1.5rem;color:var(--sky);letter-spacing:.08em}
.step-ed:nth-child(2) .no{color:var(--pop-orange)}
.step-ed:nth-child(3) .no{color:var(--pop-green-d)}
.step-ed h3{font-family:var(--font-jp);font-weight:900;font-size:1.18rem;margin:10px 0 0;color:var(--ink)}
.step-ed p{margin:10px 0 0;color:var(--ink-2);font-size:.94rem;line-height:1.9}
.steps-ed__cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px;margin-top:clamp(36px,5vw,56px);padding-top:clamp(24px,3vw,34px);border-top:1px solid var(--line)}
.steps-ed__cta p{font-family:var(--font-jp);font-weight:900;font-size:clamp(1.15rem,2.2vw,1.5rem);color:var(--ink);margin:0}
.steps-ed__cta p em{font-style:normal;color:var(--pop-green)}

/* ============================================================================
   12. お知らせ（v4 カタロググリッド）
   ============================================================================ */
.news-ed{background:var(--paper)}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,30px)}
.newscard{display:flex;flex-direction:column;color:var(--ink);text-decoration:none}
.newscard .thumb{margin:0;aspect-ratio:4/3;border-radius:12px;display:grid;place-items:center;overflow:hidden}
.newscard .thumb .material-symbols-rounded{font-size:40px;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 48}
.thumb--a{background:var(--sky);color:#fff}
.thumb--b{background:var(--pink-d);color:#fff}
.thumb--c{background:var(--pop-yellow);color:var(--sumi)}
.thumb--d{background:var(--pop-green);color:#fff}
.newscard .meta{display:flex;align-items:center;gap:12px;margin-top:14px}
.newscard time{font-family:var(--font-en2);font-weight:700;font-size:.8rem;letter-spacing:.05em;color:var(--ink-sub)}
.newscard .cat{font-family:var(--font-jp);font-weight:700;font-size:.72rem;color:var(--pop-green)}
.newscard h3{font-family:var(--font-jp);font-weight:700;font-size:.95rem;line-height:1.7;margin:8px 0 0;color:var(--ink)}
.newscard:hover h3{color:var(--sky-ink)}
.newslist-ed{list-style:none;margin:0;padding:0}
.newslist-ed li{border-top:1px solid var(--line)}
.newslist-ed li:last-child{border-bottom:1px solid var(--line)}
.newsrow{display:grid;grid-template-columns:auto auto 1fr auto;align-items:baseline;gap:clamp(14px,2.4vw,28px);padding:clamp(18px,2.6vw,26px) 4px;color:var(--ink);text-decoration:none}
.newsrow__date{font-family:var(--font-display-en);font-weight:500;font-size:.95rem;letter-spacing:.08em;color:var(--ink-sub);font-variant-numeric:lining-nums tabular-nums}
.newsrow__cat{font-family:var(--font-jp);font-weight:700;font-size:.72rem;color:var(--pop-green)}
.newsrow__title{font-family:var(--font-jp);font-weight:700;font-size:1rem;line-height:1.7;margin:0;color:var(--ink);transition:color var(--dur-base) var(--ease)}
.newsrow:hover .newsrow__title{color:var(--sky-ink)}
.newsrow__ar{font-family:var(--font-en2);font-weight:900;color:var(--ink);transition:transform var(--dur-base) var(--ease)}
.newsrow:hover .newsrow__ar{transform:translateX(.35em)}

/* ============================================================================
   13. クロージング（v4 全幅写真＋白カード）
   ============================================================================ */
.closing{position:relative;overflow:hidden}
.closing__media{position:absolute;inset:0;margin:0}
.closing__media picture{position:absolute;inset:0;display:block}
.closing__media img{width:100%;height:100%;object-fit:cover;object-position:60% 45%;display:block}
.closing .wrap{position:relative;z-index:1;padding-block:clamp(64px,9vw,120px)}
.closing__card{background:var(--paper);border-radius:18px;box-shadow:0 20px 48px rgba(52,52,54,.16);padding:clamp(28px,4vw,48px);max-width:560px}
.closing__card h2{font-family:var(--font-jp);font-weight:900;font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.5;color:var(--ink);margin:14px 0 0}
.closing__card p{margin:14px 0 0;color:var(--ink-2);font-size:.98rem;line-height:1.9}
.closing__card .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.closing .seal{top:clamp(20px,5vw,44px);right:clamp(20px,5vw,60px)}
.closing .seal img{filter:drop-shadow(0 6px 16px rgba(52,52,54,.4))}

/* ============================================================================
   14. フッター（クリーム反転）
   ============================================================================ */
.site-footer{background:var(--cream);color:var(--ink-2);padding-block:clamp(52px,7vw,80px)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(26px,4vw,52px)}
.footer-brand__head{display:inline-flex;align-items:center;gap:13px;margin-bottom:16px;text-decoration:none}
.footer-brand__badge{width:52px;height:52px;flex:none;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--hairline)}
.footer-brand__name{font-family:var(--font-jp);font-weight:900;font-size:1.16rem;color:var(--brand-d);line-height:1.2}
.footer-brand__name small{display:block;font-family:var(--font-en2);font-weight:800;font-size:.55rem;letter-spacing:.18em;color:var(--sky);margin-top:4px;text-transform:uppercase}
.footer-brand p{color:var(--ink-2);font-size:.92rem;line-height:1.85;max-width:34ch}
.footer-brand p+p{margin-top:12px}
.footer-addr{font-size:.85rem;color:var(--ink-2)}
.footer-col h3{font-family:var(--font-jp);font-weight:900;font-size:.98rem;letter-spacing:.02em;color:var(--brand-d);margin:0 0 16px}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.footer-col a{color:var(--ink-2);text-decoration:none;font-size:.92rem;font-weight:500;transition:color .18s}
.footer-col a:hover{color:var(--brand-d);text-decoration:underline;text-underline-offset:3px}
.footer-sns{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:var(--sumi);font-family:var(--font-en2);font-weight:800;font-size:.82rem;letter-spacing:.06em;transition:color .2s}
.footer-sns:hover{color:var(--sky)}
.footer-sns svg{width:20px;height:20px}
.footer-bottom{border-top:1px solid var(--line);margin-top:clamp(38px,5vw,54px);padding-top:22px}
.footer-bottom p{font-family:var(--font-en2);font-size:.8rem;letter-spacing:.05em;color:var(--ink-sub);text-align:center}
.footer-grant{font-family:var(--font-jp)!important;letter-spacing:.02em!important;margin-bottom:10px;line-height:1.8}

/* ---------- スクロールリビール ---------- */
.reveal,.reveal-group>*{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.reveal.in,.reveal.is-visible,.reveal-group.is-visible>*{opacity:1;transform:none}
.reveal-group.is-visible>*:nth-child(2){transition-delay:.08s}
.reveal-group.is-visible>*:nth-child(3){transition-delay:.16s}
.reveal-group.is-visible>*:nth-child(4){transition-delay:.24s}

/* ============================================================================
   15. ホーム／共通レスポンシブ
   ============================================================================ */
@media(max-width:1260px){
  .gnav{gap:0}
  .gnav__link{padding:0 7px;font-size:.86rem}
}
@media(max-width:1080px){
  .gnav{display:none}
  .hamburger{display:flex}
  .gnav.is-open{display:flex;position:fixed;top:var(--head-h);left:0;right:0;margin:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:calc((var(--badge-size) - var(--header-band-h))/2 + 18px) var(--gut) 20px;box-shadow:var(--shadow-soft);z-index:20}
  .site-header:has(.gnav.is-open) .header-band{box-shadow:none}
  .gnav.is-open .gnav__link{height:auto;padding:14px 10px;border-bottom:1px solid var(--line);font-size:1.05rem}
  .gnav.is-open .gnav__sns{display:inline-flex;align-items:center;width:auto;height:auto;border:none;justify-content:flex-start;gap:10px;border-radius:0;padding:14px 2px}
  .gnav.is-open .gnav__sns::after{content:"Instagram";font-family:var(--font-jp);font-weight:700;font-size:1.05rem}
  .gnav.is-open .gnav__sns:hover{background:none;color:var(--tomato-ink);transform:none}
}
@media(max-width:1000px){
  br.pc{display:none}
  .hero-v5 .wrap{grid-template-columns:1fr;gap:26px}
  .hero-v5__photo{border-radius:0;margin-block:0;margin-inline:calc(-1 * ((100vw - min(100vw,var(--wrap))) / 2 + var(--gut)));height:clamp(400px,56vw,560px)}
  .hero-v5__photo img{border-radius:0}
  .mission-ed .wrap{grid-template-columns:1fr;gap:26px}
  .mission-ed__body{align-items:flex-start;text-align:left}
  .pcards{grid-template-columns:1fr 1fr}
  .pcard-ed:nth-child(2){margin-top:40px}
  .pcard-ed:nth-child(3){margin-top:0}
  .newsrow{grid-template-columns:auto auto 1fr;row-gap:6px}
  .newsrow__title{grid-column:1/-1}
  .newsrow__ar{display:none}
  .find-panel{max-width:100%}
  .steps-ed__grid{grid-template-columns:1fr;gap:26px}
  .cat-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
}
@media(max-width:640px){
  :root{--header-gap:16px;--header-band-h:52px;--head-h:68px;--badge-size:76px}
  .pcard-ed img{aspect-ratio:1/1}
  .brand{gap:12px}
  .brand__name b{font-size:.8rem}
  .footer-grid{grid-template-columns:1fr}
  .pcards{grid-template-columns:1fr}
  .pcard-ed:nth-child(2){margin-top:0}
  .find-panel .foot{flex-direction:column;align-items:flex-start}
  .steps-ed__cta{flex-direction:column;align-items:flex-start}
  .closing__card .cta .btn{width:100%}
}

/* ============================================================================
   16. 下層ページ共通キット（湘南エアへ再スキン・クラス名は据え置き）
   ============================================================================ */
/* ページヘッダー（tealのバナー＋下端の波） */
.page-hero{position:relative;background:var(--sky);color:var(--ink);overflow:hidden;isolation:isolate}
.page-hero::before{content:"";position:absolute;right:-3vw;top:-30%;width:min(46vw,520px);height:200%;background:radial-gradient(circle at 60% 40%,rgba(228,160,184,.35),transparent 62%);pointer-events:none}
.page-hero__inner{position:relative;z-index:1;text-align:center;padding:calc(var(--head-h) + clamp(26px,3.5vw,44px)) 0 calc(clamp(30px,5vw,52px) + 20px)}
.page-hero .eyebrow{color:var(--ink)}
.page-hero__title{font-family:var(--font-jp);font-weight:900;font-size:clamp(1.9rem,4.6vw,3rem);line-height:1.14;color:var(--ink);margin-top:14px}
.page-hero__lead{margin-top:14px;margin-inline:auto;color:var(--ink);font-size:1.02rem;line-height:1.8;max-width:52ch}

/* 下層タイトル帯（クラス名--inkは経緯上の名残。現仕様=極薄グレー地＋墨文字: D-48） */
.page-hero--ink{background:var(--paper-2);color:var(--ink)}
.page-hero--ink::before{content:none}
.page-hero--ink .page-hero__title{color:var(--ink)}
.page-hero--ink .page-hero__lead{color:var(--ink-2)}

/* パンくず */
.breadcrumb{padding-block:14px}
.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--ink-sub);font-family:var(--font-body)}
.breadcrumb a{color:var(--sea-d)}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb li{display:flex;align-items:center;gap:6px}
.breadcrumb li+li::before{content:"›";color:var(--ink-sub);opacity:.6}
.breadcrumb [aria-current="page"]{color:var(--ink-sub)}

/* プローズ（本文リッチテキスト） */
.prose{color:var(--ink-2);font-size:1.02rem;line-height:1.9}
.prose>*+*{margin-top:1.1em}
.prose h2{font-family:var(--font-jp);font-weight:900;color:var(--sky-mid);font-size:clamp(1.5rem,2.6vw,2rem);margin-top:1.6em;line-height:1.3}
.prose h3{font-family:var(--font-jp);font-weight:900;color:var(--brand-d);font-size:clamp(1.35rem,2.2vw,1.6rem);margin-top:1.5em}
/* お知らせ記事本文：見出しは小さく・軽く */
.prose h3[lang="en"]{font-family:var(--font-display-en);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.prose--article h2{font-weight:700;color:var(--ink);font-size:clamp(1.1rem,1.7vw,1.3rem)}
.prose--article h3{font-weight:700;color:var(--ink);font-size:clamp(1rem,1.5vw,1.15rem)}
.prose a{color:var(--ink);text-decoration:underline;text-underline-offset:.15em;font-weight:700}
.prose a.btn{color:#fff;text-decoration:none}
.prose a.btn--tomato,.prose a.btn-accent{color:#fff}
.prose ul,.prose ol{padding-left:1.4em}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li{margin-top:.5em;line-height:1.8}
.prose li::marker{color:var(--sky)}
.prose strong{font-weight:700;color:var(--ink)}
.lead-text{font-family:var(--font-jp);font-weight:500;font-size:clamp(1.1rem,2vw,1.32rem);line-height:1.8;color:var(--ink)}

/* メディア＋テキスト2カラム */
.media-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3.5vw,56px);align-items:center}
.media-row+.media-row{margin-top:clamp(40px,6vh,72px)}
.media-row--rev .media-row__media{order:2}

/* 画像プレースホルダ（実写差替え前提） */
.ph-img{position:relative;aspect-ratio:4/3;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:grid;place-items:center;color:var(--ink);background:var(--sky);box-shadow:var(--shadow-hard)}
.noimg{font-family:var(--font-display-en);font-weight:500;font-size:clamp(1rem,1.6vw,1.3rem);letter-spacing:.22em;text-transform:uppercase;color:rgba(52,52,54,.16);user-select:none}
.ph-img--noimg{background:#fff}
.ph-img picture{position:absolute;inset:0}
.ph-img picture img,.ph-img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph-img--warm{background:var(--pink-d)}
.ph-img .material-symbols-rounded{font-size:44px;opacity:.92;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 48}
.ph-img__note{position:absolute;bottom:10px;right:12px;font-family:var(--font-en2);font-weight:800;font-size:.62rem;letter-spacing:.16em;color:rgba(255,255,255,.8);text-transform:uppercase}
.ph-img img{width:100%;height:100%;object-fit:cover}

/* 協定写真スライダー（クロスフェード・キャプション連動） */
.agree-slider{position:relative}
.agree-slider .slide{margin:0;opacity:0;transition:opacity 1.2s ease;position:absolute;inset:0}
.agree-slider .slide:first-child{position:relative}
.agree-slider .slide.is-active{opacity:1}
.agree-slider img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:14px;display:block}
.agree-slider figcaption{margin-top:8px;font-size:.8rem;color:var(--ink-sub);line-height:1.6}
@media(prefers-reduced-motion:reduce){.agree-slider .slide{transition:none}}

/* 定義テーブル */
.table{width:100%;border-collapse:separate;border-spacing:0;background:var(--white);border:1px solid var(--hairline);border-radius:8px;overflow:hidden;font-size:var(--fs-sm)}
.table th,.table td{padding:15px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--hairline);line-height:1.8}
.table th{background:var(--cream);width:200px;font-family:var(--font-jp);font-weight:700;color:var(--ink);white-space:nowrap;border-right:1px solid var(--hairline)}
.table th:last-child{border-right:0}
.table tbody tr:last-child th,.table tbody tr:last-child td{border-bottom:0}
.table thead th{border-bottom:1px solid var(--hairline)}

/* 汎用CTAボックス */
.cta-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(28px,4vw,52px);text-align:center;box-shadow:var(--shadow-hard)}
.cta-box__title{font-family:var(--font-jp);font-weight:900;font-size:clamp(1.4rem,2.4vw,1.9rem);color:var(--sky-mid);margin-bottom:14px;line-height:1.35}
.cta-box__text{color:var(--ink-2);margin-bottom:24px;line-height:1.85}

/* リード/注記カード */
.callout{background:var(--mist);border:1px solid var(--line);border-radius:12px;padding:18px 22px;font-size:var(--fs-sm);line-height:1.85;color:var(--ink-2)}
.callout .material-symbols-rounded{color:var(--sea-d);vertical-align:-4px;margin-right:6px}
.callout strong{color:var(--ink)}

/* 汎用カードグリッド */
.cardgrid{display:grid;gap:clamp(18px,2.2vw,26px)}
.cardgrid--2{grid-template-columns:repeat(2,1fr)}
.cardgrid--3{grid-template-columns:repeat(3,1fr)}
.cardgrid--4{grid-template-columns:repeat(4,1fr)}
.ucard{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-hard);overflow:hidden}
.ucard__body{padding:clamp(20px,2.2vw,28px);display:flex;flex-direction:column;flex:1}
.ucard__title{font-family:var(--font-jp);font-weight:900;font-size:1.16rem;color:var(--ink);margin-bottom:10px;line-height:1.4}
.ucard__text{color:var(--ink-2);font-size:var(--fs-sm);line-height:1.85;flex:1}
.ucard__icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--sky);color:#fff;margin-bottom:16px;border:none}
.ucard__icon .material-symbols-rounded{font-size:28px}
.ucard .btn,.ucard .arrow-link{margin-top:18px;align-self:flex-start}

/* お知らせ一覧（下層・行リスト） */
.newslist{border-top:2px solid var(--brand)}
.newslist__item{display:grid;grid-template-columns:130px 104px 1fr auto;gap:18px;align-items:center;padding:18px 6px;border-bottom:1px solid var(--line);transition:background var(--dur-fast) var(--ease),padding var(--dur-fast) var(--ease)}
.newslist__item:hover{background:var(--paper-2);padding-inline:16px}
.newslist__date{font-family:var(--font-en2);font-weight:800;font-size:var(--fs-sm);letter-spacing:.05em;color:var(--ink-sub)}
.newslist__title{font-family:var(--font-jp);font-weight:700;color:var(--ink);line-height:1.5}
.newslist__cat{justify-self:start}
.newslist__go{font-family:var(--font-en2);font-weight:900;color:var(--tomato-ink)}
@media(max-width:720px){
  .newslist__item{grid-template-columns:auto 1fr;grid-template-areas:"date cat" "title title";row-gap:8px}
  .newslist__date{grid-area:date}.newslist__cat{grid-area:cat;justify-self:end}.newslist__title{grid-area:title}
  .newslist__item>.newslist__go{display:none}
}

/* chip / フィルター */
.chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-family:var(--font-jp);font-weight:700;font-size:.78rem;padding:.34em .8em;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.chip--accent{background:var(--sumi);color:#fff;border:none}
/* STEPキッカー（ダッシュ＋Oswald・空） */
.step-kicker{display:inline-flex;align-items:center;gap:.6em;font-family:var(--font-display-en);font-weight:600;font-size:.8rem;letter-spacing:.24em;text-transform:uppercase;color:var(--sky);line-height:1}
.step-kicker::before{content:"";width:22px;height:3px;background:var(--sky)}
/* PCのみ中央寄せユーティリティ */
@media(min-width:1001px){.center-pc{text-align:center;margin-inline:auto}.section__head:has(> .center-pc){margin-inline:auto}}
.chip--sea{background:var(--sky);color:#fff;border:none}
.chip--amber{background:var(--amber);color:var(--ink);border:none}
.badge{font-family:var(--font-jp);font-weight:700;font-size:.74rem;letter-spacing:.02em;color:#fff;background:var(--sky);padding:.3em .8em;border-radius:999px;border:none;white-space:nowrap}
.badge--event{background:var(--pink-d)}
.badge--media{background:var(--pop-yellow);color:var(--sumi)}
.filterbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(24px,4vh,40px)}
.filterbtn{font-family:var(--font-jp);font-weight:700;font-size:var(--fs-sm);padding:9px 18px;border-radius:999px;background:var(--paper);border:1.5px solid var(--line);color:var(--sumi);cursor:pointer;transition:all var(--dur-fast) var(--ease)}
.filterbtn:hover{background:var(--paper-2)}
.filterbtn.is-active{background:var(--sky);border-color:var(--sky);color:#fff}

/* 検索バー */
.searchbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.searchbar input[type="search"],.searchbar select{flex:1;min-width:180px;padding:13px 16px;border:1.5px solid var(--line);border-radius:12px;font:inherit;background:var(--white);color:var(--ink)}
.searchbar input:focus,.searchbar select:focus{outline:none;box-shadow:0 0 0 3px rgba(52,52,54,.16)}

/* FAQ アコーディオン */
.accordion{border-top:2px solid var(--brand)}
.accordion__item{border-bottom:1px solid var(--line)}
.accordion__head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 4px;text-align:left;font-family:var(--font-jp);font-weight:700;font-size:1.04rem;color:var(--ink)}
.accordion__head .q{display:inline-flex;gap:12px}
.accordion__head .q::before{content:"Q";font-family:var(--font-en2);color:var(--tomato-ink);font-weight:900}
.accordion__icon{flex:none;width:26px;height:26px;position:relative;transition:transform var(--dur-base) var(--ease)}
.accordion__icon::before,.accordion__icon::after{content:"";position:absolute;top:50%;left:50%;width:14px;height:2.5px;background:var(--brand-d);transform:translate(-50%,-50%)}
.accordion__icon::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform var(--dur-base) var(--ease)}
.accordion__item.is-open .accordion__icon::after{transform:translate(-50%,-50%) rotate(0)}
.accordion__panel{overflow:hidden;max-height:0;transition:max-height var(--dur-base) var(--ease)}
.accordion__panel-inner{padding:0 4px 22px;color:var(--ink-2);line-height:1.85;font-size:var(--fs-sm)}
.accordion__panel-inner .a{display:flex;gap:12px}
.accordion__panel-inner .a::before{content:"A";font-family:var(--font-en2);color:var(--pop-purple);font-weight:900}

/* フォーム */
/* お問い合わせのステップ表示（入力→確認→完了） */
.stepflow{display:flex;align-items:flex-start;justify-content:center;gap:0;max-width:760px;margin:0 auto clamp(32px,5vh,48px)}
.stepflow__item{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:84px}
.stepflow__no{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display-en);font-weight:600;font-size:1.05rem;background:#fff;border:1.5px solid var(--line);color:var(--ink-sub)}
.stepflow__no svg{width:18px;height:18px}
.stepflow__label{font-size:.84rem;font-weight:700;color:var(--ink-sub);letter-spacing:.04em}
.stepflow__bar{flex:1;max-width:110px;height:2px;background:var(--line);margin-top:20px}
.stepflow__bar.is-done{background:var(--sky)}
.stepflow__item.is-done .stepflow__no{background:var(--sky);border-color:var(--sky);color:#fff}
.stepflow__item.is-active .stepflow__no{background:var(--sumi);border-color:var(--sumi);color:#fff}
.stepflow__item.is-active .stepflow__label{color:var(--ink)}
.form{display:grid;gap:22px;max-width:760px;margin-inline:auto}
.form__row{display:grid;gap:8px}
.form__label{font-family:var(--font-jp);font-weight:700;font-size:var(--fs-sm);color:var(--ink);display:flex;align-items:center;gap:8px}
.form__req{font-size:.72rem;font-weight:700;color:#fff;background:var(--pink-d);padding:2px 8px;border-radius:999px}
.form__opt{font-size:.72rem;font-weight:700;color:var(--ink-sub);background:rgba(52,52,54,.08);padding:2px 8px;border-radius:999px}
.form input:not([type="radio"]):not([type="checkbox"]),.form textarea,.form select{width:100%;padding:13px 16px;border:1.5px solid var(--line);border-radius:12px;font:inherit;background:var(--white);color:var(--ink);transition:box-shadow var(--dur-fast) var(--ease)}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;box-shadow:0 0 0 3px rgba(52,52,54,.16)}
.form textarea{min-height:160px;resize:vertical}
.form__check{display:flex;align-items:flex-start;gap:10px;font-size:var(--fs-sm);line-height:1.7}
.form__check a{color:var(--ink);text-decoration:underline;text-underline-offset:.15em}
.form__check input{width:18px;height:18px;margin-top:3px;flex:none;accent-color:var(--brand-d)}
.form__actions{margin-top:8px}

/* ページネーション */
.pagination{display:flex;justify-content:center;gap:8px;margin-top:clamp(32px,5vh,48px)}
.pagination a,.pagination span{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid var(--line);font-family:var(--font-en2);font-weight:800;color:var(--sumi)}
.pagination a:hover{background:var(--paper-2)}
.pagination .is-current{background:var(--sky);border-color:var(--sky);color:#fff}

/* サイトマップ */
.sitemap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:clamp(24px,3vw,40px)}
.sitemap-grid h2{font-family:var(--font-jp);font-weight:900;font-size:1.16rem;color:var(--brand-d);margin-bottom:12px;padding-bottom:10px;border-bottom:3px solid var(--tomato)}
.sitemap-grid ul{display:flex;flex-direction:column;gap:10px}
.sitemap-grid a{color:var(--ink-2);font-size:var(--fs-sm)}
.sitemap-grid a:hover{color:var(--sea-d);text-decoration:underline}

/* 統計（下層でも利用可） */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,2vw,28px)}
.stat{text-align:center;padding:8px clamp(8px,1.5vw,20px);position:relative}
.stat+.stat::before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:1px;background:var(--line)}
.stat__icon{color:var(--sea-d);margin-bottom:8px}
.stat__icon .material-symbols-rounded{font-size:30px;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 40}
.stat__num{font-family:var(--font-en);font-size:clamp(2.6rem,5.4vw,3.6rem);line-height:.9;color:var(--sky);letter-spacing:.01em}
.stat__num .plus{color:var(--pop-green)}
.stat__label{display:block;margin-top:10px;font-size:var(--fs-sm);color:var(--ink-sub);font-weight:500}

/* 3本柱（下層でも利用可・.pillar） */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.5vw,30px)}
.pillar{position:relative;display:flex;flex-direction:column;padding:clamp(22px,2.4vw,30px);background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-hard);overflow:hidden}
.pillar__num{position:absolute;top:12px;right:20px;font-family:var(--font-en);font-size:3.2rem;line-height:1;color:rgba(110,193,225,.45);z-index:0}
.pillar__icon{position:relative;z-index:1;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--sky);color:#fff;margin-bottom:20px;border:none}
.pillar__icon .material-symbols-rounded{font-size:30px}
.pillar__title{position:relative;z-index:1;font-family:var(--font-jp);font-weight:900;font-size:1.24rem;color:var(--brand-d);margin-bottom:12px}
.pillar__text{position:relative;z-index:1;color:var(--ink-2);font-size:var(--fs-sm);line-height:1.85;flex:1}
.pillar__link{position:relative;z-index:1;margin-top:20px}

/* 2カラム訴求（下層・.duo） */
.duo{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(20px,2.5vw,30px)}
.duo__card{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-hard);overflow:hidden}
.duo__media{position:relative;aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid var(--line)}
.duo__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease)}
.duo__card:hover .duo__media img{transform:scale(1.05)}
.duo__tag{position:absolute;left:16px;bottom:14px;z-index:1;font-family:var(--font-en2);font-weight:800;letter-spacing:.12em;font-size:.72rem;color:#fff;background:var(--pink-d);padding:6px 14px;border-radius:999px;text-transform:uppercase;border:none}
.duo__body{padding:clamp(20px,2.4vw,30px);display:flex;flex-direction:column;flex:1}
.duo__title{font-family:var(--font-jp);font-weight:900;font-size:1.3rem;color:var(--brand-d);margin-bottom:14px}
.duo__text{color:var(--ink-2);font-size:var(--fs-sm);line-height:1.85;flex:1}
.duo__body .btn,.duo__body .arrow-link{margin-top:22px;align-self:flex-start}
.duo__card--plain{background:var(--paper-2)}

/* 加盟店ピックアップ（下層・.truck-card） */
.trucks{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,24px)}
.truck-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-hard);transition:transform var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease)}
.truck-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(52,52,54,.16)}
.truck-card__media{position:relative;aspect-ratio:4/3;display:grid;place-items:center;color:var(--ink);background:#fff;border-bottom:1px solid var(--line)}
.truck-card__media .material-symbols-rounded{font-size:52px;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 48}
.truck-card__ph{position:absolute;bottom:10px;right:12px;font-family:var(--font-en2);font-weight:800;font-size:.6rem;letter-spacing:.16em;color:rgba(255,255,255,.75);text-transform:uppercase}
.truck-card:nth-child(3) .truck-card__ph{color:rgba(52,52,54,.55)}  /* クリーム地では ink 系ラベルに */
.truck-card__body{padding:16px 18px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.truck-card__body .tag{margin-top:0}
.truck-card__name{font-family:var(--font-jp);font-size:1.05rem;color:var(--brand-d);font-weight:900}

/* お知らせ（下層・カード .news / .news__item） */
.news{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,2.5vw,30px)}
.news__item{display:flex;flex-direction:column;padding:clamp(20px,2.2vw,26px);background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-hard);transition:transform var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease)}
.news__item:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(52,52,54,.16)}
.news__meta{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.news__date{font-family:var(--font-en2);font-weight:800;font-size:.92rem;color:var(--ink-sub);letter-spacing:.05em}
.news__title{font-family:var(--font-jp);font-weight:900;font-size:1.16rem;color:var(--brand-d);margin-bottom:12px;line-height:1.5}
.news__text{color:var(--ink-2);font-size:var(--fs-sm);line-height:1.8;flex:1}
.news__item .arrow-link{margin-top:18px}

/* CTAカード（下層・.cta-card / .cta-pair） */
.cta-pair{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.4vw,28px);max-width:920px;margin-inline:auto}
.cta-card{text-align:center;padding:clamp(24px,2.8vw,34px) clamp(20px,2.2vw,28px);background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-hard);display:flex;flex-direction:column;align-items:center}
.cta-card__icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--sky);color:#fff;margin-bottom:18px;border:none}
.cta-card__icon .material-symbols-rounded{font-size:28px}
.cta-card__title{font-family:var(--font-jp);font-weight:900;font-size:1.16rem;color:var(--brand-d);margin-bottom:12px}
.cta-card__text{color:var(--ink-2);font-size:var(--fs-sm);line-height:1.8;margin-bottom:22px;flex:1}
.cta-card .btn{margin-top:auto}

/* ============================================================================
   17. 下層キット・レスポンシブ
   ============================================================================ */
@media(max-width:920px){
  .pillars{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
  .duo{grid-template-columns:1fr}
  .news{grid-template-columns:1fr}
  .trucks{grid-template-columns:repeat(2,1fr)}
  .cta-pair{grid-template-columns:1fr;max-width:460px}
}
@media(max-width:720px){
  /* 写真帯：モバイルではカード上に写真がしっかり見える高さを確保 */
  .find-band .wrap{padding-top:clamp(200px,52vw,280px);padding-bottom:40px}
  .closing .wrap{padding-top:clamp(210px,55vw,300px);padding-bottom:44px}
  .media-row{grid-template-columns:1fr;gap:20px}
  .media-row__text{order:-1}
  .media-row__media{order:0}
  .cardgrid--3,.cardgrid--4{grid-template-columns:repeat(2,1fr)}
  .table th{width:130px}
}
@media(max-width:560px){
  .stats{grid-template-columns:repeat(2,1fr);gap:28px 12px}
  .stat:nth-child(2)::before,.stat:nth-child(4)::before{display:none}
  .trucks{grid-template-columns:1fr 1fr}
  .cardgrid--2,.cardgrid--3,.cardgrid--4{grid-template-columns:1fr}
  .table thead{display:none}
  .table,.table tbody,.table tr,.table th,.table td{display:block;width:auto}
  .table th{border-bottom:0;border-right:0}
  .btn{width:100%}
  .duo__body .btn,.cta-card .btn{width:100%}
}

/* ============================================================================
   18. reduced-motion
   ============================================================================ */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .reveal,.reveal-group>*{opacity:1!important;transform:none!important}
  .stamp,.seal,.brand__badge{animation:none!important}
}
