@charset "UTF-8";
@property --root-font-size {
  syntax: "<length>";
  inherits: false;
  initial-value: 16px;
}
:root {
  /* z-index */
  --z-index-header: 900;
  /* color */
  --color-white: #fff;
  --color-black: #000;
  --color-text: #231815;
  --color-gray-dark: #333;
  --color-gray-mid: #4d4d4d;
  --color-link: #1a4ea2;
  --color-orange: #f39800;
  --color-fv-grad-start: #f6fdff;
  --color-orange-deep: #f08000;
  --color-orange-border: #ea5614;
  --color-amber: #e99900;
  --color-gold-deep: #c93;
  --color-green-deep: #2c8b2e;
  --color-red-deep: #bc2424;
  --color-brown: #b84f17;
  --color-green-mid: #47ac49;
  --color-green-dark: #146e16;
  --color-pink: #fc6b6b;
  --color-orange-dark: #ce8000;
  --color-tomato: #de5422;
  --color-rose: #db4242;
  --color-navy: #070e29;
  --color-gray-text: #444;
  --color-slate: #253038;
  --color-gray-light: #838383;
  --color-bg-offwhite: #f9faf6;
  --color-bg-cream: #fff1da;
  --color-bg-cream2: #fff1dc;
  --color-bg-sand: #fff7e5;
  --color-bg-share: #fff9f0;
  --color-bg-access-row: #fffbef;
  --color-bg-green: #e6ffe6;
  --color-bg-blue: #e7f0f3;
  --color-bg-red: #f8e9e9;
  --color-bg-lightgray: #f6f6f6;
  --color-bg-zebra: #f5f5f5;
  --color-gray-222: #222;
  --color-border-mint: #d7e5d3;
  --color-bg-nav-home: #fff9e5;
  --color-bg-nav-tachikawa: #dfffdf;
  --color-bg-drawer: #fafcff;
  --color-bg-panel-green: #e0f7f0;
  --color-bg-panel-orange: #ffe8b8;
  --color-border-card: #f3f4f6;
  --color-border-table: #e5e7eb;
  --color-border-cell: #e0e0e0;
  --color-border-light: #ddd;
  --color-border-gray: #dedede;
  --color-border-drawer: #dbdee0;
  --color-border-sub: #d9dee0;
  --color-bg-mint: #f5fff5;
  --color-orange-light: #f5a623;
  --color-orange-rust: #d9660d;
  --color-green-bright: #2eb847;
  --color-red-bright: #f0474f;
  --color-gray-556: #525252;
  --color-gray-262: #262626;
  --color-orange-sp-border: #ed8f1f;
  --color-green-btn: #26a429;
  --color-teal: #00aa83;
  --color-teal-deep: #147d63;
  --color-bg-teal: #e8f8f4;
  --color-bg-row: #f9fbfa;
  --color-border-teal: #c7e5d4;
  --color-bg-green-pale: #dbffd1;
  --color-ink: #21292e;
  --color-bg-showa-pale: #ebf4e6;
  --color-bg-showa-pale-sp: #f2faed;
  --color-green-showa-time: #14731a;
  --color-bg-zebra-sp: #f7f7f7;
  --color-green-showa-tag: #246b37;
  --color-bg-showa-tag: #eff7ec;
  --color-green-btn-shadow: #4caf50;
  --color-fv-showa-grad-start: #f1f6eb;
  --color-fv-showa-grad-end: #e4efd7;
  /* shadow */
  --shadow-float: 0 3px 10px rgb(0 0 0 / 12%);
  --shadow-btn: 0 2px 8px rgb(0 0 0 / 12%);
  --shadow-panel: 0 10px 24px rgb(0 0 0 / 12%);
  --shadow-hover: 4px 4px 10px rgb(0 0 0 / 10%);
  /* バナーボタン（ホバーで沈み込む）の待機状態の影 */
  --shadow-banner: 0 calc(5 * var(--to-rem)) 0 rgb(51 51 51 / 15%);
  /* カード・バナーボタンのホバー時の落ち影（Figma 2001:7264 / 2001:7267） */
  --shadow-card-hover: 0 calc(12 * var(--to-rem)) calc(24 * var(--to-rem)) rgb(20 31 31 / 24%);
  /* font-weight */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-black: 900;
  /* font-family */
  /* ブラウザ間で文字幅を揃えるため、必ず Google Fonts の Noto Sans JP を使う。
     ローカルインストール版（local("Noto Sans JP")）は字幅が約2%異なり、
     入っている環境（Firefox / Safari）だけ改行位置がずれるため参照しない */
  --base-font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  --oswald-font: oswald, var(--base-font-family);
  --overpass-font: overpass, var(--base-font-family);
  --to-rem: 0.0625rem;
  /* transition duration */
  --duration: 0.3s;
}

@supports (width: calc(tan(atan2(1px, 16px)) * 1rem)) {
  :root {
    --to-rem: calc(tan(atan2(1px, var(--root-font-size, 16px))) * 1rem);
  }
}
html {
  font-size: 16px;
}
@media (max-width: 1200px) {
  html {
    font-size: 1.3333333333vw;
  }
}
@media (max-width: 767px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}

a[href^=tel] {
  text-decoration: none;
}

a {
  color: inherit;
  -webkit-tap-highlight-color: transparent;
  /* 強調をなくす */
}

a:hover {
  text-decoration: none;
}

img,
svg {
  vertical-align: middle;
}

source {
  display: none;
}

img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

:where(:any-link, button, [type=button], [type=reset], [type=submit], label[for], select, summary, [role=tab], [role=button]) {
  cursor: pointer;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  touch-action: manipulation;
}

:focus:not(:focus-visible) {
  outline: none;
}

input[type=text] {
  font-size: 1rem;
  /* = 16px */
}

body {
  font-family: var(--base-font-family);
  font-weight: var(--fw-regular);
  color: var(--color-text);
}

html {
  box-sizing: border-box;
  /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  tab-size: 4;
  -webkit-text-size-adjust: 100%;
          text-size-adjust: 100%;
  /* Chromiumだけが既定で全角約物（「」・／等）を詰めるため、
     未対応のFirefox / Safariと同じ字送りに揃える。
     未対応ブラウザではこの宣言が無視されるだけで、挙動は元から space-all と同じ */
  text-spacing-trim: space-all;
}

*,
::before,
::after {
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
  box-sizing: border-box;
  background-repeat: no-repeat;
}

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
     # General elements
     # ================================================================= */
hr {
  /* Show the overflow in Edge and IE */
  height: 0;
  overflow: visible;
  /* Add the correct box sizing in Firefox */
  color: inherit;
  /* Correct border color in Firefox. */
}

details,
main {
  display: block;
  /* Render the `main` element consistently in IE. */
}

summary {
  display: list-item;
  /* Add the correct display in all browsers */
}

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none;
  /* Add the correct display in IE */
}

abbr[title] {
  /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  border-bottom: none;
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

pre {
  font-size: 1em;
  /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder;
  /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  /* Correct border color in all Chrome, Edge, and Safari. */
  text-indent: 0;
  border-color: inherit;
  /* Remove text indentation in Chrome, Edge, and Safari */
}

iframe {
  border-style: none;
}

/* # =================================================================
     # Forms
     # ================================================================= */
input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
  /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type=search] {
  appearance: textfield;
  appearance: none;
  /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px;
  /* Correct the outline style in Safari */
}

[type=search]::-webkit-search-decoration {
  appearance: none;
  /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
  overflow: auto;
  resize: vertical;
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  appearance: button;
  /* Correct the inability to style clickable types in iOS */
}

button,
input,
select,
textarea {
  appearance: none;
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

/* Style select like a standard input */
select {
  appearance: none;
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentcolor;
  /* Internet Explorer 11+ */
}

legend {
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  border: 0;
  /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  font: inherit;
  color: inherit;
  /* Correct the inability to style clickable types in iOS and Safari */
  appearance: button;
  /* Change font properties to `inherit` in Chrome and Safari */
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

/* # =================================================================
     # Specify media element style
     # ================================================================= */
img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

/* # =================================================================
     # Accessibility
     # ================================================================= */
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled=true] {
  cursor: default;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
  list-style: "";
}

a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s;
}

.l-header {
  position: relative;
  z-index: var(--z-index-header);
  display: flex;
  align-items: center;
  width: 100%;
  height: calc(80 * var(--to-rem));
  padding-left: calc(26 * var(--to-rem));
  background-color: var(--color-white);
  /* ハンバーガー表示域（= SP/タブレット）はスクロールに関係なく常に上部固定 */
}
@media screen and (max-width: 1023px) {
  .l-header {
    position: fixed;
    inset-inline: 0;
    top: 0;
  }
}
@media screen and (max-width: 767px) {
  .l-header {
    height: calc(64 * var(--to-rem));
    padding-block: calc(10 * var(--to-rem));
    padding-left: calc(13 * var(--to-rem));
    box-shadow: var(--shadow-btn);
  }
}

/* PC: 一定量スクロールしたら追従ヘッダーに切り替える。
   position を fixed にすると流し込みから抜けて 80px 詰まるため、
   同じタイミングで body 側に同量の padding-top を入れて表示位置を保つ（body.is-headerFloat） */
.l-header.is-float {
  position: fixed;
  inset-inline: 0;
  top: 0;
  box-shadow: var(--shadow-btn);
}

/* fixed 化した直後にスライドしないよう、アニメーションは 1 フレーム遅れて付与する */
.l-header.is-anim {
  transition: transform var(--duration);
}

/* 下スクロール中は隠す（上スクロールで戻す） */
.l-header.is-float.is-hidden {
  transform: translateY(-100%);
}

/* ハンバーガー表示域はヘッダーが常に fixed なので、その分だけ本文を下げる */
@media screen and (max-width: 1023px) {
  body {
    padding-top: calc(80 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  body {
    padding-top: calc(64 * var(--to-rem));
  }
}

/* PC で追従ヘッダーに切り替わっている間だけ、抜けた 80px を埋める */
body.is-headerFloat {
  padding-top: calc(80 * var(--to-rem));
}

.p-header__logo {
  flex: 0 1 auto;
  min-width: 0;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .p-header__logo {
    margin-top: calc(4 * var(--to-rem));
  }
}

.p-header__logoLink {
  display: block;
}

.p-header__logoLink img {
  width: calc(383.186 * var(--to-rem));
  max-width: 100%;
  height: auto;
  aspect-ratio: 383.186/41.2975;
}
@media screen and (max-width: 767px) {
  .p-header__logoLink img {
    width: calc(265.9164 * var(--to-rem));
    aspect-ratio: 265.9164/28.8003;
  }
}

.p-header__nav {
  flex: 0 1 auto;
  align-self: stretch;
  min-width: 0;
  margin-left: auto;
}
@media screen and (max-width: 1023px) {
  .p-header__nav {
    display: none;
  }
}

.p-header__navList {
  display: flex;
  min-width: 0;
  height: 100%;
  list-style: none;
}

.p-header__navItem {
  flex: none;
  width: calc(177 * var(--to-rem));
  border-left: 1px solid var(--color-border-light);
}

.p-header__navItem--home {
  --nav-bar-color: var(--color-gold-deep);
  --nav-hover-bg: var(--color-bg-nav-home);
}

.p-header__navItem--tachikawa {
  --nav-bar-color: var(--color-green-mid);
  --nav-hover-bg: var(--color-bg-nav-tachikawa);
}

.p-header__navItem--tokyotaikukan {
  --nav-bar-color: var(--color-tomato);
  --nav-hover-bg: var(--color-bg-cream2);
}

.p-header__navItem--komazawa {
  --nav-bar-color: var(--color-pink);
  --nav-hover-bg: var(--color-bg-red);
}

.p-header__navLink {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: calc(80 * var(--to-rem));
  padding-inline: calc(10 * var(--to-rem));
  padding-top: calc(5 * var(--to-rem));
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4;
  color: var(--color-gray-dark);
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.05em;
  white-space: nowrap;
  transition: background-color var(--duration);
}

.p-header__navLink::before {
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: calc(4 * var(--to-rem));
  content: "";
  background-color: var(--nav-bar-color);
}

@media (hover: hover) {
  .p-header__navLink:hover {
    background-color: var(--nav-hover-bg);
  }
}
.p-header__menuBtn {
  display: none;
}
@media screen and (max-width: 1023px) {
  .p-header__menuBtn {
    display: flex;
    flex: none;
    flex-direction: column;
    gap: calc(3.5 * var(--to-rem));
    align-items: center;
    justify-content: center;
    width: calc(44 * var(--to-rem));
    height: calc(44 * var(--to-rem));
    margin-right: calc(17 * var(--to-rem));
    margin-left: auto;
    background-color: var(--color-gold-deep);
    border: 0;
    border-radius: 100%;
  }
}

.p-header__menuBar {
  display: block;
  width: calc(16 * var(--to-rem));
  height: calc(2.5 * var(--to-rem));
  background-color: var(--color-white);
  border-radius: calc(1.25 * var(--to-rem));
  transition: transform var(--duration), opacity var(--duration);
}

.js-hamburger.is-open .p-header__menuBar:nth-child(1) {
  transform: translateY(calc(6 * var(--to-rem))) rotate(45deg);
}

.js-hamburger.is-open .p-header__menuBar:nth-child(2) {
  opacity: 0;
}

.js-hamburger.is-open .p-header__menuBar:nth-child(3) {
  transform: translateY(calc(-6 * var(--to-rem))) rotate(-45deg);
}

.c-barHead {
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(72 * var(--to-rem));
  padding-block: calc(11.2135 * var(--to-rem));
  padding-inline: calc(22.4269 * var(--to-rem));
  background-color: var(--color-tomato);
  border-radius: calc(15.9326 * var(--to-rem)) calc(15.9326 * var(--to-rem)) 0 0;
}
@media screen and (max-width: 767px) {
  .c-barHead {
    height: calc(52 * var(--to-rem));
    padding-block: calc(12 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
    border-radius: 0;
  }
}

.c-barHead__inner {
  display: flex;
  gap: calc(23.8989 * var(--to-rem));
  align-items: flex-start;
}

.c-barHead__icon {
  flex-shrink: 0;
  width: calc(31.8653 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}

.c-barHead__title {
  font-size: calc(31.8653 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.0557;
  color: var(--color-white);
  text-align: center;
  letter-spacing: -0.0138em;
}
@media screen and (max-width: 767px) {
  .c-barHead__title {
    font-size: calc(18 * var(--to-rem));
    line-height: 1.5556;
    text-align: left;
    letter-spacing: 0;
  }
}

.c-linkCard {
  position: relative;
  display: flex;
  align-items: flex-start;
  width: 100%;
  height: calc(145.6 * var(--to-rem));
  padding-inline: calc(22.4 * var(--to-rem)) calc(24 * var(--to-rem));
  padding-top: calc(27.2 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-white);
  border-radius: calc(17.6 * var(--to-rem));
  box-shadow: calc(4 * var(--to-rem)) calc(4 * var(--to-rem)) 0 var(--color-orange-deep);
}
@media screen and (max-width: 767px) {
  .c-linkCard {
    align-items: center;
    height: calc(130 * var(--to-rem));
    padding-block: calc(22 * var(--to-rem)) calc(28 * var(--to-rem));
    padding-inline: calc(20 * var(--to-rem));
  }
}

.c-linkCard--center {
  align-items: center;
  padding-inline: calc(24 * var(--to-rem));
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  .c-linkCard--center {
    padding-block: calc(22 * var(--to-rem)) calc(28 * var(--to-rem));
    padding-inline: calc(20 * var(--to-rem));
  }
}

/* ホバー: ベタ影の分だけ沈み込み、4px の内側リング + ふわっとした落ち影が出る（Figma 2001:7267）。
   リングは ::after の border-color で描き、沈み込み（transform）と同じ --duration でフェードインさせる。
   外形サイズは通常時と同じ */
.c-linkCard {
  transition: box-shadow var(--duration), transform var(--duration);
}

.c-linkCard::after {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  content: "";
  border: calc(4 * var(--to-rem)) solid transparent;
  border-radius: inherit;
  transition: border-color var(--duration);
}

.c-linkCard:focus-visible::after {
  border-color: var(--color-amber);
}

@media (hover: hover) {
  .c-linkCard:hover {
    box-shadow: var(--shadow-card-hover);
    transform: translate(calc(4 * var(--to-rem)), calc(4 * var(--to-rem)));
  }
  .c-linkCard:hover::after {
    border-color: var(--color-amber);
  }
}
.c-linkCard::before {
  position: absolute;
  top: calc(33.93 * var(--to-rem));
  left: calc(-15.31 * var(--to-rem));
  width: calc(448 * var(--to-rem));
  height: calc(36.8 * var(--to-rem));
  margin-top: calc(-18.4 * var(--to-rem));
  margin-left: calc(-224 * var(--to-rem));
  content: "";
  background-color: var(--color-amber);
  transform: rotate(-34.47deg);
}

.c-linkCard__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1;
  gap: calc(17.6 * var(--to-rem));
  align-items: center;
  height: calc(88 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .c-linkCard__inner {
    gap: calc(14 * var(--to-rem));
    height: calc(72 * var(--to-rem));
  }
}

.c-linkCard__icon {
  display: block;
  flex-shrink: 0;
  width: calc(88 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .c-linkCard__icon {
    width: calc(72 * var(--to-rem));
  }
}

.c-linkCard__icon img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}

.c-linkCard__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: calc(6.4 * var(--to-rem));
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .c-linkCard__body {
    gap: calc(4 * var(--to-rem));
  }
}

.c-linkCard__title {
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4;
  color: var(--color-gray-text);
}

.c-linkCard__desc {
  font-size: calc(15 * var(--to-rem));
  line-height: 1.4;
  color: var(--color-brown);
}

@media screen and (max-width: 767px) {
  .c-linkCard__desc--accent {
    color: var(--color-tomato);
  }
}

@media screen and (max-width: 767px) {
  .c-linkCard__desc--small {
    font-size: calc(14 * var(--to-rem));
  }
}

.c-linkCard__badge {
  align-self: flex-start;
  padding-block: calc(4 * var(--to-rem));
  padding-inline: calc(9.6 * var(--to-rem));
  font-size: calc(14 * var(--to-rem));
  line-height: 1.4;
  color: var(--color-brown);
  background-color: var(--color-bg-cream2);
  border-radius: calc(16 * var(--to-rem));
}

.c-linkCard__arrow {
  display: block;
  flex-shrink: 0;
  width: calc(33.6 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .c-linkCard__arrow {
    width: calc(32 * var(--to-rem));
  }
}

.c-linkCard__arrow img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}

.l-tachikawaShop .c-linkCard {
  box-shadow: calc(4 * var(--to-rem)) calc(4 * var(--to-rem)) 0 var(--color-green-btn-shadow);
}

.l-tachikawaShop .c-linkCard:focus-visible::after {
  border-color: var(--color-green-mid);
}

@media (hover: hover) {
  /* `.l-tachikawaShop .c-linkCard` のベタ影と同詳細度なので、ホバー側でも影を明示して上書きする */
  .l-tachikawaShop .c-linkCard:hover {
    box-shadow: var(--shadow-card-hover);
  }
  .l-tachikawaShop .c-linkCard:hover::after {
    border-color: var(--color-green-mid);
  }
}
.l-tachikawaShop .c-linkCard::before {
  top: calc(5.09 * var(--to-rem));
  left: calc(26.7 * var(--to-rem));
  width: calc(112.29 * var(--to-rem));
  height: calc(36.79 * var(--to-rem));
  margin-top: calc(-18.395 * var(--to-rem));
  margin-left: calc(-56.145 * var(--to-rem));
  background-color: var(--color-green-mid);
}

.l-tachikawaShop .c-linkCard__body {
  gap: calc(6 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawaShop .c-linkCard__body {
    gap: calc(4 * var(--to-rem));
  }
}

.l-tachikawaShop .c-linkCard__desc {
  color: var(--color-green-dark);
}
@media screen and (max-width: 767px) {
  .l-tachikawaShop .c-linkCard__desc {
    font-size: calc(14 * var(--to-rem));
  }
}

.c-sectionHead {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.c-sectionHead__icon {
  width: calc(80 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .c-sectionHead__icon {
    width: calc(32 * var(--to-rem));
  }
}

.c-sectionHead__row {
  display: flex;
  gap: calc(32 * var(--to-rem));
  align-items: flex-end;
  justify-content: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-sectionHead__row {
    gap: calc(9.7085 * var(--to-rem));
  }
}

.c-sectionHead__deco {
  display: block;
  flex: none;
  width: calc(68 * var(--to-rem));
  height: auto;
  aspect-ratio: 68/34;
  margin-bottom: calc(-1.5 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .c-sectionHead__deco {
    width: calc(24.8638 * var(--to-rem));
    margin-bottom: calc(-0.6 * var(--to-rem));
  }
}

.c-sectionHead__deco img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 68/34;
}

.c-sectionHead__deco--left {
  margin-left: calc(-1.5 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .c-sectionHead__deco--left {
    margin-left: calc(-0.6 * var(--to-rem));
  }
}

.c-sectionHead__deco--right {
  margin-right: calc(-1.5 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .c-sectionHead__deco--right {
    margin-right: calc(-0.6 * var(--to-rem));
  }
}

.c-sectionHead__deco--lines {
  width: calc(65 * var(--to-rem));
  margin-bottom: 0;
}

.c-sectionHead__deco--lines.c-sectionHead__deco--left {
  margin-left: 0;
}

.c-sectionHead__deco--lines.c-sectionHead__deco--right {
  margin-right: 0;
  transform: rotate(180deg);
}

.c-sectionHead__text {
  display: flex;
  flex-direction: column;
  gap: calc(10 * var(--to-rem));
  align-items: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-sectionHead__text {
    gap: calc(8 * var(--to-rem));
  }
}

.c-sectionHead__en {
  font-family: var(--oswald-font);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 2.25;
  color: var(--color-amber);
  text-transform: uppercase;
  letter-spacing: 0.1875em;
}
@media screen and (max-width: 767px) {
  .c-sectionHead__en {
    font-family: var(--base-font-family);
    font-weight: var(--fw-bold);
    line-height: 1;
    letter-spacing: 0.0569em;
  }
}

.c-sectionHead__ja {
  font-size: calc(42 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 0.8571;
  color: var(--color-navy);
  text-transform: uppercase;
  letter-spacing: 0.0171em;
}
@media screen and (max-width: 767px) {
  .c-sectionHead__ja {
    font-size: calc(28 * var(--to-rem));
    line-height: 1;
    letter-spacing: 0.0078em;
  }
}

.c-sectionHead--green .c-sectionHead__en {
  color: var(--color-green-mid);
}

.l-tokyotaikukan .p-access {
  padding-block: calc(100 * var(--to-rem));
  padding-inline: calc(155 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-access {
    padding-block: calc(48 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-access__inner {
  display: flex;
  flex-direction: column;
  gap: calc(80 * var(--to-rem));
  align-items: center;
  width: calc(1130 * var(--to-rem));
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-access__inner {
    gap: calc(20 * var(--to-rem));
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-access__head {
    gap: calc(4 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-access__headRow {
  position: relative;
}

.l-tokyotaikukan .p-access__deco {
  position: absolute;
  top: calc(-2.375 * var(--to-rem));
  left: calc(50% - 446.2539 * var(--to-rem));
  display: block;
  width: calc(150.7132 * var(--to-rem));
  aspect-ratio: 150.7132/165.5483;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-access__deco {
    top: calc(-11.2891 * var(--to-rem));
    left: calc(50% - 171 * var(--to-rem));
    width: calc(73.0467 * var(--to-rem));
    aspect-ratio: 73.0467/82.9988;
  }
}

.l-tokyotaikukan .p-access__map {
  width: calc(1130 * var(--to-rem));
  max-width: 100%;
  aspect-ratio: 1130/336.9956;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-access__map {
    width: 100%;
    aspect-ratio: 358/240;
    border-radius: calc(8 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-access__mapFrame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.l-tokyotaikukan .p-access__list {
  width: 100%;
}

.l-tokyotaikukan .p-access__row {
  display: flex;
  gap: calc(12 * var(--to-rem));
  align-items: center;
  width: calc(750 * var(--to-rem));
  max-width: 100%;
  padding-block: calc(8 * var(--to-rem));
  padding-inline: calc(10 * var(--to-rem));
  background-color: var(--color-bg-access-row);
  border-radius: calc(8 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-access__row {
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
    width: 100%;
    height: calc(96 * var(--to-rem));
    padding-block: calc(4 * var(--to-rem));
    padding-inline: calc(8 * var(--to-rem));
    background-color: transparent;
    border: 1px solid var(--color-bg-cream2);
  }
}

.l-tokyotaikukan .p-access__route {
  display: flex;
  align-items: center;
  width: calc(400 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  line-height: 1.5;
  color: var(--color-slate);
  letter-spacing: 0.0562em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-access__route {
    align-items: flex-start;
    width: calc(336 * var(--to-rem));
    max-width: 100%;
    white-space: normal;
  }
}

.l-tokyotaikukan .p-access__route::before {
  flex: none;
  width: calc(7 * var(--to-rem));
  height: calc(7 * var(--to-rem));
  margin-right: calc(3 * var(--to-rem));
  content: "";
  background-color: var(--color-tomato);
  border-radius: 100%;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-access__route::before {
    margin-top: calc(8.5 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-access__rowSub {
  display: flex;
  gap: calc(12 * var(--to-rem));
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-access__rowSub {
    gap: calc(16 * var(--to-rem));
    margin-top: calc(5 * var(--to-rem));
    margin-left: calc(10 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-access__gate {
  width: calc(175 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-slate);
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-access__gate {
    width: calc(100 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-access__time {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: calc(92 * var(--to-rem));
  height: calc(32 * var(--to-rem));
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4667;
  color: var(--color-tomato);
  white-space: nowrap;
  background-color: var(--color-bg-cream2);
  border-radius: calc(16 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-access__time {
    width: calc(90 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
    line-height: 1.5;
    color: var(--color-brown);
  }
}

.l-tokyotaikukan .p-access__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(330 * var(--to-rem));
  height: calc(60 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 2;
  color: var(--color-white);
  letter-spacing: 0.05em;
  background-color: var(--color-tomato);
  border-radius: calc(100 * var(--to-rem));
  box-shadow: 0 calc(1.1059 * var(--to-rem)) 0 rgba(51, 51, 51, 0.03);
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-access__link {
    width: calc(264 * var(--to-rem));
    height: calc(48 * var(--to-rem));
    line-height: 1.6;
    letter-spacing: 0.04em;
    box-shadow: 0 calc(0.8847 * var(--to-rem)) 0 rgba(51, 51, 51, 0.03);
  }
}

.l-tokyotaikukan .p-access__link:hover {
  opacity: 0.7;
}

.l-tokyotaikukan .p-access__linkIcon {
  position: absolute;
  top: calc(20 * var(--to-rem));
  right: calc(20 * var(--to-rem));
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  background-color: var(--color-white);
  border-radius: 100%;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-access__linkIcon {
    top: calc(16 * var(--to-rem));
    right: calc(16 * var(--to-rem));
    width: calc(16 * var(--to-rem));
    height: calc(16 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-access__linkIcon img {
  width: calc(16 * var(--to-rem));
  height: auto;
  aspect-ratio: 16/16;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-access__linkIcon img {
    width: calc(12.8 * var(--to-rem));
  }
}

.l-tachikawa .p-access {
  padding-block: calc(100 * var(--to-rem));
  padding-inline: calc(155 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-access {
    padding-block: calc(48 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
  }
}

.l-tachikawa .p-access__inner {
  display: flex;
  flex-direction: column;
  gap: calc(80 * var(--to-rem));
  width: calc(1130 * var(--to-rem));
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-access__inner {
    gap: calc(20 * var(--to-rem));
  }
}

.l-tachikawa .p-access__head {
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-access__head {
    gap: calc(4 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .l-tachikawa .p-access__head .c-sectionHead__deco--lines {
    width: calc(19.7 * var(--to-rem));
  }
}

.l-tachikawa .p-access__deco {
  position: absolute;
  top: calc(77.6 * var(--to-rem));
  left: calc(118.8 * var(--to-rem));
  display: block;
  width: calc(150.652 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-access__deco {
    top: calc(24.7 * var(--to-rem));
    left: calc(8 * var(--to-rem));
    width: calc(73 * var(--to-rem));
  }
}

.l-tachikawa .p-access__deco img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 150.652/165.588;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-access__deco img {
    aspect-ratio: 73/83;
  }
}

.l-tachikawa .p-access__map {
  width: 100%;
  aspect-ratio: 1130/336.996;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-access__map {
    aspect-ratio: 358/240;
    border-radius: calc(8 * var(--to-rem));
  }
}

.l-tachikawa .p-access__mapFrame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.l-tachikawa .p-access__list {
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--to-rem));
  width: calc(750 * var(--to-rem));
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-access__list {
    gap: 0;
    width: 100%;
  }
}

.l-tachikawa .p-access__row {
  display: flex;
  gap: calc(12 * var(--to-rem));
  align-items: center;
  height: calc(48 * var(--to-rem));
  padding-block: calc(8 * var(--to-rem));
  padding-inline: calc(10 * var(--to-rem));
  border-radius: calc(8 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-access__row {
    flex-direction: column;
    gap: calc(8 * var(--to-rem));
    align-items: stretch;
    height: calc(96 * var(--to-rem));
    padding-block: calc(4 * var(--to-rem));
    padding-inline: calc(8 * var(--to-rem));
    border-bottom: calc(1 * var(--to-rem)) solid var(--color-border-teal);
  }
}

.l-tachikawa .p-access__row:nth-child(odd) {
  background-color: var(--color-bg-row);
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-access__row:nth-child(odd) {
    background-color: transparent;
  }
}

.l-tachikawa .p-access__route {
  display: flex;
  flex: none;
  gap: calc(3 * var(--to-rem));
  align-items: center;
  width: calc(400 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  line-height: 1.5;
  color: var(--color-slate);
  letter-spacing: 0.0563em;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-access__route {
    width: 100%;
    min-height: calc(48 * var(--to-rem));
  }
}

.l-tachikawa .p-access__route::before {
  flex: none;
  width: calc(7 * var(--to-rem));
  height: calc(7 * var(--to-rem));
  content: "";
  background-color: var(--color-teal);
  border-radius: 100%;
}

.l-tachikawa .p-access__rowSub {
  display: contents;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-access__rowSub {
    display: flex;
    align-items: center;
    width: 100%;
  }
}

.l-tachikawa .p-access__gate {
  flex: none;
  width: calc(175 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-slate);
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-access__gate {
    width: auto;
    margin-left: calc(10 * var(--to-rem));
  }
}

.l-tachikawa .p-access__time {
  flex: none;
  padding-block: calc(4 * var(--to-rem));
  padding-inline: calc(12 * var(--to-rem));
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4667;
  color: var(--color-teal-deep);
  text-align: center;
  background-color: var(--color-bg-teal);
  border-radius: calc(16 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-access__time {
    margin-inline: auto calc(8 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
    line-height: 1.5;
  }
}

.l-tachikawa .p-access__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(330 * var(--to-rem));
  max-width: 100%;
  height: calc(60 * var(--to-rem));
  margin-inline: auto;
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 2;
  color: var(--color-white);
  text-align: center;
  letter-spacing: 0.05em;
  background-color: var(--color-green-btn);
  border-radius: calc(100 * var(--to-rem));
  box-shadow: 0 calc(1.106 * var(--to-rem)) 0 rgba(51, 51, 51, 0.03);
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-access__link {
    width: calc(264 * var(--to-rem));
    height: calc(48 * var(--to-rem));
    line-height: 1.6;
    letter-spacing: 0.04em;
    border-radius: calc(80 * var(--to-rem));
    box-shadow: 0 calc(0.885 * var(--to-rem)) 0 rgba(51, 51, 51, 0.03);
  }
}

.l-tachikawa .p-access__link:hover {
  opacity: 0.7;
}

.l-tachikawa .p-access__linkIcon {
  position: absolute;
  top: calc(20 * var(--to-rem));
  right: calc(20 * var(--to-rem));
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  background-color: var(--color-white);
  border-radius: 100%;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-access__linkIcon {
    top: calc(16 * var(--to-rem));
    right: calc(16 * var(--to-rem));
    width: calc(16 * var(--to-rem));
    height: calc(16 * var(--to-rem));
  }
}

.l-tachikawa .p-access__linkIcon img {
  width: calc(16 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-access__linkIcon img {
    width: calc(12.8 * var(--to-rem));
  }
}

.p-breadcrumb {
  padding-block: calc(8 * var(--to-rem));
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-breadcrumb {
    padding: calc(8 * var(--to-rem));
  }
}

.p-breadcrumb__list {
  display: flex;
  gap: calc(24 * var(--to-rem));
  align-items: center;
  width: calc(1095.3684 * var(--to-rem));
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-breadcrumb__list {
    gap: calc(4 * var(--to-rem));
    width: 100%;
  }
}

.p-breadcrumb__item {
  display: flex;
  gap: calc(24 * var(--to-rem));
  align-items: center;
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.9916;
  color: var(--color-gray-dark);
}
@media screen and (max-width: 767px) {
  .p-breadcrumb__item {
    gap: calc(8 * var(--to-rem));
    line-height: 1.2857;
  }
}

@media screen and (max-width: 767px) {
  .p-breadcrumb__item--current {
    line-height: 1;
  }
}

.p-breadcrumb__link {
  text-decoration: underline;
}

.p-breadcrumb__arrow {
  flex-shrink: 0;
  width: calc(5.6 * var(--to-rem));
  height: auto;
  aspect-ratio: 6/8;
}

.p-hero--green .p-breadcrumb {
  padding-block: 0;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-hero--green .p-breadcrumb {
    padding: calc(8 * var(--to-rem));
  }
}

.p-hero--green .p-breadcrumb__list {
  display: flex;
  gap: calc(24 * var(--to-rem));
  align-items: center;
  width: calc(1095.3684 * var(--to-rem));
  max-width: 100%;
  padding-block: calc(8 * var(--to-rem));
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-hero--green .p-breadcrumb__list {
    gap: calc(4 * var(--to-rem));
    width: 100%;
    padding-block: 0;
  }
}

.p-hero--green .p-breadcrumb__item {
  display: flex;
  gap: calc(24 * var(--to-rem));
  align-items: center;
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.9916;
  color: var(--color-gray-dark);
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-hero--green .p-breadcrumb__item {
    gap: calc(8 * var(--to-rem));
    line-height: 1.2857;
  }
}

@media screen and (max-width: 767px) {
  .p-hero--green .p-breadcrumb__item--current {
    line-height: 1;
  }
}

.p-hero--green .p-breadcrumb__link {
  text-decoration: underline;
}

.p-hero--green .p-breadcrumb__arrow {
  flex-shrink: 0;
  width: calc(5.6 * var(--to-rem));
  height: auto;
  aspect-ratio: 6/8;
}

.p-caravan {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(60 * var(--to-rem));
  align-items: center;
  padding-block: 0 calc(80 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-caravan {
    gap: calc(18 * var(--to-rem));
    width: calc(390 * var(--to-rem));
    max-width: 100%;
    padding-block: calc(48 * var(--to-rem));
    padding-inline: calc(20 * var(--to-rem));
    margin-inline: auto;
  }
}

.p-caravan__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: calc(80 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-caravan__head {
    align-self: flex-start;
    width: calc(273 * var(--to-rem));
    max-width: 100%;
    padding-top: 0;
  }
}

.p-caravan__headIcon {
  display: block;
  width: calc(84.954 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-caravan__headIcon {
    width: calc(32 * var(--to-rem));
  }
}

.p-caravan__headIcon img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}

.p-caravan__headTitle {
  font-size: calc(40 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 0.919;
  color: var(--color-brown);
}
@media screen and (max-width: 767px) {
  .p-caravan__headTitle {
    font-size: calc(28 * var(--to-rem));
    line-height: 1.45;
    text-align: center;
  }
}

.p-caravan__card {
  width: 100%;
  box-shadow: 0 0 calc(10 * var(--to-rem)) rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .p-caravan__card {
    width: calc(358 * var(--to-rem));
    max-width: none;
    height: calc(100 * var(--to-rem));
    overflow: hidden;
    border: calc(1.5 * var(--to-rem)) solid var(--color-border-table);
    border-radius: calc(12 * var(--to-rem));
    box-shadow: none;
  }
}

.p-caravan__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: calc(39.8316 * var(--to-rem));
  padding-inline: calc(11.2135 * var(--to-rem));
  background-color: var(--color-bg-offwhite);
  border-radius: 0 0 calc(20 * var(--to-rem)) calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-caravan__body {
    position: relative;
    height: calc(48 * var(--to-rem));
    padding-block: calc(12 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
    overflow: hidden;
    background-color: var(--color-white);
    border-radius: 0;
  }
}

.p-caravan__soon {
  font-size: calc(40 * var(--to-rem));
  line-height: 1.7;
  color: var(--color-tomato);
}
@media screen and (max-width: 767px) {
  .p-caravan__soon {
    position: absolute;
    top: calc(3 * var(--to-rem));
    left: calc(107 * var(--to-rem));
    font-size: calc(24 * var(--to-rem));
  }
}

.p-caravan__susie {
  position: absolute;
  top: calc(80.055 * var(--to-rem));
  left: calc(851 * var(--to-rem));
  display: block;
  width: calc(213.2963 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-caravan__susie {
    top: calc(96.724 * var(--to-rem));
    right: calc(8.633 * var(--to-rem));
    left: auto;
    width: calc(108.3673 * var(--to-rem));
  }
}

.p-caravan__susie img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 213.2963/175.7431;
}
@media screen and (max-width: 767px) {
  .p-caravan__susie img {
    aspect-ratio: 108.3673/89.2892;
  }
}

.p-comingSoon {
  position: relative;
  padding-block: calc(120 * var(--to-rem)) calc(100 * var(--to-rem));
  padding-inline: calc(170 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-comingSoon {
    padding-block: calc(85 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
  }
}

.p-comingSoon::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  content: "";
  background-image: url("../images/common/bg-dot.png");
  background-repeat: repeat;
  background-position: calc(22 * var(--to-rem)) calc(20 * var(--to-rem));
  background-size: calc(24 * var(--to-rem)) calc(24 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-comingSoon::before {
    background-position: calc(1 * var(--to-rem)) calc(16 * var(--to-rem));
  }
}

.p-comingSoon__cloud {
  position: absolute;
  z-index: 2;
  width: calc(153 * var(--to-rem));
  height: auto;
  aspect-ratio: 153/65;
}
@media screen and (max-width: 767px) {
  .p-comingSoon__cloud {
    display: none;
  }
}

.p-comingSoon__cloud--top {
  top: calc(39 * var(--to-rem));
  left: calc(44 * var(--to-rem));
}

.p-comingSoon__cloud--bottom {
  bottom: calc(-54 * var(--to-rem));
  left: calc(55 * var(--to-rem));
}

.p-comingSoon__card {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: calc(60 * var(--to-rem));
  align-items: center;
  width: calc(1100 * var(--to-rem));
  max-width: 100%;
  min-height: calc(303 * var(--to-rem));
  padding-block: 0 calc(71 * var(--to-rem));
  margin-inline: auto;
  background-color: var(--color-white);
  border-radius: calc(10 * var(--to-rem));
  box-shadow: inset 0 0 0 calc(2 * var(--to-rem)) var(--color-pink);
}
@media screen and (max-width: 767px) {
  .p-comingSoon__card {
    gap: calc(20 * var(--to-rem));
    min-height: calc(153 * var(--to-rem));
    padding-block: 0 calc(54 * var(--to-rem));
    border-radius: calc(3.5455 * var(--to-rem));
    box-shadow: inset 0 0 0 calc(0.7091 * var(--to-rem)) var(--color-pink);
  }
}

.p-comingSoon__bar {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  align-self: stretch;
  justify-content: center;
  height: calc(52 * var(--to-rem));
  background-color: var(--color-pink);
  border-radius: calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) 0 0;
}
@media screen and (max-width: 767px) {
  .p-comingSoon__bar {
    height: calc(36 * var(--to-rem));
    border-radius: calc(3.5455 * var(--to-rem)) calc(3.5455 * var(--to-rem)) 0 0;
  }
}

.p-comingSoon__barInner {
  display: flex;
  align-items: center;
}

.p-comingSoon__barIcon {
  flex: none;
  width: calc(43 * var(--to-rem));
  height: auto;
  aspect-ratio: 43/36;
}
@media screen and (max-width: 767px) {
  .p-comingSoon__barIcon {
    width: calc(15.245 * var(--to-rem));
  }
}

.p-comingSoon__barText {
  font-size: calc(40 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 0.9;
  color: var(--color-white);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.018em;
}
@media screen and (max-width: 767px) {
  .p-comingSoon__barText {
    font-size: calc(14.1818 * var(--to-rem));
  }
}

.p-comingSoon__lead {
  font-size: calc(40 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-rose);
  text-align: center;
  letter-spacing: 0.018em;
}
@media screen and (max-width: 767px) {
  .p-comingSoon__lead {
    font-size: calc(20 * var(--to-rem));
    line-height: 1.0636;
    letter-spacing: 0.0128em;
  }
}

.p-comingSoon__susie {
  position: absolute;
  z-index: 2;
  display: block;
}

.p-comingSoon__susie img {
  display: block;
  width: 100%;
  height: auto;
}

.p-comingSoon__susie--left {
  top: calc(78 * var(--to-rem));
  left: calc(48 * var(--to-rem));
  width: calc(140.6695 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-comingSoon__susie--left {
    top: calc(45 * var(--to-rem));
    left: calc(4 * var(--to-rem));
    width: calc(70.3347 * var(--to-rem));
  }
}

.p-comingSoon__susie--left img {
  aspect-ratio: 140.6695/198.2921;
}

.p-comingSoon__susie--right {
  top: calc(-51 * var(--to-rem));
  right: calc(45.7834 * var(--to-rem));
  width: calc(144.2166 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-comingSoon__susie--right {
    top: calc(-26.65 * var(--to-rem));
    right: calc(2.31 * var(--to-rem));
    width: calc(72.1083 * var(--to-rem));
  }
}

.p-comingSoon__susie--right img {
  aspect-ratio: 144.2166/117.631;
}

.l-tokyotaikukan .p-contents,
.l-tachikawa .p-contents {
  position: relative;
  z-index: 1;
  padding-bottom: calc(120 * var(--to-rem));
  margin-top: calc(-60 * var(--to-rem));
  background-image: url("../images/common/bg-tile.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
  border-radius: calc(60 * var(--to-rem)) calc(60 * var(--to-rem)) 0 0;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents,
  .l-tachikawa .p-contents {
    padding-block: calc(32 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
    margin-top: 0;
    overflow: hidden;
    background-color: var(--color-white);
    background-image: none;
    border-radius: 0;
  }
}

@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents::before,
  .l-tachikawa .p-contents::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    content: "";
    background-image: url("../images/common/bg-tile.png");
    background-repeat: repeat-y;
    background-position: left top;
    background-size: max(475.2 * var(--to-rem), 100%) auto;
    opacity: 0.5;
  }
}

.l-tokyotaikukan .p-contents__inner,
.l-tachikawa .p-contents__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: calc(60 * var(--to-rem));
  width: calc(1080 * var(--to-rem));
  max-width: 100%;
  padding-top: calc(100 * var(--to-rem));
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__inner,
  .l-tachikawa .p-contents__inner {
    gap: calc(20 * var(--to-rem));
    width: 100%;
    padding-top: 0;
  }
}

.l-tokyotaikukan .p-contents__head,
.l-tachikawa .p-contents__head {
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__head,
  .l-tachikawa .p-contents__head {
    gap: calc(4 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__headRow,
  .l-tachikawa .p-contents__headRow {
    gap: calc(10.6074 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__headRow .c-sectionHead__deco,
  .l-tachikawa .p-contents__headRow .c-sectionHead__deco {
    width: calc(21.5463 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__head .c-sectionHead__text,
  .l-tachikawa .p-contents__head .c-sectionHead__text {
    gap: calc(3.3148 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__head .c-sectionHead__en,
  .l-tachikawa .p-contents__head .c-sectionHead__en {
    line-height: 1.5;
    letter-spacing: 0.0622em;
  }
}

@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__head .c-sectionHead__ja,
  .l-tachikawa .p-contents__head .c-sectionHead__ja {
    line-height: 0.8571;
    letter-spacing: 0.0086em;
  }
}

.l-tokyotaikukan .p-contents__list,
.l-tachikawa .p-contents__list {
  display: flex;
  gap: calc(24 * var(--to-rem));
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__list,
  .l-tachikawa .p-contents__list {
    flex-direction: column;
    gap: calc(20 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-contents__item,
.l-tachikawa .p-contents__item {
  flex: none;
  width: calc(417.1719 * var(--to-rem));
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__item,
  .l-tachikawa .p-contents__item {
    width: 100%;
  }
}

.l-tokyotaikukan .p-contents__card,
.l-tachikawa .p-contents__card {
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
  background-color: var(--color-white);
  border-radius: calc(10 * var(--to-rem));
  box-shadow: 0 calc(5 * var(--to-rem)) 0 rgba(51, 51, 51, 0.15);
  transition: box-shadow var(--duration), transform var(--duration);
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__card,
  .l-tachikawa .p-contents__card {
    width: calc(358.5104 * var(--to-rem));
    max-width: 100%;
    margin-inline: auto;
    border-radius: calc(8.5816 * var(--to-rem));
    box-shadow: 0 calc(4.2908 * var(--to-rem)) 0 rgba(51, 51, 51, 0.15);
  }
}

@media (hover: hover) {
  .l-tokyotaikukan .p-contents__card:hover,
  .l-tachikawa .p-contents__card:hover {
    transform: translateY(calc(5 * var(--to-rem)));
  }
}
@media screen and (hover: hover) and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__card:hover,
  .l-tachikawa .p-contents__card:hover {
    transform: translateY(calc(4.2908 * var(--to-rem)));
  }
}
@media (hover: hover) {
  .l-tokyotaikukan .p-contents__card:hover {
    box-shadow: 0 0 0 calc(4 * var(--to-rem)) var(--color-amber), var(--shadow-card-hover);
  }
  .l-tachikawa .p-contents__card:hover {
    box-shadow: 0 0 0 calc(4 * var(--to-rem)) var(--color-green-mid), var(--shadow-card-hover);
  }
}
.l-tokyotaikukan .p-contents__cardImage,
.l-tachikawa .p-contents__cardImage {
  width: calc(417.1406 * var(--to-rem));
  max-width: 100%;
  aspect-ratio: 417.1406/277.6875;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__cardImage,
  .l-tachikawa .p-contents__cardImage {
    width: calc(357.9732 * var(--to-rem));
    aspect-ratio: 357.9732/238.3002;
  }
}

.l-tokyotaikukan .p-contents__cardImage img,
.l-tachikawa .p-contents__cardImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.l-tokyotaikukan .p-contents__cardBody,
.l-tachikawa .p-contents__cardBody {
  display: flex;
  align-items: center;
  padding-block: calc(16 * var(--to-rem));
  padding-inline: calc(16 * var(--to-rem)) calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__cardBody,
  .l-tachikawa .p-contents__cardBody {
    padding-block: calc(13.7306 * var(--to-rem));
    padding-inline: calc(13.7306 * var(--to-rem)) calc(8.5816 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-contents__cardIcon,
.l-tachikawa .p-contents__cardIcon {
  display: block;
  flex: none;
  width: calc(60 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
  margin-right: calc(8 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__cardIcon,
  .l-tachikawa .p-contents__cardIcon {
    width: calc(52 * var(--to-rem));
    margin-right: calc(6.8653 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-contents__cardTitle,
.l-tachikawa .p-contents__cardTitle {
  flex: 1;
  padding-block: calc(8 * var(--to-rem)) calc(10 * var(--to-rem));
  font-size: calc(19.5 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4;
  color: var(--color-gray-dark);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__cardTitle,
  .l-tachikawa .p-contents__cardTitle {
    padding-block: calc(6.8653 * var(--to-rem)) calc(8.5816 * var(--to-rem));
    font-size: calc(17 * var(--to-rem));
    line-height: 1.4118;
    letter-spacing: 0.0492em;
  }
}

.l-tokyotaikukan .p-contents__cardArrow,
.l-tachikawa .p-contents__cardArrow {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: calc(28 * var(--to-rem));
  height: calc(28 * var(--to-rem));
  background-color: var(--color-amber);
  border-radius: 100%;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__cardArrow,
  .l-tachikawa .p-contents__cardArrow {
    width: calc(24.0285 * var(--to-rem));
    height: calc(24.0285 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-contents__cardArrow img {
  width: calc(16 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__cardArrow img {
    width: calc(13.7306 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-contents__deco {
  position: absolute;
  top: calc(41.3204 * var(--to-rem));
  left: calc(68 * var(--to-rem));
  display: block;
  width: calc(174.8598 * var(--to-rem));
  aspect-ratio: 174.8598/160.9399;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__deco {
    top: calc(27.6875 * var(--to-rem));
    left: calc(50% - 172 * var(--to-rem));
    width: calc(69.947 * var(--to-rem));
    aspect-ratio: 69.947/68.9146;
  }
}

.l-tokyotaikukan .p-contents__inner {
  width: 100%;
}

.l-tokyotaikukan .p-contents__head {
  width: calc(1080 * var(--to-rem));
  max-width: 100%;
  margin-inline: auto;
}

.l-tokyotaikukan .p-contents__list {
  width: min(1299.5156 * var(--to-rem), 90.2441%);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__list {
    width: 100%;
  }
}

.l-tokyotaikukan .p-contents__item {
  flex-shrink: 1;
  min-width: 0;
}

.l-tokyotaikukan .p-contents__card {
  container-type: inline-size;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__card {
    aspect-ratio: 358/316.7991;
  }
}

.l-tokyotaikukan .p-contents__cardImage {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__cardImage {
    aspect-ratio: 358/237.9609;
  }
}

.l-tokyotaikukan .p-contents__cardImage--special {
  position: relative;
}

.l-tokyotaikukan .p-contents__cardBadge {
  position: absolute;
  top: 25.8887cqw;
  left: 5.7529cqw;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 87.7322cqw;
  height: 14.6222cqw;
  padding-left: 4.7942cqw;
  font-size: 4.7942cqw;
  font-weight: var(--fw-bold);
  line-height: 0.9;
  color: var(--color-white);
  text-align: center;
  letter-spacing: 0.0488em;
  white-space: nowrap;
  background-color: var(--color-amber);
  border: 0.2397cqw solid var(--color-white);
  border-radius: 1.9177cqw;
  box-shadow: 0 0 2.3971cqw rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__cardBadge {
    left: 5.9951cqw;
    padding-left: 0;
  }
}

.l-tokyotaikukan .p-contents__cardBody {
  padding-block: 3.8353cqw;
  padding-inline: 3.8353cqw 2.3971cqw;
}

.l-tokyotaikukan .p-contents__cardIcon {
  width: 14.3826cqw;
  margin-right: 1.9177cqw;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__cardIcon {
    width: 14.5251cqw;
  }
}

.l-tokyotaikukan .p-contents__cardTitle {
  padding-block: 1.9177cqw 2.3971cqw;
  font-size: 4.6743cqw;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-contents__cardTitle {
    font-size: 4.7486cqw;
  }
}

.l-tokyotaikukan .p-contents__cardArrow {
  width: 6.7118cqw;
  height: 6.7118cqw;
}

.l-tokyotaikukan .p-contents__cardArrow img {
  width: 3.8353cqw;
}

.l-tachikawa .p-contents {
  padding-top: calc(120 * var(--to-rem));
  overflow: hidden;
  background-image: url("../images/tachikawa/bg-tile.png");
  background-repeat: repeat-y;
  background-position: center top;
  background-size: 100% auto;
  border-radius: 0;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-contents {
    padding-block: calc(32 * var(--to-rem));
    background-color: transparent;
    background-image: url("../images/tachikawa/bg-tile.png");
    background-repeat: repeat-y;
    background-position: 0 0;
    background-size: 121.8462% auto;
  }
}

@media screen and (max-width: 767px) {
  .l-tachikawa .p-contents::before {
    content: none;
  }
}

.l-tachikawa .p-contents__item {
  width: calc(429.172 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-contents__item {
    width: 100%;
  }
}

.l-tachikawa .p-contents__card {
  display: block;
  height: calc(369.688 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-contents__card {
    width: calc(358 * var(--to-rem));
    height: calc(317.3 * var(--to-rem));
  }
}

.l-tachikawa .p-contents__cardImage {
  width: calc(429.11 * var(--to-rem));
  aspect-ratio: auto;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-contents__cardImage {
    width: calc(358 * var(--to-rem));
  }
}

.l-tachikawa .p-contents__cardImage picture {
  display: block;
}

.l-tachikawa .p-contents__cardImage img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 429.11/277.688;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-contents__cardImage img {
    aspect-ratio: 358/238.3;
  }
}

.l-tachikawa .p-contents__cardIcon {
  width: calc(72 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-contents__cardIcon {
    width: calc(52 * var(--to-rem));
    margin-right: calc(6.87 * var(--to-rem));
  }
}

.l-tachikawa .p-contents__cardTitle {
  padding-block: 0;
  letter-spacing: 0.0503em;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-contents__cardTitle {
    padding-block: 0;
    font-size: calc(16.73 * var(--to-rem));
    line-height: 1.4345;
    letter-spacing: 0.0502em;
  }
}

.l-tachikawa .p-contents__cardArrow {
  display: block;
  width: calc(28 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
  background-color: transparent;
  border-radius: 0;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-contents__cardArrow {
    width: calc(24 * var(--to-rem));
    height: auto;
  }
}

.l-tachikawa .p-contents__deco {
  position: absolute;
  top: calc(241.6 * var(--to-rem));
  left: calc(50% - 422.6 * var(--to-rem));
  z-index: 1;
  display: block;
  width: calc(209.833 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-contents__deco {
    top: calc(59.7 * var(--to-rem));
    left: calc(50% - 172 * var(--to-rem));
    width: calc(70 * var(--to-rem));
  }
}

.l-tachikawa .p-contents__deco img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 209.833/193.128;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-contents__deco img {
    aspect-ratio: 70/68.9;
  }
}

.l-spProgram .p-contents {
  position: relative;
  overflow: hidden;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .l-spProgram .p-contents {
    padding-block: 0;
  }
}

.l-spProgram .p-contents::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  content: "";
  background-image: url("../images/common/bg-tile.png");
  background-repeat: repeat-y;
  background-position: center top;
  background-size: 100% auto;
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .l-spProgram .p-contents::before {
    background-image: url("../images/tokyotaikukan/sp_program/contents-bg-sp.png");
    background-repeat: repeat-y;
    background-position: left calc(-186.075 * var(--to-rem));
    background-size: max(100%, 432 * var(--to-rem)) auto;
  }
}

.l-spProgram .p-contents__inner {
  position: relative;
  z-index: 1;
  width: calc(1095.3684 * var(--to-rem));
  max-width: 100%;
  padding-block: 0 calc(100 * var(--to-rem));
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-spProgram .p-contents__inner {
    width: 100%;
    padding-block: 0;
  }
}

.p-drawer {
  display: none;
}
@media screen and (max-width: 1023px) {
  .p-drawer {
    position: fixed;
    inset: calc(80 * var(--to-rem)) 0 0;
    z-index: calc(var(--z-index-header) - 1);
    overflow-y: auto;
    background-color: var(--color-bg-drawer);
    opacity: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-drawer {
    inset: calc(64 * var(--to-rem)) 0 0;
  }
}

.p-drawer__list {
  list-style: none;
}

.p-drawer__item {
  --drawer-panel-bg: var(--color-bg-panel-green);
  position: relative;
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-border-drawer);
}

.p-drawer__item--home {
  --drawer-accent: var(--color-orange-light);
  --drawer-toggle: var(--color-amber);
}

.p-drawer__item--tachikawa {
  --drawer-accent: var(--color-green-bright);
  --drawer-toggle: var(--color-green-bright);
  --drawer-panel-bg: var(--color-bg-panel-green);
  --drawer-sub-hover-bg: var(--color-bg-nav-tachikawa);
  --drawer-sub-hover-color: var(--color-green-dark);
}

.p-drawer__item--tokyotaikukan {
  --drawer-accent: var(--color-tomato);
  --drawer-toggle: var(--color-amber);
  --drawer-panel-bg: var(--color-bg-panel-orange);
  --drawer-sub-hover-bg: var(--color-bg-cream2);
  --drawer-sub-hover-color: var(--color-brown);
}

.p-drawer__item--komazawa {
  --drawer-accent: var(--color-pink);
  --drawer-toggle: var(--color-red-bright);
}

.p-drawer__item::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: calc(4 * var(--to-rem));
  content: "";
  background-color: var(--drawer-accent);
}

.p-drawer__item--tachikawa::before,
.p-drawer__item--tokyotaikukan::before {
  bottom: auto;
  height: calc(86 * var(--to-rem));
}

.p-drawer__row {
  display: flex;
  gap: calc(8 * var(--to-rem));
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: calc(86 * var(--to-rem));
  padding-inline: calc(22 * var(--to-rem)) calc(18 * var(--to-rem));
  text-align: left;
  text-decoration: none;
  background-color: transparent;
  border: 0;
}

.p-drawer__item--home .p-drawer__row {
  min-height: calc(74 * var(--to-rem));
}

.p-drawer__label {
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-gray-dark);
}

.p-drawer__icon {
  flex: none;
  width: calc(24 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}

.p-drawer__toggle {
  position: relative;
  flex: none;
  width: calc(24 * var(--to-rem));
  height: calc(24 * var(--to-rem));
}

.p-drawer__toggle::before,
.p-drawer__toggle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(12 * var(--to-rem));
  height: calc(2.2 * var(--to-rem));
  content: "";
  background-color: var(--drawer-toggle);
  border-radius: calc(1.1 * var(--to-rem));
  transition: transform var(--duration);
  transform: translate(-50%, -50%);
}

.p-drawer__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.js-drawerAccordion.is-open .p-drawer__toggle::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.p-drawer__panel {
  display: none;
  padding: calc(12 * var(--to-rem)) calc(16 * var(--to-rem)) calc(16 * var(--to-rem));
  background-color: var(--drawer-panel-bg);
}

.p-drawer__panelHead {
  display: flex;
  gap: calc(8 * var(--to-rem));
  align-items: center;
  justify-content: space-between;
  min-height: calc(46 * var(--to-rem));
  margin-bottom: calc(10 * var(--to-rem));
  text-decoration: none;
  transition: opacity var(--duration);
}

.p-drawer__panelHead:focus-visible {
  opacity: 0.7;
}

@media (hover: hover) {
  .p-drawer__panelHead:hover {
    opacity: 0.7;
  }
}
.p-drawer__panelTitle {
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4666666667;
  color: var(--color-gray-dark);
}

.p-drawer__panelArrow {
  flex: none;
  width: calc(24 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}

.p-drawer__subList {
  overflow: hidden;
  list-style: none;
  background-color: var(--color-white);
  border-radius: calc(6 * var(--to-rem));
}

.p-drawer__subItem + .p-drawer__subItem .p-drawer__subLink {
  border-top: 1px solid var(--color-border-sub);
}

.p-drawer__subLink {
  display: flex;
  gap: calc(12 * var(--to-rem));
  align-items: center;
  min-height: calc(58 * var(--to-rem));
  padding-inline: calc(14 * var(--to-rem));
  text-decoration: none;
  transition: background-color var(--duration);
}

.p-drawer__subLink:focus-visible {
  background-color: var(--drawer-sub-hover-bg);
}

.p-drawer__subLink:focus-visible .p-drawer__subLabel {
  color: var(--drawer-sub-hover-color);
}

@media (hover: hover) {
  .p-drawer__subLink:hover {
    background-color: var(--drawer-sub-hover-bg);
  }
  .p-drawer__subLink:hover .p-drawer__subLabel {
    color: var(--drawer-sub-hover-color);
  }
}
.p-drawer__subIcon {
  flex: none;
  width: calc(32 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}

.p-drawer__subLabel {
  flex: 1;
  min-width: 0;
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.6;
  color: var(--color-gray-dark);
  transition: color var(--duration);
}

.p-drawer__subChevron {
  flex: none;
  width: calc(18 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}

.p-event {
  position: relative;
  z-index: 1;
  max-width: calc(1440 * var(--to-rem));
  margin-inline: auto;
  margin-top: calc(-73 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-event {
    margin-top: 0;
  }
}

.p-event__item {
  --event-title-pt: calc(88 * var(--to-rem));
  --event-title-pb: calc(10.8 * var(--to-rem));
  --event-inner-pb: calc(97 * var(--to-rem));
  --event-title-size-sp: calc(32 * var(--to-rem));
  --event-rays-size-sp: 100% 100%;
  --event-rays-pos-sp: center top;
  --event-tile-pos-sp: 0 0;
  --event-info-row-gap-sp: calc(29 * var(--to-rem));
  position: relative;
  min-height: var(--event-block-height);
  overflow: hidden;
  background-color: var(--event-bg);
  background-repeat: no-repeat, repeat-y;
  background-position: center top, center top;
  background-size: calc(1444.4 * var(--to-rem)) auto, calc(1456 * var(--to-rem)) calc(1031 * var(--to-rem));
  border-radius: calc(60 * var(--to-rem)) calc(60 * var(--to-rem)) 0 0;
}
@media screen and (max-width: 767px) {
  .p-event__item {
    min-height: 0;
    background-color: transparent;
    background-image: none;
    border-radius: calc(20 * var(--to-rem)) calc(20 * var(--to-rem)) 0 0;
  }
}

.p-event__item + .p-event__item {
  margin-top: calc(-50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-event__item + .p-event__item {
    margin-top: calc(-20 * var(--to-rem));
  }
}

.p-event__item--tachikawa {
  --event-bg: var(--color-bg-green);
  --event-color: var(--color-green-deep);
  --event-label: var(--color-green-mid);
  --event-stroke: var(--color-green-dark);
  --event-tile: url("../images/top/event-tile-sp-a.png");
  --event-rays-sp: url("../images/top/event-rays-sp-01.png");
  --event-block-height: calc(994 * var(--to-rem));
  --event-banner-ratio-sp: 310 / 130;
  --event-detail-width-sp: calc(218 * var(--to-rem));
  --event-title-height-sp: calc(150 * var(--to-rem));
  background-image: url("../images/top/event-rays-01.png"), url("../images/top/event-tile-a.png");
}

.p-event__item--tokyotaikukan {
  --event-bg: var(--color-bg-blue);
  --event-color: var(--color-tomato);
  --event-label: var(--color-brown);
  --event-stroke: var(--color-brown);
  --event-tile: url("../images/top/event-tile-b.png");
  --event-rays-sp: url("../images/top/event-rays-sp-02.png");
  --event-block-height: calc(994 * var(--to-rem));
  --event-banner-ratio-sp: 310 / 130;
  --event-detail-width-sp: calc(218 * var(--to-rem));
  --event-title-height-sp: calc(150 * var(--to-rem));
  --event-rays-size-sp: 100% calc(166.5 * var(--to-rem));
  --event-rays-pos-sp: 50% calc(-8.25 * var(--to-rem));
  --event-tile-pos-sp: 0 calc(-150 * var(--to-rem));
  --event-info-row-gap-sp: calc(22 * var(--to-rem));
  background-image: url("../images/top/event-rays-02.png"), url("../images/top/event-tile-b.png");
  background-size: calc(1444.4 * var(--to-rem)) auto, calc(1440 * var(--to-rem)) calc(800 * var(--to-rem));
}

.p-event__item--komazawa {
  --event-bg: var(--color-bg-red);
  --event-color: var(--color-rose);
  --event-label: var(--color-rose);
  --event-stroke: var(--color-red-deep);
  --event-tile: url("../images/top/event-tile-sp-c.png");
  --event-rays-sp: url("../images/top/event-rays-sp-03.png");
  --event-title-pt: calc(100 * var(--to-rem));
  --event-title-pb: calc(10.5 * var(--to-rem));
  --event-inner-pb: calc(100 * var(--to-rem));
  --event-title-size-sp: calc(24 * var(--to-rem));
  --event-block-height: calc(1009 * var(--to-rem));
  --event-banner-ratio-sp: 310 / 129.818;
  --event-detail-width-sp: calc(236 * var(--to-rem));
  --event-title-height-sp: calc(171 * var(--to-rem));
  --event-tile-pos-sp: 0 calc(-171 * var(--to-rem));
  --event-info-row-gap-sp: calc(30 * var(--to-rem));
  background-image: url("../images/top/event-rays-03.png"), url("../images/top/event-tile-a.png");
}

.p-event__title {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  padding-inline: calc(20 * var(--to-rem));
  padding-top: var(--event-title-pt);
  padding-bottom: var(--event-title-pb);
  font-size: calc(42 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.2;
  color: var(--color-white);
  text-align: left;
  text-shadow: 0 0 calc(5 * var(--to-rem)) rgba(0, 0, 0, 0.2);
  paint-order: stroke fill;
  -webkit-text-stroke: calc(12 * var(--to-rem)) var(--event-stroke);
}
@media screen and (max-width: 767px) {
  .p-event__title {
    align-items: center;
    min-height: var(--event-title-height-sp);
    padding-block: 0;
    padding-inline: calc(16 * var(--to-rem));
    font-size: var(--event-title-size-sp);
    line-height: 1.25;
    text-align: center;
    text-shadow: none;
    background-image: var(--event-rays-sp);
    background-repeat: no-repeat;
    background-position: var(--event-rays-pos-sp);
    background-size: var(--event-rays-size-sp);
    border-radius: calc(20 * var(--to-rem)) calc(20 * var(--to-rem)) 0 0;
    -webkit-text-stroke-width: calc(6 * var(--to-rem));
  }
}

.p-event__titleText {
  display: block;
}

.p-event__titleVenue {
  display: inline-block;
  font-size: calc(54 * var(--to-rem));
  vertical-align: baseline;
}
@media screen and (max-width: 767px) {
  .p-event__titleVenue {
    display: inline;
    font-size: calc(32 * var(--to-rem));
  }
}

.p-event__titleVenue--multiline {
  display: block;
  margin-top: calc(8.5 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-event__titleVenue--multiline {
    display: block;
    margin-top: 0;
  }
}

.p-event__inner {
  display: flex;
  flex-direction: column;
  gap: calc(120 * var(--to-rem));
  align-items: center;
  max-width: calc(1230 * var(--to-rem));
  padding-inline: calc(20 * var(--to-rem));
  padding-top: calc(120 * var(--to-rem));
  padding-bottom: var(--event-inner-pb);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-event__inner {
    gap: calc(48 * var(--to-rem));
    max-width: 100%;
    padding-inline: calc(16 * var(--to-rem));
    padding-top: calc(48 * var(--to-rem));
    padding-bottom: calc(160 * var(--to-rem));
    background-image: var(--event-tile);
    background-repeat: repeat;
    background-position: var(--event-tile-pos-sp);
    background-size: calc(1440 * var(--to-rem)) calc(800 * var(--to-rem));
  }
}

.p-event__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--to-rem));
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: calc(795 * var(--to-rem));
  min-height: calc(563 * var(--to-rem));
  padding-inline: calc(8 * var(--to-rem));
  padding-top: calc(24 * var(--to-rem));
  padding-bottom: calc(8 * var(--to-rem));
  text-decoration: none;
  background-color: var(--color-white);
  border-radius: calc(20 * var(--to-rem));
  box-shadow: var(--shadow-banner);
  transition: box-shadow var(--duration), transform var(--duration);
}
@media screen and (max-width: 767px) {
  .p-event__card {
    gap: calc(12 * var(--to-rem));
    justify-content: flex-start;
    max-width: calc(342 * var(--to-rem));
    min-height: calc(330 * var(--to-rem));
    padding: calc(16 * var(--to-rem));
    border-radius: calc(14 * var(--to-rem));
    box-shadow: var(--shadow-float);
  }
}

.p-event__card::before {
  position: absolute;
  inset: 0;
  content: "";
  border: calc(3 * var(--to-rem)) solid transparent;
  border-radius: inherit;
  transition: border-color var(--duration);
}

.p-event__card:focus-visible::before {
  border-color: var(--event-color);
}

@media (hover: hover) {
  .p-event__card:hover {
    box-shadow: none;
    transform: translateY(calc(5 * var(--to-rem)));
  }
  .p-event__card:hover::before {
    border-color: var(--event-color);
  }
  .p-event__card:hover .p-event__btn {
    opacity: 0.8;
  }
}
.p-event__bannerFigure {
  width: calc(714 * var(--to-rem));
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .p-event__bannerFigure {
    width: 100%;
  }
}

.p-event__banner {
  width: 100%;
  height: auto;
  aspect-ratio: 714/299;
  object-fit: cover;
  border-radius: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-event__banner {
    aspect-ratio: var(--event-banner-ratio-sp);
    border-radius: 0;
  }
}

.p-event__info {
  display: flex;
  gap: calc(39 * var(--to-rem));
  align-items: center;
  justify-content: space-between;
  width: calc(676.7 * var(--to-rem));
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .p-event__info {
    flex-wrap: wrap;
    gap: var(--event-info-row-gap-sp) calc(8 * var(--to-rem));
    align-items: flex-start;
    justify-content: flex-start;
    width: calc(var(--event-detail-width-sp) + 69.766 * var(--to-rem));
  }
}

.p-event__info--top {
  align-items: flex-start;
}

.p-event__date {
  display: flex;
  flex: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: calc(132 * var(--to-rem));
  height: calc(132 * var(--to-rem));
  font-weight: var(--fw-bold);
  color: var(--color-white);
  background-color: var(--event-color);
  border-radius: 100%;
}
@media screen and (max-width: 767px) {
  .p-event__date {
    gap: calc(1.5597 * var(--to-rem));
    width: calc(61.766 * var(--to-rem));
    height: calc(61.766 * var(--to-rem));
  }
}

.p-event__dateYear {
  font-size: calc(20.4 * var(--to-rem));
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-event__dateYear {
    font-size: calc(7.9547 * var(--to-rem));
  }
}

.p-event__dateDay {
  font-size: calc(39.6 * var(--to-rem));
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-event__dateDay {
    font-size: calc(15.4415 * var(--to-rem));
  }
}

.p-event__dateWeek {
  font-size: calc(16.8 * var(--to-rem));
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-event__dateWeek {
    font-size: calc(6.5509 * var(--to-rem));
  }
}

.p-event__detail {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: calc(19 * var(--to-rem));
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-event__detail {
    display: contents;
  }
}

.p-event__detail--komazawa {
  gap: calc(42.2 * var(--to-rem));
}

.p-event__list {
  display: flex;
  flex-direction: column;
  gap: calc(19 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-event__list {
    flex: none;
    gap: calc(7.4088 * var(--to-rem));
    width: var(--event-detail-width-sp);
  }
}

.p-event__listRow {
  display: flex;
  gap: calc(32 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-event__listRow {
    gap: calc(8 * var(--to-rem));
  }
}

.p-event__listLabel {
  flex: none;
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.2;
  color: var(--event-label);
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-event__listLabel {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-event__listValue {
  min-width: 0;
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.2;
  color: var(--color-gray-dark);
}
@media screen and (max-width: 767px) {
  .p-event__listValue {
    font-size: calc(16 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .p-event__listValue--nowrap {
    white-space: nowrap;
  }
}

@media screen and (max-width: 767px) {
  .p-event__listValue--lg {
    font-size: calc(18 * var(--to-rem));
    line-height: 1.2;
  }
}

.p-event__btn {
  display: inline-flex;
  gap: calc(8 * var(--to-rem));
  align-items: center;
  align-self: flex-end;
  justify-content: center;
  min-width: calc(216 * var(--to-rem));
  min-height: calc(46 * var(--to-rem));
  padding-block: calc(8 * var(--to-rem));
  padding-inline: calc(24 * var(--to-rem));
  font-size: calc(20 * var(--to-rem));
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-white);
  text-decoration: none;
  background-color: var(--event-color);
  border-radius: 999px;
  transition: opacity var(--duration);
}
@media screen and (max-width: 767px) {
  .p-event__btn {
    flex: none;
    min-width: calc(160 * var(--to-rem));
    min-height: calc(42 * var(--to-rem));
    padding-block: calc(9 * var(--to-rem));
    margin-inline: auto;
    font-size: calc(16 * var(--to-rem));
    font-weight: var(--fw-bold);
    line-height: 1.5;
  }
}

.p-event__btn--end {
  align-self: flex-end;
}
@media screen and (max-width: 767px) {
  .p-event__btn--end {
    align-self: auto;
  }
}

.p-event__btnArrow {
  flex: none;
  width: calc(15 * var(--to-rem));
  height: auto;
  aspect-ratio: 15/14;
  margin-inline: calc(2.5 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-event__btnArrow {
    display: none;
  }
}

/* 装飾の SUSIE は、画面幅が変わってもカードとの位置関係が動かないよう
   デザイン幅 1440 の座標を中央基準の固定 px に置き換えて配置する。
   max(0px, …) はセクション端で切れないための下限 */
.p-event__susie {
  position: absolute;
  z-index: 2;
  height: auto;
}

.p-event__susie--01 {
  bottom: calc(59.87 * var(--to-rem));
  left: calc(50% - 568 * var(--to-rem));
  width: calc(209.83 * var(--to-rem));
  aspect-ratio: 209.83/193.13;
}
@media screen and (max-width: 767px) {
  .p-event__susie--01 {
    bottom: calc(45.4 * var(--to-rem));
    left: 35.3846153846%;
    width: calc(114.08 * var(--to-rem));
  }
}

.p-event__susie--02 {
  right: max(0px, 50% - 652.16 * var(--to-rem));
  bottom: calc(42.18 * var(--to-rem));
  width: calc(225.89 * var(--to-rem));
  aspect-ratio: 225.89/216.33;
}
@media screen and (max-width: 767px) {
  .p-event__susie--02 {
    right: auto;
    bottom: calc(19.43 * var(--to-rem));
    left: 34.9153846154%;
    width: calc(117.21 * var(--to-rem));
  }
}

.p-event__susie--03 {
  bottom: calc(101.74 * var(--to-rem));
  left: max(0px, 50% - 622.62 * var(--to-rem));
  width: calc(180.81 * var(--to-rem));
  aspect-ratio: 180.81/250.26;
}
@media screen and (max-width: 767px) {
  .p-event__susie--03 {
    bottom: calc(12.27 * var(--to-rem));
    left: 38.4615384615%;
    width: calc(90.4 * var(--to-rem));
  }
}

.p-footer {
  position: relative;
  padding-top: calc(90 * var(--to-rem));
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-footer {
    padding-top: calc(39 * var(--to-rem));
  }
}

.p-footer::before {
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: calc(6 * var(--to-rem));
  content: "";
  background-color: var(--color-amber);
}

.p-footer__susie {
  height: auto;
  aspect-ratio: 441/397;
}

.p-footer__susie--pc {
  position: absolute;
  top: calc(80 * var(--to-rem));
  left: min(50% + 482.2 * var(--to-rem), 100% - 146.8 * var(--to-rem));
  width: calc(146.8 * var(--to-rem));
}

.p-footer__susie--sp {
  order: 3;
  width: calc(112 * var(--to-rem));
  margin-inline: auto;
}

.p-footer__inner {
  max-width: calc(1140 * var(--to-rem));
  padding-inline: calc(20 * var(--to-rem));
  padding-bottom: calc(100 * var(--to-rem));
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-footer__inner {
    max-width: 100%;
    padding-inline: calc(16 * var(--to-rem));
    padding-bottom: calc(32 * var(--to-rem));
  }
}

.p-footer__top {
  display: flex;
  align-items: center;
  min-height: calc(126 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-footer__top {
    flex-direction: column;
    gap: calc(18 * var(--to-rem));
    align-items: center;
    min-height: 0;
  }
}

.p-footer__brand {
  flex: none;
  width: calc(355 * var(--to-rem));
  padding-bottom: calc(41 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-footer__brand {
    order: 1;
    width: 100%;
    max-width: calc(330 * var(--to-rem));
    padding-bottom: 0;
  }
}

.p-footer__logoLink {
  display: block;
  line-height: 0;
}

.p-footer__logo {
  width: 100%;
  height: auto;
  aspect-ratio: 176/25;
}

.p-footer__office {
  width: calc(505 * var(--to-rem));
  max-width: 100%;
  padding-inline: calc(10 * var(--to-rem));
  padding-top: calc(2 * var(--to-rem));
  padding-bottom: calc(3 * var(--to-rem));
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-gray-dark);
  letter-spacing: 0.05em;
  background-color: var(--color-bg-lightgray);
}
@media screen and (max-width: 767px) {
  .p-footer__office {
    display: flex;
    align-items: center;
    justify-content: center;
    order: 2;
    width: 100%;
    max-width: calc(330 * var(--to-rem));
    min-height: calc(38 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
    line-height: 1.5;
    letter-spacing: 0;
  }
}

.p-footer__contact {
  flex: 1;
  min-width: 0;
  padding-left: calc(80 * var(--to-rem));
  margin-left: calc(80 * var(--to-rem));
  border-left: 1px solid var(--color-border-light);
}
@media screen and (max-width: 767px) {
  .p-footer__contact {
    display: contents;
  }
}

@media screen and (max-width: 767px) {
  .p-footer__contactList {
    order: 4;
    width: 100%;
  }
}

.p-footer__contactRow {
  display: flex;
}

.p-footer__contactLabel,
.p-footer__contactValue {
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 2;
  color: var(--color-gray-dark);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-footer__contactLabel,
  .p-footer__contactValue {
    line-height: 1.875;
    letter-spacing: 0;
  }
}

.p-footer__contactLabel--mail {
  text-transform: uppercase;
  letter-spacing: 0.25em;
}
@media screen and (max-width: 767px) {
  .p-footer__contactLabel--mail {
    letter-spacing: 0.04em;
  }
}

.p-footer__contactValue a {
  text-decoration: none;
}

@media (hover: hover) {
  .p-footer__contactValue a:hover {
    text-decoration: underline;
  }
}
.p-footer__contactNote {
  display: inline;
}
@media screen and (max-width: 767px) {
  .p-footer__contactNote {
    display: block;
    font-size: calc(14 * var(--to-rem));
  }
}

.p-footer__navList {
  display: flex;
  gap: calc(25 * var(--to-rem));
  margin-inline: calc(-5 * var(--to-rem));
  margin-top: calc(53 * var(--to-rem));
  list-style: none;
}
@media screen and (max-width: 767px) {
  .p-footer__navList {
    flex-direction: column;
    gap: 0;
    margin-inline: 0;
    margin-top: calc(35 * var(--to-rem));
  }
}

.p-footer__navItem {
  width: calc(253.3 * var(--to-rem));
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .p-footer__navItem {
    width: 100%;
  }
}

.p-footer__navItem:last-child {
  width: calc(275 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-footer__navItem:last-child {
    width: 100%;
  }
}

.p-footer__navLink {
  display: flex;
  gap: calc(8 * var(--to-rem));
  align-items: center;
  justify-content: space-between;
  min-height: calc(70 * var(--to-rem));
  padding-block: calc(15 * var(--to-rem));
  padding-right: calc(13 * var(--to-rem));
  padding-left: calc(5 * var(--to-rem));
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4;
  color: var(--color-link);
  text-decoration: none;
  letter-spacing: 0.05em;
  border-block: 1px solid var(--color-link);
}
@media screen and (max-width: 767px) {
  .p-footer__navLink {
    min-height: calc(76 * var(--to-rem));
    padding-block: calc(12 * var(--to-rem));
    padding-right: calc(8 * var(--to-rem));
    padding-left: calc(6 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
    line-height: 1.5625;
    letter-spacing: 0;
  }
}

.p-footer__navIcon {
  flex: none;
  width: calc(10 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}

.p-footer__navChevron {
  flex: none;
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.2;
  color: var(--color-link);
}

.p-footer__subList {
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--to-rem));
  padding-top: calc(15 * var(--to-rem));
  list-style: none;
}
@media screen and (max-width: 767px) {
  .p-footer__subList {
    gap: 0;
    padding-top: 0;
  }
}

.p-footer__subLink {
  position: relative;
  display: block;
  padding-left: calc(11 * var(--to-rem));
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-gray-dark);
  text-decoration: none;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-footer__subLink {
    display: flex;
    align-items: center;
    min-height: calc(42 * var(--to-rem));
    padding-left: calc(21 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
    line-height: 1.5625;
    letter-spacing: 0;
  }
}

.p-footer__subLink::before {
  position: absolute;
  top: calc(50% - 2px);
  left: 0;
  width: 4px;
  height: 4px;
  content: "";
  background-color: var(--color-link);
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .p-footer__subLink::before {
    top: calc(50% - 2.5px);
    left: calc(6 * var(--to-rem));
    width: 5px;
    height: 5px;
    border-radius: 100%;
  }
}

@media (hover: hover) {
  .p-footer__navLink:hover,
  .p-footer__subLink:hover {
    text-decoration: underline;
  }
}
.p-footer__legal {
  padding-block: calc(20 * var(--to-rem));
  background-color: var(--color-bg-lightgray);
}
@media screen and (max-width: 767px) {
  .p-footer__legal {
    padding-block: calc(24 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
  }
}

.p-footer__legalBody {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: calc(1140 * var(--to-rem));
  padding-inline: calc(20 * var(--to-rem));
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-footer__legalBody {
    flex-direction: column-reverse;
    gap: calc(16 * var(--to-rem));
    align-items: flex-start;
    max-width: 100%;
    padding-inline: 0;
  }
}

.p-footer__copyright {
  font-family: var(--overpass-font);
  font-size: calc(14 * var(--to-rem));
  font-weight: 600;
  line-height: 1;
  color: var(--color-gray-light);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-footer__copyright {
    font-size: calc(16 * var(--to-rem));
    line-height: 1.25;
    letter-spacing: 0;
  }
}

.p-footer__copyright small {
  font-size: inherit;
  font-weight: inherit;
}

.p-footer__legalLink {
  display: inline-flex;
  gap: calc(6 * var(--to-rem));
  align-items: center;
  margin-right: calc(94 * var(--to-rem));
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-gray-dark);
  text-decoration: underline;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-footer__legalLink {
    margin-right: 0;
    font-size: calc(16 * var(--to-rem));
    line-height: 1.625;
    text-decoration: none;
    letter-spacing: 0;
  }
}

.p-footer__legalIcon {
  flex: none;
  width: calc(11 * var(--to-rem));
  height: auto;
  aspect-ratio: 11/10;
}

.l-tokyotaikukan .p-fv {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.l-tokyotaikukan .p-fv__figure {
  display: block;
  width: 100%;
}

.l-tokyotaikukan .p-fv__visual {
  display: block;
}

.l-tokyotaikukan .p-fv__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1440/690;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-fv__img {
    aspect-ratio: 390/650;
  }
}

.l-tachikawa .p-fv,
.l-komazawa .p-fv {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.l-tachikawa .p-fv__figure,
.l-komazawa .p-fv__figure {
  display: block;
  width: 100%;
}

.l-tachikawa .p-fv__visual,
.l-komazawa .p-fv__visual {
  display: block;
}

.l-tachikawa .p-fv__img,
.l-komazawa .p-fv__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1440/690;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-fv__img,
  .l-komazawa .p-fv__img {
    aspect-ratio: 390/650;
  }
}

.p-guest {
  position: relative;
  padding-block: calc(100 * var(--to-rem)) calc(98 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-bg-cream2);
  background-image: url("../images/common/bg-pattern.png");
  background-repeat: repeat;
  background-position: left top;
  background-size: calc(500 * var(--to-rem)) calc(500 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-guest {
    padding-block: calc(48 * var(--to-rem));
    padding-inline: calc(20 * var(--to-rem));
    background-color: var(--color-white);
    background-image: none;
  }
}

@media screen and (max-width: 767px) {
  .p-guest::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    content: "";
    background-image: url("../images/tokyotaikukan/sp_program/contents-bg-sp.png");
    background-repeat: repeat-y;
    background-position: left top;
    background-size: max(100%, 432 * var(--to-rem)) auto;
    opacity: 0.5;
  }
}

.p-guest__inner {
  position: relative;
  z-index: 1;
}

.p-guest__head {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-guest__head {
    gap: calc(8 * var(--to-rem));
  }
}

.p-guest__headIcon {
  width: calc(84.954 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .p-guest__headIcon {
    width: calc(32 * var(--to-rem));
  }
}

.p-guest__headTitle {
  font-size: calc(40 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 0.919;
  color: var(--color-brown);
}
@media screen and (max-width: 767px) {
  .p-guest__headTitle {
    font-size: calc(28 * var(--to-rem));
    line-height: 1.4;
    text-align: center;
  }
}

.p-guest__card {
  position: relative;
  display: flex;
  gap: calc(32 * var(--to-rem));
  align-items: center;
  width: min(1293 * var(--to-rem), 89.7917%);
  padding: calc(32 * var(--to-rem));
  margin-inline: auto;
  margin-top: calc(60 * var(--to-rem));
  background-color: var(--color-white);
  border-bottom: calc(2 * var(--to-rem)) solid var(--color-border-card);
  border-radius: calc(19.916 * var(--to-rem));
  box-shadow: 0 0 calc(10 * var(--to-rem)) rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .p-guest__card {
    flex-direction: column;
    gap: calc(14 * var(--to-rem));
    width: calc(350 * var(--to-rem));
    max-width: 100%;
    padding-block: calc(24 * var(--to-rem));
    padding-inline: calc(20 * var(--to-rem));
    margin-top: calc(28 * var(--to-rem));
    border-bottom: none;
    border-radius: calc(16 * var(--to-rem));
    box-shadow: 0 calc(2 * var(--to-rem)) calc(8 * var(--to-rem)) rgba(0, 0, 0, 0.12);
  }
}

.p-guest__susie {
  position: absolute;
  top: calc(-158.759 * var(--to-rem));
  left: calc(169.5 * var(--to-rem));
  z-index: 2;
  display: block;
  width: calc(144.375 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-guest__susie {
    top: calc(-81 * var(--to-rem));
    left: calc(4 * var(--to-rem));
    width: calc(72.188 * var(--to-rem));
  }
}

.p-guest__susieImage {
  display: block;
}

.p-guest__susieImage img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 144.375/160.36;
}
@media screen and (max-width: 767px) {
  .p-guest__susieImage img {
    aspect-ratio: 72.188/80.18;
  }
}

.p-guest__susieLabel {
  position: absolute;
  top: calc(13 * var(--to-rem));
  left: calc(61 * var(--to-rem));
  font-size: calc(13.941 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 2;
  color: var(--color-black);
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-guest__susieLabel {
    top: calc(6.5 * var(--to-rem));
    left: calc(30.5 * var(--to-rem));
    font-size: calc(6.971 * var(--to-rem));
  }
}

.p-guest__media {
  position: relative;
  width: calc(669 * var(--to-rem));
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .p-guest__media {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: calc(310 * var(--to-rem));
  }
}

.p-guest__logo {
  position: absolute;
  bottom: calc(-18.1 * var(--to-rem));
  left: -2.3169%;
  z-index: 1;
  width: 23.3184%;
  height: auto;
  aspect-ratio: 156/141.946;
  padding: 2.272%;
  overflow: hidden;
  background-color: var(--color-white);
  border-radius: calc(14.054 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-guest__logo {
    position: static;
    width: calc(156 * var(--to-rem));
    max-width: 100%;
    padding: calc(15.198 * var(--to-rem));
    margin-inline: auto;
  }
}

.p-guest__logoImage {
  width: 100%;
  height: auto;
  aspect-ratio: 252/210;
}

.p-guest__photo {
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--to-rem));
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .p-guest__photo {
    align-items: center;
  }
}

.p-guest__photoImage {
  width: 100%;
  height: auto;
  aspect-ratio: 669/445;
  object-fit: cover;
  border-radius: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-guest__photoImage {
    aspect-ratio: 310/317;
    border-radius: calc(10 * var(--to-rem));
  }
}

.p-guest__credit {
  font-size: calc(16 * var(--to-rem));
  line-height: 1.4;
  color: var(--color-gray-dark);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-guest__credit {
    height: calc(12.129 * var(--to-rem));
  }
}

.p-guest__body {
  display: flex;
  flex-direction: column;
  gap: calc(32 * var(--to-rem));
  align-items: center;
  align-self: stretch;
  justify-content: center;
  width: calc(528 * var(--to-rem));
  max-width: 100%;
  border: calc(1 * var(--to-rem)) solid var(--color-amber);
  border-radius: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-guest__body {
    gap: calc(14 * var(--to-rem));
    align-self: auto;
    width: calc(312 * var(--to-rem));
    max-width: none;
    height: auto;
    padding-block: calc(8 * var(--to-rem));
    border-radius: calc(10 * var(--to-rem));
  }
}

.p-guest__lead {
  width: calc(488 * var(--to-rem));
  max-width: 100%;
  font-size: calc(18 * var(--to-rem));
  line-height: 1.7;
  color: var(--color-gray-text);
}
@media screen and (max-width: 767px) {
  .p-guest__lead {
    width: auto;
    font-size: calc(14 * var(--to-rem));
    line-height: 1.75;
    text-align: center;
  }
}

.p-guest__name {
  font-size: calc(40 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.7;
  color: var(--color-tomato);
}
@media screen and (max-width: 767px) {
  .p-guest__name {
    font-size: calc(32 * var(--to-rem));
    line-height: 1.3;
    text-align: center;
  }
}

.p-hero {
  position: relative;
}

.p-hero__inner {
  position: relative;
  min-height: calc(324.0506 * var(--to-rem));
  padding-top: calc(61.7734 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-orange);
  background-image: radial-gradient(ellipse calc(692 * var(--to-rem)) calc(757 * var(--to-rem)) at 49.09% 85.94%, var(--color-fv-grad-start) 0%, var(--color-orange) 100%);
}
@media screen and (max-width: 767px) {
  .p-hero__inner {
    min-height: calc(386 * var(--to-rem));
    padding-top: calc(63 * var(--to-rem));
    background-image: radial-gradient(ellipse calc(467 * var(--to-rem)) calc(634 * var(--to-rem)) at 50% 51.6839%, var(--color-fv-grad-start) 0%, var(--color-orange) 100%);
  }
}

.p-hero__deco {
  position: absolute;
  top: -35.1798%;
  left: -8.5417%;
  z-index: 0;
  display: block;
  width: 115.9375%;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-hero__deco {
    top: -17.0984%;
    left: 0;
    width: 100%;
  }
}

.p-hero__deco img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3339/999;
}
@media screen and (max-width: 767px) {
  .p-hero__deco img {
    aspect-ratio: 390/453;
  }
}

.p-hero__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: calc(10.1266 * var(--to-rem));
  align-items: center;
  width: calc(664.3038 * var(--to-rem));
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-hero__body {
    gap: calc(23 * var(--to-rem));
    width: calc(358 * var(--to-rem));
  }
}

.p-hero__badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding-block: calc(24.3038 * var(--to-rem));
  padding-inline: calc(14.1772 * var(--to-rem));
  font-size: calc(18.2278 * var(--to-rem));
  color: var(--color-brown);
  text-align: center;
  background-color: var(--color-white);
  border-radius: calc(60.7595 * var(--to-rem));
  box-shadow: 0 0 calc(10.1266 * var(--to-rem)) rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
  .p-hero__badge {
    padding-block: calc(13.0976 * var(--to-rem));
    padding-inline: calc(7.6402 * var(--to-rem));
    font-size: calc(12 * var(--to-rem));
    border-radius: calc(32.7439 * var(--to-rem));
    box-shadow: 0 0 calc(5.4573 * var(--to-rem)) rgba(0, 0, 0, 0.25);
  }
}

.p-hero__badgeSub {
  font-size: calc(18.2278 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-hero__badgeSub {
    font-size: calc(12 * var(--to-rem));
    letter-spacing: 0.0409em;
  }
}

.p-hero__badgeMain {
  font-size: calc(48.6076 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.1;
  letter-spacing: 0.0188em;
}
@media screen and (max-width: 767px) {
  .p-hero__badgeMain {
    font-size: calc(24 * var(--to-rem));
    letter-spacing: 0.0205em;
  }
}

.p-hero__title {
  margin-top: calc(10.1266 * var(--to-rem));
  font-size: calc(42 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.384;
  color: var(--color-brown);
  text-align: center;
  text-shadow: 0 0 calc(10.1266 * var(--to-rem)) rgba(0, 0, 0, 0.1);
  letter-spacing: 0.0593em;
  -webkit-text-stroke: calc(12.152 * var(--to-rem)) var(--color-white);
  paint-order: stroke fill;
}
@media screen and (max-width: 767px) {
  .p-hero__title {
    margin-top: calc(5.4573 * var(--to-rem));
    font-size: calc(24 * var(--to-rem));
    line-height: 1.3052;
    text-shadow: 0 0 calc(5.4573 * var(--to-rem)) rgba(0, 0, 0, 0.1);
    letter-spacing: 0.0559em;
    -webkit-text-stroke: calc(6.5488 * var(--to-rem)) var(--color-white);
  }
}

.p-hero__susie {
  position: absolute;
  top: calc(-10.1324 * var(--to-rem));
  left: calc(619.748 * var(--to-rem));
  display: block;
  width: calc(147.5617 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-hero__susie {
    position: static;
    width: calc(147.6648 * var(--to-rem));
  }
}

.p-hero__susie img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 296/272;
}

.p-hero--green .p-hero__inner {
  position: relative;
  min-height: calc(324 * var(--to-rem));
  padding-top: calc(76.6406 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-fv-showa-grad-end);
  background-image: radial-gradient(ellipse 50% 50% at 50% 50%, var(--color-fv-showa-grad-start) 0%, var(--color-fv-showa-grad-end) 100%);
}
@media screen and (max-width: 767px) {
  .p-hero--green .p-hero__inner {
    min-height: calc(386 * var(--to-rem));
    padding-top: calc(63 * var(--to-rem));
    background-image: radial-gradient(ellipse 50% 50% at 50% 50%, var(--color-fv-showa-grad-start) 0%, var(--color-fv-showa-grad-end) 100%);
  }
}

.p-hero--green .p-hero__deco {
  position: absolute;
  top: calc(-118.98 * var(--to-rem));
  left: -9.0243%;
  z-index: 0;
  display: block;
  width: 116.9778%;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-hero--green .p-hero__deco {
    top: calc(-66 * var(--to-rem));
    left: 0;
    width: 100%;
  }
}

.p-hero--green .p-hero__deco img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1685.65/552.42;
}
@media screen and (max-width: 767px) {
  .p-hero--green .p-hero__deco img {
    aspect-ratio: 390/453;
  }
}

.p-hero--green .p-hero__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: calc(10.0839 * var(--to-rem));
  align-items: center;
  width: calc(661.5067 * var(--to-rem));
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-hero--green .p-hero__body {
    gap: calc(23 * var(--to-rem));
    width: calc(358 * var(--to-rem));
  }
}

.p-hero--green .p-hero__badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding-block: calc(24.2015 * var(--to-rem));
  padding-inline: calc(14.1175 * var(--to-rem));
  font-size: calc(18.1511 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.1;
  color: var(--color-green-dark);
  text-align: center;
  letter-spacing: 0.05em;
  background-color: var(--color-white);
  border-radius: calc(60.5037 * var(--to-rem));
  box-shadow: 0 0 calc(10.0839 * var(--to-rem)) rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
  .p-hero--green .p-hero__badge {
    padding-block: calc(13.0976 * var(--to-rem));
    padding-inline: calc(7.6402 * var(--to-rem));
    font-size: calc(12 * var(--to-rem));
    letter-spacing: 0.0409em;
    border-radius: calc(32.7439 * var(--to-rem));
    box-shadow: 0 0 calc(5.4573 * var(--to-rem)) rgba(0, 0, 0, 0.25);
  }
}

.p-hero--green .p-hero__badgeSub {
  font-size: calc(18.1511 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-hero--green .p-hero__badgeSub {
    font-size: calc(12 * var(--to-rem));
    letter-spacing: 0.0409em;
  }
}

.p-hero--green .p-hero__badgeMain {
  font-size: calc(48.4029 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.1;
  letter-spacing: 0.0188em;
}
@media screen and (max-width: 767px) {
  .p-hero--green .p-hero__badgeMain {
    font-size: calc(24 * var(--to-rem));
    letter-spacing: 0.0205em;
  }
}

.p-hero--green .p-hero__title {
  margin-top: calc(10.0839 * var(--to-rem));
  font-size: calc(42 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.3781;
  color: var(--color-green-dark);
  text-align: center;
  text-shadow: 0 0 calc(10.0839 * var(--to-rem)) rgba(0, 0, 0, 0.1);
  letter-spacing: 0.0591em;
  -webkit-text-stroke: calc(12.1007 * var(--to-rem)) var(--color-white);
  paint-order: stroke fill;
}
@media screen and (max-width: 767px) {
  .p-hero--green .p-hero__title {
    margin-top: calc(5.4573 * var(--to-rem));
    font-size: calc(24 * var(--to-rem));
    line-height: 1.3052;
    text-shadow: 0 0 calc(5.4573 * var(--to-rem)) rgba(0, 0, 0, 0.1);
    letter-spacing: 0.0559em;
    -webkit-text-stroke: calc(6.5488 * var(--to-rem)) var(--color-white);
  }
}

.p-hero--green .p-hero__susie {
  position: absolute;
  top: calc(10.4297 * var(--to-rem));
  left: calc(610.9844 * var(--to-rem));
  display: block;
  width: calc(147.6648 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-hero--green .p-hero__susie {
    position: static;
    width: calc(147.6647 * var(--to-rem));
  }
}

.p-hero--green .p-hero__susie img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 296/272;
}

@media screen and (max-width: 767px) {
  .l-shop .p-hero__inner {
    padding-top: calc(61 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .l-shop .p-hero__badge {
    color: var(--color-tomato);
  }
}

@media screen and (max-width: 767px) {
  .l-shop .p-hero__title {
    font-size: calc(20 * var(--to-rem));
    line-height: 1.5662;
    letter-spacing: 0.0671em;
  }
}

@media screen and (max-width: 767px) {
  .l-spProgram .p-hero__badge {
    justify-content: center;
    height: calc(64 * var(--to-rem));
  }
}

.l-spProgram .p-hero__susie img {
  aspect-ratio: 147.5617/135.8187;
}
@media screen and (max-width: 767px) {
  .l-spProgram .p-hero__susie img {
    aspect-ratio: 147.6648/135.7952;
  }
}

@media screen and (max-width: 767px) {
  .l-tachikawaShop .p-hero__title {
    font-size: calc(20 * var(--to-rem));
    line-height: 1.5662;
    letter-spacing: 0.0671em;
  }
}

.p-link {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(160 * var(--to-rem));
  align-items: center;
  width: calc(819.2 * var(--to-rem));
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-link {
    gap: calc(20 * var(--to-rem));
    width: 100%;
    padding-block: calc(48 * var(--to-rem)) calc(64 * var(--to-rem));
    padding-inline: calc(20 * var(--to-rem));
    background-image: url("../images/common/bg-tile.png");
    background-repeat: repeat;
    background-position: left top;
    background-size: calc(1440 * var(--to-rem)) calc(800 * var(--to-rem));
  }
}

.p-link__related {
  display: flex;
  flex-direction: column;
  gap: calc(48 * var(--to-rem));
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-link__related {
    gap: calc(32 * var(--to-rem));
    width: calc(358 * var(--to-rem));
    max-width: none;
  }
}

.p-link__list {
  display: flex;
  gap: calc(19.2 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-link__list {
    flex-direction: column;
    gap: calc(16 * var(--to-rem));
  }
}

.p-link__item {
  width: calc(400 * var(--to-rem));
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .p-link__item {
    width: 100%;
  }
}

.p-megamenu {
  position: absolute;
  inset-inline: calc(80 * var(--to-rem));
  top: 100%;
  z-index: 1;
  display: flex;
  gap: var(--megamenu-gap);
  align-items: flex-start;
  max-width: calc(1280 * var(--to-rem));
  padding-block: calc(44 * var(--to-rem)) calc(22.9231 * var(--to-rem));
  padding-inline: calc(48 * var(--to-rem));
  margin-inline: auto;
  visibility: hidden;
  border-radius: calc(20 * var(--to-rem));
  box-shadow: var(--shadow-panel);
  opacity: 0;
  transition: opacity var(--duration), visibility var(--duration);
}
@media screen and (max-width: 1439px) {
  .p-megamenu {
    inset-inline: calc(40 * var(--to-rem));
    padding-block: calc(32 * var(--to-rem)) calc(18 * var(--to-rem));
    padding-inline: calc(28 * var(--to-rem));
  }
}

.p-megamenu--tachikawa {
  --megamenu-gap: calc(42 * var(--to-rem));
  --megamenu-arrow-size: calc(38.7692 * var(--to-rem));
  --megamenu-hover-color: var(--color-green-dark);
  justify-content: flex-start;
  background-color: var(--color-bg-panel-green);
}
@media screen and (max-width: 1439px) {
  .p-megamenu--tachikawa {
    --megamenu-gap: calc(20 * var(--to-rem));
    --megamenu-arrow-size: calc(30 * var(--to-rem));
  }
}

.p-megamenu--tokyotaikukan {
  --megamenu-gap: calc(32 * var(--to-rem));
  --megamenu-arrow-size: calc(36 * var(--to-rem));
  --megamenu-hover-color: var(--color-brown);
  justify-content: center;
  background-color: var(--color-bg-panel-orange);
}
@media screen and (max-width: 1439px) {
  .p-megamenu--tokyotaikukan {
    --megamenu-gap: calc(20 * var(--to-rem));
    --megamenu-arrow-size: calc(30 * var(--to-rem));
  }
}

.p-megamenu__summary {
  position: relative;
  display: flex;
  flex: 0 1 auto;
  flex-direction: column;
  gap: calc(19.3846 * var(--to-rem));
  align-items: center;
  width: calc(420 * var(--to-rem));
  max-width: 100%;
  padding-block: 0 calc(13.6923 * var(--to-rem));
  text-decoration: none;
  background-color: var(--color-white);
  transition: box-shadow var(--duration);
}
@media screen and (max-width: 1439px) {
  .p-megamenu__summary {
    gap: calc(14 * var(--to-rem));
    width: calc(300 * var(--to-rem));
    padding-block: 0 calc(10 * var(--to-rem));
  }
}

.p-megamenu__summary::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  content: "";
  border: calc(4 * var(--to-rem)) solid transparent;
  transition: border-color var(--duration);
}

.p-megamenu__summary:focus-visible {
  box-shadow: var(--shadow-hover);
}

.p-megamenu__summary:focus-visible::after {
  border-color: var(--megamenu-hover-color);
}

.p-megamenu__thumb {
  width: 100%;
  line-height: 0;
}

.p-megamenu__thumb img {
  width: 100%;
  height: auto;
  aspect-ratio: 420/200;
}

.p-megamenu__venue {
  display: flex;
  gap: calc(23.2615 * var(--to-rem));
  align-items: center;
}
@media screen and (max-width: 1439px) {
  .p-megamenu__venue {
    gap: calc(16 * var(--to-rem));
  }
}

.p-megamenu__venueName {
  font-size: calc(26 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.2;
  color: var(--color-ink);
}
@media screen and (max-width: 1439px) {
  .p-megamenu__venueName {
    font-size: calc(20 * var(--to-rem));
  }
}

.p-megamenu__venueArrow {
  flex: none;
  width: var(--megamenu-arrow-size);
  height: auto;
  aspect-ratio: 1/1;
}

.p-megamenu__list {
  --megamenu-card-gap: calc(16 * var(--to-rem));
  display: flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  gap: var(--megamenu-card-gap);
  width: calc(722 * var(--to-rem));
  max-width: 100%;
  list-style: none;
}
@media screen and (max-width: 1439px) {
  .p-megamenu__list {
    --megamenu-card-gap: calc(12 * var(--to-rem));
    flex-grow: 1;
  }
}

.p-megamenu__item {
  width: calc((100% - var(--megamenu-card-gap)) / 2);
}

.p-megamenu__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: calc(116 * var(--to-rem));
  padding-inline: calc(14 * var(--to-rem));
  text-decoration: none;
  background-color: var(--color-white);
  border-radius: calc(12 * var(--to-rem));
  transition: box-shadow var(--duration);
}
@media screen and (max-width: 1439px) {
  .p-megamenu__link {
    min-height: calc(92 * var(--to-rem));
    padding-inline: calc(12 * var(--to-rem));
  }
}

.p-megamenu__link--program {
  border-bottom: 1px solid var(--color-border-sub);
}

.p-megamenu__body {
  display: flex;
  gap: calc(12 * var(--to-rem));
  align-items: center;
  min-width: 0;
}
@media screen and (max-width: 1439px) {
  .p-megamenu__body {
    gap: calc(10 * var(--to-rem));
  }
}

.p-megamenu__icon {
  flex: none;
  width: calc(42 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 1439px) {
  .p-megamenu__icon {
    width: calc(34 * var(--to-rem));
  }
}

.p-megamenu__label {
  font-size: calc(22 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.0909;
  color: var(--color-gray-dark);
  white-space: nowrap;
  transition: color var(--duration);
}
@media screen and (max-width: 1439px) {
  .p-megamenu__label {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-megamenu__chevron {
  flex: none;
  width: calc(24 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 1439px) {
  .p-megamenu__chevron {
    width: calc(18 * var(--to-rem));
  }
}

.p-header__navItem:focus-within .p-megamenu {
  visibility: visible;
  opacity: 1;
}

.p-megamenu__link:focus-visible {
  box-shadow: var(--shadow-hover);
}

.p-megamenu__link:focus-visible .p-megamenu__label {
  color: var(--megamenu-hover-color);
}

@media (hover: hover) {
  .p-header__navItem:hover .p-megamenu {
    visibility: visible;
    opacity: 1;
  }
  .p-megamenu__link:hover {
    box-shadow: var(--shadow-hover);
  }
  .p-megamenu__link:hover .p-megamenu__label {
    color: var(--megamenu-hover-color);
  }
}
/* スクロール中・ブラウザバック直後にホバー展開だけを打ち消す（assets/js/_megamenu.js 参照） */
@media (hover: hover) {
  .l-header.is-megamenuLock .p-header__navItem:hover:not(:focus-within) .p-megamenu {
    visibility: hidden;
    opacity: 0;
  }
}
/* ページ離脱時と bfcache 復帰直後だけ。フェード（0.3s）を止めて確実に閉じた状態にし、
 * ブラウザバック時にメガメニューが一瞬残るのを防ぐ。
 * :hover / :focus-within の指定（クラス3つ）に確実に勝つよう、クラス4つで書いている。 */
.l-header.is-megamenuInstant .p-header__navItem .p-megamenu {
  visibility: hidden;
  opacity: 0;
  transition: none;
}

.p-mv {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: var(--color-bg-mint);
}
@media screen and (max-width: 767px) {
  .p-mv {
    margin-top: calc(-4 * var(--to-rem));
  }
}

.p-mv__figure {
  display: block;
  width: 100%;
}

.p-mv__visual {
  display: block;
}

.p-mv__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1440/690;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 767px) {
  .p-mv__img {
    aspect-ratio: 390/650;
  }
}

.l-top .p-news {
  position: relative;
  min-height: calc(1008 * var(--to-rem));
  padding-top: calc(120 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .l-top .p-news {
    min-height: 0;
    padding-block: calc(48 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
  }
}

.l-top .p-news::after {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  z-index: 0;
  height: calc(292 * var(--to-rem));
  content: "";
  background-color: var(--color-bg-cream);
}
@media screen and (max-width: 767px) {
  .l-top .p-news::after {
    display: none;
  }
}

.l-top .p-news__cloud {
  position: absolute;
  z-index: 0;
  width: calc(153 * var(--to-rem));
  height: auto;
  aspect-ratio: 153/65;
}

.l-top .p-news__cloud--left {
  top: calc(318 * var(--to-rem));
  left: 5.5555555556%;
}
@media screen and (max-width: 767px) {
  .l-top .p-news__cloud--left {
    display: none;
  }
}

.l-top .p-news__cloud--right {
  top: calc(141 * var(--to-rem));
  left: 84.5833333333%;
}
@media screen and (max-width: 767px) {
  .l-top .p-news__cloud--right {
    top: calc(11 * var(--to-rem));
    left: 5.3846153846%;
    width: calc(89 * var(--to-rem));
  }
}

.l-top .p-news__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: calc(94 * var(--to-rem));
  max-width: calc(1120 * var(--to-rem));
  padding-inline: calc(20 * var(--to-rem));
  padding-top: calc(80 * var(--to-rem));
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-top .p-news__inner {
    gap: calc(16 * var(--to-rem));
    max-width: 100%;
    padding-inline: 0;
    padding-top: 0;
  }
}

.l-top .p-news__lead {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(24 * var(--to-rem));
  align-items: center;
}

.l-top .p-news__catch {
  display: flex;
  gap: calc(24 * var(--to-rem));
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .l-top .p-news__catch {
    gap: calc(8 * var(--to-rem));
  }
}

.l-top .p-news__catchDeco {
  flex: none;
  width: calc(82 * var(--to-rem));
  height: auto;
  aspect-ratio: 82/93;
}
@media screen and (max-width: 767px) {
  .l-top .p-news__catchDeco {
    width: calc(28.2 * var(--to-rem));
  }
}

.l-top .p-news__catchDeco--right {
  transform: scaleX(-1);
}

.l-top .p-news__catchText {
  font-size: calc(35.771 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.5;
  color: var(--color-gray-dark);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-top .p-news__catchText {
    font-size: calc(18 * var(--to-rem));
    font-weight: var(--fw-bold);
    line-height: 1.4444444444;
  }
}

.l-top .p-news__ribbon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: calc(108 * var(--to-rem));
  padding-inline: calc(16 * var(--to-rem));
  background-color: var(--color-orange-dark);
  border-radius: calc(30 * var(--to-rem)) 0 0;
}
@media screen and (max-width: 767px) {
  .l-top .p-news__ribbon {
    min-height: calc(100 * var(--to-rem));
    padding-block: calc(10 * var(--to-rem));
    border-radius: calc(14 * var(--to-rem)) calc(14 * var(--to-rem)) 0 0;
  }
}

.l-top .p-news__ribbonText {
  font-size: calc(50 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-white);
  text-align: center;
  paint-order: stroke fill;
  -webkit-text-stroke: calc(12 * var(--to-rem)) var(--color-brown);
}
@media screen and (max-width: 767px) {
  .l-top .p-news__ribbonText {
    font-size: calc(32 * var(--to-rem));
    line-height: 1.25;
    -webkit-text-stroke-width: calc(8 * var(--to-rem));
  }
}

.l-top .p-news__ribbonSmall {
  font-size: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-top .p-news__ribbonSmall {
    font-size: calc(24 * var(--to-rem));
  }
}

.l-top .p-news__susie {
  position: absolute;
  z-index: 2;
  height: auto;
}

.l-top .p-news__susie--pom {
  bottom: calc(-1 * var(--to-rem));
  left: 2.2222222222%;
  width: calc(169.9 * var(--to-rem));
  aspect-ratio: 340/313;
}
@media screen and (max-width: 767px) {
  .l-top .p-news__susie--pom {
    bottom: calc(42.2 * var(--to-rem));
    left: 2.5139664804%;
    width: calc(80 * var(--to-rem));
  }
}

.l-top .p-news__susie--megaphone {
  top: calc(-13 * var(--to-rem));
  right: 3.5185185185%;
  width: calc(149.1 * var(--to-rem));
  aspect-ratio: 299/256;
}
@media screen and (max-width: 767px) {
  .l-top .p-news__susie--megaphone {
    top: calc(8 * var(--to-rem));
    right: -1.6759776536%;
    width: calc(74.5 * var(--to-rem));
  }
}

.l-top .p-news__body {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(32 * var(--to-rem));
  padding-bottom: calc(100 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-top .p-news__body {
    gap: calc(16 * var(--to-rem));
    padding-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .l-top .p-news__headRow {
    gap: calc(20.48 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .l-top .p-news__headRow .c-sectionHead__deco {
    width: calc(41.6 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .l-top .p-news__head .c-sectionHead__text {
    gap: calc(6.4 * var(--to-rem));
  }
}

.l-top .p-news__head .c-sectionHead__en {
  color: var(--color-orange-border);
}
@media screen and (max-width: 767px) {
  .l-top .p-news__head .c-sectionHead__en {
    font-family: var(--oswald-font);
    font-size: calc(12 * var(--to-rem));
    font-weight: var(--fw-semibold);
    line-height: 1.92;
    letter-spacing: 0.16em;
  }
}

@media screen and (max-width: 767px) {
  .l-top .p-news__head .c-sectionHead__ja {
    font-size: calc(24 * var(--to-rem));
    line-height: 0.96;
    letter-spacing: 0.0192em;
  }
}

.l-top .p-news__list {
  padding: calc(37 * var(--to-rem)) calc(40 * var(--to-rem));
  background-color: var(--color-white);
  border: 1px solid var(--color-orange);
  border-radius: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-top .p-news__list {
    padding: calc(20 * var(--to-rem)) calc(16 * var(--to-rem));
    border-color: var(--color-orange-light);
    border-width: calc(2 * var(--to-rem));
  }
}

.l-top .p-news__itemLink {
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--to-rem));
  padding-block: calc(16 * var(--to-rem));
  border-bottom: 1px dashed var(--color-orange-light);
}
@media screen and (max-width: 767px) {
  .l-top .p-news__itemLink {
    gap: calc(10 * var(--to-rem));
    padding-block: calc(12 * var(--to-rem));
    margin-bottom: calc(10 * var(--to-rem));
    border-bottom-color: var(--color-orange-rust);
    border-bottom-style: solid;
  }
}

.l-top .p-news__itemMeta {
  display: flex;
  flex-wrap: wrap;
  gap: calc(16 * var(--to-rem));
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-top .p-news__itemMeta {
    flex-direction: column;
    gap: calc(10 * var(--to-rem));
    align-items: flex-start;
  }
}

.l-top .p-news__itemDate {
  font-family: var(--overpass-font);
  font-size: calc(16 * var(--to-rem));
  font-style: italic;
  font-weight: 600;
  line-height: 1;
  color: var(--color-gray-text);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .l-top .p-news__itemDate {
    line-height: 1.5;
    color: var(--color-gray-556);
    letter-spacing: 0;
  }
}

.l-top .p-news__itemTag {
  display: inline-flex;
  align-items: center;
  padding-block: calc(8 * var(--to-rem));
  padding-inline: calc(14 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-brown);
  background-color: var(--color-bg-cream2);
  border: calc(2 * var(--to-rem)) solid var(--color-brown);
  border-radius: 999px;
}
@media screen and (max-width: 767px) {
  .l-top .p-news__itemTag {
    padding-block: calc(5 * var(--to-rem));
    padding-inline: calc(12 * var(--to-rem));
  }
}

.l-top .p-news__itemTitle {
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 2;
  color: var(--color-gray-dark);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .l-top .p-news__itemTitle {
    line-height: 1.75;
    color: var(--color-gray-262);
    letter-spacing: 0;
  }
}

.l-tokyotaikukan .p-news,
.l-tachikawa .p-news {
  display: flex;
  flex-direction: column;
  gap: calc(32 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-news,
  .l-tachikawa .p-news {
    gap: calc(24 * var(--to-rem));
    width: 100%;
    max-width: calc(358 * var(--to-rem));
    margin-inline: auto;
  }
}

@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-news__head .c-sectionHead__text,
  .l-tachikawa .p-news__head .c-sectionHead__text {
    gap: calc(3.3148 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-news__head .c-sectionHead__en,
  .l-tachikawa .p-news__head .c-sectionHead__en {
    font-family: var(--oswald-font);
    font-weight: var(--fw-semibold);
    line-height: 1.5;
    letter-spacing: 0.0622em;
  }
}

@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-news__head .c-sectionHead__ja,
  .l-tachikawa .p-news__head .c-sectionHead__ja {
    line-height: 1.1429;
    letter-spacing: 0.0085em;
  }
}

@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-news__headRow,
  .l-tachikawa .p-news__headRow {
    gap: calc(10.6074 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-news__headRow .c-sectionHead__deco--lines,
  .l-tachikawa .p-news__headRow .c-sectionHead__deco--lines {
    width: calc(25.854 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-news__list,
.l-tachikawa .p-news__list {
  padding: calc(40 * var(--to-rem));
  background-color: var(--color-white);
  border-radius: calc(20 * var(--to-rem));
  box-shadow: inset 0 0 0 calc(1 * var(--to-rem)) var(--color-orange);
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-news__list,
  .l-tachikawa .p-news__list {
    padding-block: 0;
    padding-inline: calc(16 * var(--to-rem));
    border-radius: calc(16 * var(--to-rem));
    box-shadow: inset 0 0 0 calc(1.5 * var(--to-rem)) var(--color-orange-sp-border);
  }
}

.l-tokyotaikukan .p-news__item,
.l-tachikawa .p-news__item {
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--to-rem));
  padding-block: calc(16 * var(--to-rem)) calc(15 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) dashed var(--color-orange-light);
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-news__item,
  .l-tachikawa .p-news__item {
    border-bottom-color: var(--color-orange-sp-border);
    border-bottom-style: solid;
  }
}

.l-tokyotaikukan .p-news__meta,
.l-tachikawa .p-news__meta {
  display: flex;
  gap: calc(16 * var(--to-rem));
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-news__meta,
  .l-tachikawa .p-news__meta {
    flex-direction: column;
    gap: calc(8 * var(--to-rem));
    align-items: flex-start;
  }
}

.l-tokyotaikukan .p-news__date,
.l-tachikawa .p-news__date {
  font-family: var(--overpass-font);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1;
  color: var(--color-gray-dark);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-news__date,
  .l-tachikawa .p-news__date {
    line-height: 1.5;
    color: var(--color-gray-text);
    letter-spacing: 0;
  }
}

.l-tokyotaikukan .p-news__cat,
.l-tachikawa .p-news__cat {
  padding-block: calc(7.2 * var(--to-rem));
  padding-inline: calc(12.6 * var(--to-rem));
  font-size: calc(14.4 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5278;
  color: var(--color-brown);
  white-space: nowrap;
  background-color: var(--color-bg-cream2);
  border-radius: calc(999 * var(--to-rem));
  box-shadow: inset 0 0 0 calc(1.8 * var(--to-rem)) var(--color-brown);
}

.l-tokyotaikukan .p-news__text,
.l-tachikawa .p-news__text {
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 2;
  color: var(--color-gray-dark);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-news__text,
  .l-tachikawa .p-news__text {
    line-height: 1.75;
    color: var(--color-black);
    letter-spacing: 0;
  }
}

@media screen and (max-width: 767px) {
  .l-tachikawa .p-news__head .c-sectionHead__deco--lines {
    width: calc(19.7 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .l-tachikawa .p-news__headRow {
    gap: calc(10.61 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .l-tachikawa .p-news__head .c-sectionHead__text {
    gap: calc(3.31 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .l-tachikawa .p-news__head .c-sectionHead__en {
    font-family: var(--base-font-family);
    letter-spacing: 0.0619em;
  }
}

@media screen and (max-width: 767px) {
  .l-tachikawa .p-news__head .c-sectionHead__ja {
    letter-spacing: 0.0086em;
  }
}

.l-tachikawa .p-news__list {
  box-shadow: inset 0 0 0 calc(1 * var(--to-rem)) var(--color-green-btn);
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-news__list {
    box-shadow: inset 0 0 0 calc(1.5 * var(--to-rem)) var(--color-orange-sp-border);
  }
}

.l-tachikawa .p-news__item {
  border-bottom-color: var(--color-green-mid);
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-news__item {
    border-bottom-color: var(--color-orange-sp-border);
  }
}

.l-tachikawa .p-news__date {
  color: var(--color-gray-text);
}

.l-tachikawa .p-news__cat {
  padding-block: calc(6 * var(--to-rem));
  padding-inline: calc(12 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  line-height: 1.5;
  color: var(--color-green-dark);
  background-color: var(--color-bg-mint);
  box-shadow: inset 0 0 0 calc(2 * var(--to-rem)) var(--color-green-dark);
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-news__cat {
    padding-block: calc(8 * var(--to-rem));
    padding-inline: calc(14 * var(--to-rem));
  }
}

.l-program .p-performer {
  position: relative;
  padding-block: calc(168.294 * var(--to-rem)) calc(100 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .l-program .p-performer {
    padding-block: calc(80 * var(--to-rem)) calc(48 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
  }
}

.l-program .p-performer::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  content: "";
  background-image: url("../images/common/bg-tile.png");
  background-repeat: repeat-y;
  background-position: center top;
  background-size: 100% auto;
  opacity: 0.5;
}

.l-program .p-performer__decoStage {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: 0;
  width: 100%;
  max-width: calc(1440 * var(--to-rem));
  pointer-events: none;
  transform: translateX(-50%);
}

.l-program .p-performer__deco {
  position: absolute;
  z-index: 0;
  display: block;
  height: auto;
  pointer-events: none;
}

.l-program .p-performer__deco--top {
  top: calc(27.89 * var(--to-rem));
  left: -2.9736%;
  width: 104.4278%;
  aspect-ratio: 3008/5178;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__deco--top {
    display: none;
  }
}

.l-program .p-performer__deco--bottom {
  top: calc(3164.65 * var(--to-rem));
  left: -2.9736%;
  width: 104.4278%;
  aspect-ratio: 3008/4490;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__deco--bottom {
    display: none;
  }
}

/* OK: 見出し帯に重なる装飾なので、ビューポート%ではなく中央基準+remで内容に追従させる */
.l-program .p-performer__deco--head {
  top: calc(24.23 * var(--to-rem));
  left: calc(50% - 376.4203 * var(--to-rem));
  width: calc(164.0304 * var(--to-rem));
  aspect-ratio: 329/300;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__deco--head {
    display: none;
  }
}

.l-program .p-performer__deco--right {
  top: calc(1037.68 * var(--to-rem));
  left: 89.5792%;
  width: 9.7276%;
  aspect-ratio: 281/395;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__deco--right {
    display: none;
  }
}

.l-program .p-performer__deco--left {
  top: calc(2172.49 * var(--to-rem));
  left: 2.7%;
  width: 9.7276%;
  aspect-ratio: 281/395;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__deco--left {
    display: none;
  }
}

.l-program .p-performer__deco--spCloud {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__deco--spCloud {
    top: calc(34 * var(--to-rem));
    left: calc(50% - 168 * var(--to-rem));
    display: block;
    width: calc(83 * var(--to-rem));
    aspect-ratio: 166/60;
  }
}

.l-program .p-performer__deco--spRight {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__deco--spRight {
    top: calc(11 * var(--to-rem));
    left: calc(50% + 85 * var(--to-rem));
    display: block;
    width: calc(82.0158 * var(--to-rem));
    aspect-ratio: 165/138;
  }
}

.l-program .p-performer__inner {
  position: relative;
  z-index: 1;
  width: calc(1075.4526 * var(--to-rem));
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__inner {
    width: calc(358 * var(--to-rem));
  }
}

.l-program .p-performer__head {
  height: auto;
  min-height: calc(71.6968 * var(--to-rem));
  padding: calc(7.9663 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__head {
    height: auto;
    min-height: calc(58 * var(--to-rem));
    padding-block: 0;
    padding-inline: calc(16 * var(--to-rem));
    border-radius: calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) 0 0;
  }
}

.l-program .p-performer__title {
  line-height: 0.9887;
  letter-spacing: 0.0078em;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__title {
    font-size: calc(28 * var(--to-rem));
    line-height: 1.1254;
    letter-spacing: 0.0089em;
  }
}

.l-program .p-performer__list {
  display: flex;
  flex-direction: column;
  gap: calc(23.8989 * var(--to-rem));
  margin-top: calc(32 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__list {
    gap: calc(16 * var(--to-rem));
    margin-top: calc(24 * var(--to-rem));
  }
}

.l-program .p-performer__item {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: calc(371 * var(--to-rem)) 1fr;
  min-height: calc(280 * var(--to-rem));
  padding-block: calc(25.2059 * var(--to-rem));
  padding-right: calc(16.8039 * var(--to-rem));
  background-color: var(--color-white);
  border-bottom: calc(2.1005 * var(--to-rem)) solid var(--color-border-card);
  border-radius: calc(19.9158 * var(--to-rem));
  box-shadow: 0 0 calc(10 * var(--to-rem)) rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__item {
    display: flex;
    flex-direction: column;
    gap: calc(8 * var(--to-rem));
    min-height: 0;
    padding: calc(12 * var(--to-rem)) calc(12 * var(--to-rem)) calc(14 * var(--to-rem));
    border-bottom: 0;
    border-radius: calc(12 * var(--to-rem));
    box-shadow: 0 calc(3 * var(--to-rem)) calc(8 * var(--to-rem)) rgba(23, 64, 31, 0.1);
  }
}

.l-program .p-performer__item[data-only-device=sm] {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__item[data-only-device=sm] {
    display: flex;
  }
}

.l-program .p-performer__media {
  grid-row: 1/span 2;
  grid-column: 1;
  align-self: center;
  padding-inline: calc(25.2059 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__media {
    align-self: flex-start;
    order: 2;
    width: calc(332 * var(--to-rem));
    max-width: 100%;
    padding-inline: 0;
    margin-top: calc(4 * var(--to-rem));
  }
}

.l-program .p-performer__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 321/190;
  border-radius: calc(12 * var(--to-rem));
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__media img {
    aspect-ratio: 332/136;
    border-radius: calc(8 * var(--to-rem));
  }
}

.l-program .p-performer__headRow {
  display: flex;
  grid-row: 1;
  grid-column: 2;
  gap: calc(16.8039 * var(--to-rem));
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__headRow {
    flex-direction: column;
    gap: calc(8 * var(--to-rem));
    align-items: flex-start;
    order: 1;
  }
}

@media screen and (max-width: 767px) {
  .l-program .p-performer__item--tagSpace .p-performer__headRow {
    min-height: calc(67 * var(--to-rem));
  }
}

.l-program .p-performer__name {
  padding-left: calc(7.9663 * var(--to-rem));
  font-size: calc(28 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.3128;
  color: var(--color-gray-dark);
  letter-spacing: -0.0113em;
  border-left: calc(4 * var(--to-rem)) solid var(--color-tomato);
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__name {
    padding-left: calc(8 * var(--to-rem));
    font-size: calc(20 * var(--to-rem));
    line-height: 1.35;
    color: var(--color-gray-222);
    letter-spacing: 0;
    border-left: calc(3 * var(--to-rem)) solid var(--color-brown);
  }
}

/* Figma ではカード1（ハイキュー）の見出しだけ 29.406908 で組まれている */
.l-program .p-performer__item:first-child .p-performer__name {
  font-size: calc(29.4069 * var(--to-rem));
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__item:first-child .p-performer__name {
    font-size: calc(20 * var(--to-rem));
    line-height: 1.35;
  }
}

.l-program .p-performer__tag {
  padding-block: calc(4.8 * var(--to-rem));
  padding-inline: calc(9.6 * var(--to-rem));
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.3714;
  color: var(--color-tomato);
  background-color: var(--color-bg-mint);
  border-radius: calc(799.2 * var(--to-rem));
  box-shadow: inset 0 0 0 calc(1.6 * var(--to-rem)) var(--color-tomato);
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__tag {
    padding-block: calc(5 * var(--to-rem));
    padding-inline: calc(10 * var(--to-rem));
    line-height: 1.5714;
    color: var(--color-brown);
    letter-spacing: -0.02em;
    background-color: var(--color-bg-cream);
    border-radius: calc(999 * var(--to-rem));
    box-shadow: inset 0 0 0 calc(1 * var(--to-rem)) var(--color-brown);
  }
}

.l-program .p-performer__body {
  display: flex;
  flex-direction: column;
  grid-row: 2;
  grid-column: 2;
  gap: calc(8 * var(--to-rem));
  margin-top: calc(8 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__body {
    display: flex;
    flex-direction: column;
    gap: calc(8 * var(--to-rem));
    order: 3;
    margin-top: 0;
  }
}

/* 下線はメタ行コンテナの border-bottom。Figma では幅が内容によらず
   536px（通常カード）/ 610px（カード1・2 の縦積み）で固定されている。 */
.l-program .p-performer__meta {
  display: flex;
  gap: calc(16 * var(--to-rem));
  align-items: center;
  width: calc(536 * var(--to-rem));
  max-width: 100%;
  min-height: calc(44 * var(--to-rem));
  padding-top: calc(4 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid var(--color-border-light);
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__meta {
    flex-direction: column;
    gap: calc(8 * var(--to-rem));
    align-items: flex-start;
    width: 100%;
    min-height: 0;
    padding-top: 0;
    border-bottom: 0;
  }
}

/* SP のカード1・2 は受付方法が複数行になるため、ラベルを1行目に揃える（Figma もラベル群 top 揃え） */
@media screen and (max-width: 767px) {
  .l-program .p-performer__item--metaStack .p-performer__metaItem:first-child {
    align-items: flex-start;
  }
}

/* カード1・2 は受付方法が長いため縦積み。カード高さ 280px の余りを吸収して中央寄せになる。 */
.l-program .p-performer__item--metaStack .p-performer__meta {
  flex: 1;
  flex-direction: column;
  gap: calc(8 * var(--to-rem));
  align-items: flex-start;
  justify-content: center;
  width: calc(610 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__item--metaStack .p-performer__meta {
    flex: none;
    width: 100%;
  }
}

.l-program .p-performer__metaItem {
  display: flex;
  flex: none;
  gap: calc(8 * var(--to-rem));
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__metaItem {
    gap: calc(12 * var(--to-rem));
    align-items: center;
  }
}

.l-program .p-performer__metaLabel {
  display: flex;
  flex-shrink: 0;
  gap: calc(7.9663 * var(--to-rem));
  align-items: center;
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--color-tomato);
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__metaLabel {
    gap: calc(6.3731 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
    line-height: 1.5931;
  }
}

@media screen and (max-width: 767px) {
  .l-program .p-performer__metaItem:nth-child(2) .p-performer__metaLabel {
    line-height: 1.9919;
  }
}

.l-program .p-performer__metaIcon {
  display: block;
  flex-shrink: 0;
  width: calc(28 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__metaIcon {
    width: calc(22 * var(--to-rem));
  }
}

.l-program .p-performer__metaValue {
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5755;
  color: var(--color-gray-text);
  letter-spacing: 0.0123em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__metaValue {
    font-size: calc(16 * var(--to-rem));
    font-weight: var(--fw-medium);
    line-height: 1.625;
    color: var(--color-gray-222);
    letter-spacing: 0;
    white-space: normal;
  }
}

.l-program .p-performer__divider {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__divider {
    display: block;
    width: 100%;
    height: calc(1 * var(--to-rem));
    background-color: var(--color-border-mint);
    border: 0;
  }
}

.l-program .p-performer__descBody {
  margin-top: 0;
}

/* 【非表示】「プログラム紹介文」ラベル用（Figma で visible=false になったため HTML から外してある。復活時にそのまま使う） */
.l-program .p-performer__descLabel {
  display: flex;
  gap: calc(8 * var(--to-rem));
  align-items: center;
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--color-tomato);
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__descLabel {
    font-size: calc(16 * var(--to-rem));
    line-height: 1.25;
  }
}

.l-program .p-performer__desc {
  width: 100%;
  max-width: 100%;
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.765;
  color: var(--color-gray-text);
  letter-spacing: 0.0078em;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__desc {
    width: 100%;
    font-size: calc(16 * var(--to-rem));
    line-height: 1.625;
    color: var(--color-gray-222);
    letter-spacing: 0;
  }
}

.l-program .p-performer__item--descWide .p-performer__desc {
  width: calc(653 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__item--descWide .p-performer__desc {
    width: 100%;
  }
}

.l-program .p-performer__btnList {
  display: flex;
  flex-direction: column;
  gap: calc(60 * var(--to-rem));
  align-items: center;
  margin-top: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__btnList {
    gap: calc(24 * var(--to-rem));
    margin-top: calc(24 * var(--to-rem));
  }
}

.l-program .p-performer__btnLead {
  font-size: calc(28 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 0.9286;
  color: var(--color-gray-dark);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__btnLead {
    font-size: calc(20 * var(--to-rem));
    line-height: 1.8379;
    letter-spacing: -0.0158em;
  }
}

.l-program .p-performer__btnLeadBr {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__btnLeadBr {
    display: inline;
  }
}

.l-program .p-performer__btnRow {
  display: flex;
  gap: calc(32 * var(--to-rem));
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__btnRow {
    flex-direction: column;
    gap: calc(24 * var(--to-rem));
    width: 100%;
  }
}

.l-program .p-performer__btn {
  position: relative;
  display: flex;
  gap: calc(17.6 * var(--to-rem));
  align-items: center;
  justify-content: center;
  width: calc(400 * var(--to-rem));
  min-height: calc(145.6 * var(--to-rem));
  padding-inline: calc(24 * var(--to-rem));
  overflow: hidden;
  text-decoration: none;
  background-color: var(--color-white);
  border-radius: calc(17.6 * var(--to-rem));
  box-shadow: calc(4 * var(--to-rem)) calc(4 * var(--to-rem)) 0 var(--color-orange-deep);
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__btn {
    gap: calc(14 * var(--to-rem));
    justify-content: flex-start;
    width: 100%;
    min-height: calc(130 * var(--to-rem));
    padding: calc(22 * var(--to-rem)) calc(20 * var(--to-rem)) calc(28 * var(--to-rem));
  }
}

.l-program .p-performer__btn {
  transition: box-shadow var(--duration), transform var(--duration);
}

.l-program .p-performer__btn::after {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  content: "";
  border: calc(4 * var(--to-rem)) solid transparent;
  border-radius: inherit;
  transition: border-color var(--duration);
}

.l-program .p-performer__btn:focus-visible::after {
  border-color: var(--color-amber);
}

@media (hover: hover) {
  .l-program .p-performer__btn:hover {
    box-shadow: var(--shadow-card-hover);
    transform: translate(calc(4 * var(--to-rem)), calc(4 * var(--to-rem)));
  }
  .l-program .p-performer__btn:hover::after {
    border-color: var(--color-amber);
  }
}
.l-program .p-performer__btn::before {
  position: absolute;
  top: calc(33.93 * var(--to-rem));
  left: calc(-15.31 * var(--to-rem));
  width: calc(448 * var(--to-rem));
  height: calc(36.8 * var(--to-rem));
  margin-top: calc(-18.4 * var(--to-rem));
  margin-left: calc(-224 * var(--to-rem));
  content: "";
  background-color: var(--color-amber);
  transform: rotate(-34.47deg);
}

.l-program .p-performer__btnIcon {
  position: relative;
  z-index: 1;
  display: block;
  flex-shrink: 0;
  width: calc(88 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__btnIcon {
    width: calc(72 * var(--to-rem));
  }
}

.l-program .p-performer__btnLabel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: calc(6.4 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__btnLabel {
    gap: calc(4 * var(--to-rem));
  }
}

.l-program .p-performer__btnName {
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4;
  color: var(--color-gray-text);
}

.l-program .p-performer__btnDesc {
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.4;
  color: var(--color-brown);
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__btnDesc {
    font-size: calc(14 * var(--to-rem));
  }
}

.l-program .p-performer__btnArrow {
  position: relative;
  z-index: 1;
  display: block;
  flex-shrink: 0;
  width: calc(33.6 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .l-program .p-performer__btnArrow {
    width: calc(32 * var(--to-rem));
  }
}

.l-tachikawaProgram .p-performer {
  position: relative;
  padding-block: calc(120 * var(--to-rem)) calc(100 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer {
    padding-block: calc(80 * var(--to-rem)) calc(48 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
    background-color: transparent;
  }
}

.l-tachikawaProgram .p-performer::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  content: "";
  background-image: url("../images/tachikawa/bg-tile.png");
  background-repeat: repeat-y;
  background-position: center top;
  background-size: 100% auto;
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer::before {
    background-repeat: repeat-y;
    background-position: left top;
    background-size: max(100%, 432 * var(--to-rem)) auto;
    opacity: 1;
  }
}

.l-tachikawaProgram .p-performer__decoStage {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: 0;
  width: 100%;
  max-width: calc(1440 * var(--to-rem));
  pointer-events: none;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__decoStage {
    max-width: calc(390 * var(--to-rem));
  }
}

.l-tachikawaProgram .p-performer__decoStage--front {
  z-index: 2;
}

.l-tachikawaProgram .p-performer__deco {
  position: absolute;
  display: block;
  height: auto;
  pointer-events: none;
}

.l-tachikawaProgram .p-performer__deco--top {
  top: calc(29.076 * var(--to-rem));
  left: -2.9716%;
  width: 104.3554%;
  aspect-ratio: 1503.762/2589.284;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__deco--top {
    display: none;
  }
}

.l-tachikawaProgram .p-performer__deco--bottom {
  top: calc(3089.564 * var(--to-rem));
  left: -2.9716%;
  width: 104.3554%;
  aspect-ratio: 1503.762/2321.71;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__deco--bottom {
    display: none;
  }
}

.l-tachikawaProgram .p-performer__deco--right {
  top: calc(1044.163 * var(--to-rem));
  left: 89.5168%;
  width: 9.7198%;
  aspect-ratio: 140.062/197.5;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__deco--right {
    display: none;
  }
}

.l-tachikawaProgram .p-performer__deco--left {
  top: calc(1710.194 * var(--to-rem));
  left: 3.3311%;
  width: 8.7136%;
  aspect-ratio: 125.563/163.464;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__deco--left {
    display: none;
  }
}

.l-tachikawaProgram .p-performer__deco--head {
  top: calc(10.906 * var(--to-rem));
  left: calc(50% - 393.098 * var(--to-rem));
  width: calc(196.972 * var(--to-rem));
  aspect-ratio: 196.972/175.13;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__deco--head {
    display: none;
  }
}

.l-tachikawaProgram .p-performer__deco--spCloud {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__deco--spCloud {
    top: calc(34 * var(--to-rem));
    left: calc(50% - 168 * var(--to-rem));
    display: block;
    width: calc(83 * var(--to-rem));
    aspect-ratio: 83/29.7043;
  }
}

.l-tachikawaProgram .p-performer__deco--spCrown {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__deco--spCrown {
    top: calc(11 * var(--to-rem));
    left: calc(50% + 58 * var(--to-rem));
    display: block;
    width: calc(82.016 * var(--to-rem));
    aspect-ratio: 82.016/68.9984;
  }
}

.l-tachikawaProgram .p-performer__inner {
  position: relative;
  z-index: 1;
  width: calc(1075.4526 * var(--to-rem));
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__inner {
    width: calc(358 * var(--to-rem));
  }
}

.l-tachikawaProgram .p-performer__head {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(71.6968 * var(--to-rem));
  padding: calc(7.9663 * var(--to-rem));
  background-color: var(--color-green-dark);
  border-radius: calc(15.9326 * var(--to-rem)) calc(15.9326 * var(--to-rem)) 0 0;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__head {
    min-height: calc(58 * var(--to-rem));
    padding-block: 0;
    padding-inline: calc(16 * var(--to-rem));
    border-radius: calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) 0 0;
  }
}

.l-tachikawaProgram .p-performer__title {
  font-size: calc(31.8653 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 0.9888;
  color: var(--color-white);
  text-align: center;
  letter-spacing: 0.0077em;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__title {
    font-size: calc(24 * var(--to-rem));
    line-height: 1.3128;
    letter-spacing: 0.0103em;
  }
}

.l-tachikawaProgram .p-performer__list {
  display: flex;
  flex-direction: column;
  gap: calc(23.8989 * var(--to-rem));
  margin-top: calc(32 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__list {
    gap: calc(16 * var(--to-rem));
    margin-top: calc(16 * var(--to-rem));
  }
}

.l-tachikawaProgram .p-performer__item {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: calc(371 * var(--to-rem)) 1fr;
  min-height: calc(280 * var(--to-rem));
  padding-block: calc(25.2059 * var(--to-rem));
  padding-right: calc(16.8039 * var(--to-rem));
  background-color: var(--color-white);
  border-radius: calc(19.9158 * var(--to-rem));
  box-shadow: 0 0 calc(10 * var(--to-rem)) rgba(0, 0, 0, 0.1), inset 0 calc(-2 * var(--to-rem)) 0 var(--color-border-card);
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__item {
    display: flex;
    flex-direction: column;
    gap: calc(8 * var(--to-rem));
    min-height: 0;
    padding: calc(12 * var(--to-rem)) calc(12 * var(--to-rem)) calc(14 * var(--to-rem));
    overflow: hidden;
    border-radius: calc(12 * var(--to-rem));
    box-shadow: 0 calc(3 * var(--to-rem)) calc(8 * var(--to-rem)) rgba(23, 64, 31, 0.1);
  }
}

.l-tachikawaProgram .p-performer__media {
  grid-row: 1/span 2;
  grid-column: 1;
  align-self: center;
  padding-inline: calc(25.2059 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__media {
    order: 2;
    width: calc(332 * var(--to-rem));
    max-width: 100%;
    padding-inline: 0;
    margin-top: calc(4 * var(--to-rem));
  }
}

.l-tachikawaProgram .p-performer__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 320.5882/190;
  background-color: var(--color-white);
  border-radius: calc(12 * var(--to-rem));
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__media img {
    aspect-ratio: 332/136;
    border-radius: calc(8 * var(--to-rem));
  }
}

.l-tachikawaProgram .p-performer__headRow {
  display: flex;
  grid-row: 1;
  grid-column: 2;
  gap: calc(16.8039 * var(--to-rem));
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__headRow {
    flex-direction: column;
    gap: calc(8 * var(--to-rem));
    align-items: flex-start;
    order: 1;
  }
}

@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__item--tagSpace .p-performer__headRow {
    min-height: calc(67 * var(--to-rem));
  }
}

.l-tachikawaProgram .p-performer__name {
  padding-left: calc(7.9663 * var(--to-rem));
  font-size: calc(28 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.25;
  color: var(--color-gray-dark);
  letter-spacing: -0.0107em;
  white-space: nowrap;
  border-left: calc(4 * var(--to-rem)) solid var(--color-green-deep);
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__name {
    padding-left: calc(8 * var(--to-rem));
    font-size: calc(20 * var(--to-rem));
    line-height: 1.35;
    color: var(--color-gray-222);
    letter-spacing: 0;
    border-left: calc(3 * var(--to-rem)) solid var(--color-green-dark);
  }
}

.l-tachikawaProgram .p-performer__tag {
  display: inline-flex;
  align-items: center;
  min-height: calc(29.6 * var(--to-rem));
  padding-block: calc(4.8 * var(--to-rem));
  padding-inline: calc(9.6 * var(--to-rem));
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.3714;
  color: var(--color-green-dark);
  background-color: var(--color-bg-mint);
  border-radius: calc(799.2 * var(--to-rem));
  box-shadow: inset 0 0 0 calc(1.6 * var(--to-rem)) var(--color-green-dark);
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__tag {
    min-height: calc(32 * var(--to-rem));
    padding-block: calc(5 * var(--to-rem));
    padding-inline: calc(10 * var(--to-rem));
    line-height: 1.5714;
    color: var(--color-green-showa-tag);
    background-color: var(--color-bg-showa-tag);
    border-radius: calc(999 * var(--to-rem));
    box-shadow: inset 0 0 0 calc(1 * var(--to-rem)) var(--color-green-showa-tag);
  }
}

.l-tachikawaProgram .p-performer__body {
  grid-row: 2;
  grid-column: 2;
  margin-top: calc(8 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__body {
    display: flex;
    flex-direction: column;
    gap: calc(8 * var(--to-rem));
    order: 3;
    margin-top: 0;
  }
}

/* 下線（メタ行の border-bottom）は Figma では内容にかかわらず常に 536px 固定。
   内容がはみ出すカード（かけっこ教室など）でも下線の長さは変えない。 */
.l-tachikawaProgram .p-performer__meta {
  display: flex;
  gap: calc(16 * var(--to-rem));
  align-items: center;
  width: calc(536 * var(--to-rem));
  max-width: 100%;
  min-height: calc(44 * var(--to-rem));
  padding-top: calc(4 * var(--to-rem));
  border-bottom: calc(1.4017 * var(--to-rem)) solid var(--color-border-light);
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__meta {
    flex-direction: column;
    gap: calc(8 * var(--to-rem));
    align-items: flex-start;
    width: 100%;
    min-height: 0;
    padding-top: 0;
    border-bottom: 0;
  }
}

.l-tachikawaProgram .p-performer__meta--top {
  align-items: flex-start;
}

/* 下線は 536px 固定のまま、中身は縮めずに右へはみ出させる（Figma と同じ挙動） */
.l-tachikawaProgram .p-performer__metaItem {
  display: flex;
  flex-shrink: 0;
  gap: calc(8 * var(--to-rem));
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__metaItem {
    gap: calc(12 * var(--to-rem));
  }
}

.l-tachikawaProgram .p-performer__metaItem--multiline {
  align-items: flex-start;
}

.l-tachikawaProgram .p-performer__metaLabel {
  display: flex;
  flex-shrink: 0;
  gap: calc(7.9663 * var(--to-rem));
  align-items: center;
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--color-green-deep);
  letter-spacing: 0.0398em;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__metaLabel {
    gap: calc(6.3731 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
    line-height: 1.5933;
  }
}

@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__metaItem:nth-child(2) .p-performer__metaLabel {
    gap: calc(7.9663 * var(--to-rem));
    line-height: 1.9916;
    letter-spacing: 0.0498em;
  }
}

.l-tachikawaProgram .p-performer__metaIcon {
  display: block;
  flex-shrink: 0;
  width: calc(28 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__metaIcon {
    width: calc(22 * var(--to-rem));
  }
}

.l-tachikawaProgram .p-performer__metaValue {
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5754;
  color: var(--color-gray-text);
  letter-spacing: 0.0123em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__metaValue {
    font-size: calc(16 * var(--to-rem));
    font-weight: var(--fw-medium);
    line-height: 1.625;
    color: var(--color-gray-222);
    letter-spacing: 0;
  }
}

.l-tachikawaProgram .p-performer__metaNote {
  font-size: calc(14 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__metaNote {
    font-size: calc(13 * var(--to-rem));
  }
}

.l-tachikawaProgram .p-performer__divider {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__divider {
    display: block;
    width: 100%;
    height: calc(1 * var(--to-rem));
    background-color: var(--color-border-mint);
    border: 0;
  }
}

.l-tachikawaProgram .p-performer__descBody {
  margin-top: calc(8 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__descBody {
    margin-top: 0;
  }
}

/* 【非表示】「プログラム紹介文」ラベル用（Figma で visible=false になったため HTML から外してある。復活時にそのまま使う） */
.l-tachikawaProgram .p-performer__descLabel {
  display: flex;
  gap: calc(8 * var(--to-rem));
  align-items: center;
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--color-green-deep);
  letter-spacing: 0.0398em;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__descLabel {
    font-size: calc(16 * var(--to-rem));
    line-height: 1.25;
    letter-spacing: 0.0498em;
  }
}

.l-tachikawaProgram .p-performer__desc {
  max-width: 100%;
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.765;
  color: var(--color-gray-text);
  letter-spacing: 0.0075em;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__desc {
    width: 100%;
    font-size: calc(16 * var(--to-rem));
    line-height: 1.625;
    color: var(--color-gray-222);
    letter-spacing: 0;
  }
}

.l-tachikawaProgram .p-performer__btnList {
  display: flex;
  flex-direction: column;
  gap: calc(60 * var(--to-rem));
  align-items: center;
  margin-top: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__btnList {
    gap: calc(24 * var(--to-rem));
    margin-top: calc(24 * var(--to-rem));
  }
}

.l-tachikawaProgram .p-performer__btnLead {
  font-size: calc(28 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.3128;
  color: var(--color-gray-dark);
  text-align: center;
  letter-spacing: -0.0113em;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__btnLead {
    font-size: calc(20 * var(--to-rem));
    line-height: 1.8379;
    letter-spacing: -0.0158em;
  }
}

.l-tachikawaProgram .p-performer__btnLeadBr {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__btnLeadBr {
    display: inline;
  }
}

.l-tachikawaProgram .p-performer__btn {
  position: relative;
  display: flex;
  gap: calc(17.6 * var(--to-rem));
  align-items: center;
  justify-content: center;
  width: calc(400 * var(--to-rem));
  max-width: 100%;
  min-height: calc(134 * var(--to-rem));
  /* Figma のカードは h=134 固定で padding-bottom 40 が効いていない。
     中身（88px のアイコン行）が上端から 27.2 の位置に来るよう下側で調整する。 */
  padding: calc(27.2 * var(--to-rem)) calc(24 * var(--to-rem)) calc(18.8 * var(--to-rem)) calc(22.4 * var(--to-rem));
  overflow: hidden;
  text-decoration: none;
  background-color: var(--color-white);
  border-radius: calc(17.6 * var(--to-rem));
  box-shadow: calc(4 * var(--to-rem)) calc(4 * var(--to-rem)) 0 var(--color-green-btn-shadow);
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__btn {
    gap: calc(14 * var(--to-rem));
    justify-content: flex-start;
    width: 100%;
    min-height: calc(130 * var(--to-rem));
    padding: calc(22 * var(--to-rem)) calc(20 * var(--to-rem)) calc(28 * var(--to-rem));
  }
}

.l-tachikawaProgram .p-performer__btn {
  transition: box-shadow var(--duration), transform var(--duration);
}

.l-tachikawaProgram .p-performer__btn::after {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  content: "";
  border: calc(4 * var(--to-rem)) solid transparent;
  border-radius: inherit;
  transition: border-color var(--duration);
}

.l-tachikawaProgram .p-performer__btn:focus-visible::after {
  border-color: var(--color-green-mid);
}

@media (hover: hover) {
  .l-tachikawaProgram .p-performer__btn:hover {
    box-shadow: var(--shadow-card-hover);
    transform: translate(calc(4 * var(--to-rem)), calc(4 * var(--to-rem)));
  }
  .l-tachikawaProgram .p-performer__btn:hover::after {
    border-color: var(--color-green-mid);
  }
}
/* 左上角の斜め帯。Figma は 112.238 × 36.807 の矩形を -34.4634° 回転し、
   中心をカード左上から (26.7077, 5.0976) に置いたもの。カードの overflow: hidden で
   見える範囲が 83.3914 × 52.0279 の三角になる。 */
.l-tachikawaProgram .p-performer__btn::before {
  position: absolute;
  top: calc(5.0976 * var(--to-rem));
  left: calc(26.7077 * var(--to-rem));
  width: calc(112.238 * var(--to-rem));
  height: calc(36.807 * var(--to-rem));
  content: "";
  background-color: var(--color-green-mid);
  transform: translate(-50%, -50%) rotate(-34.4634deg);
}

.l-tachikawaProgram .p-performer__btnIcon {
  position: relative;
  z-index: 1;
  display: block;
  flex-shrink: 0;
  width: calc(88 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__btnIcon {
    width: calc(72 * var(--to-rem));
  }
}

.l-tachikawaProgram .p-performer__btnLabel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: calc(6 * var(--to-rem));
}

.l-tachikawaProgram .p-performer__btnName {
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4;
  color: var(--color-gray-text);
}

.l-tachikawaProgram .p-performer__btnDesc {
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.4;
  color: var(--color-green-dark);
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__btnDesc {
    font-size: calc(14 * var(--to-rem));
  }
}

.l-tachikawaProgram .p-performer__btnArrow {
  position: relative;
  z-index: 1;
  display: block;
  flex-shrink: 0;
  width: calc(33.6 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-performer__btnArrow {
    width: calc(32 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program {
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program {
    background-color: var(--color-white);
  }
}

.l-tokyotaikukan .p-program__cloud {
  position: absolute;
  width: calc(153 * var(--to-rem));
  height: auto;
  aspect-ratio: 153/65;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__cloud {
    display: none;
  }
}

.l-tokyotaikukan .p-program__cloud--outer {
  top: calc(74 * var(--to-rem));
  right: calc(10 * var(--to-rem));
  z-index: 3;
}

.l-tokyotaikukan .p-program__cloud--inner {
  top: calc(1150 * var(--to-rem));
  left: calc(73 * var(--to-rem));
  z-index: 2;
}

.l-tokyotaikukan .p-program__inner {
  position: relative;
  padding-block: calc(120 * var(--to-rem)) calc(100 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-white);
  background-image: url("../images/common/bg-dot.png");
  background-repeat: repeat;
  background-position: calc(22 * var(--to-rem)) calc(6 * var(--to-rem));
  background-size: calc(24 * var(--to-rem)) calc(24 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__inner {
    padding-block: calc(48 * var(--to-rem)) calc(32 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
    background-position: calc(1 * var(--to-rem)) calc(20.75 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: calc(29 * var(--to-rem));
  width: calc(1080 * var(--to-rem));
  max-width: 100%;
  padding-bottom: calc(100 * var(--to-rem));
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__body {
    gap: calc(24 * var(--to-rem));
    width: 100%;
    padding-bottom: 0;
  }
}

.l-tokyotaikukan .p-program__guest {
  display: flex;
  flex-direction: column;
  gap: calc(24 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__guest {
    padding-block: calc(16 * var(--to-rem)) calc(48 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
    margin-inline: calc(-16 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__row {
  display: flex;
  gap: calc(16 * var(--to-rem));
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__row {
    flex-direction: column;
    gap: calc(24 * var(--to-rem));
    align-items: center;
    width: 100%;
    max-width: calc(358 * var(--to-rem));
    margin-inline: auto;
  }
}

.l-tokyotaikukan .p-program__card {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__card {
    width: 100%;
  }
}

.l-tokyotaikukan .p-program__card--collab {
  width: calc(516 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__card--collab {
    width: 100%;
  }
}

.l-tokyotaikukan .p-program__card--special {
  width: calc(554 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__card--special {
    width: 100%;
  }
}

.l-tokyotaikukan .p-program__card--guest {
  width: calc(419 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__card--guest {
    width: 100%;
  }
}

.l-tokyotaikukan .p-program__card--facility {
  width: calc(403 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__card--facility {
    width: 100%;
  }
}

.l-tokyotaikukan .p-program__card--goods {
  width: calc(249 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__card--goods {
    width: 100%;
  }
}

.l-tokyotaikukan .p-program__ribbon {
  position: relative;
  z-index: 1;
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  font-weight: var(--fw-bold);
  color: var(--color-white);
  text-align: center;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% 100%;
}

.l-tokyotaikukan .p-program__ribbon--collab {
  width: calc(500 * var(--to-rem));
  height: calc(63.218 * var(--to-rem));
  margin-left: calc(16 * var(--to-rem));
  font-size: calc(24 * var(--to-rem));
  line-height: 1;
  background-image: url("../images/tokyotaikukan/program-ribbon-w500.svg");
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__ribbon--collab {
    width: calc(347 * var(--to-rem));
    height: calc(40 * var(--to-rem));
    margin-left: calc(11 * var(--to-rem));
    font-size: calc(22 * var(--to-rem));
    line-height: 1.0909;
    background-image: url("../images/tokyotaikukan/program-ribbon-sp-w347.svg");
  }
}

.l-tokyotaikukan .p-program__ribbon--special {
  width: calc(531 * var(--to-rem));
  height: calc(63.218 * var(--to-rem));
  margin-left: calc(23 * var(--to-rem));
  font-size: calc(24 * var(--to-rem));
  line-height: 1;
  background-image: url("../images/tokyotaikukan/program-ribbon-w531.svg");
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__ribbon--special {
    width: calc(347 * var(--to-rem));
    height: calc(46.992 * var(--to-rem));
    margin-left: calc(11 * var(--to-rem));
    font-size: calc(20 * var(--to-rem));
    line-height: 1.2;
    background-image: url("../images/tokyotaikukan/program-ribbon-sp-w347h47.svg");
  }
}

/* Figma 2002:7060(PC) / 2002:7063(SP)。1行目と2行目でフォントサイズが違い、line-height は 26px 固定 */
.l-tokyotaikukan .p-program__ribbon--guest {
  flex-direction: column;
  width: calc(366 * var(--to-rem));
  height: calc(61 * var(--to-rem));
  /* 平行四辺形なのでテキストボックスは右寄せ（Figma: x=48 / 幅280 / 右余白38） */
  padding-inline: calc(48 * var(--to-rem)) calc(38 * var(--to-rem));
  /* 旧実装（高さ71・背景を2px下げ）と同じ位置にオレンジを置くための2px */
  margin-top: calc(2 * var(--to-rem));
  margin-left: calc(27 * var(--to-rem));
  font-size: calc(24 * var(--to-rem));
  line-height: calc(26 * var(--to-rem));
  letter-spacing: 0;
  background-image: url("../images/tokyotaikukan/program-ribbon-w366.svg");
  background-position: left top;
  background-size: 100% calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__ribbon--guest {
    width: calc(358 * var(--to-rem));
    height: calc(64 * var(--to-rem));
    padding-inline: calc(47.2168 * var(--to-rem)) calc(36.3597 * var(--to-rem));
    margin-left: 0;
    font-size: calc(20 * var(--to-rem));
    background-image: url("../images/tokyotaikukan/program-ribbon-sp-w358h64.svg");
    background-size: 100% 100%;
  }
}

.l-tokyotaikukan .p-program__ribbonLead {
  font-size: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__ribbonLead {
    font-size: calc(16 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__ribbon--facility {
  width: calc(393 * var(--to-rem));
  height: calc(60 * var(--to-rem));
  margin-left: calc(10 * var(--to-rem));
  font-size: calc(24 * var(--to-rem));
  line-height: 1.0833;
  background-image: url("../images/tokyotaikukan/program-ribbon-w393.svg");
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__ribbon--facility {
    width: calc(329 * var(--to-rem));
    height: calc(64 * var(--to-rem));
    margin-left: calc(18 * var(--to-rem));
    font-size: calc(22 * var(--to-rem));
    line-height: 1.0909;
    background-image: url("../images/tokyotaikukan/program-ribbon-sp-w329.svg");
  }
}

.l-tokyotaikukan .p-program__ribbon--goods {
  width: calc(249 * var(--to-rem));
  height: calc(60 * var(--to-rem));
  font-size: calc(24 * var(--to-rem));
  line-height: 1.5;
  background-image: url("../images/tokyotaikukan/program-ribbon-w249.svg");
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__ribbon--goods {
    width: calc(237 * var(--to-rem));
    height: calc(40 * var(--to-rem));
    margin-left: calc(64 * var(--to-rem));
    font-size: calc(22 * var(--to-rem));
    line-height: 1.0909;
    background-image: url("../images/tokyotaikukan/program-ribbon-sp-w237.svg");
  }
}

.l-tokyotaikukan .p-program__cardBody {
  display: flex;
  flex-direction: column;
  background-color: var(--color-bg-cream2);
  border-radius: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__cardBody {
    border-radius: calc(16 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__cardBody--collab {
  gap: calc(16 * var(--to-rem));
  align-items: center;
  width: calc(513 * var(--to-rem));
  max-width: 100%;
  min-height: calc(563.148 * var(--to-rem));
  padding-inline: calc(28 * var(--to-rem));
  padding-top: calc(40 * var(--to-rem));
  margin-top: calc(-17.366 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__cardBody--collab {
    gap: calc(8 * var(--to-rem));
    justify-content: center;
    width: 100%;
    min-height: calc(405.764 * var(--to-rem));
    padding-top: calc(32 * var(--to-rem));
    padding-bottom: calc(24 * var(--to-rem));
    margin-top: calc(-17 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__collabVisual {
  display: flex;
  flex-direction: column;
  gap: calc(10.6276 * var(--to-rem));
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__collabVisual {
    gap: calc(4 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__collabImage {
  flex: none;
  width: calc(460.628 * var(--to-rem));
  aspect-ratio: 460.628/251;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__collabImage {
    width: calc(299.954 * var(--to-rem));
    max-width: 100%;
    aspect-ratio: 299.954/150.764;
  }
}

.l-tokyotaikukan .p-program__collabImage picture {
  display: block;
  width: 100%;
  height: 100%;
}

.l-tokyotaikukan .p-program__collabCredit {
  font-size: calc(16 * var(--to-rem));
  line-height: 1.5;
  color: var(--color-black);
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__collabCredit {
    font-size: calc(14 * var(--to-rem));
    letter-spacing: -0.005em;
  }
}

.l-tokyotaikukan .p-program__collabList {
  width: calc(321 * var(--to-rem));
  max-width: 100%;
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4;
  color: var(--color-brown);
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__collabList {
    width: calc(278 * var(--to-rem));
    font-size: calc(18 * var(--to-rem));
    line-height: 1.3333;
  }
}

.l-tokyotaikukan .p-program__note {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--fw-bold);
  text-align: center;
  background-color: var(--color-white);
}

.l-tokyotaikukan .p-program__note--collab {
  width: 100%;
  min-height: calc(103 * var(--to-rem));
  font-size: calc(20 * var(--to-rem));
  line-height: 1.2;
  color: var(--color-brown);
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__note--collab {
    width: calc(332 * var(--to-rem));
    min-height: calc(86 * var(--to-rem));
    font-size: calc(18 * var(--to-rem));
    line-height: 1.3333;
  }
}

.l-tokyotaikukan .p-program__cardBody--special {
  gap: calc(24 * var(--to-rem));
  align-items: center;
  width: calc(545 * var(--to-rem));
  max-width: 100%;
  min-height: calc(558.426 * var(--to-rem));
  padding-block: calc(40 * var(--to-rem)) calc(27 * var(--to-rem));
  padding-inline: calc(28 * var(--to-rem));
  margin-top: calc(-15.218 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__cardBody--special {
    gap: calc(8 * var(--to-rem));
    justify-content: center;
    width: 100%;
    min-height: calc(436.849 * var(--to-rem));
    padding-block: calc(32 * var(--to-rem)) calc(24 * var(--to-rem));
    margin-top: calc(-21.523 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__specialMain {
  display: flex;
  flex-direction: column;
  gap: calc(24 * var(--to-rem));
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__specialMain {
    gap: calc(8 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__specialLead {
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.2;
  color: var(--color-tomato);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__specialLead {
    width: 100%;
    font-size: calc(16 * var(--to-rem));
    line-height: 1.5;
  }
}

.l-tokyotaikukan .p-program__specialMedia {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  padding-bottom: calc(8.84 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__specialMedia {
    width: calc(325.305 * var(--to-rem));
    max-width: none;
    padding-bottom: 0;
  }
}

.l-tokyotaikukan .p-program__specialPhoto {
  width: 100%;
  aspect-ratio: 489/255.586;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__specialPhoto {
    aspect-ratio: 325.305/166.849;
    overflow: hidden;
    border-radius: calc(10 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__specialPhoto picture {
  display: block;
  width: 100%;
  height: 100%;
}

.l-tokyotaikukan .p-program__specialLogo {
  width: calc(100 * var(--to-rem));
  height: auto;
  aspect-ratio: 100/90.991;
  padding-block: calc(11.9585 * var(--to-rem));
  padding-inline: calc(9.742 * var(--to-rem));
  margin-top: calc(-90.577 * var(--to-rem));
  background-color: var(--color-white);
  border-radius: calc(9.009 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__specialLogo {
    width: calc(79 * var(--to-rem));
    aspect-ratio: 79/71.883;
    padding-block: calc(9.447 * var(--to-rem));
    padding-inline: calc(7.6965 * var(--to-rem));
    margin-top: calc(-71.726 * var(--to-rem));
    border-radius: calc(11.618 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__specialCredit {
  width: 100%;
  margin-top: calc(3.586 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  line-height: 1.4;
  color: var(--color-gray-dark);
  text-align: right;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__specialCredit {
    margin-top: calc(3.843 * var(--to-rem));
    font-size: calc(14 * var(--to-rem));
    color: var(--color-black);
    text-align: center;
  }
}

.l-tokyotaikukan .p-program__specialFoot {
  display: flex;
  gap: calc(24 * var(--to-rem));
  align-items: center;
  width: calc(451 * var(--to-rem));
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__specialFoot {
    flex-direction: column;
    gap: calc(8 * var(--to-rem));
    width: calc(354 * var(--to-rem));
    max-width: none;
    padding-inline: calc(16 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__venue {
  display: flex;
  flex: none;
  flex-direction: column;
  gap: calc(3 * var(--to-rem));
  width: calc(228 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__venue {
    flex-direction: row;
    gap: calc(24 * var(--to-rem));
    align-items: flex-start;
    width: auto;
  }
}

.l-tokyotaikukan .p-program__venueTitle {
  display: flex;
  flex: none;
  gap: calc(6.3731 * var(--to-rem));
  align-items: flex-start;
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5933;
  color: var(--color-tomato);
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__venueTitle {
    letter-spacing: 0.0398em;
  }
}

.l-tokyotaikukan .p-program__venueIcon {
  flex: none;
  width: calc(18 * var(--to-rem));
  height: auto;
  aspect-ratio: 18/24;
  margin-inline: calc(3 * var(--to-rem));
}

.l-tokyotaikukan .p-program__venueList {
  flex: none;
  width: calc(210 * var(--to-rem));
  max-width: 100%;
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.8;
  color: var(--color-gray-dark);
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__venueList {
    line-height: 1.5;
  }
}

.l-tokyotaikukan .p-program__note--special {
  flex: none;
  width: calc(199 * var(--to-rem));
  min-height: calc(129 * var(--to-rem));
  padding: calc(8 * var(--to-rem));
  font-size: calc(18 * var(--to-rem));
  line-height: 1.7778;
  color: var(--color-tomato);
  border-radius: calc(16 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__note--special {
    width: calc(268 * var(--to-rem));
    max-width: none;
    min-height: calc(58 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
    line-height: 1.3;
  }
}

.l-tokyotaikukan .p-program__cardBody--guest {
  gap: calc(8 * var(--to-rem));
  width: calc(419 * var(--to-rem));
  max-width: 100%;
  min-height: calc(341 * var(--to-rem));
  padding-inline: calc(28 * var(--to-rem));
  padding-top: calc(66 * var(--to-rem));
  /* リボン（margin-top 2px + 高さ61px）の下端 63px 基準。本体の位置は従来どおり card 上端から 36.211px */
  margin-top: calc(-26.789 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__cardBody--guest {
    gap: calc(6.8353 * var(--to-rem));
    width: 100%;
    min-height: calc(272.242 * var(--to-rem));
    padding-inline: calc(23.9236 * var(--to-rem));
    padding-top: calc(32 * var(--to-rem));
    padding-bottom: calc(24 * var(--to-rem));
    margin-top: calc(-15.558 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__guestList {
  display: flex;
  gap: calc(22 * var(--to-rem));
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__guestList {
    gap: calc(18.7971 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__guestItem {
  display: flex;
  flex: none;
  flex-direction: column;
  align-items: center;
  width: calc(167.01 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__guestItem {
    width: calc(142.696 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__guestItem picture {
  display: block;
  width: 100%;
}

.l-tokyotaikukan .p-program__guestItem--mizutani {
  gap: calc(9 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__guestItem--mizutani {
    gap: calc(7.6897 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__guestItem--ike {
  gap: calc(11 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__guestItem--ike {
    gap: calc(9.3986 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__guestItem--mizutani img {
  width: 100%;
  height: auto;
  aspect-ratio: 335/306;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__guestItem--mizutani img {
    aspect-ratio: 286/254;
  }
}

.l-tokyotaikukan .p-program__guestItem--ike img {
  width: 100%;
  height: auto;
  aspect-ratio: 335/301;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__guestItem--ike img {
    aspect-ratio: 286/257;
  }
}

.l-tokyotaikukan .p-program__guestCaption {
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--to-rem));
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__guestCaption {
    gap: calc(3.4177 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__guestRole {
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-gray-dark);
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__guestRole {
    font-size: calc(12 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__guestName {
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-gray-dark);
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__guestName {
    font-size: calc(14 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__cardBody--facility {
  gap: calc(8 * var(--to-rem));
  align-items: center;
  width: calc(403 * var(--to-rem));
  max-width: 100%;
  min-height: calc(327 * var(--to-rem));
  padding-inline: calc(6 * var(--to-rem)) calc(7 * var(--to-rem));
  padding-top: calc(36 * var(--to-rem));
  margin-top: calc(-18.789 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__cardBody--facility {
    gap: calc(7.1067 * var(--to-rem));
    width: 100%;
    min-height: calc(293 * var(--to-rem));
    padding-inline: calc(5.33 * var(--to-rem)) calc(6.2184 * var(--to-rem));
    padding-top: calc(32 * var(--to-rem));
    padding-bottom: 0;
    margin-top: calc(-16.461 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__facilityBody {
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--to-rem));
  align-items: center;
  width: calc(326 * var(--to-rem));
  max-width: 100%;
}

.l-tokyotaikukan .p-program__note--facility {
  width: 100%;
  min-height: calc(36 * var(--to-rem));
  font-size: calc(24 * var(--to-rem));
  line-height: 1.5;
  color: var(--color-tomato);
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__note--facility {
    min-height: calc(30 * var(--to-rem));
    font-size: calc(20 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__facilityDetail {
  display: flex;
  flex-direction: column;
  gap: calc(5 * var(--to-rem));
  align-items: center;
  width: 100%;
}

.l-tokyotaikukan .p-program__facilityImage {
  width: calc(318.307 * var(--to-rem));
  max-width: 100%;
  aspect-ratio: 637/313;
}

.l-tokyotaikukan .p-program__facilityTime {
  display: flex;
  flex-direction: column;
  gap: calc(5 * var(--to-rem));
  width: 100%;
}

.l-tokyotaikukan .p-program__facilityHours {
  display: flex;
  gap: calc(5 * var(--to-rem));
  align-items: center;
}

.l-tokyotaikukan .p-program__hoursTitle {
  display: flex;
  gap: calc(6.3731 * var(--to-rem));
  align-items: flex-start;
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5933;
  color: var(--color-tomato);
  letter-spacing: 0.0398em;
}

.l-tokyotaikukan .p-program__facilityIcon {
  flex: none;
  width: calc(20 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
  margin-inline: calc(2 * var(--to-rem));
}

.l-tokyotaikukan .p-program__hoursValue {
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-tomato);
}

.l-tokyotaikukan .p-program__facilityNote {
  width: 100%;
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-tomato);
  white-space: pre-wrap;
}

.l-tokyotaikukan .p-program__cardBody--goods {
  gap: calc(8.2148 * var(--to-rem));
  width: calc(229 * var(--to-rem));
  max-width: 100%;
  min-height: calc(348 * var(--to-rem));
  padding-inline: calc(6.1611 * var(--to-rem)) calc(7.1879 * var(--to-rem));
  padding-top: calc(44 * var(--to-rem));
  margin-top: calc(-40 * var(--to-rem));
  margin-left: calc(9 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__cardBody--goods {
    gap: calc(8 * var(--to-rem));
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: calc(202.418 * var(--to-rem));
    padding-inline: calc(6 * var(--to-rem)) calc(7 * var(--to-rem));
    padding-top: calc(32 * var(--to-rem));
    padding-bottom: calc(24 * var(--to-rem));
    margin-top: calc(-19.526 * var(--to-rem));
    margin-left: 0;
  }
}

.l-tokyotaikukan .p-program__goodsBody {
  display: flex;
  flex-direction: column;
  gap: calc(16.578 * var(--to-rem));
  align-items: center;
  width: calc(216 * var(--to-rem));
  max-width: 100%;
  padding-block: calc(12 * var(--to-rem));
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__goodsBody {
    flex-direction: row;
    gap: calc(5 * var(--to-rem));
    align-items: flex-start;
    justify-content: center;
    width: calc(333 * var(--to-rem));
    padding-block: 0;
  }
}

.l-tokyotaikukan .p-program__goodsText {
  display: flex;
  flex-direction: column;
  gap: calc(7 * var(--to-rem));
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__goodsText {
    flex: none;
    gap: calc(12 * var(--to-rem));
    width: calc(222.605 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__goodsHead {
  display: flex;
  flex-direction: column;
  gap: calc(7 * var(--to-rem));
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__goodsHead {
    gap: calc(10 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__goodsLead {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: calc(39 * var(--to-rem));
  font-size: calc(16.4295 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.375;
  color: var(--color-brown);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__goodsLead {
    min-height: calc(23 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-program__goodsLogo {
  flex: none;
  width: calc(76.04 * var(--to-rem));
  height: auto;
  aspect-ratio: 153/61;
}

.l-tokyotaikukan .p-program__goodsDesc {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: calc(71 * var(--to-rem));
  text-align: center;
}

.l-tokyotaikukan .p-program__descMain {
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-black);
  line-height: 1.1296;
  color: var(--color-brown);
  white-space: nowrap;
}

.l-tokyotaikukan .p-program__descNote {
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.8826;
  color: var(--color-gray-dark);
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__descNote {
    font-size: calc(12.3221 * var(--to-rem));
    font-weight: var(--fw-bold);
    line-height: 1.8333;
  }
}

.l-tokyotaikukan .p-program__goodsMascot {
  flex: none;
  width: calc(105.395 * var(--to-rem));
  height: auto;
  aspect-ratio: 211/195;
}

.l-tokyotaikukan .p-program__news {
  padding-top: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-program__news {
    padding-top: 0;
  }
}

.l-tachikawa .p-program {
  position: relative;
}

.l-tachikawa .p-program__inner {
  position: relative;
  padding-block: calc(120 * var(--to-rem)) calc(100 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-white);
  background-image: url("../images/common/bg-dot.png");
  background-repeat: repeat;
  background-position: calc(22 * var(--to-rem)) calc(17 * var(--to-rem));
  background-size: calc(24 * var(--to-rem)) calc(24 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__inner {
    padding-block: calc(32 * var(--to-rem)) 0;
    background-position: calc(1 * var(--to-rem)) calc(20 * var(--to-rem));
  }
}

.l-tachikawa .p-program__cloud {
  position: absolute;
  z-index: 0;
  display: block;
  width: calc(153 * var(--to-rem));
  height: auto;
  aspect-ratio: 153/65;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__cloud {
    display: none;
  }
}

.l-tachikawa .p-program__cloud--1 {
  top: calc(512 * var(--to-rem));
  left: calc(55 * var(--to-rem));
}

.l-tachikawa .p-program__cloud--2 {
  top: calc(40 * var(--to-rem));
  right: calc(19 * var(--to-rem));
}

.l-tachikawa .p-program__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: calc(29 * var(--to-rem));
  width: calc(1080 * var(--to-rem));
  max-width: 100%;
  padding-block: 0 calc(100 * var(--to-rem));
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__body {
    gap: 0;
    width: 100%;
    padding-block: 0;
  }
}

@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__guest {
    padding: calc(16 * var(--to-rem));
  }
}

.l-tachikawa .p-program__row {
  display: flex;
  gap: calc(16 * var(--to-rem));
  align-items: flex-start;
  width: calc(1109 * var(--to-rem));
  height: calc(400 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__row {
    flex-direction: column;
    gap: calc(16 * var(--to-rem));
    width: calc(358 * var(--to-rem));
    max-width: 100%;
    height: auto;
    margin-inline: auto;
  }
}

.l-tachikawa .p-program__card {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__card {
    width: 100%;
  }
}

.l-tachikawa .p-program__card--precure {
  width: calc(412 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__card--precure {
    width: 100%;
  }
}

/* 【非表示】キャラクターショー COMING SOON 板用（HTMLは削除中のため現在は未適用。復活時にそのまま使う） */
.l-tachikawa .p-program__card--characterShow {
  width: calc(412 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__card--characterShow {
    width: 100%;
  }
}

.l-tachikawa .p-program__card--chara {
  width: calc(412 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__card--chara {
    width: 100%;
  }
}

.l-tachikawa .p-program__card--goods {
  width: calc(253 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__card--goods {
    width: 100%;
  }
}

.l-tachikawa .p-program__ribbon {
  position: relative;
  z-index: 1;
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  height: calc(60 * var(--to-rem));
  background-color: var(--color-green-btn);
  border-radius: calc(8 * var(--to-rem));
  transform: skewX(-25.048deg);
  transform-origin: bottom left;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__ribbon {
    height: calc(40 * var(--to-rem));
    border-radius: calc(6 * var(--to-rem));
    transform: skewX(-27.911deg);
  }
}

.l-tachikawa .p-program__ribbonText {
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-white);
  white-space: nowrap;
  transform: skewX(25.048deg);
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__ribbonText {
    transform: skewX(27.911deg);
  }
}

.l-tachikawa .p-program__card--precure .p-program__ribbon {
  width: calc(328.758 * var(--to-rem));
  margin-left: calc(23.598 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__card--precure .p-program__ribbon {
    width: calc(299.893 * var(--to-rem));
    margin-left: calc(22.962 * var(--to-rem));
  }
}

/* 【非表示】キャラクターショー COMING SOON 板用（HTMLは削除中のため現在は未適用。復活時にそのまま使う） */
.l-tachikawa .p-program__card--characterShow .p-program__ribbon {
  width: calc(328.758 * var(--to-rem));
  margin-left: calc(23.598 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__card--characterShow .p-program__ribbon {
    width: calc(299.893 * var(--to-rem));
    margin-left: calc(22.962 * var(--to-rem));
  }
}

.l-tachikawa .p-program__card--chara .p-program__ribbon {
  width: calc(239.821 * var(--to-rem));
  margin-left: calc(70.594 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__card--chara .p-program__ribbon {
    width: calc(254.895 * var(--to-rem));
    margin-left: calc(29.962 * var(--to-rem));
  }
}

.l-tachikawa .p-program__card--goods .p-program__ribbon {
  width: calc(215.733 * var(--to-rem));
  margin-left: calc(6.601 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__card--goods .p-program__ribbon {
    width: calc(223.895 * var(--to-rem));
    margin-left: calc(56.962 * var(--to-rem));
  }
}

.l-tachikawa .p-program__cardBody {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--color-bg-nav-tachikawa);
  border-radius: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__cardBody {
    border-radius: calc(16 * var(--to-rem));
  }
}

.l-tachikawa .p-program__card--precure .p-program__cardBody {
  gap: calc(10 * var(--to-rem));
  height: calc(359 * var(--to-rem));
  padding-block: calc(37.5 * var(--to-rem)) calc(16.5 * var(--to-rem));
  padding-inline: calc(28 * var(--to-rem));
  margin-top: calc(-19 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__card--precure .p-program__cardBody {
    height: auto;
    padding-block: calc(32 * var(--to-rem)) calc(24 * var(--to-rem));
    margin-top: calc(-16 * var(--to-rem));
  }
}

/* 【非表示】キャラクターショー COMING SOON 板用（HTMLは削除中のため現在は未適用。復活時にそのまま使う） */
.l-tachikawa .p-program__card--characterShow .p-program__cardBody {
  gap: calc(10 * var(--to-rem));
  justify-content: flex-start;
  height: calc(359 * var(--to-rem));
  padding-block: calc(37.5 * var(--to-rem)) calc(16.5 * var(--to-rem));
  padding-inline: calc(28 * var(--to-rem));
  margin-top: calc(-19 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__card--characterShow .p-program__cardBody {
    height: auto;
    padding-block: calc(32 * var(--to-rem)) calc(58 * var(--to-rem));
    margin-top: calc(-16 * var(--to-rem));
  }
}

.l-tachikawa .p-program__card--chara .p-program__cardBody {
  height: calc(370.868 * var(--to-rem));
  padding-block: calc(26 * var(--to-rem)) calc(5 * var(--to-rem));
  padding-inline: calc(28 * var(--to-rem));
  margin-top: calc(-33.9 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__card--chara .p-program__cardBody {
    height: auto;
    padding-block: calc(32 * var(--to-rem)) calc(24 * var(--to-rem));
    padding-inline: calc(12.7 * var(--to-rem));
    margin-top: calc(-15.2 * var(--to-rem));
  }
}

.l-tachikawa .p-program__card--goods .p-program__cardBody {
  height: calc(375 * var(--to-rem));
  padding-block: calc(29.779 * var(--to-rem)) 0;
  padding-inline: calc(6.161 * var(--to-rem)) calc(7.188 * var(--to-rem));
  margin-top: calc(-34 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__card--goods .p-program__cardBody {
    height: calc(196 * var(--to-rem));
    padding-block: calc(32 * var(--to-rem)) calc(24 * var(--to-rem));
    padding-inline: calc(6 * var(--to-rem)) calc(7 * var(--to-rem));
    margin-top: calc(-18.8 * var(--to-rem));
  }
}

.l-tachikawa .p-program__badge {
  position: absolute;
  top: calc(33 * var(--to-rem));
  left: calc(19 * var(--to-rem));
  z-index: 1;
  padding: calc(8 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-white);
  text-align: center;
  background-color: var(--color-orange-border);
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__badge {
    top: calc(36.6 * var(--to-rem));
    left: calc(27 * var(--to-rem));
  }
}

.l-tachikawa .p-program__precureMedia {
  display: flex;
  gap: calc(24 * var(--to-rem));
  align-items: flex-start;
  width: calc(367.731 * var(--to-rem));
  height: calc(208 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__precureMedia {
    position: relative;
    gap: 0;
    justify-content: flex-end;
    width: 100%;
    height: auto;
  }
}

.l-tachikawa .p-program__precureLogo {
  display: block;
  flex: none;
  width: calc(140.95 * var(--to-rem));
  height: auto;
  aspect-ratio: 140.95/123.11;
  margin-top: calc(45.95 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__precureLogo {
    position: absolute;
    top: 29.7747%;
    left: -6.2914%;
    width: 42.4967%;
    aspect-ratio: 128.34/112.09;
    margin-top: 0;
  }
}

.l-tachikawa .p-program__precureVisual {
  flex: none;
  width: calc(202.8 * var(--to-rem));
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__precureVisual {
    width: 56.2914%;
  }
}

.l-tachikawa .p-program__precureVisual picture {
  display: block;
}

.l-tachikawa .p-program__precureVisual img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 414/416;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__precureVisual img {
    aspect-ratio: 1/1;
  }
}

/* 【非表示】キャラクターショー COMING SOON 板用（HTMLは削除中のため現在は未適用。復活時にそのまま使う） */
.l-tachikawa .p-program__soon {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(208 * var(--to-rem));
  font-size: calc(40 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.5;
  color: var(--color-green-mid);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.018em;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__soon {
    height: calc(170.287 * var(--to-rem));
    font-size: calc(24 * var(--to-rem));
  }
}

.l-tachikawa .p-program__info {
  display: flex;
  flex-direction: column;
  gap: calc(16 * var(--to-rem));
  align-items: flex-start;
  width: calc(356 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__info {
    width: calc(255.373 * var(--to-rem));
    max-width: 100%;
  }
}

.l-tachikawa .p-program__meta {
  display: flex;
  gap: calc(16 * var(--to-rem));
}

.l-tachikawa .p-program__metaItem {
  display: flex;
  flex-direction: column;
  gap: calc(3 * var(--to-rem));
}

.l-tachikawa .p-program__metaItem--time {
  width: calc(143 * var(--to-rem));
}

.l-tachikawa .p-program__metaItem--place {
  width: calc(96.4 * var(--to-rem));
}

.l-tachikawa .p-program__metaLabel {
  display: flex;
  gap: calc(6.37 * var(--to-rem));
  align-items: center;
  min-height: calc(26 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5931;
  color: var(--color-green-deep);
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.l-tachikawa .p-program__metaIcon {
  display: block;
  flex: none;
  width: calc(24 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}

.l-tachikawa .p-program__metaValue {
  display: flex;
  gap: calc(3 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-gray-dark);
  text-align: center;
}

.l-tachikawa .p-program__metaTime {
  width: calc(70 * var(--to-rem));
}

.l-tachikawa .p-program__metaStage {
  width: calc(96 * var(--to-rem));
}

.l-tachikawa .p-program__credit {
  font-size: calc(12 * var(--to-rem));
  line-height: 1.5;
  color: var(--color-gray-dark);
  text-align: center;
}

@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__credit--chara {
    font-size: calc(10 * var(--to-rem));
  }
}

.l-tachikawa .p-program__charaList {
  display: flex;
  gap: calc(8 * var(--to-rem));
  align-items: flex-start;
  height: calc(265.1 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__charaList {
    gap: calc(4.3 * var(--to-rem));
    justify-content: space-between;
    width: 100%;
    height: calc(266 * var(--to-rem));
  }
}

.l-tachikawa .p-program__charaItem {
  display: flex;
  flex: none;
  flex-direction: column;
  gap: calc(8 * var(--to-rem));
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__charaItem {
    width: calc(108 * var(--to-rem));
  }
}

.l-tachikawa .p-program__charaItem--kururin {
  width: calc(108 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__charaItem--kururin {
    width: calc(108 * var(--to-rem));
  }
}

.l-tachikawa .p-program__charaItem--udora {
  width: calc(132 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__charaItem--udora {
    width: calc(108 * var(--to-rem));
  }
}

.l-tachikawa .p-program__charaItem--asure {
  width: calc(132 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__charaItem--asure {
    width: calc(108 * var(--to-rem));
  }
}

.l-tachikawa .p-program__charaPhoto {
  flex: none;
  width: calc(89 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__charaPhoto {
    margin-bottom: calc(12 * var(--to-rem));
  }
}

.l-tachikawa .p-program__charaItem--asure .p-program__charaPhoto {
  width: calc(86.5 * var(--to-rem));
}

.l-tachikawa .p-program__charaPhoto img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 89/156;
}

.l-tachikawa .p-program__charaItem--asure .p-program__charaPhoto img {
  aspect-ratio: 86.5/156.4;
}

.l-tachikawa .p-program__charaName {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: calc(62 * var(--to-rem));
  font-weight: var(--fw-bold);
  color: var(--color-gray-dark);
  text-align: center;
}

.l-tachikawa .p-program__charaRole {
  font-size: calc(12 * var(--to-rem));
  line-height: calc(21 * var(--to-rem));
}

@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__charaSub {
    font-size: calc(9 * var(--to-rem));
    line-height: calc(15.75 * var(--to-rem));
  }
}

.l-tachikawa .p-program__charaItem--kururin .p-program__charaRole {
  white-space: nowrap;
}

.l-tachikawa .p-program__charaLabel {
  font-size: calc(16 * var(--to-rem));
  line-height: calc(21 * var(--to-rem));
  white-space: nowrap;
}

.l-tachikawa .p-program__goodsBody {
  display: flex;
  flex-direction: column;
  gap: calc(7 * var(--to-rem));
  align-items: center;
  width: calc(216 * var(--to-rem));
  height: calc(292 * var(--to-rem));
  padding-block: 0 calc(12 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__goodsBody {
    flex-direction: row;
    gap: calc(5 * var(--to-rem));
    justify-content: center;
    width: calc(333 * var(--to-rem));
    max-width: 100%;
    height: calc(137 * var(--to-rem));
    padding-block: 0;
  }
}

.l-tachikawa .p-program__goodsText {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: calc(7 * var(--to-rem));
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__goodsText {
    width: calc(222.61 * var(--to-rem));
  }
}

.l-tachikawa .p-program__goodsLead {
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(60.604 * var(--to-rem));
  font-size: calc(16.4295 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.375;
  color: var(--color-green-dark);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__goodsLead {
    height: calc(21.6 * var(--to-rem));
    color: var(--color-gray-dark);
  }
}

.l-tachikawa .p-program__goodsLogo {
  display: block;
  width: calc(76 * var(--to-rem));
  height: auto;
  aspect-ratio: 76/30.4;
}

.l-tachikawa .p-program__goodsDesc {
  display: flex;
  flex-direction: column;
  text-align: center;
}

.l-tachikawa .p-program__descMain {
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-black);
  line-height: calc(22.5906 * var(--to-rem));
  color: var(--color-green-dark);
}

.l-tachikawa .p-program__descNote {
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: calc(22.5906 * var(--to-rem));
  color: var(--color-gray-dark);
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__descNote {
    font-size: calc(12.3221 * var(--to-rem));
    font-weight: var(--fw-bold);
  }
}

.l-tachikawa .p-program__goodsSusie {
  display: block;
  flex: none;
  width: calc(105.394 * var(--to-rem));
  height: auto;
  aspect-ratio: 105.394/97;
}

.l-tachikawa .p-program__news {
  padding-top: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-program__news {
    padding-block: calc(48 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
  }
}

.l-program .p-schedule {
  position: relative;
  padding-block: 0 calc(80 * var(--to-rem));
  padding-inline: calc(169 * var(--to-rem)) calc(175.6316 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-bg-cream);
}
@media screen and (max-width: 767px) {
  .l-program .p-schedule {
    padding-block: calc(24 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
  }
}

.l-program .p-schedule__inner {
  width: calc(1095.3684 * var(--to-rem));
  max-width: 100%;
  padding-top: calc(100 * var(--to-rem));
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-program .p-schedule__inner {
    width: calc(358 * var(--to-rem));
    padding-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .l-program .p-schedule__box {
    overflow: hidden;
    background-color: var(--color-white);
    border-radius: calc(12 * var(--to-rem));
    box-shadow: inset 0 0 0 calc(1.5 * var(--to-rem)) var(--color-border-table);
  }
}

.l-program .p-schedule__head {
  height: auto;
  min-height: calc(72 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-program .p-schedule__head {
    height: auto;
    min-height: calc(52 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .l-program .p-schedule__title {
    font-size: calc(28 * var(--to-rem));
    line-height: 1;
  }
}

.l-program .p-schedule__body {
  padding-block: calc(39.8316 * var(--to-rem));
  padding-inline: calc(11.2135 * var(--to-rem));
  background-color: var(--color-bg-offwhite);
  border-radius: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-program .p-schedule__body {
    padding: 0;
    background-color: transparent;
    border-radius: 0;
  }
}

.l-program .p-schedule__list {
  width: calc(1035.6211 * var(--to-rem));
  max-width: 100%;
  margin-inline: auto;
  overflow: hidden;
  border: calc(1.4017 * var(--to-rem)) solid var(--color-border-table);
  border-radius: calc(14.0168 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-program .p-schedule__list {
    width: 100%;
    border: 0;
    border-radius: 0;
  }
}

.l-program .p-schedule__row {
  display: flex;
  align-items: center;
  min-height: calc(71.6968 * var(--to-rem));
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .l-program .p-schedule__row {
    flex-direction: column;
    gap: calc(4 * var(--to-rem));
    align-items: flex-start;
    min-height: calc(108 * var(--to-rem));
    padding-block: calc(12 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
  }
}

.l-program .p-schedule__row:nth-child(even) {
  background-color: var(--color-bg-zebra);
}

.l-program .p-schedule__time {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(168.2884 * var(--to-rem));
  max-width: 100%;
  height: calc(55.7642 * var(--to-rem));
  font-size: calc(17.92 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.5955;
  color: var(--color-tomato);
  letter-spacing: -0.0095em;
  border-right: calc(1.4017 * var(--to-rem)) solid var(--color-border-cell);
}
@media screen and (max-width: 767px) {
  .l-program .p-schedule__time {
    display: block;
    width: auto;
    height: auto;
    font-size: calc(16 * var(--to-rem));
    line-height: 1.5;
    letter-spacing: 0;
    border-right: 0;
  }
}

.l-program .p-schedule__detail {
  display: flex;
  gap: calc(47.8 * var(--to-rem));
  align-items: center;
  padding-left: calc(22.43 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-program .p-schedule__detail {
    flex-direction: column;
    gap: calc(4 * var(--to-rem));
    align-items: flex-start;
    padding-left: 0;
  }
}

.l-program .p-schedule__name {
  flex-shrink: 0;
  font-size: calc(23.9 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4076;
  color: var(--color-gray-dark);
  letter-spacing: -0.0184em;
}
@media screen and (max-width: 767px) {
  .l-program .p-schedule__name {
    font-size: calc(18 * var(--to-rem));
    line-height: 1.5556;
    color: var(--color-black);
    letter-spacing: 0;
  }
}

.l-program .p-schedule__susie {
  position: absolute;
  top: 2.446%;
  left: 78.4524%;
  z-index: 1;
  display: block;
  width: 8.7153%;
  height: auto;
  aspect-ratio: 251/263;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .l-program .p-schedule__susie {
    display: none;
  }
}

.l-tachikawaProgram .p-schedule {
  position: relative;
  padding-block: calc(100 * var(--to-rem));
  background-color: var(--color-bg-showa-pale);
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-schedule {
    padding-block: calc(24 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
    overflow: hidden;
    background-color: var(--color-bg-showa-pale-sp);
  }
}

.l-tachikawaProgram .p-schedule__inner {
  width: min(1095.3684 * var(--to-rem), 76.0145%);
  margin-right: auto;
  margin-left: max(min(169 * var(--to-rem), 11.728%), (100% - 1440 * var(--to-rem)) / 2 + 169 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-schedule__inner {
    width: calc(358 * var(--to-rem));
    max-width: 100%;
    margin-inline: auto;
  }
}

@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-schedule__box {
    overflow: hidden;
    background-color: var(--color-white);
    border-radius: calc(12 * var(--to-rem));
    box-shadow: inset 0 0 0 calc(1 * var(--to-rem)) var(--color-border-table);
  }
}

.l-tachikawaProgram .p-schedule__head {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(72 * var(--to-rem));
  padding-block: calc(11.2135 * var(--to-rem));
  padding-inline: calc(22.4269 * var(--to-rem));
  background-color: var(--color-green-dark);
  border-radius: calc(15.9326 * var(--to-rem)) calc(15.9326 * var(--to-rem)) 0 0;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-schedule__head {
    min-height: calc(52 * var(--to-rem));
    padding-block: calc(12 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
    border-radius: 0;
  }
}

.l-tachikawaProgram .p-schedule__title {
  font-size: calc(31.8653 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.0557;
  color: var(--color-white);
  text-align: center;
  letter-spacing: -0.0137em;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-schedule__title {
    font-size: calc(24 * var(--to-rem));
    line-height: 1.1667;
    letter-spacing: 0;
  }
}

.l-tachikawaProgram .p-schedule__body {
  padding-block: calc(39.8316 * var(--to-rem));
  padding-inline: calc(11.2135 * var(--to-rem));
  background-color: var(--color-bg-offwhite);
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-schedule__body {
    padding: 0;
    background-color: transparent;
  }
}

.l-tachikawaProgram .p-schedule__list {
  width: 100%;
  max-width: calc(1035.6211 * var(--to-rem));
  margin-inline: auto;
  overflow: hidden;
  border: calc(1.4017 * var(--to-rem)) solid var(--color-border-table);
  border-radius: calc(14.0168 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-schedule__list {
    width: 100%;
    border: 0;
    border-radius: 0;
  }
}

.l-tachikawaProgram .p-schedule__row {
  display: flex;
  align-items: center;
  min-height: calc(71.6968 * var(--to-rem));
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-schedule__row {
    flex-direction: column;
    gap: calc(4 * var(--to-rem));
    align-items: flex-start;
    min-height: calc(80 * var(--to-rem));
    padding-block: calc(12 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
  }
}

.l-tachikawaProgram .p-schedule__row:nth-child(even) {
  background-color: var(--color-bg-zebra);
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-schedule__row:nth-child(even) {
    background-color: var(--color-bg-zebra-sp);
  }
}

.l-tachikawaProgram .p-schedule__time {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(168.2884 * var(--to-rem));
  max-width: 100%;
  height: calc(55.7642 * var(--to-rem));
  padding: calc(16.8202 * var(--to-rem));
  font-size: calc(17.9242 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5953;
  color: var(--color-green-deep);
  letter-spacing: -0.0093em;
  border-right: calc(1.4017 * var(--to-rem)) solid var(--color-border-cell);
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-schedule__time {
    display: block;
    width: auto;
    height: auto;
    padding: 0;
    font-size: calc(16 * var(--to-rem));
    line-height: 1.5;
    letter-spacing: 0;
    border-right: 0;
  }
}

/* Figma の行は 14 行すべて h=71.6968 固定で、2行名（fontSize 20 / lh 25 = h50）も
   その中で上下中央に収まる。padding-block を持たせると 2行行だけ 84px に伸びて
   行送りが 12px ずれるため、上下の余白は行の min-height 側に任せる。 */
.l-tachikawaProgram .p-schedule__detail {
  display: flex;
  flex: 1;
  gap: calc(47.798 * var(--to-rem));
  align-items: center;
  padding-block: 0;
  padding-inline: calc(22.4269 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-schedule__detail {
    flex-direction: column;
    gap: calc(4 * var(--to-rem));
    align-items: flex-start;
    padding: 0;
  }
}

.l-tachikawaProgram .p-schedule__name {
  font-size: calc(23.8992 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4076;
  color: var(--color-gray-dark);
  letter-spacing: -0.0183em;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-schedule__name {
    width: calc(326 * var(--to-rem));
    max-width: 100%;
    padding-left: 0;
    font-size: calc(18 * var(--to-rem));
    line-height: 1.5556;
    color: var(--color-black);
    letter-spacing: 0;
  }
}

.l-tachikawaProgram .p-schedule__name--multiline {
  font-size: calc(20 * var(--to-rem));
  line-height: 1.25;
  letter-spacing: -0.0219em;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-schedule__name--multiline {
    font-size: calc(18 * var(--to-rem));
    line-height: 1.5556;
    letter-spacing: 0;
  }
}

.l-tachikawaProgram .p-schedule__tagList {
  display: flex;
  flex-shrink: 0;
  gap: calc(8 * var(--to-rem));
  align-items: center;
}

.l-tachikawaProgram .p-schedule__tag {
  display: inline-flex;
  align-items: center;
  min-height: calc(29.6 * var(--to-rem));
  padding-block: calc(4.8 * var(--to-rem));
  padding-inline: calc(9.6 * var(--to-rem));
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.3714;
  color: var(--color-green-dark);
  white-space: nowrap;
  background-color: var(--color-bg-mint);
  border-radius: calc(799.2 * var(--to-rem));
  box-shadow: inset 0 0 0 calc(1.6 * var(--to-rem)) var(--color-green-dark);
}

.l-tachikawaProgram .p-schedule__susie {
  position: absolute;
  top: calc(-19.797 * var(--to-rem));
  left: calc(50% + 392.5 * var(--to-rem));
  z-index: 1;
  display: block;
  width: calc(151.0862 * var(--to-rem));
  height: auto;
  aspect-ratio: 151.0862/192.2659;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .l-tachikawaProgram .p-schedule__susie {
    display: none;
  }
}

.l-spProgram .p-schedule {
  box-shadow: 0 0 calc(10 * var(--to-rem)) rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .l-spProgram .p-schedule {
    display: flex;
    justify-content: center;
    padding-block: calc(48 * var(--to-rem));
    padding-inline: calc(20 * var(--to-rem));
    box-shadow: none;
  }
}

@media screen and (max-width: 767px) {
  .l-spProgram .p-schedule__card {
    flex-shrink: 0;
    width: calc(358 * var(--to-rem));
    max-width: none;
    height: calc(320 * var(--to-rem));
    overflow: hidden;
    border: calc(1.5 * var(--to-rem)) solid var(--color-border-table);
    border-radius: calc(12 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .l-spProgram .p-schedule__head {
    height: auto;
  }
}

.l-spProgram .p-schedule__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: calc(39.8316 * var(--to-rem));
  padding-inline: calc(11.2135 * var(--to-rem));
  background-color: var(--color-bg-offwhite);
  border-radius: 0 0 calc(20 * var(--to-rem)) calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-spProgram .p-schedule__body {
    padding: 0;
    background-color: transparent;
    border-radius: 0;
  }
}

.l-spProgram .p-schedule__table {
  width: calc(1035.6211 * var(--to-rem));
  max-width: 100%;
  overflow: hidden;
  border: calc(1.4017 * var(--to-rem)) solid var(--color-border-table);
  border-radius: calc(14.0168 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-spProgram .p-schedule__table {
    width: 100%;
    border: none;
    border-radius: 0;
  }
}

.l-spProgram .p-schedule__row {
  display: flex;
  align-items: center;
  min-height: calc(90.4437 * var(--to-rem));
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .l-spProgram .p-schedule__row {
    flex-direction: column;
    gap: calc(4 * var(--to-rem));
    align-items: stretch;
    min-height: 0;
    padding-block: calc(12 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
  }
}

.l-spProgram .p-schedule__row--alt {
  min-height: calc(71.6968 * var(--to-rem));
  background-color: var(--color-bg-cream2);
}

.l-spProgram .p-schedule__time {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(168.2884 * var(--to-rem));
  height: calc(55.7642 * var(--to-rem));
  padding: calc(16.8202 * var(--to-rem));
  font-size: calc(17.9242 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5953;
  color: var(--color-tomato);
  letter-spacing: -0.0093em;
  border-right: calc(1.4017 * var(--to-rem)) solid var(--color-border-cell);
}
@media screen and (max-width: 767px) {
  .l-spProgram .p-schedule__time {
    display: block;
    width: auto;
    height: auto;
    padding: 0;
    font-family: var(--overpass-font);
    font-size: calc(16 * var(--to-rem));
    font-style: italic;
    font-weight: var(--fw-semibold);
    line-height: 1.5;
    text-align: left;
    letter-spacing: 0;
    border-right: none;
  }
}

.l-spProgram .p-schedule__detail {
  display: flex;
  flex: 1;
  gap: calc(47.7979 * var(--to-rem));
  align-items: center;
  padding-block: calc(16.8202 * var(--to-rem));
  padding-inline: calc(22.4269 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-spProgram .p-schedule__detail {
    flex-direction: column;
    gap: calc(4 * var(--to-rem));
    align-items: stretch;
    padding: 0;
  }
}

.l-spProgram .p-schedule__title {
  font-size: calc(23.8989 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4076;
  color: var(--color-gray-dark);
  letter-spacing: -0.0183em;
}
@media screen and (max-width: 767px) {
  .l-spProgram .p-schedule__title {
    font-size: calc(18 * var(--to-rem));
    line-height: 1.5556;
    color: var(--color-black);
    letter-spacing: 0;
  }
}

.l-spProgram .p-schedule__desc {
  padding-top: calc(2.8034 * var(--to-rem));
  font-size: calc(17.9415 * var(--to-rem));
  line-height: 1.5;
  color: var(--color-gray-text);
  letter-spacing: -0.0047em;
}
@media screen and (max-width: 767px) {
  .l-spProgram .p-schedule__desc {
    width: max-content;
    max-width: calc(336 * var(--to-rem));
    padding-top: 0;
    font-size: calc(16 * var(--to-rem));
    font-weight: var(--fw-medium);
    color: var(--color-gray-mid);
    letter-spacing: 0;
  }
}

.l-tokyotaikukan .p-share {
  padding-block: calc(82.3711 * var(--to-rem)) calc(81.6289 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-share {
    padding-block: calc(48 * var(--to-rem));
    padding-inline: calc(12 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-share__container {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(24 * var(--to-rem));
  align-items: center;
  width: calc(1100 * var(--to-rem));
  max-width: 100%;
  padding-block: calc(32 * var(--to-rem)) calc(50 * var(--to-rem));
  padding-inline: calc(60 * var(--to-rem));
  margin-inline: auto;
  background-color: var(--color-bg-share);
  border-radius: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-share__container {
    gap: 0;
    width: 100%;
    padding-block: calc(24 * var(--to-rem));
    padding-inline: calc(19.8889 * var(--to-rem));
    border-radius: calc(6.6296 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-share__title {
  font-size: calc(42 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 0.8571;
  color: var(--color-tomato);
  text-transform: uppercase;
  letter-spacing: 0.0171em;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-share__title {
    position: absolute;
    top: calc(-14.1328 * var(--to-rem));
    left: 50%;
    font-size: calc(24 * var(--to-rem));
    line-height: 1;
    letter-spacing: 0.0099em;
    transform: translateX(-50%);
  }
}

.l-tokyotaikukan .p-share__list {
  display: flex;
  gap: calc(20 * var(--to-rem));
  width: calc(980 * var(--to-rem));
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-share__list {
    gap: calc(6.6296 * var(--to-rem));
    justify-content: center;
    width: 100%;
  }
}

.l-tokyotaikukan .p-share__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(480 * var(--to-rem));
  height: calc(94 * var(--to-rem));
  padding-block: calc(22 * var(--to-rem));
  padding-inline: calc(22 * var(--to-rem)) calc(40 * var(--to-rem));
  background-color: var(--color-white);
  border-radius: calc(10 * var(--to-rem));
  box-shadow: 0 calc(5 * var(--to-rem)) 0 rgba(51, 51, 51, 0.15);
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-share__link {
    width: calc(159.1111 * var(--to-rem));
    height: calc(31.1593 * var(--to-rem));
    padding-block: 0;
    padding-inline: calc(7.2926 * var(--to-rem)) calc(13.2593 * var(--to-rem));
    border-radius: calc(3.3148 * var(--to-rem));
    box-shadow: 0 calc(1.6574 * var(--to-rem)) 0 rgba(51, 51, 51, 0.15);
  }
}

.l-tokyotaikukan .p-share__link:hover {
  opacity: 0.7;
}

.l-tokyotaikukan .p-share__body {
  display: flex;
  align-items: center;
}

.l-tokyotaikukan .p-share__icon {
  width: calc(48 * var(--to-rem));
  height: auto;
  aspect-ratio: 48/48;
  margin-right: calc(12 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-share__icon {
    width: calc(15.9111 * var(--to-rem));
    margin-right: calc(3.9778 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-share__icon--x {
  width: calc(40 * var(--to-rem));
  aspect-ratio: 40/40.8219;
  margin-right: calc(16 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-share__icon--x {
    width: calc(13.2594 * var(--to-rem));
    margin-right: calc(5.3037 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-share__label {
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 2;
  color: var(--color-gray-dark);
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-share__label {
    font-size: calc(16 * var(--to-rem));
    line-height: 1.5;
    letter-spacing: 0.0186em;
  }
}

.l-tokyotaikukan .p-share__arrow {
  display: block;
  flex: none;
  width: calc(28 * var(--to-rem));
  height: auto;
  aspect-ratio: 28/28;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-share__arrow {
    width: calc(9.2815 * var(--to-rem));
  }
}

.l-tachikawa .p-share {
  padding-block: calc(82.371 * var(--to-rem)) calc(81.629 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-share {
    padding-block: calc(48 * var(--to-rem)) calc(32 * var(--to-rem));
    padding-inline: calc(12 * var(--to-rem));
  }
}

.l-tachikawa .p-share__container {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(24 * var(--to-rem));
  align-items: center;
  width: calc(1100 * var(--to-rem));
  max-width: 100%;
  padding-block: calc(32 * var(--to-rem)) calc(50 * var(--to-rem));
  padding-inline: calc(60 * var(--to-rem));
  margin-inline: auto;
  background-color: var(--color-bg-mint);
  border-radius: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-share__container {
    gap: 0;
    width: 100%;
    padding-block: calc(24 * var(--to-rem));
    padding-inline: calc(19.889 * var(--to-rem));
    border-radius: calc(6.63 * var(--to-rem));
  }
}

.l-tachikawa .p-share__title {
  font-size: calc(42 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 0.8571;
  color: var(--color-green-deep);
  text-transform: uppercase;
  letter-spacing: 0.0171em;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-share__title {
    position: absolute;
    top: calc(-14.133 * var(--to-rem));
    left: 50%;
    font-size: calc(24 * var(--to-rem));
    line-height: 1;
    letter-spacing: 0.01em;
    transform: translateX(-50%);
  }
}

.l-tachikawa .p-share__list {
  display: flex;
  gap: calc(20 * var(--to-rem));
  width: calc(980 * var(--to-rem));
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-share__list {
    gap: calc(6.63 * var(--to-rem));
    justify-content: center;
    width: 100%;
  }
}

.l-tachikawa .p-share__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(480 * var(--to-rem));
  max-width: 100%;
  height: calc(94 * var(--to-rem));
  padding-block: calc(22 * var(--to-rem));
  padding-inline: calc(22 * var(--to-rem)) calc(40 * var(--to-rem));
  background-color: var(--color-white);
  border-radius: calc(10 * var(--to-rem));
  box-shadow: 0 calc(5 * var(--to-rem)) 0 rgba(51, 51, 51, 0.15);
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-share__link {
    width: calc(159.111 * var(--to-rem));
    height: calc(31.159 * var(--to-rem));
    padding-block: 0;
    padding-inline: calc(7.293 * var(--to-rem)) calc(13.259 * var(--to-rem));
    border-radius: calc(3.315 * var(--to-rem));
    box-shadow: 0 calc(1.657 * var(--to-rem)) 0 rgba(51, 51, 51, 0.15);
  }
}

.l-tachikawa .p-share__link:hover {
  opacity: 0.7;
}

.l-tachikawa .p-share__body {
  display: flex;
  align-items: center;
}

.l-tachikawa .p-share__icon {
  display: block;
  flex: none;
  width: calc(48 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
  margin-right: calc(12 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-share__icon {
    width: calc(15.911 * var(--to-rem));
    margin-right: calc(3.978 * var(--to-rem));
  }
}

.l-tachikawa .p-share__icon--x {
  width: calc(40 * var(--to-rem));
  aspect-ratio: 40/40.8219;
  margin-right: calc(16 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-share__icon--x {
    width: calc(13.259 * var(--to-rem));
    margin-right: calc(5.304 * var(--to-rem));
  }
}

.l-tachikawa .p-share__label {
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 2;
  color: var(--color-gray-dark);
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-share__label {
    font-size: calc(16 * var(--to-rem));
    line-height: 1.5;
    letter-spacing: 0.0188em;
  }
}

.l-tachikawa .p-share__arrow {
  display: block;
  flex: none;
  width: calc(28 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-share__arrow {
    width: calc(9.281 * var(--to-rem));
  }
}

.p-shop {
  position: relative;
  padding-block: calc(120 * var(--to-rem));
  padding-inline: calc(52 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-shop {
    padding-block: calc(40 * var(--to-rem)) calc(48 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
    overflow: visible;
  }
}

.p-shop::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  content: "";
  background-image: url("../images/common/bg-tile.png");
  background-repeat: repeat-y;
  background-position: center top;
  background-size: 100% auto;
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .p-shop::before {
    background-repeat: repeat-y;
    background-position: left top;
    background-size: max(100%, 432 * var(--to-rem)) auto;
  }
}

.p-shop__inner {
  position: relative;
  z-index: 1;
  width: calc(1336 * var(--to-rem));
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-shop__inner {
    width: 100%;
  }
}

.p-shop__body {
  display: flex;
  flex-direction: column;
  gap: calc(120 * var(--to-rem));
  align-items: center;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .p-shop__body {
    gap: calc(48 * var(--to-rem));
    width: 100%;
  }
}

.p-shop__soon {
  position: relative;
  flex-shrink: 0;
  width: calc(1440 * var(--to-rem));
  padding-block: calc(120 * var(--to-rem)) calc(100 * var(--to-rem));
  padding-inline: calc(170 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-shop__soon {
    align-self: stretch;
    width: auto;
    padding-block: calc(64 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
    margin-inline: calc(-16 * var(--to-rem));
  }
}

.p-shop__soon::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  content: "";
  background-image: url("../images/common/bg-dot.png");
  background-repeat: repeat;
  background-position: calc(22 * var(--to-rem)) calc(19.07 * var(--to-rem));
  background-size: calc(24 * var(--to-rem)) calc(24 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-shop__soon::before {
    background-position: calc(1 * var(--to-rem)) calc(15 * var(--to-rem));
  }
}

.p-shop__cloud {
  position: absolute;
  z-index: 2;
  width: calc(153 * var(--to-rem));
  height: auto;
  aspect-ratio: 153/65;
}
@media screen and (max-width: 767px) {
  .p-shop__cloud {
    display: none;
  }
}

.p-shop__cloud--bottom {
  top: calc(632 * var(--to-rem));
  left: calc(27 * var(--to-rem));
  clip-path: inset(0 0 calc(54 * var(--to-rem)) 0);
}

.p-shop__card {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: calc(60 * var(--to-rem));
  align-items: center;
  width: 100%;
  min-height: calc(303 * var(--to-rem));
  background-color: var(--color-white);
  border-radius: calc(10 * var(--to-rem));
  box-shadow: inset 0 0 0 calc(2 * var(--to-rem)) var(--color-pink);
}
@media screen and (max-width: 767px) {
  .p-shop__card {
    gap: calc(32 * var(--to-rem));
    min-height: calc(153 * var(--to-rem));
    border-radius: calc(3.5455 * var(--to-rem));
    box-shadow: inset 0 0 0 calc(0.7091 * var(--to-rem)) var(--color-pink);
  }
}

.p-shop__card::before {
  flex-shrink: 0;
  width: 100%;
  height: calc(52 * var(--to-rem));
  content: "";
  background-color: var(--color-tomato);
  border-radius: calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) 0 0;
}
@media screen and (max-width: 767px) {
  .p-shop__card::before {
    height: calc(36 * var(--to-rem));
    border-radius: calc(3.5455 * var(--to-rem)) calc(3.5455 * var(--to-rem)) 0 0;
  }
}

.p-shop__cardText {
  font-size: calc(40 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-tomato);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.018em;
}
@media screen and (max-width: 767px) {
  .p-shop__cardText {
    font-size: calc(20 * var(--to-rem));
    line-height: 1.2;
    letter-spacing: 0.0128em;
  }
}

.p-shop__cardSusie {
  position: absolute;
  z-index: 2;
  display: block;
}

.p-shop__cardSusie img {
  display: block;
  width: 100%;
  height: auto;
}

.p-shop__cardSusie--left {
  top: calc(78 * var(--to-rem));
  left: calc(48 * var(--to-rem));
  width: calc(140.6695 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-shop__cardSusie--left {
    top: calc(45 * var(--to-rem));
    left: calc(4 * var(--to-rem));
    width: calc(70.3 * var(--to-rem));
  }
}

.p-shop__cardSusie--left img {
  aspect-ratio: 140.6695/198.2921;
}

.p-shop__cardSusie--right {
  top: calc(-51 * var(--to-rem));
  left: calc(910 * var(--to-rem));
  width: calc(144.2166 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-shop__cardSusie--right {
    top: calc(-26.6 * var(--to-rem));
    right: calc(2.31 * var(--to-rem));
    left: auto;
    width: calc(72.1 * var(--to-rem));
  }
}

.p-shop__cardSusie--right img {
  aspect-ratio: 144.2166/117.631;
}

.p-shop__foot {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(160 * var(--to-rem));
  align-items: center;
  width: calc(819.2 * var(--to-rem));
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .p-shop__foot {
    gap: calc(64 * var(--to-rem));
    width: calc(358 * var(--to-rem));
  }
}

.p-shop__linkList {
  display: flex;
  gap: calc(19.2 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-shop__linkList {
    flex-direction: column;
    gap: calc(16 * var(--to-rem));
  }
}

.p-shop__linkItem {
  width: calc(400 * var(--to-rem));
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .p-shop__linkItem {
    width: 100%;
  }
}

.l-tachikawaShop .p-shop {
  padding-block: calc(106.865 * var(--to-rem)) calc(100 * var(--to-rem));
  padding-inline: calc(51.5 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawaShop .p-shop {
    padding-block: calc(16 * var(--to-rem)) calc(48 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
  }
}

.l-tachikawaShop .p-shop::before {
  background-image: url("../images/tachikawa/bg-tile.png");
  background-position: left top;
}

.l-tachikawaShop .p-shop__inner {
  width: calc(1337 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawaShop .p-shop__inner {
    width: 100%;
  }
}

.l-tachikawaShop .p-shop__body {
  width: 100%;
  margin-inline: auto;
}

.l-tachikawaShop .p-shop__cloud--bottom {
  top: calc(618.865 * var(--to-rem));
  left: calc(55 * var(--to-rem));
}

.l-tachikawaShop .p-shop__card {
  box-shadow: inset 0 0 0 calc(2 * var(--to-rem)) var(--color-green-btn);
}
@media screen and (max-width: 767px) {
  .l-tachikawaShop .p-shop__card {
    gap: calc(20 * var(--to-rem));
    border-radius: calc(4 * var(--to-rem));
    box-shadow: inset 0 0 0 calc(0.7091 * var(--to-rem)) var(--color-green-deep);
  }
}

.l-tachikawaShop .p-shop__card::before {
  background-color: var(--color-green-mid);
}
@media screen and (max-width: 767px) {
  .l-tachikawaShop .p-shop__card::before {
    background-color: var(--color-green-btn);
  }
}

.l-tachikawaShop .p-shop__cardText {
  color: var(--color-green-mid);
}
@media screen and (max-width: 767px) {
  .l-tachikawaShop .p-shop__cardText {
    font-size: calc(24 * var(--to-rem));
    line-height: 2.5;
    letter-spacing: 0.03em;
  }
}

.l-tachikawaShop .p-shop__linkList {
  justify-content: center;
}

.l-tokyotaikukan .p-sponsor {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(32 * var(--to-rem));
  align-items: center;
  padding-inline: calc(170 * var(--to-rem));
  padding-bottom: calc(100 * var(--to-rem));
  background-color: var(--color-bg-cream2);
  background-image: url("../images/common/bg-pattern.png");
  background-repeat: repeat;
  background-position: 0 0;
  background-size: calc(500 * var(--to-rem)) calc(500 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor {
    gap: 0;
    padding-inline: 0;
    padding-bottom: 0;
    background-image: none;
  }
}

.l-tokyotaikukan .p-sponsor__head {
  gap: calc(16 * var(--to-rem));
  padding-top: calc(100 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__head {
    position: relative;
    gap: calc(4 * var(--to-rem));
    padding-block: calc(32 * var(--to-rem)) calc(24 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
    overflow: hidden;
    background-color: var(--color-bg-cream2);
    background-image: url("../images/common/bg-pattern.png");
    background-repeat: repeat;
    background-position: 0 0;
    background-size: calc(150 * var(--to-rem)) calc(150 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-sponsor__headRow {
  gap: calc(24 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__headRow {
    gap: calc(9.7085 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-sponsor__head .c-sectionHead__ja {
  letter-spacing: 0.0714em;
  white-space: pre;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__head .c-sectionHead__ja {
    line-height: 1.1429;
    letter-spacing: 0.0078em;
  }
}

.l-tokyotaikukan .p-sponsor__deco {
  position: absolute;
  top: calc(67.776 * var(--to-rem));
  left: calc(50% + 369 * var(--to-rem));
  display: block;
  width: calc(191.396 * var(--to-rem));
  aspect-ratio: 191.396/190;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__deco {
    top: calc(12.9287 * var(--to-rem));
    left: calc(50% + 90 * var(--to-rem));
    width: calc(76.5568 * var(--to-rem));
    aspect-ratio: 76.5568/83;
  }
}

.l-tokyotaikukan .p-sponsor__body {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__body {
    gap: calc(28 * var(--to-rem));
    padding-block: calc(24 * var(--to-rem)) calc(40 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
    overflow: hidden;
    background-color: var(--color-bg-cream2);
    background-image: url("../images/common/bg-pattern.png");
    background-repeat: repeat;
    background-position: 0 0;
    background-size: calc(150 * var(--to-rem)) calc(150 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-sponsor__group {
  padding-top: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__group {
    padding-top: 0;
  }
}

.l-tokyotaikukan .p-sponsor__group:first-child {
  padding-top: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__group:first-child {
    padding-top: 0;
  }
}

.l-tokyotaikukan .p-sponsor__groupTitle {
  height: calc(48 * var(--to-rem));
  padding-bottom: calc(10 * var(--to-rem));
  font-size: calc(26 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4;
  color: var(--color-gray-dark);
  letter-spacing: 0.05em;
  border-bottom: 1px solid var(--color-white);
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__groupTitle {
    height: auto;
    padding-bottom: 0;
    font-size: calc(18 * var(--to-rem));
    line-height: 1.5556;
    color: var(--color-black);
    letter-spacing: normal;
    border-bottom: none;
  }
}

.l-tokyotaikukan .p-sponsor__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, calc(350 * var(--to-rem))));
  gap: calc(15 * var(--to-rem)) calc(25 * var(--to-rem));
  padding-top: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__list {
    grid-template-columns: repeat(2, minmax(0, calc(168 * var(--to-rem))));
    gap: calc(12 * var(--to-rem));
    padding-top: calc(12 * var(--to-rem));
  }
}
@media (min-width: 391px) and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__item--logo {
    width: calc(169 * var(--to-rem));
  }
}
@media (min-width: 391px) and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__item--logo {
    width: 100%;
  }
}

.l-tokyotaikukan .p-sponsor__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(100 * var(--to-rem));
  background-color: var(--color-white);
  border: 1px solid var(--color-border-gray);
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__link {
    height: calc(48 * var(--to-rem));
    border-width: calc(0.48 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-sponsor__link:hover {
  opacity: 0.7;
}

.l-tokyotaikukan .p-sponsor__linkText {
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.2;
  color: var(--color-gray-dark);
  text-align: left;
  letter-spacing: 0.007em;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__linkText {
    font-size: calc(12 * var(--to-rem));
    letter-spacing: -0.007em;
  }
}

.l-tokyotaikukan .p-sponsor__linkIcon {
  position: absolute;
  right: calc(8 * var(--to-rem));
  bottom: calc(8 * var(--to-rem));
  width: calc(10 * var(--to-rem));
  height: auto;
  aspect-ratio: 10/10;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__linkIcon {
    right: calc(6 * var(--to-rem));
    bottom: calc(6 * var(--to-rem));
    width: calc(8 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-sponsor__logo {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(100.2969 * var(--to-rem));
  padding-inline: calc(10 * var(--to-rem));
  background-color: var(--color-white);
  border: 1px solid var(--color-border-gray);
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__logo {
    height: calc(48.4291 * var(--to-rem));
    border-width: calc(0.48 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-sponsor__logo:hover {
  opacity: 0.7;
}

.l-tokyotaikukan .p-sponsor__logoImage {
  display: block;
  width: 100%;
  max-width: calc(300 * var(--to-rem));
  height: auto;
  aspect-ratio: 600/85;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__logoImage {
    max-width: calc(144.86 * var(--to-rem));
  }
}

.l-tokyotaikukan .p-sponsor__logoIcon {
  position: absolute;
  right: calc(7 * var(--to-rem));
  bottom: calc(6.9844 * var(--to-rem));
  width: calc(10 * var(--to-rem));
  height: auto;
  aspect-ratio: 10/10;
}
@media screen and (max-width: 767px) {
  .l-tokyotaikukan .p-sponsor__logoIcon {
    right: calc(3.3784 * var(--to-rem));
    bottom: calc(3.374 * var(--to-rem));
    width: calc(4.8286 * var(--to-rem));
  }
}

.l-tachikawa .p-sponsor {
  position: relative;
  padding-block: 0 calc(100 * var(--to-rem));
  padding-inline: calc(170 * var(--to-rem));
  overflow: hidden;
  background-image: url("../images/tachikawa/bg-pattern.png");
  background-repeat: repeat;
  background-position: 0 0;
  background-size: calc(500 * var(--to-rem)) calc(500 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor {
    padding-block: calc(48 * var(--to-rem));
    padding-inline: calc(16 * var(--to-rem));
    background-color: var(--color-bg-green-pale);
    background-image: none;
  }
}

.l-tachikawa .p-sponsor__deco {
  position: absolute;
  top: calc(74.6 * var(--to-rem));
  left: calc(50% + 369 * var(--to-rem));
  z-index: 1;
  display: block;
  width: calc(191.396 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor__deco {
    top: calc(28 * var(--to-rem));
    left: calc(50% + 74 * var(--to-rem));
    width: calc(76.6 * var(--to-rem));
  }
}

.l-tachikawa .p-sponsor__deco img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 191.396/209.062;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor__deco img {
    aspect-ratio: 76.6/83.6;
  }
}

.l-tachikawa .p-sponsor__inner {
  display: flex;
  flex-direction: column;
  gap: calc(32 * var(--to-rem));
  width: calc(1100 * var(--to-rem));
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor__inner {
    gap: calc(48 * var(--to-rem));
    width: 100%;
  }
}

.l-tachikawa .p-sponsor__head {
  gap: calc(16 * var(--to-rem));
  align-self: center;
  width: calc(537 * var(--to-rem));
  max-width: 100%;
  padding-top: calc(100 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor__head {
    gap: calc(4 * var(--to-rem));
    width: 100%;
    padding-top: 0;
  }
}

.l-tachikawa .p-sponsor__head .c-sectionHead__row {
  gap: calc(24 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor__head .c-sectionHead__row {
    gap: calc(9.71 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor__head .c-sectionHead__deco--lines {
    width: calc(19.7 * var(--to-rem));
  }
}

.l-tachikawa .p-sponsor__head .c-sectionHead__ja {
  letter-spacing: 0.0714em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor__head .c-sectionHead__ja {
    line-height: 1.1429;
    letter-spacing: 0.0079em;
  }
}

.l-tachikawa .p-sponsor__body {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor__body {
    gap: calc(28 * var(--to-rem));
  }
}

.l-tachikawa .p-sponsor__group {
  padding-top: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor__group {
    padding-top: 0;
  }
}

.l-tachikawa .p-sponsor__group:first-child {
  padding-top: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor__group:first-child {
    padding-top: 0;
  }
}

.l-tachikawa .p-sponsor__groupTitle {
  padding-block: 0 calc(11.6 * var(--to-rem));
  font-size: calc(26 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4;
  color: var(--color-gray-dark);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor__groupTitle {
    padding-block: 0 calc(12 * var(--to-rem));
    font-size: calc(18 * var(--to-rem));
    line-height: 1.5556;
    color: var(--color-black);
    letter-spacing: 0;
  }
}

.l-tachikawa .p-sponsor__list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(40.3 * var(--to-rem)) calc(25 * var(--to-rem));
  padding-top: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor__list {
    gap: calc(12 * var(--to-rem));
    padding-top: 0;
  }
}
@media (min-width: 391px) and (max-width: 767px) {
  .l-tachikawa .p-sponsor__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.l-tachikawa .p-sponsor__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(350 * var(--to-rem));
  max-width: 100%;
  height: calc(100 * var(--to-rem));
  background-color: var(--color-white);
  border: calc(1 * var(--to-rem)) solid var(--color-border-gray);
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor__link {
    width: calc(168 * var(--to-rem));
    height: calc(48 * var(--to-rem));
    border-width: calc(0.48 * var(--to-rem));
  }
}
@media (min-width: 391px) and (max-width: 767px) {
  .l-tachikawa .p-sponsor__link {
    width: 100%;
  }
}

.l-tachikawa .p-sponsor__link:hover {
  opacity: 0.7;
}

.l-tachikawa .p-sponsor__link--logo {
  height: calc(100.3 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor__link--logo {
    width: calc(169 * var(--to-rem));
    height: calc(48.4 * var(--to-rem));
  }
}
@media (min-width: 391px) and (max-width: 767px) {
  .l-tachikawa .p-sponsor__link--logo {
    width: 100%;
  }
}

.l-tachikawa .p-sponsor__logoImage {
  display: block;
  width: calc(300 * var(--to-rem));
  max-width: 100%;
  height: auto;
  aspect-ratio: 600/85;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor__logoImage {
    width: calc(144.9 * var(--to-rem));
  }
}

.l-tachikawa .p-sponsor__linkText {
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.2;
  color: var(--color-gray-dark);
  text-align: center;
  letter-spacing: 0.0069em;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor__linkText {
    font-size: calc(12 * var(--to-rem));
    line-height: 1.2;
    letter-spacing: -0.0067em;
  }
}

.l-tachikawa .p-sponsor__linkIcon {
  position: absolute;
  right: calc(8 * var(--to-rem));
  bottom: calc(8 * var(--to-rem));
  display: block;
  width: calc(10 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .l-tachikawa .p-sponsor__linkIcon {
    right: calc(6 * var(--to-rem));
    bottom: calc(6 * var(--to-rem));
    width: calc(8 * var(--to-rem));
  }
}

.p-venue {
  position: relative;
  z-index: 1;
  margin-top: calc(-38 * var(--to-rem));
  margin-bottom: calc(-97 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-venue {
    padding-block: calc(24 * var(--to-rem));
    margin-top: 0;
    margin-bottom: 0;
    background-color: var(--color-bg-sand);
  }
}

.p-venue__inner {
  max-width: calc(1268.8 * var(--to-rem));
  padding-inline: calc(20 * var(--to-rem));
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-venue__inner {
    max-width: 100%;
    padding-inline: calc(16 * var(--to-rem));
  }
}

.p-venue__list {
  display: flex;
  gap: calc(14.4 * var(--to-rem));
  list-style: none;
}
@media screen and (max-width: 767px) {
  .p-venue__list {
    flex-direction: column;
    gap: calc(16 * var(--to-rem));
  }
}

.p-venue__item {
  flex: 1 1 0;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-venue__item {
    flex: none;
  }
}

.p-venue__btn {
  position: relative;
  display: flex;
  gap: calc(24 * var(--to-rem));
  align-items: center;
  width: 100%;
  min-height: calc(135 * var(--to-rem));
  padding-block: calc(14.293 * var(--to-rem));
  padding-inline: calc(17.867 * var(--to-rem));
  overflow: hidden;
  text-decoration: none;
  background-color: var(--btn-bg);
  border-radius: calc(16 * var(--to-rem));
  transition: box-shadow var(--duration);
}
@media screen and (max-width: 767px) {
  .p-venue__btn {
    gap: calc(10 * var(--to-rem));
    min-height: calc(116 * var(--to-rem));
    padding-block: calc(10 * var(--to-rem));
    padding-inline: calc(12 * var(--to-rem));
    border-radius: calc(12 * var(--to-rem));
  }
}

.p-venue__btn::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background-image: url("../images/top/topbtn-stripe.png");
  background-repeat: repeat;
  background-size: calc(80 * var(--to-rem)) calc(66.6 * var(--to-rem));
  mix-blend-mode: plus-lighter;
}

.p-venue__btn--tachikawa {
  --btn-bg: var(--color-green-mid);
  --btn-dark: var(--color-green-dark);
}

.p-venue__btn--tokyotaikukan {
  --btn-bg: var(--color-amber);
  --btn-dark: var(--color-brown);
  justify-content: center;
}

.p-venue__btn--tokyotaikukan::before {
  mix-blend-mode: hard-light;
}

.p-venue__btn--komazawa {
  --btn-bg: var(--color-pink);
  --btn-dark: var(--color-red-deep);
  gap: calc(24 * var(--to-rem));
  padding-block: 0;
  padding-inline: calc(16 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-venue__btn--komazawa {
    gap: calc(10 * var(--to-rem));
    padding-block: calc(10 * var(--to-rem));
    padding-inline: calc(12 * var(--to-rem));
  }
}

.p-venue__btn--komazawa .p-venue__textSub,
.p-venue__btn--komazawa .p-venue__textMain {
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .p-venue__btn--komazawa .p-venue__textSub {
    font-size: calc(17 * var(--to-rem));
  }
}

.p-venue__btn--komazawa .p-venue__text {
  gap: calc(14 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-venue__btn--komazawa .p-venue__text {
    gap: 0;
  }
}

@media (hover: hover) {
  .p-venue__btn:hover {
    box-shadow: 0 calc(8 * var(--to-rem)) calc(16 * var(--to-rem)) rgba(20, 31, 31, 0.22);
  }
}
.p-venue__date {
  position: relative;
  z-index: 1;
  display: flex;
  flex: none;
  flex-direction: column;
  gap: calc(4 * var(--to-rem));
  align-items: center;
  justify-content: center;
  width: calc(71.467 * var(--to-rem));
  height: calc(71.467 * var(--to-rem));
  color: var(--btn-dark);
  background-color: var(--color-white);
  border-radius: 100%;
}

.p-venue__dateYear {
  padding-bottom: calc(1.787 * var(--to-rem));
  font-size: calc(9.827 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  letter-spacing: 0.0059em;
}

.p-venue__btn--tokyotaikukan .p-venue__dateYear,
.p-venue__btn--komazawa .p-venue__dateYear {
  font-weight: var(--fw-medium);
}
@media screen and (max-width: 767px) {
  .p-venue__btn--tokyotaikukan .p-venue__dateYear,
  .p-venue__btn--komazawa .p-venue__dateYear {
    font-weight: var(--fw-bold);
  }
}

.p-venue__dateDay {
  font-size: calc(24 * var(--to-rem));
  font-weight: 800;
  line-height: 0.818875;
  letter-spacing: -0.0096em;
}

.p-venue__dateMonth {
  font-size: calc(11.613 * var(--to-rem));
  letter-spacing: -0.0059em;
}

.p-venue__dateWeek {
  padding-top: calc(1.787 * var(--to-rem));
  font-size: calc(9.827 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  letter-spacing: 0.0059em;
}

.p-venue__body {
  position: relative;
  z-index: 1;
  display: flex;
  gap: calc(8 * var(--to-rem));
  align-items: center;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-venue__body {
    flex: 1;
    gap: 0;
  }
}

.p-venue__btn--tokyotaikukan .p-venue__body {
  gap: calc(16 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-venue__btn--tokyotaikukan .p-venue__body {
    gap: 0;
  }
}

.p-venue__text {
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--to-rem));
  min-width: 0;
  color: var(--color-white);
  paint-order: stroke fill;
  -webkit-text-stroke: calc(6 * var(--to-rem)) var(--btn-dark);
}
@media screen and (max-width: 767px) {
  .p-venue__text {
    gap: 0;
    -webkit-text-stroke-width: calc(4 * var(--to-rem));
  }
}

.p-venue__textSub {
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-black);
  line-height: 1;
  letter-spacing: -0.0175em;
}
@media screen and (max-width: 767px) {
  .p-venue__textSub {
    font-size: calc(16 * var(--to-rem));
    font-weight: var(--fw-bold);
    line-height: 1.2;
    letter-spacing: 0;
  }
}

.p-venue__textMain {
  font-size: calc(22 * var(--to-rem));
  font-weight: var(--fw-black);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-venue__textMain {
    font-size: calc(20 * var(--to-rem));
  }
}

.p-venue__btn--komazawa .p-venue__textMain {
  line-height: 1.2;
  letter-spacing: -0.0056em;
}
@media screen and (max-width: 767px) {
  .p-venue__btn--komazawa .p-venue__textMain {
    font-size: calc(20 * var(--to-rem));
    font-weight: var(--fw-bold);
    line-height: 1.2;
    letter-spacing: 0;
  }
}

.p-venue__textIn {
  font-size: calc(19.653 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-venue__textIn {
    font-size: inherit;
  }
}

.p-venue__arrow {
  flex: none;
  width: calc(21.44 * var(--to-rem));
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .p-venue__arrow {
    display: none;
  }
}

@media (max-width: 767px) {
  [data-only-device=md] {
    display: none;
  }
}

@media (min-width: 768px) {
  [data-only-device=sm] {
    display: none;
  }
}

.u-visuallyHidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}