body{
  margin: 0;
  background-color: #fff;
}
div#containerWrapper{
  background-color: #fff !important;
}
div#contentHeader{
width: 1000px;
margin: 0 auto;
padding-top: 1em;
}
.btn_pagetop_authority {
  width: 950px;
  font-weight: bold;
  margin: 20px auto 30px;
  text-align: right;
  position: relative;
  z-index: 20;
}

/* LP画像：番号順・中央寄せで縦並び表示 */
.tokyofoodfescp2026-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin: 0 auto;
}

.tokyofoodfescp2026-img {
  display: block;
  width: 100%;
  max-width: 1000px;
  height: auto;
  margin: 0 auto;
}

/* 01〜02間のリード文（スクショ準拠） */
.tokyofoodfescp2026-lead {
  width: 100%;
  max-width: 1000px;
  margin: 28px auto 36px;
  padding: 0 20px;
  box-sizing: border-box;
  text-align: center;
  font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Maru Gothic Pro", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 1.85;
  color: #585656;
  letter-spacing: 0.04em;
}

.tokyofoodfescp2026-lead__event {
  color: #003A93;
  font-weight: 900;
}

/* 02：黄背景＋屋台湾 / オクトーバーブロック（スクショ準拠） */
.tokyofoodfescp2026-02 {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 48px 28px 56px;
  box-sizing: border-box;
  background: #ffe02d url("../images/tokyofoodfescp2026_02.jpg") center top / 100% auto repeat-y;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 52px;
}

.tokyofoodfescp2026-02__block {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.tokyofoodfescp2026-02__title {
  display: block;
  width: 92%;
  max-width: 920px;
  margin: 0 auto 18px;
  line-height: 0;
}

.tokyofoodfescp2026-02__title img {
  display: block;
  width: 100%;
  height: auto;
}

.tokyofoodfescp2026-02__title:focus-visible {
  outline: 3px solid #003A93;
  outline-offset: 4px;
}

.tokyofoodfescp2026-02__block--green .tokyofoodfescp2026-02__title {
  margin-top: 28px;
}

.tokyofoodfescp2026-02__oubo {
  margin: 0 0 18px;
  text-align: center;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
  font-weight: 900;
  font-size: 43px;
  line-height: 1.5;
  color: #000;
  letter-spacing: 0.02em;
}

.tokyofoodfescp2026-02__oubo strong {
  font-weight: 900;
}

.tokyofoodfescp2026-02__photos {
  display: block;
  width: 100%;
  max-width: 920px;
  height: auto;
  margin: 0 auto 22px;
}

.tokyofoodfescp2026-02__period {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 36px;
  margin: 0 auto 22px;
  width: 100%;
  max-width: 920px;
  box-sizing: border-box;
}

.tokyofoodfescp2026-02__badge {
  display: block;
  width: 24%;
  max-width: 180px;
  min-width: 96px;
  height: auto;
  flex: 0 0 auto;
}

.tokyofoodfescp2026-02__period-text {
  flex: 1 1 auto;
  min-width: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
  font-weight: 900;
  font-size: 43px;
  line-height: 1.5;
  color: #000;
  letter-spacing: 0.02em;
  text-align: left;
}

.tokyofoodfescp2026-02__period-text p {
  margin: 0;
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
}

.tokyofoodfescp2026-02__period-text .is-holiday {
  color: #E50012;
}

.tokyofoodfescp2026-02__detail {
  display: block;
  width: 68%;
  max-width: 640px;
  line-height: 0;
  margin: 36px auto 40px;
}

.tokyofoodfescp2026-02__detail img {
  display: block;
  width: 100%;
  height: auto;
}

.tokyofoodfescp2026-02__detail:focus-visible {
  outline: 3px solid #003A93;
  outline-offset: 4px;
}

/* 規約ボタン＋注意事項（02〜03間） */
.tokyofoodfescp2026-notes {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 48px 40px 56px;
  box-sizing: border-box;
  background: #fff;
  text-align: center;
}

.tokyofoodfescp2026-notes__kiyaku {
  display: block;
  margin: -84px auto -66px;
  line-height: 0;
}

.tokyofoodfescp2026-notes__kiyaku img {
  display: block;
  width: 100%;
  height: auto;
}

.tokyofoodfescp2026-notes__kiyaku:focus-visible {
  outline: 3px solid #003A93;
  outline-offset: 4px;
}

.tokyofoodfescp2026-notes__title {
  margin: 0 0 20px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
  font-weight: 900;
  font-size: 28px;
  line-height: 1.4;
  color: #000;
  text-align: center;
}

.tokyofoodfescp2026-notes__list {
  margin: 0 auto;
  padding: 0;
  max-width: 860px;
  list-style: none;
  text-align: left;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.9;
  color: #000;
}

.tokyofoodfescp2026-notes__list li {
  margin: 0;
  padding: 0;
}

:root{
  --navy:#12245c;      /* ブランド濃紺 */
  --navy-2:#1c3aa0;     /* 見出しリンク */
  --blue:#2f6fed;       /* アクセント */
  --yellow:#ffe000;     /* ハイライト */
  --ink:#1a2233;
  --muted:#59616e;
  --bg:#eef2f8;
  --card:#ffffff;
  --line:#e4e9f2;
  --c-event:#2563eb;
  --c-autumn:#e5731f;
  --c-taiwan:#d5322f;
  --c-xmas:#1f9d55;
  --c-vr:#7c3aed;
  --c-other:#334155;
  --c-spot:#e5399a;
  --radius:16px;
  --shadow:0 10px 30px rgba(18,36,92,.10);
  --shadow-hover:0 18px 44px rgba(18,36,92,.18);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(1240px,92vw);margin-inline:auto}
.list-section{padding-block:52px 72px}
.section-title{font-size:28px;font-weight:900;color:var(--navy);position:relative;padding-left:16px;margin-bottom:28px}
.section-title::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:6px;border-radius:3px;background:var(--blue)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s;position:relative;border:1px solid var(--line)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.card:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.card__media{height:168px;position:relative;display:flex;align-items:flex-start}
.card__media .glyph{position:absolute;right:14px;bottom:10px;width:78px;height:78px;opacity:.9}
.card__media .glyph svg{width:100%;height:100%}
.badge{align-self:flex-start;margin:12px;color:#fff;font-size:13px;font-weight:700;padding:5px 14px;border-radius:8px;box-shadow:0 3px 8px rgba(0,0,0,.2)}
.card__body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1;position:relative}
.card__title{font-size:19px;font-weight:900;color:var(--navy);line-height:1.4;min-height:2.8em;margin-bottom:10px;padding-right:26px;display:flex;align-items:flex-start}
.card__text{font-size:14px;color:var(--muted);flex:1}
.card__arrow{position:absolute;right:16px;bottom:16px;color:var(--blue)}
.card__arrow svg{width:22px;height:22px}
.card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.card__media .badge{position:relative;z-index:2}
.card__media.has-img::after{display:none}
.card__media.has-img .glyph{display:none}
.area{display:inline-flex;align-items:center;gap:7px;margin-bottom:12px;font-size:15px;font-weight:800;color:#fff;padding:8px 15px;border-radius:10px;line-height:1.3;letter-spacing:.02em;box-shadow:0 4px 10px rgba(0,0,0,.14)}
.area svg{width:17px;height:17px;color:#fff;flex:0 0 auto}
.t-event .area{background:var(--c-event)}
.t-autumn .area{background:var(--c-autumn)}
.t-taiwan .area{background:var(--c-taiwan)}
.t-xmas .area{background:var(--c-xmas)}
.t-vr .area{background:var(--c-vr)}
.t-other .area{background:var(--c-other)}
.area.tbd{background:#f4f6fa;color:#8b94a3;border:1.5px dashed #c6cedb;font-weight:700;box-shadow:none}
.area.tbd svg{color:#aab2c0}
.t-event .card__media{background:radial-gradient(120% 140% at 30% 10%,#3b5bd9,#0e1c4d)}
.t-event .badge{background:var(--c-event)}
.t-autumn .card__media{background:radial-gradient(120% 140% at 30% 10%,#f59331,#b8460f)}
.t-autumn .badge{background:var(--c-autumn)}
.t-taiwan .card__media{background:radial-gradient(120% 140% at 30% 10%,#e5443f,#8f150f)}
.t-taiwan .badge{background:var(--c-taiwan)}
.t-xmas .card__media{background:radial-gradient(120% 140% at 30% 10%,#2bbd6b,#0c5c33)}
.t-xmas .badge{background:var(--c-xmas)}
.t-vr .card__media{background:radial-gradient(120% 140% at 30% 10%,#9a5cf0,#4a1e94)}
.t-vr .badge{background:var(--c-vr)}
.t-other .card__media{background:radial-gradient(120% 140% at 30% 10%,#4a5a72,#1e2836)}
.t-other .badge{background:var(--c-other)}
.t-spot .card__media{background:radial-gradient(120% 140% at 30% 10%,#ffd84d,#e58f2e)}
.t-spot .badge{background:var(--c-spot)}
.t-spot .area{background:var(--c-spot)}
.card__media .glyph{color:rgba(255,255,255,.9)}
.card__media::after{content:"";position:absolute;inset:0;background:radial-gradient(2px 2px at 20% 30%,rgba(255,255,255,.5),transparent 60%),radial-gradient(2px 2px at 55% 22%,rgba(255,255,255,.35),transparent 60%),radial-gradient(2px 2px at 40% 60%,rgba(255,255,255,.3),transparent 60%);opacity:.7;pointer-events:none}
.hero-banner{display:block;line-height:0;background:#0a1024}
.hero-banner img{width:100%;height:auto;display:block}
.hero-banner:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
@media (max-width:1020px){
  .grid{grid-template-columns:repeat(2,1fr);gap:20px}
}
@media (max-width:640px){
  .grid{grid-template-columns:1fr}
  .section-title{font-size:23px}
}

