@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

li,
dd {
  list-style-type: none;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

img {
  border: none;
  vertical-align: bottom;
}

:root {
  --color-text-primary: #333333;
  --color-text-subtle: #555555;
  --color-text-inverse: #ffffff;
  --color-bg-base: #eadfcb;
  --color-bg-inverse: #3e3026;
  --color-bg-wordmark: #d9c5ac;
  --color-border-hairline: #7e5a3d;
  --color-border-default: #a47a55;
  --color-accent-signature: #d89a4e;
  --color-error: #a3271f;
  --color-bg-header: rgba(234, 223, 203, 0.85);
  --overlay-sceneMorning: none;
  --overlay-sceneDaytime: linear-gradient(rgba(216, 154, 78, 0.15), rgba(216, 154, 78, 0.15));
  --overlay-sceneEvening: linear-gradient(rgba(164, 122, 85, 0.3), rgba(164, 122, 85, 0.3));
  --overlay-scenePhoto: none;
  --color-bg-sceneNight: var(--color-bg-inverse);
  --color-text-sceneNight: var(--color-text-inverse);
  --color-rule-sceneNight: var(--color-text-inverse);
  --overlay-shiori: linear-gradient(rgba(164, 122, 85, 0.25), rgba(164, 122, 85, 0.25));
  --overlay-firstTime: linear-gradient(rgba(164, 122, 85, 0.15), rgba(164, 122, 85, 0.15));
  --gradient-breakMorning: linear-gradient(to bottom, rgba(216, 154, 78, 0), rgba(216, 154, 78, 0.15));
  --gradient-breakDaytime: linear-gradient(to bottom, rgba(216, 154, 78, 0.15), rgba(164, 122, 85, 0.3));
  --gradient-breakEvening: linear-gradient(to bottom, rgba(164, 122, 85, 0.3) 0%, rgba(164, 122, 85, 0.3) 50%, var(--color-bg-sceneNight) 100%);
  --gradient-breakNight: linear-gradient(to bottom, var(--color-bg-sceneNight) 0%, var(--color-bg-sceneNight) 50%, rgba(164, 122, 85, 0.25) 100%);
  --opacity-dim: 0.8;
  --color-ecLink-bg: rgba(255, 253, 247, 0.94);
  --color-ecLink-border: rgba(51, 51, 51, 0.18);
  --color-ecLink-text: #333333;
  --radius-md: 0.8rem;
  --spacing-xs: 0.4rem;
  --spacing-sm: 0.8rem;
  --spacing-md: 1.6rem;
  --spacing-lg: 2.4rem;
  --spacing-xl: 4rem;
  --spacing-2xl: 6.4rem;
  --shadow-float: 0 0.2rem 1.4rem rgba(0, 0, 0, 0.1);
  --color-field-bg: #ffffff;
  --color-field-text: #333333;
  --color-field-accent: #3e3026;
  --color-field-error: #b3261e;
  --color-onward-overlay: linear-gradient(
    180deg,
    rgba(62, 48, 38, 0) 0%,
    rgba(62, 48, 38, 0.03) 42%,
    rgba(62, 48, 38, 0.78) 60%,
    rgba(62, 48, 38, 0.94) 100%
  );
  --color-onward-text: #ffffff;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --color-text-primary: #ffffff;
    --color-text-subtle: #cccccc;
    --color-text-inverse: #333333;
    --color-bg-base: #3e3026;
    --color-bg-inverse: #eadfcb;
    --color-bg-wordmark: #543c30;
    --color-border-hairline: #d89a4e;
    --color-border-default: #a47a55;
    --color-accent-signature: #d89a4e;
    --color-error: #e8837a;
    --color-bg-header: rgba(62, 48, 38, 0.85);
    --overlay-sceneMorning: linear-gradient(rgba(216, 154, 78, 0.1), rgba(216, 154, 78, 0.1));
    --overlay-sceneDaytime: linear-gradient(rgba(216, 154, 78, 0.2), rgba(216, 154, 78, 0.2));
    --overlay-sceneEvening: linear-gradient(rgba(164, 122, 85, 0.35), rgba(164, 122, 85, 0.35));
    --overlay-scenePhoto: linear-gradient(rgba(62, 48, 38, 0.35), rgba(62, 48, 38, 0.35));
    --color-bg-sceneNight: var(--color-bg-base);
    --color-text-sceneNight: var(--color-text-primary);
    --color-rule-sceneNight: var(--color-border-default);
    --overlay-shiori: linear-gradient(rgba(216, 154, 78, 0.06), rgba(216, 154, 78, 0.06));
    --overlay-firstTime: linear-gradient(rgba(164, 122, 85, 0.12), rgba(164, 122, 85, 0.12));
    --gradient-breakMorning: linear-gradient(to bottom, rgba(216, 154, 78, 0.1), rgba(216, 154, 78, 0.2));
    --gradient-breakDaytime: linear-gradient(to bottom, rgba(216, 154, 78, 0.2), rgba(164, 122, 85, 0.35));
    --gradient-breakEvening: linear-gradient(to bottom, rgba(164, 122, 85, 0.35) 0%, rgba(164, 122, 85, 0.35) 50%, rgba(164, 122, 85, 0) 100%);
    --gradient-breakNight: linear-gradient(to bottom, rgba(216, 154, 78, 0) 0%, rgba(216, 154, 78, 0) 50%, rgba(216, 154, 78, 0.06) 100%);
    --opacity-dim: 0.7;
    --color-ecLink-bg: rgba(43, 33, 26, 0.92);
    --color-ecLink-border: rgba(255, 253, 247, 0.24);
    --color-ecLink-text: #fffdf7;
  }
}
:root[data-theme=day] {
  --color-text-primary: #333333;
  --color-text-subtle: #555555;
  --color-text-inverse: #ffffff;
  --color-bg-base: #eadfcb;
  --color-bg-inverse: #3e3026;
  --color-bg-wordmark: #d9c5ac;
  --color-border-hairline: #7e5a3d;
  --color-border-default: #a47a55;
  --color-accent-signature: #d89a4e;
  --color-error: #a3271f;
  --color-bg-header: rgba(234, 223, 203, 0.85);
  --overlay-sceneMorning: none;
  --overlay-sceneDaytime: linear-gradient(rgba(216, 154, 78, 0.15), rgba(216, 154, 78, 0.15));
  --overlay-sceneEvening: linear-gradient(rgba(164, 122, 85, 0.3), rgba(164, 122, 85, 0.3));
  --overlay-scenePhoto: none;
  --color-bg-sceneNight: var(--color-bg-inverse);
  --color-text-sceneNight: var(--color-text-inverse);
  --color-rule-sceneNight: var(--color-text-inverse);
  --overlay-shiori: linear-gradient(rgba(164, 122, 85, 0.25), rgba(164, 122, 85, 0.25));
  --overlay-firstTime: linear-gradient(rgba(164, 122, 85, 0.15), rgba(164, 122, 85, 0.15));
  --gradient-breakMorning: linear-gradient(to bottom, rgba(216, 154, 78, 0), rgba(216, 154, 78, 0.15));
  --gradient-breakDaytime: linear-gradient(to bottom, rgba(216, 154, 78, 0.15), rgba(164, 122, 85, 0.3));
  --gradient-breakEvening: linear-gradient(to bottom, rgba(164, 122, 85, 0.3) 0%, rgba(164, 122, 85, 0.3) 50%, var(--color-bg-sceneNight) 100%);
  --gradient-breakNight: linear-gradient(to bottom, var(--color-bg-sceneNight) 0%, var(--color-bg-sceneNight) 50%, rgba(164, 122, 85, 0.25) 100%);
  --opacity-dim: 0.8;
  --color-ecLink-bg: rgba(255, 253, 247, 0.94);
  --color-ecLink-border: rgba(51, 51, 51, 0.18);
  --color-ecLink-text: #333333;
}

:root[data-theme=night] {
  --color-text-primary: #ffffff;
  --color-text-subtle: #cccccc;
  --color-text-inverse: #333333;
  --color-bg-base: #3e3026;
  --color-bg-inverse: #eadfcb;
  --color-bg-wordmark: #543c30;
  --color-border-hairline: #d89a4e;
  --color-border-default: #a47a55;
  --color-accent-signature: #d89a4e;
  --color-error: #e8837a;
  --color-bg-header: rgba(62, 48, 38, 0.85);
  --overlay-sceneMorning: linear-gradient(rgba(216, 154, 78, 0.1), rgba(216, 154, 78, 0.1));
  --overlay-sceneDaytime: linear-gradient(rgba(216, 154, 78, 0.2), rgba(216, 154, 78, 0.2));
  --overlay-sceneEvening: linear-gradient(rgba(164, 122, 85, 0.35), rgba(164, 122, 85, 0.35));
  --overlay-scenePhoto: linear-gradient(rgba(62, 48, 38, 0.35), rgba(62, 48, 38, 0.35));
  --color-bg-sceneNight: var(--color-bg-base);
  --color-text-sceneNight: var(--color-text-primary);
  --color-rule-sceneNight: var(--color-border-default);
  --overlay-shiori: linear-gradient(rgba(216, 154, 78, 0.06), rgba(216, 154, 78, 0.06));
  --overlay-firstTime: linear-gradient(rgba(164, 122, 85, 0.12), rgba(164, 122, 85, 0.12));
  --gradient-breakMorning: linear-gradient(to bottom, rgba(216, 154, 78, 0.1), rgba(216, 154, 78, 0.2));
  --gradient-breakDaytime: linear-gradient(to bottom, rgba(216, 154, 78, 0.2), rgba(164, 122, 85, 0.35));
  --gradient-breakEvening: linear-gradient(to bottom, rgba(164, 122, 85, 0.35) 0%, rgba(164, 122, 85, 0.35) 50%, rgba(164, 122, 85, 0) 100%);
  --gradient-breakNight: linear-gradient(to bottom, rgba(216, 154, 78, 0) 0%, rgba(216, 154, 78, 0) 50%, rgba(216, 154, 78, 0.06) 100%);
  --opacity-dim: 0.7;
  --color-ecLink-bg: rgba(43, 33, 26, 0.92);
  --color-ecLink-border: rgba(255, 253, 247, 0.24);
  --color-ecLink-text: #fffdf7;
}

body {
  transition: background-color 0.3s ease, color 0.3s ease;
}

@media (prefers-reduced-motion: reduce) {
  body {
    transition: none;
  }
}
html {
  font-size: 62.5%;
}
@media screen and (max-width: 767px) {
  html {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  html::-webkit-scrollbar {
    display: none;
  }
}

body {
  color: var(--color-text-primary);
  font-family: "YakuHanMP", "Noto Serif JP", serif;
  background-color: var(--color-bg-base);
  font-size: max(1.6rem, 12.8px);
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.6rem;
  }
}
body {
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
}
body.no-scroll {
  overflow: hidden;
}

a {
  text-decoration: none;
  transition: opacity 0.3s, color 0.3s, background-color 0.3s, border-color 0.3s;
  color: inherit;
}
@media (hover: hover) {
  a:hover {
    cursor: pointer;
  }
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--focus-ring-color, currentColor);
  outline-offset: 0.2rem;
}

picture,
img,
svg {
  display: block;
}

a,
span {
  display: inline-block;
}

video,
img,
svg {
  width: 100%;
  height: 100%;
}

button {
  font: inherit;
  color: inherit;
  background: transparent;
  background: none;
  border: none;
}

input,
textarea,
select {
  font: inherit;
}

@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
.l-main {
  position: relative;
  padding-top: 8.2rem;
}
@media screen and (max-width: 767px) {
  .l-main {
    padding-top: 6.2rem;
  }
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 8.2rem;
  background-color: var(--color-bg-header);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--color-border-hairline);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .l-header {
    height: 6.2rem;
  }
}

.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  max-width: 1360px;
  padding-inline: 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-header__inner {
    max-width: 100%;
    padding-inline: 2rem;
  }
}

.l-header__logo {
  display: block;
  flex-shrink: 0;
  width: clamp(10.8rem, 9.6732394366rem + 3.0046948357vw, 14rem);
  aspect-ratio: 390/94;
}
:root[data-theme=night] .l-header__logo .l-header__logoDay {
  display: none;
}
:root[data-theme=night] .l-header__logo .l-header__logoNight {
  display: block;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .l-header__logo .l-header__logoDay {
    display: none;
  }
  :root:not([data-theme]) .l-header__logo .l-header__logoNight {
    display: block;
  }
}
@media (hover: hover) {
  .l-header__logo:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .l-header__logo {
    position: relative;
  }
  .l-header__logo::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}

.l-header__logoNight {
  display: none;
}

.l-header__utility {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1.2rem;
}

.l-header__navList {
  display: flex;
  gap: clamp(2.4rem, 1.8366197183rem + 1.5023474178vw, 4rem);
}

.l-header__navItem {
  letter-spacing: 0.2rem;
  white-space: nowrap;
  font-size: clamp(1.3rem, 1.2647887324rem + 0.0938967136vw, 1.4rem);
  font-weight: 400;
  line-height: 1.45;
}
@media (hover: hover) {
  .l-header__navItem a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .l-header__navItem a {
    position: relative;
  }
  .l-header__navItem a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 3.2rem);
    height: max(100%, 3.2rem);
  }
}

.l-header__theme {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}

.l-header__themeLabel,
.l-header__themeState {
  white-space: nowrap;
  font-size: clamp(1.3rem, 1.2647887324rem + 0.0938967136vw, 1.4rem);
  font-weight: 400;
  line-height: 1.45;
}

.l-header__themeToggle {
  position: relative;
  flex-shrink: 0;
  width: 3.4rem;
  height: 1.8rem;
  padding: 0;
  border-radius: 999px;
  background-color: var(--color-bg-inverse);
  transition: background-color 0.3s ease;
  cursor: pointer;
}
.l-header__themeToggle::after {
  content: "";
  position: absolute;
  top: 0.2rem;
  left: 0.2rem;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background-color: var(--color-bg-base);
  transition: transform 0.3s ease, background-color 0.3s ease;
}
:root[data-theme=night] .l-header__themeToggle::after {
  transform: translateX(1.6rem);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .l-header__themeToggle::after {
    transform: translateX(1.6rem);
  }
}
@media screen and (max-width: 767px) {
  .l-header__themeToggle {
    position: relative;
  }
  .l-header__themeToggle::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .l-header,
  .l-header__themeToggle,
  .l-header__themeToggle::after {
    transition: none;
  }
}
.l-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-md);
  padding-block: 6.4rem;
  padding-inline: 4rem;
  background-color: var(--color-bg-inverse);
  color: var(--color-text-inverse);
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding-block: 4rem 11rem;
    padding-inline: 2rem;
  }
}

.l-footer__logo {
  display: block;
  width: clamp(15rem, 12.5352112676rem + 6.5727699531vw, 22rem);
  aspect-ratio: 390/94;
}
@media (hover: hover) {
  .l-footer__logo:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__logo {
    position: relative;
  }
  .l-footer__logo::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}
:root[data-theme=night] .l-footer__logo .l-footer__logoDay {
  display: none;
}
:root[data-theme=night] .l-footer__logo .l-footer__logoNight {
  display: block;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .l-footer__logo .l-footer__logoDay {
    display: none;
  }
  :root:not([data-theme]) .l-footer__logo .l-footer__logoNight {
    display: block;
  }
}

.l-footer__logoNight {
  display: none;
}

.l-footer__navList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: clamp(1.3rem, 1.2647887324rem + 0.0938967136vw, 1.4rem);
  text-align: center;
}

.l-footer__navBreak {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-footer__navBreak {
    display: block;
    width: 100%;
    height: 0;
  }
}

.l-footer__navItem {
  font-size: clamp(1.3rem, 1.2647887324rem + 0.0938967136vw, 1.4rem);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
@media (hover: hover) {
  .l-footer__navItem a:hover {
    opacity: 0.7;
  }
}
.l-footer__navItem:not(:last-child)::after {
  content: "／";
  margin-left: clamp(1.3rem, 1.2647887324rem + 0.0938967136vw, 1.4rem);
}
@media screen and (max-width: 767px) {
  .l-footer__navItem:has(+ .l-footer__navBreak)::after {
    content: none;
  }
  .l-footer__navItem a {
    position: relative;
  }
  .l-footer__navItem a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}

.l-footer__sns {
  display: block;
  width: clamp(2rem, 1.8591549296rem + 0.3755868545vw, 2.4rem);
  aspect-ratio: 1/1;
  color: inherit;
}
@media (hover: hover) {
  .l-footer__sns:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__sns {
    position: relative;
  }
  .l-footer__sns::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}

.l-footer__privacy {
  font-size: clamp(1.3rem, 1.2647887324rem + 0.0938967136vw, 1.4rem);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
@media (hover: hover) {
  .l-footer__privacy a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__privacy a {
    position: relative;
  }
  .l-footer__privacy a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}

.l-footer__copyright {
  font-family: "adobe-garamond-pro", serif;
  font-size: clamp(1.3rem, 1.2647887324rem + 0.0938967136vw, 1.4rem);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

@media (prefers-reduced-motion: reduce) {
  .l-footer {
    transition: none;
  }
}
.c-anchorPill {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.2rem 2rem;
  border: 1px solid var(--color-border-hairline);
  border-radius: 999px;
  white-space: nowrap;
  font-size: clamp(1.4rem, 1.3647887324rem + 0.0938967136vw, 1.5rem);
  font-weight: 400;
  line-height: 1.6;
}
@media (hover: hover) {
  .c-anchorPill:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .c-anchorPill {
    width: 100%;
    position: relative;
  }
  .c-anchorPill::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}

.c-articleBody {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(2rem, 1.8591549296rem + 0.3755868545vw, 2.4rem);
  width: 100%;
}
.c-articleBody > * {
  width: 100%;
}
.c-articleBody p {
  font-size: clamp(1.5rem, 1.4647887324rem + 0.0938967136vw, 1.6rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
}
.c-articleBody h2 {
  margin-top: clamp(3.2rem, 2.9183098592rem + 0.7511737089vw, 4rem);
  font-size: clamp(2.2rem, 2.0591549296rem + 0.3755868545vw, 2.6rem);
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
.c-articleBody h3 {
  margin-top: clamp(2rem, 1.8591549296rem + 0.3755868545vw, 2.4rem);
  font-size: clamp(1.8rem, 1.7295774648rem + 0.1877934272vw, 2rem);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.03em;
}
.c-articleBody h4,
.c-articleBody h5,
.c-articleBody h6 {
  margin-top: clamp(1.2rem, 1.0591549296rem + 0.3755868545vw, 1.6rem);
  font-size: clamp(1.6rem, 1.5295774648rem + 0.1877934272vw, 1.8rem);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.03em;
}
.c-articleBody ul,
.c-articleBody ol {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  list-style: none;
  counter-reset: futoca-ol;
}
.c-articleBody li {
  padding-left: clamp(2.5rem, 2.323943662rem + 0.4694835681vw, 3rem);
  position: relative;
  font-size: clamp(1.5rem, 1.4647887324rem + 0.0938967136vw, 1.6rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
}
.c-articleBody ul li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.c-articleBody ol li::before {
  content: counter(futoca-ol) ".";
  counter-increment: futoca-ol;
  position: absolute;
  top: 0;
  left: 0;
}
.c-articleBody blockquote {
  border-left: clamp(0.3rem, 0.2647887324rem + 0.0938967136vw, 0.4rem) solid var(--color-border-hairline);
  margin: 0;
  padding-left: clamp(1.6rem, 1.3183098592rem + 0.7511737089vw, 2.4rem);
  color: var(--color-text-subtle);
  font-size: clamp(1.5rem, 1.4295774648rem + 0.1877934272vw, 1.7rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
}
.c-articleBody blockquote p {
  font-size: inherit;
}
.c-articleBody blockquote p + p {
  margin-top: 1em;
}
.c-articleBody figure {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 0.9295774648rem + 0.1877934272vw, 1.2rem);
}
.c-articleBody figcaption {
  color: var(--color-text-subtle);
  text-align: center;
  font-size: clamp(1.2rem, 1.1647887324rem + 0.0938967136vw, 1.3rem);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.03em;
}
.c-articleBody hr {
  height: 1px;
  margin-block: clamp(1.2rem, 1.0591549296rem + 0.3755868545vw, 1.6rem);
  border: none;
  background-color: var(--color-border-hairline);
}
.c-articleBody .wp-block-table {
  overflow-x: auto;
}
.c-articleBody table {
  border-collapse: collapse;
  border-top: 1px solid var(--color-border-hairline);
}
.c-articleBody th,
.c-articleBody td {
  padding: clamp(1.2rem, 1.0591549296rem + 0.3755868545vw, 1.6rem) clamp(1.4rem, 1.1887323944rem + 0.5633802817vw, 2rem);
  border-bottom: 1px solid var(--color-border-hairline);
  text-align: left;
  vertical-align: top;
  font-size: clamp(1.4rem, 1.3295774648rem + 0.1877934272vw, 1.6rem);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.03em;
}
.c-articleBody th {
  background-color: var(--color-bg-wordmark);
  font-weight: 700;
}
.c-articleBody strong,
.c-articleBody b,
.c-articleBody em {
  font-weight: 700;
}
.c-articleBody a {
  color: var(--color-accent-signature);
  text-decoration: underline;
  text-underline-position: from-font;
}
@media (hover: hover) {
  .c-articleBody a:hover {
    opacity: 0.7;
  }
}
.c-articleBody img {
  width: 100%;
  height: auto;
}

.c-breadcrumb {
  display: flex;
  align-items: center;
  padding-block: clamp(1.4rem, 1.1887323944rem + 0.5633802817vw, 2rem);
  width: 100%;
  max-width: 1360px;
  padding-inline: 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb {
    max-width: 100%;
    padding-inline: 2rem;
  }
}

.c-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  color: var(--color-text-subtle);
  font-size: clamp(1.2rem, 1.1647887324rem + 0.0938967136vw, 1.3rem);
  font-weight: 400;
  line-height: 1.7;
}

.c-breadcrumb__item:not(:first-child)::before {
  content: "＞";
  margin-inline: clamp(0.55rem, 0.285915493rem + 0.7042253521vw, 1.3rem);
}
@media (hover: hover) {
  .c-breadcrumb__item a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__item a {
    position: relative;
  }
  .c-breadcrumb__item a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}

.c-chapterBand {
  position: relative;
  display: flex;
  align-items: center;
  gap: clamp(1.2rem, 1.0591549296rem + 0.3755868545vw, 1.6rem);
  padding-block: clamp(1.6rem, 1.3183098592rem + 0.7511737089vw, 2.4rem);
  --inner-left: max(4rem, calc((100% - 1280px) / 2));
  width: 100%;
  padding-left: var(--inner-left);
}
@media screen and (max-width: 767px) {
  .c-chapterBand {
    --inner-left: 2rem;
  }
}
.c-chapterBand::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: calc(var(--inner-left) - clamp(1.2rem, 1.0591549296rem + 0.3755868545vw, 1.6rem));
  height: 1px;
  background-color: var(--color-border-default);
}

.c-chapterBand__label {
  flex-shrink: 0;
  letter-spacing: clamp(0.15rem, 0.1323943662rem + 0.0469483568vw, 0.2rem);
  white-space: nowrap;
  font-size: clamp(1.4rem, 1.3295774648rem + 0.1877934272vw, 1.6rem);
  font-weight: 400;
  line-height: 1.8;
}

.c-chapterBand--flat {
  --inner-left: 0px;
  padding: 0;
}
.c-chapterBand--flat .c-chapterBand__label {
  letter-spacing: normal;
  font-size: clamp(1.4rem, 1.3295774648rem + 0.1877934272vw, 1.6rem);
  font-weight: 400;
  line-height: 1.5;
}

.c-chapterBand__rule {
  flex: 1 0 0;
  min-width: 0;
  height: 1px;
  background-color: var(--color-border-default);
}

.c-cta {
  text-decoration: underline;
  text-underline-position: from-font;
  font-size: max(1.6rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .c-cta {
    font-size: 1.6rem;
  }
}
.c-cta {
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
}
@media (hover: hover) {
  .c-cta:hover {
    opacity: 0.7;
  }
}
.c-cta .arrow {
  transition: transform 0.3s ease;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .c-cta:hover .arrow {
    transform: translateX(0.6rem);
  }
}
@media screen and (max-width: 767px) {
  .c-cta {
    position: relative;
  }
  .c-cta::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}

.c-ecLink {
  position: fixed;
  right: 4rem;
  bottom: 4rem;
  z-index: 90;
  padding-block: 1.3rem;
  padding-inline: 2.2rem;
  border-radius: 999px;
  background-color: var(--color-ecLink-bg);
  color: var(--color-ecLink-text);
  box-shadow: var(--shadow-float), inset 0 0 0 1px var(--color-ecLink-border);
  white-space: nowrap;
  transition: background-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
  font-size: max(1.4rem, 11.2px);
}
@media screen and (max-width: 767px) {
  .c-ecLink {
    font-size: 1.4rem;
  }
}
.c-ecLink {
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .c-ecLink {
    right: 1.6rem;
    bottom: 1.6rem;
  }
}
@media (hover: hover) {
  .c-ecLink:hover {
    opacity: 0.8;
  }
}
.c-ecLink .arrow {
  transition: transform 0.3s ease;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .c-ecLink:hover .arrow {
    transform: translateX(0.6rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .c-ecLink {
    transition: none;
  }
}
.c-flourish {
  display: block;
  width: 16.8853rem;
  aspect-ratio: 168.853/13.3543;
}

.c-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.c-linkText {
  text-decoration: underline;
  text-underline-position: from-font;
  font-size: max(1.6rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .c-linkText {
    font-size: 1.6rem;
  }
}
.c-linkText {
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
}
@media (hover: hover) {
  .c-linkText:hover {
    opacity: 0.7;
  }
}
.c-linkText .arrow {
  transition: transform 0.3s ease;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .c-linkText:hover .arrow {
    transform: translateX(0.6rem);
  }
}
@media screen and (max-width: 767px) {
  .c-linkText {
    position: relative;
  }
  .c-linkText::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}

.c-logoMark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: var(--color-bg-wordmark);
}
.c-logoMark img {
  width: 60%;
  height: auto;
}
:root[data-theme=night] .c-logoMark .c-logoMark__day {
  display: none;
}
:root[data-theme=night] .c-logoMark .c-logoMark__night {
  display: block;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .c-logoMark .c-logoMark__day {
    display: none;
  }
  :root:not([data-theme]) .c-logoMark .c-logoMark__night {
    display: block;
  }
}

.c-logoMark__night {
  display: none;
}

.c-onwardCard {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  width: 100%;
  height: 32rem;
  padding: 3.2rem;
  overflow: hidden;
  color: var(--color-onward-text);
  --focus-ring-color: var(--color-text-primary);
}
.c-onwardCard::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--color-onward-overlay);
}
@media (hover: hover) {
  .c-onwardCard:hover .c-onwardCard__photo {
    transform: scale(1.04);
  }
}
.c-onwardCard .arrow {
  transition: transform 0.3s ease;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .c-onwardCard:hover .arrow {
    transform: translateX(0.6rem);
  }
}
@media screen and (max-width: 767px) {
  .c-onwardCard {
    height: 23rem;
    padding: 2.2rem 2rem;
  }
}

.c-onwardCard__photo {
  position: absolute;
  inset: 0;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.c-onwardCard__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(0.4rem, 0.3295774648rem + 0.1877934272vw, 0.6rem);
  position: relative;
  z-index: 1;
  width: 100%;
}
.c-onwardCard__body .title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  width: 100%;
  font-size: clamp(2.4rem, 2.2591549296rem + 0.3755868545vw, 2.8rem);
  font-weight: 700;
  line-height: 1.6;
}
.c-onwardCard__body .arrow {
  flex-shrink: 0;
  font-weight: 400;
}
.c-onwardCard__body .note {
  flex-shrink: 0;
  padding: 0.2rem 1rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-weight: 400;
  font-size: clamp(1.2rem, 1.1295774648rem + 0.1877934272vw, 1.4rem);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
}
.c-onwardCard__body .text {
  font-size: clamp(1.3rem, 1.1943661972rem + 0.2816901408vw, 1.6rem);
  font-weight: 400;
  line-height: 1.6;
}

.c-onwardCard--ready {
  cursor: default;
}
@media (hover: hover) {
  .c-onwardCard--ready:hover .c-onwardCard__photo {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .c-onwardCard__photo {
    transition: none;
  }
}
.c-productCard {
  width: 100%;
}

.c-productCard__link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spacing-sm);
  width: 100%;
}

@media (hover: hover) {
  .c-productCard__link[href]:hover {
    opacity: 0.8;
  }
  .c-productCard__link[href]:hover .c-productCard__hover {
    opacity: 1;
  }
}
.c-productCard__link[href] .arrow {
  transition: transform 0.3s ease;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .c-productCard__link[href]:hover .arrow {
    transform: translateX(0.6rem);
  }
}

.c-productCard__photo {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: var(--radius-md);
  overflow: hidden;
  background-color: var(--color-bg-wordmark);
}
.c-productCard__photo img {
  object-fit: cover;
}

.c-productCard__hover {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.c-productCard__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spacing-sm);
  width: 100%;
}

.c-productCard__name {
  font-family: "YakuHanMP", "Zen Old Mincho", serif;
  font-size: max(2.6rem, 20.8px);
}
@media screen and (max-width: 767px) {
  .c-productCard__name {
    font-size: 2.6rem;
  }
}
.c-productCard__name {
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.c-productCard__price,
.c-productCard__note {
  font-size: clamp(1.3rem, 1.2647887324rem + 0.0938967136vw, 1.4rem);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

@media (prefers-reduced-motion: reduce) {
  .c-productCard__hover {
    transition: none;
  }
}
html.js .c-reveal {
  opacity: 0;
  filter: blur(6px);
  transition: opacity 0.4s ease-out, filter 0.4s ease-out;
}
html.js .c-reveal.is-visible {
  opacity: 1;
  filter: blur(0);
}

@media (prefers-reduced-motion: reduce) {
  html.js .c-reveal {
    opacity: 1;
    filter: none;
    transition: none;
  }
}
.c-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8rem 2.8rem;
  border: 1px solid var(--color-border-hairline);
  border-radius: 999px;
  white-space: nowrap;
  font-size: max(1.5rem, 12px);
}
@media screen and (max-width: 767px) {
  .c-tab {
    font-size: 1.5rem;
  }
}
.c-tab {
  font-weight: 400;
  line-height: 1.7;
}
.c-tab.is-current {
  border-color: var(--color-text-primary);
  background-color: var(--color-text-primary);
  color: var(--color-text-inverse);
  font-weight: 700;
  --focus-ring-color: var(--color-text-primary);
}
@media (hover: hover) {
  .c-tab:hover:not(.is-current) {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .c-tab {
    flex: 1 0 0;
    min-width: 0;
    padding: 0.4rem 1.8rem;
    font-size: max(1.3rem, 10.4px);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-tab {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .c-tab {
    font-weight: 400;
    line-height: 1.7;
  }
}
@media screen and (max-width: 767px) {
  .c-tab {
    position: relative;
  }
  .c-tab::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}

.p-fv {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 8.2rem);
}
@media screen and (max-width: 767px) {
  .p-fv {
    min-height: calc(100vh - 6.2rem);
  }
}

.p-opening {
  display: none;
}

html.js .p-opening {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(2rem, 1.8591549296rem + 0.3755868545vw, 2.4rem);
  position: fixed;
  inset: 0;
  z-index: 200;
  background-color: var(--color-bg-base);
  animation: openingOverlay 3.5s ease forwards;
}
html.js .p-opening.is-done {
  display: none;
}

html.opening-done .p-opening {
  display: none;
}

.p-opening__text {
  font-family: "YakuHanMP", "Zen Old Mincho", serif;
  opacity: 0;
  animation: openingText 1.2s ease 0.5s forwards;
  font-size: clamp(3.6rem, 2.8957746479rem + 1.8779342723vw, 5.6rem);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .p-opening__text {
    font-size: clamp(3.6rem, 2.8957746479rem + 1.8779342723vw, 5.6rem);
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.06em;
  }
}

.p-opening .c-flourish {
  clip-path: inset(0 100% 0 0);
  animation: openingFlourish 0.8s ease-out 1.4s forwards;
}

@keyframes openingOverlay {
  0%, 77% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes openingText {
  to {
    opacity: 1;
  }
}
@keyframes openingFlourish {
  to {
    clip-path: inset(0 0 0 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  html.js .p-opening {
    display: none;
  }
}
.p-spine {
  position: absolute;
  top: 0;
  left: min(6.4rem, max(4rem, (100% - 1280px) / 2) - 1.6rem);
  z-index: 1;
  width: 1px;
  height: 100%;
  background-color: var(--color-border-hairline);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-spine {
    left: 1.6rem;
  }
}

.p-entrance {
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
  position: relative;
  overflow: hidden;
}

.p-entrance__wordmark {
  position: absolute;
  top: -3.5rem;
  left: -0.1rem;
  font-family: "adobe-garamond-pro", serif;
  line-height: 1;
  color: var(--color-bg-wordmark);
  white-space: nowrap;
  pointer-events: none;
  font-size: clamp(10.4rem, 6.4915492958rem + 10.4225352113vw, 21.5rem);
  font-weight: 500;
  letter-spacing: 0.116em;
}
@media screen and (max-width: 767px) {
  .p-entrance__wordmark {
    top: -1.4rem;
    left: 0;
  }
}

.p-entrance__center {
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 1360px;
  padding-inline: 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-entrance__center {
    max-width: 100%;
    padding-inline: 2rem;
  }
}

.p-entrance__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(2.4rem, 2.1183098592rem + 0.7511737089vw, 3.2rem);
  position: relative;
}

.p-entrance__title {
  font-family: "YakuHanMP", "Zen Old Mincho", serif;
  text-align: center;
  font-size: clamp(4rem, 3.1549295775rem + 2.2535211268vw, 6.4rem);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.24em;
}

.p-entrance__message {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.p-entrance__question {
  font-size: clamp(1.6rem, 1.4591549296rem + 0.3755868545vw, 2rem);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
}

.p-entrance__tagline {
  font-size: clamp(1.6rem, 1.4591549296rem + 0.3755868545vw, 2rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
}

.p-entrance__lead {
  max-width: 46rem;
  color: var(--color-text-subtle);
  font-size: clamp(1.6rem, 1.4591549296rem + 0.3755868545vw, 2rem);
  font-weight: 400;
  line-height: 2.2;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .p-entrance__lead {
    max-width: 32.7rem;
  }
}

.p-entrance__foot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8rem;
}

.p-nowStrip {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  min-height: 8.2rem;
  padding-block: 1.2rem;
  padding-inline: 4rem;
  border-block: 1px solid var(--color-border-default);
}
@media screen and (max-width: 767px) {
  .p-nowStrip {
    min-height: 11.7rem;
    padding-block: 1.6rem;
    padding-inline: 2rem;
  }
}

.p-nowStrip__row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-nowStrip__row {
    gap: 0.8rem;
  }
}

.p-nowStrip__title {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.p-nowStrip__label {
  white-space: nowrap;
  font-size: clamp(1.3rem, 1.2647887324rem + 0.0938967136vw, 1.4rem);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

.p-nowStrip__rule {
  width: 2.4rem;
  height: 1px;
  margin-inline: 0.4rem;
  background-color: var(--color-text-primary);
}

.p-nowStrip__detail {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  min-width: 0;
  font-size: clamp(1.3rem, 1.2647887324rem + 0.0938967136vw, 1.4rem);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
.p-nowStrip__detail time,
.p-nowStrip__detail .arrow {
  flex-shrink: 0;
}
@media (hover: hover) {
  .p-nowStrip__detail:hover {
    opacity: 0.7;
  }
}
.p-nowStrip__detail .arrow {
  transition: transform 0.3s ease;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .p-nowStrip__detail:hover .arrow {
    transform: translateX(0.6rem);
  }
}
@media screen and (max-width: 767px) {
  .p-nowStrip__detail {
    position: relative;
  }
  .p-nowStrip__detail::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}

.p-nowStrip__all {
  font-size: clamp(1.3rem, 1.2647887324rem + 0.0938967136vw, 1.4rem);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
@media (hover: hover) {
  .p-nowStrip__all:hover {
    opacity: 0.7;
  }
}
.p-nowStrip__all .arrow {
  transition: transform 0.3s ease;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .p-nowStrip__all:hover .arrow {
    transform: translateX(0.6rem);
  }
}
@media screen and (max-width: 767px) {
  .p-nowStrip__all {
    position: relative;
  }
  .p-nowStrip__all::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}

.p-timeGate {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3.2rem;
  min-height: 100vh;
  padding-block: 6.4rem;
  width: 100%;
  max-width: 1360px;
  padding-inline: 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-timeGate {
    max-width: 100%;
    padding-inline: 2rem;
  }
}

.p-timeGate__title {
  text-align: center;
  font-size: max(1.8rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-timeGate__title {
    font-size: 1.8rem;
  }
}
.p-timeGate__title {
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
}

.p-timeGate__dial {
  display: flex;
  align-items: center;
  gap: 5.6rem;
}

.p-timeGate__item {
  opacity: var(--opacity-dim);
  transition: opacity 0.3s ease;
  font-size: max(1.8rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-timeGate__item {
    font-size: 1.8rem;
  }
}
.p-timeGate__item {
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
}
.p-timeGate__item.is-current {
  opacity: 1;
}
.p-timeGate__item.is-current a {
  text-decoration: underline;
  text-underline-position: from-font;
}
.p-timeGate__item a {
  position: relative;
}
.p-timeGate__item a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: max(100%, 4.4rem);
  height: max(100%, 4.4rem);
}
@media (hover: hover) {
  .p-timeGate__item:hover {
    opacity: 1;
  }
}

.p-scene {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 100vh;
  background-color: var(--color-bg-base);
}
.p-scene .c-chapterBand {
  margin-bottom: clamp(2.4rem, 5vh, 5.6rem);
}

.p-scene--morning {
  background-image: var(--overlay-sceneMorning);
}

.p-scene--daytime {
  background-image: var(--overlay-sceneDaytime);
}

.p-scene--evening {
  background-image: var(--overlay-sceneEvening);
}
.p-scene--evening .c-chapterBand__label {
  opacity: var(--opacity-dim);
}

.p-scene--night {
  background-color: var(--color-bg-sceneNight);
  color: var(--color-text-sceneNight);
}
.p-scene--night .c-chapterBand::before,
.p-scene--night .c-chapterBand__rule {
  background-color: var(--color-rule-sceneNight);
}

.p-scene__photo {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  height: min(60rem, 100vh - 32rem);
}
.p-scene__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--overlay-scenePhoto);
  pointer-events: none;
}
.p-scene__photo img {
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-scene__photo {
    height: min(42rem, 100vh - 32rem);
  }
}

.p-scene--daytime .p-scene__photo,
.p-scene--night .p-scene__photo {
  height: min(64rem, 100vh - 34rem);
}
@media screen and (max-width: 767px) {
  .p-scene--daytime .p-scene__photo,
  .p-scene--night .p-scene__photo {
    height: min(42rem, 100vh - 32rem);
  }
}

@media screen and (max-width: 767px) {
  .p-scene--morning .p-scene__photo img {
    object-position: 1% center;
  }
}

@media screen and (max-width: 767px) {
  .p-scene--night .p-scene__photo img {
    object-position: 3% center;
  }
}

.p-scene__caption {
  display: flex;
  flex: 1 0 0;
  align-items: center;
  justify-content: center;
  padding-block: 3.2rem;
  width: 100%;
  max-width: 1360px;
  padding-inline: 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-scene__caption {
    max-width: 100%;
    padding-inline: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-scene__caption {
    flex: none;
    height: 22rem;
  }
}

.p-scene--daytime .p-scene__caption,
.p-scene--night .p-scene__caption {
  padding-block: 4rem;
}
@media screen and (max-width: 767px) {
  .p-scene--daytime .p-scene__caption,
  .p-scene--night .p-scene__caption {
    padding-block: 3.2rem;
  }
}

.p-scene__captionText {
  font-family: "YakuHanMP", "Zen Old Mincho", serif;
  text-align: center;
  font-size: clamp(2.6rem, 2.2478873239rem + 0.9389671362vw, 3.6rem);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-scene__captionText {
    font-size: clamp(2.6rem, 2.2478873239rem + 0.9389671362vw, 3.6rem);
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}

.p-silentBreak {
  height: 18rem;
  background-color: var(--color-bg-base);
}
@media screen and (max-width: 767px) {
  .p-silentBreak {
    height: 10rem;
  }
}

.p-silentBreak--morning {
  background-image: var(--gradient-breakMorning);
}

.p-silentBreak--daytime {
  background-image: var(--gradient-breakDaytime);
}

.p-silentBreak--evening {
  background-image: var(--gradient-breakEvening);
}

.p-silentBreak--night {
  background-image: var(--gradient-breakNight);
}

.p-shiori {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(2.4rem, 2.1183098592rem + 0.7511737089vw, 3.2rem);
  min-height: 100vh;
  background-color: var(--color-bg-base);
  background-image: var(--overlay-shiori);
}
.p-shiori .c-chapterBand {
  margin-bottom: clamp(3.2rem, 9vh, 8rem);
}
@media screen and (max-width: 767px) {
  .p-shiori {
    padding-block: 6rem;
  }
}

.p-shiori__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(2.4rem, 2.1183098592rem + 0.7511737089vw, 3.2rem);
  width: 100%;
  max-width: 1360px;
  padding-inline: 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-shiori__body {
    max-width: 100%;
    padding-inline: 2rem;
  }
}

.p-shiori__title {
  font-family: "YakuHanMP", "Zen Old Mincho", serif;
  text-align: center;
  font-size: clamp(3.6rem, 2.8957746479rem + 1.8779342723vw, 5.6rem);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .p-shiori__title {
    padding-left: 2rem;
    font-size: clamp(3.6rem, 2.8957746479rem + 1.8779342723vw, 5.6rem);
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.06em;
  }
}

.p-shiori__lead {
  text-align: center;
  font-size: clamp(1.6rem, 1.5295774648rem + 0.1877934272vw, 1.8rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-shiori__lead {
    font-size: clamp(1.6rem, 1.5295774648rem + 0.1877934272vw, 1.8rem);
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.03em;
  }
}

.p-products {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-lg);
  min-height: 100vh;
}
.p-products .c-chapterBand {
  margin-bottom: clamp(2.4rem, 5vh, 5.6rem);
}
@media screen and (max-width: 767px) {
  .p-products {
    padding-block: 6rem;
  }
}

.p-products__title {
  font-family: "YakuHanMP", "Zen Old Mincho", serif;
  text-align: center;
  font-size: clamp(2.6rem, 2.2478873239rem + 0.9389671362vw, 3.6rem);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-products__title {
    font-size: clamp(2.6rem, 2.2478873239rem + 0.9389671362vw, 3.6rem);
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}

.p-products__list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  gap: var(--spacing-xl);
  width: 100%;
  max-width: 1360px;
  padding-inline: 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-products__list {
    max-width: 100%;
    padding-inline: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-products__list {
    flex-direction: column;
    align-items: center;
    gap: 4rem;
  }
}

.p-products__item {
  flex: 0 1 calc((100% - var(--spacing-xl) * 2) / 3);
  min-width: 0;
  max-width: 30rem;
}
@media screen and (max-width: 767px) {
  .p-products__item {
    flex: none;
    width: 30rem;
    max-width: 100%;
  }
}

.p-products__empty {
  text-align: center;
  font-size: clamp(1.6rem, 1.5295774648rem + 0.1877934272vw, 1.8rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
}

.p-firstTime {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(2rem, 1.8591549296rem + 0.3755868545vw, 2.4rem);
  min-height: 100vh;
  padding-block: min(clamp(6rem, 3.8873239437rem + 5.6338028169vw, 12rem), 8vh);
  background-color: var(--color-bg-base);
  background-image: var(--overlay-firstTime);
}
.p-firstTime .c-chapterBand {
  margin-bottom: clamp(3.2rem, 9vh, 8rem);
}

.p-firstTime__title {
  font-family: "YakuHanMP", "Zen Old Mincho", serif;
  text-align: center;
  font-size: clamp(2.6rem, 2.2478873239rem + 0.9389671362vw, 3.6rem);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-firstTime__title {
    font-size: clamp(2.6rem, 2.2478873239rem + 0.9389671362vw, 3.6rem);
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}

.p-firstTime__list {
  width: 100%;
  max-width: 80rem;
  padding-inline: 4rem;
}
@media screen and (max-width: 767px) {
  .p-firstTime__list {
    max-width: 37.5rem;
    padding-inline: 2rem;
  }
}

.p-firstTime__item {
  border-bottom: 1px solid var(--color-border-hairline);
  font-size: clamp(1.4rem, 1.3295774648rem + 0.1877934272vw, 1.6rem);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

.p-firstTime__details[open] .p-firstTime__question::after {
  content: "－";
}
.p-firstTime__details[open] .p-firstTime__answer {
  grid-template-rows: 1fr;
}
.p-firstTime__details.is-closing .p-firstTime__answer {
  grid-template-rows: 0fr;
}

.p-firstTime__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  padding-block: clamp(1.6rem, 1.3183098592rem + 0.7511737089vw, 2.4rem);
  list-style: none;
  cursor: pointer;
}
.p-firstTime__question::-webkit-details-marker {
  display: none;
}
.p-firstTime__question::after {
  content: "＋";
  flex-shrink: 0;
}
@media (hover: hover) {
  .p-firstTime__question:hover {
    opacity: 0.7;
  }
}

.p-firstTime__answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s ease;
}
.p-firstTime__answer .body {
  overflow: hidden;
}
.p-firstTime__answer .body > *:last-child {
  padding-bottom: clamp(1.6rem, 1.3183098592rem + 0.7511737089vw, 2.4rem);
}
.p-firstTime__answer .body > * + * {
  margin-top: 1em;
}
.p-firstTime__answer ul,
.p-firstTime__answer ol {
  padding-left: 2.4rem;
}
.p-firstTime__answer ul {
  list-style: disc;
}
.p-firstTime__answer ol {
  list-style: decimal;
}
.p-firstTime__answer a {
  text-decoration: underline;
  text-underline-position: from-font;
}
@media (hover: hover) {
  .p-firstTime__answer a:hover {
    opacity: 0.7;
  }
}

@media (prefers-reduced-motion: reduce) {
  .p-firstTime__answer {
    transition: none;
  }
}
.p-invitation {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-lg);
  min-height: 100vh;
  padding-block: clamp(6rem, 3.8873239437rem + 5.6338028169vw, 12rem);
}
.p-invitation .c-chapterBand {
  margin-bottom: clamp(3.2rem, 9vh, 8rem);
}

.p-invitation__title {
  font-family: "YakuHanMP", "Zen Old Mincho", serif;
  text-align: center;
  font-size: clamp(2.6rem, 2.2478873239rem + 0.9389671362vw, 3.6rem);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-invitation__title {
    font-size: clamp(2.6rem, 2.2478873239rem + 0.9389671362vw, 3.6rem);
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}

.p-invitation__news {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 80rem;
  padding-inline: 4rem;
  font-size: clamp(1.6rem, 1.5295774648rem + 0.1877934272vw, 1.8rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
}
.p-invitation__news a {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 0.7887323944rem + 0.5633802817vw, 1.6rem);
  width: 100%;
  padding-block: 1rem;
}
.p-invitation__news a .arrow {
  transition: transform 0.3s ease;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .p-invitation__news a:hover .arrow {
    transform: translateX(0.6rem);
  }
}
.p-invitation__news time,
.p-invitation__news .category,
.p-invitation__news .arrow {
  flex-shrink: 0;
}
.p-invitation__news .category {
  padding: 0.2rem 1rem;
  border-radius: 999px;
  background-color: var(--color-bg-wordmark);
  color: var(--color-text-primary);
  font-size: clamp(1.2rem, 1.1647887324rem + 0.0938967136vw, 1.3rem);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
.p-invitation__news .title {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-invitation__news {
    max-width: 37.5rem;
    padding-inline: 2rem;
    font-size: clamp(1.4rem, 1.2591549296rem + 0.3755868545vw, 1.8rem);
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.03em;
  }
  .p-invitation__news a {
    padding-block: 0.6rem;
  }
  .p-invitation__news .category {
    font-size: clamp(1.1rem, 1.0295774648rem + 0.1877934272vw, 1.3rem);
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-invitation__item {
  width: 100%;
  border-bottom: 1px solid var(--color-border-hairline);
}

.p-invitation__sns {
  text-align: center;
  font-size: clamp(1.3rem, 1.2647887324rem + 0.0938967136vw, 1.4rem);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
.p-invitation__sns .separator {
  margin-inline: clamp(0.65rem, 0.385915493rem + 0.7042253521vw, 1.4rem);
}
@media screen and (max-width: 767px) {
  .p-invitation__sns a {
    position: relative;
  }
  .p-invitation__sns a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}

.p-onward {
  padding-block: clamp(5.6rem, 4.0507042254rem + 4.1314553991vw, 10rem);
  padding-inline: 4rem;
  background-color: var(--color-bg-wordmark);
}
@media screen and (max-width: 767px) {
  .p-onward {
    padding-inline: 2rem;
  }
}

.p-onward__list {
  display: flex;
  align-items: flex-start;
  gap: clamp(1.6rem, 0.7549295775rem + 2.2535211268vw, 4rem);
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-onward__list {
    flex-direction: column;
    align-items: stretch;
  }
}

.p-onward__item {
  flex: 1 0 0;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-onward__item {
    flex: none;
  }
}

.p-lowerHero {
  display: flex;
  align-items: center;
  gap: clamp(2rem, 0.4507042254rem + 4.1314553991vw, 6.4rem);
  padding-block: 9.6rem;
  --inner-left: max(4rem, calc((100% - 1280px) / 2));
  width: 100%;
  padding-left: var(--inner-left);
}
@media screen and (max-width: 767px) {
  .p-lowerHero {
    --inner-left: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-lowerHero {
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
    padding-block: 1.6rem 0;
    padding-inline: 2rem;
  }
}

.p-lowerHero__body {
  display: flex;
  flex: 656 0 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
  min-width: 0;
  max-width: 65.6rem;
}
@media screen and (max-width: 767px) {
  .p-lowerHero__body {
    flex: none;
    gap: 2rem;
    width: 100%;
  }
}

.p-lowerHero__title {
  width: 100%;
  font-size: clamp(3.2rem, 2.0732394366rem + 3.0046948357vw, 6.4rem);
  font-weight: 700;
  line-height: 1.4;
}

.p-lowerHero__lead {
  width: 100%;
  color: var(--color-text-subtle);
  font-size: clamp(1.5rem, 1.3943661972rem + 0.2816901408vw, 1.8rem);
  font-weight: 400;
  line-height: 1.9;
}

.p-lowerHero__photo {
  flex: 640 0 0;
  min-width: 0;
  aspect-ratio: 640/400;
  max-height: 40rem;
}
.p-lowerHero__photo img {
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-lowerHero__photo {
    flex: none;
    width: calc(100% + 4rem);
    height: 18rem;
    margin-inline: -2rem;
    aspect-ratio: auto;
  }
}

.p-lowerHowto {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(2.4rem, 2.1183098592rem + 0.7511737089vw, 3.2rem);
  min-height: 64rem;
}
@media screen and (max-width: 767px) {
  .p-lowerHowto {
    min-height: auto;
    padding-block: 6rem;
  }
}

.p-lowerHowto__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(2.4rem, 2.1183098592rem + 0.7511737089vw, 3.2rem);
  width: 100%;
  max-width: 1360px;
  padding-inline: 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-lowerHowto__body {
    max-width: 100%;
    padding-inline: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-lowerHowto__body {
    padding-inline: 2rem;
  }
}

.p-lowerHowto__title {
  font-family: "YakuHanMP", "Zen Old Mincho", serif;
  text-align: center;
  font-size: clamp(3.6rem, 2.8957746479rem + 1.8779342723vw, 5.6rem);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .p-lowerHowto__title {
    font-size: clamp(3.6rem, 2.8957746479rem + 1.8779342723vw, 5.6rem);
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.06em;
  }
}

.p-lowerHowto__lead {
  text-align: center;
  font-size: clamp(1.6rem, 1.5295774648rem + 0.1877934272vw, 1.8rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-lowerHowto__lead {
    font-size: clamp(1.6rem, 1.5295774648rem + 0.1877934272vw, 1.8rem);
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.03em;
  }
}

.p-notFound {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(1.6rem, 1.3183098592rem + 0.7511737089vw, 2.4rem);
  min-height: 70vh;
  justify-content: center;
  padding-block: clamp(7.2rem, 5.5098591549rem + 4.5070422535vw, 12rem);
  text-align: center;
  width: 100%;
  max-width: 1360px;
  padding-inline: 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-notFound {
    max-width: 100%;
    padding-inline: 2rem;
  }
}

.p-notFound__code {
  color: var(--color-accent-signature);
  font-family: "adobe-garamond-pro", serif;
  font-size: clamp(6.4rem, 4.7098591549rem + 4.5070422535vw, 11.2rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
}

.p-notFound__title {
  font-size: clamp(2.2rem, 1.8478873239rem + 0.9389671362vw, 3.2rem);
  font-weight: 700;
  line-height: 1.6;
}

.p-notFound__lead {
  color: var(--color-text-subtle);
  font-size: clamp(1.4rem, 1.3295774648rem + 0.1877934272vw, 1.6rem);
  font-weight: 400;
  line-height: 2;
}

.p-notFound__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(2rem, 1.5774647887rem + 1.1267605634vw, 3.2rem);
  font-size: clamp(1.4rem, 1.3295774648rem + 0.1877934272vw, 1.6rem);
  font-weight: 500;
  line-height: 1.75;
}
.p-notFound__links a {
  text-decoration: underline;
  text-underline-position: from-font;
}
@media (hover: hover) {
  .p-notFound__links a:hover {
    opacity: 0.7;
  }
}
.p-notFound__links a .arrow {
  transition: transform 0.3s ease;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .p-notFound__links a:hover .arrow {
    transform: translateX(0.6rem);
  }
}
@media screen and (max-width: 767px) {
  .p-notFound__links {
    flex-direction: column;
    gap: 0;
  }
  .p-notFound__links a {
    position: relative;
  }
  .p-notFound__links a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}

.p-newsCards {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: calc(72rem + 4rem * 2);
  padding-block: 4rem 9.6rem;
  padding-inline: 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-newsCards {
    padding-block: 3.2rem 6.4rem;
    padding-inline: 2rem;
  }
}

.p-newsCards__tabs {
  display: flex;
  gap: 1.2rem;
  width: 100%;
  padding-bottom: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-newsCards__tabs {
    gap: 0.8rem;
    padding-bottom: 2rem;
  }
}

.p-newsCards__item {
  width: 100%;
  border-bottom: 1px solid var(--color-border-hairline);
}

.p-newsCards__inner {
  display: flex;
  align-items: center;
  gap: 4rem;
  width: 100%;
  padding-block: 4rem;
}
@media (hover: hover) {
  .p-newsCards__inner:hover {
    opacity: 0.7;
  }
}
.p-newsCards__inner .arrow {
  transition: transform 0.3s ease;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .p-newsCards__inner:hover .arrow {
    transform: translateX(0.6rem);
  }
}
@media screen and (max-width: 767px) {
  .p-newsCards__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
    padding-block: 2.8rem;
  }
}

.p-newsCards__thumb {
  flex-shrink: 0;
  width: 28rem;
  height: 18rem;
  background-color: var(--color-bg-wordmark);
}
.p-newsCards__thumb img {
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-newsCards__thumb {
    width: 100%;
  }
}

.p-newsCards__text {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.2rem;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-newsCards__text {
    flex: none;
    gap: 0.6rem;
    width: 100%;
  }
}

.p-newsCards__meta {
  display: flex;
  gap: clamp(1.4rem, 1.1887323944rem + 0.5633802817vw, 2rem);
  color: var(--color-text-subtle);
  font-size: clamp(1.4rem, 1.3295774648rem + 0.1877934272vw, 1.6rem);
  font-weight: 400;
  line-height: 1.5;
}
.p-newsCards__meta .state {
  color: var(--color-text-primary);
}

.p-newsCards__title {
  width: 100%;
  font-size: clamp(2.1rem, 1.8535211268rem + 0.6572769953vw, 2.8rem);
  font-weight: 700;
  line-height: 1.6;
}

.p-newsCards__excerpt {
  width: 100%;
  color: var(--color-text-subtle);
  font-size: clamp(1.5rem, 1.4295774648rem + 0.1877934272vw, 1.7rem);
  font-weight: 400;
  line-height: 1.85;
}

.p-newsCards__more {
  width: 100%;
  font-size: clamp(1.5rem, 1.4295774648rem + 0.1877934272vw, 1.7rem);
  font-weight: 400;
  line-height: 1.5;
}

.p-newsCards__pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  width: 100%;
  padding-top: 5.6rem;
}
.p-newsCards__pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  border: 1px solid var(--color-border-hairline);
  border-radius: 999px;
  font-size: max(1.5rem, 12px);
}
@media screen and (max-width: 767px) {
  .p-newsCards__pagination .page-numbers {
    font-size: 1.5rem;
  }
}
.p-newsCards__pagination .page-numbers {
  font-weight: 400;
  line-height: 1.5;
}
.p-newsCards__pagination .current {
  border-color: var(--color-text-primary);
  background-color: var(--color-text-primary);
  color: var(--color-text-inverse);
  font-weight: 700;
}
.p-newsCards__pagination .note {
  color: var(--color-text-subtle);
  font-size: max(1.3rem, 10.4px);
}
@media screen and (max-width: 767px) {
  .p-newsCards__pagination .note {
    font-size: 1.3rem;
  }
}
.p-newsCards__pagination .note {
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-newsCards__pagination {
    gap: 0.8rem;
    padding-top: 3.6rem;
  }
  .p-newsCards__pagination .page-numbers {
    width: 3.8rem;
    height: 3.8rem;
    font-size: max(1.3rem, 10.4px);
    position: relative;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-newsCards__pagination .page-numbers {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-newsCards__pagination .page-numbers {
    font-weight: 400;
    line-height: 1.5;
  }
  .p-newsCards__pagination .page-numbers::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
  .p-newsCards__pagination .note {
    font-size: max(1.1rem, 8.8px);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-newsCards__pagination .note {
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-newsCards__pagination .note {
    font-weight: 400;
    line-height: 1.5;
  }
}

.p-nextEvent {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4rem;
  width: 100%;
  max-width: calc(72rem + 4rem * 2);
  padding-block: 8rem;
  padding-inline: 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-nextEvent {
    gap: 2.4rem;
    padding-block: 5.6rem;
    padding-inline: 2rem;
  }
}

.p-nextEvent__band {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-nextEvent__band .c-chapterBand__label {
    font-size: max(1.3rem, 10.4px);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-nextEvent__band .c-chapterBand__label {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-nextEvent__band .c-chapterBand__label {
    font-weight: 400;
    line-height: 1.5;
  }
}

.p-nextEvent__facts {
  width: 100%;
}

.p-nextEvent__row {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  width: 100%;
  padding-block: 2.4rem;
  border-bottom: 1px solid var(--color-border-hairline);
}
@media screen and (max-width: 767px) {
  .p-nextEvent__row {
    flex-direction: column;
    gap: 0.6rem;
    padding-block: 1.8rem;
  }
}

.p-nextEvent__label {
  flex-shrink: 0;
  width: 22rem;
  color: var(--color-text-subtle);
  font-size: clamp(1.4rem, 1.2591549296rem + 0.3755868545vw, 1.8rem);
  font-weight: 700;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-nextEvent__label {
    width: auto;
  }
}

.p-nextEvent__value {
  flex: 1 0 0;
  min-width: 0;
  font-size: clamp(1.6rem, 1.4591549296rem + 0.3755868545vw, 2rem);
  font-weight: 400;
  line-height: 1.75;
}
.p-nextEvent__value ul {
  list-style: disc;
  padding-left: 3rem;
}
@media screen and (max-width: 767px) {
  .p-nextEvent__value {
    flex: none;
    width: 100%;
    font-size: clamp(1.6rem, 1.4591549296rem + 0.3755868545vw, 2rem);
    font-weight: 400;
    line-height: 1.8;
  }
}

.p-articleFoot {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-lg);
  padding-block: 4rem;
  text-align: center;
}

.p-articleFoot__back {
  font-size: max(1.8rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-articleFoot__back {
    font-size: 1.8rem;
  }
}
.p-articleFoot__back {
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
}
.p-articleFoot__back a .arrow {
  transition: transform 0.3s ease;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .p-articleFoot__back a:hover .arrow {
    transform: translateX(-0.6rem);
  }
}

.p-articleFoot__sns {
  font-size: max(1.4rem, 11.2px);
}
@media screen and (max-width: 767px) {
  .p-articleFoot__sns {
    font-size: 1.4rem;
  }
}
.p-articleFoot__sns {
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
.p-articleFoot__sns a .arrow {
  transition: transform 0.3s ease;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .p-articleFoot__sns a:hover .arrow {
    transform: translateX(0.6rem);
  }
}

@media (hover: hover) {
  .p-articleFoot__back a:hover,
  .p-articleFoot__sns a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .p-articleFoot__back a,
  .p-articleFoot__sns a {
    position: relative;
  }
  .p-articleFoot__back a::before,
  .p-articleFoot__sns a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}

.p-faq {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5.6rem;
  padding-block: 9.6rem;
  width: 100%;
  max-width: 1360px;
  padding-inline: 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-faq {
    max-width: 100%;
    padding-inline: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-faq {
    gap: 4rem;
    padding-block: 5.6rem;
  }
}

.p-faq__anchors {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-faq__anchors {
    flex-direction: column;
    gap: 1rem;
    width: 100%;
  }
}

.p-faq__group {
  width: 100%;
  scroll-margin-top: 10.6rem;
}
@media screen and (max-width: 767px) {
  .p-faq__group {
    scroll-margin-top: 7.8rem;
  }
}

.p-faq__groupTitle {
  width: 100%;
  color: var(--color-text-subtle);
  font-size: clamp(1.4rem, 1.3295774648rem + 0.1877934272vw, 1.6rem);
  font-weight: 700;
  line-height: 1.6;
}

.p-faq__item {
  width: 100%;
  scroll-margin-top: 10.6rem;
  border-bottom: 1px solid var(--color-border-hairline);
}
@media screen and (max-width: 767px) {
  .p-faq__item {
    scroll-margin-top: 7.8rem;
  }
}
.p-faq__item[open] .p-faq__question::after {
  content: "−";
}
.p-faq__item[open] .p-faq__answer {
  grid-template-rows: 1fr;
}
.p-faq__item.is-closing .p-faq__answer {
  grid-template-rows: 0fr;
}

.p-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  padding-block: clamp(2rem, 1.7887323944rem + 0.5633802817vw, 2.6rem);
  list-style: none;
  cursor: pointer;
  font-size: clamp(1.6rem, 1.4591549296rem + 0.3755868545vw, 2rem);
  font-weight: 400;
  line-height: 1.75;
}
.p-faq__question::-webkit-details-marker {
  display: none;
}
.p-faq__question::after {
  content: "＋";
  flex-shrink: 0;
  color: var(--color-text-subtle);
}
@media (hover: hover) {
  .p-faq__question:hover {
    opacity: 0.7;
  }
}

.p-faq__answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s ease;
}
.p-faq__answer .body {
  overflow: hidden;
}
.p-faq__answer .body > * {
  font-size: clamp(1.5rem, 1.4295774648rem + 0.1877934272vw, 1.7rem);
  font-weight: 400;
  line-height: 2;
}
.p-faq__answer .body > *:first-child {
  padding-top: 1.4rem;
}
.p-faq__answer .body > *:last-child {
  padding-bottom: clamp(2rem, 1.7887323944rem + 0.5633802817vw, 2.6rem);
}
.p-faq__answer .body > * + * {
  margin-top: 1em;
}
.p-faq__answer ul,
.p-faq__answer ol {
  padding-left: 2.4rem;
}
.p-faq__answer ul {
  list-style: disc;
}
.p-faq__answer ol {
  list-style: decimal;
}
.p-faq__answer a {
  text-decoration: underline;
  text-underline-position: from-font;
}
@media (hover: hover) {
  .p-faq__answer a:hover {
    opacity: 0.7;
  }
}

.p-faq__exits {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(1.2rem, 1.0591549296rem + 0.3755868545vw, 1.6rem);
  width: 100%;
  padding: clamp(2.4rem, 1.9774647887rem + 1.1267605634vw, 3.6rem) clamp(2rem, 1.2957746479rem + 1.8779342723vw, 4rem);
  border-radius: 2px;
  background-color: var(--color-bg-wordmark);
}

.p-faq__exitsLead {
  width: 100%;
  font-size: clamp(1.5rem, 1.3943661972rem + 0.2816901408vw, 1.8rem);
  font-weight: 700;
  line-height: 1.75;
}

.p-faq__exitsLinks {
  display: flex;
  flex-wrap: wrap;
  gap: 3.2rem;
  width: 100%;
  font-size: clamp(1.4rem, 1.3295774648rem + 0.1877934272vw, 1.6rem);
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-faq__exitsLinks {
    flex-direction: column;
    gap: 1rem;
  }
}
@media (hover: hover) {
  .p-faq__exitsLinks a:hover {
    opacity: 0.7;
  }
}
.p-faq__exitsLinks a .arrow {
  transition: transform 0.3s ease;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .p-faq__exitsLinks a:hover .arrow {
    transform: translateX(0.6rem);
  }
}
@media screen and (max-width: 767px) {
  .p-faq__exitsLinks a {
    position: relative;
  }
  .p-faq__exitsLinks a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .p-faq__answer {
    transition: none;
  }
}
.p-contact {
  padding-bottom: clamp(7.2rem, 5.5098591549rem + 4.5070422535vw, 12rem);
}

.p-contact__hero {
  padding-block: clamp(5.6rem, 4.1915492958rem + 3.7558685446vw, 9.6rem) clamp(3.2rem, 2.6366197183rem + 1.5023474178vw, 4.8rem);
  width: 100%;
  max-width: 1360px;
  padding-inline: 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-contact__hero {
    max-width: 100%;
    padding-inline: 2rem;
  }
}

.p-contact__title {
  font-size: clamp(4rem, 3.1549295775rem + 2.2535211268vw, 6.4rem);
  font-weight: 700;
  line-height: 1.4;
}

.p-contact__body {
  display: flex;
  flex-direction: column;
  gap: clamp(2.4rem, 2.1183098592rem + 0.7511737089vw, 3.2rem);
  width: 100%;
  max-width: calc(72rem + 4rem * 2);
  margin-inline: auto;
  padding-top: 0.8rem;
  padding-inline: 4rem;
}
@media screen and (max-width: 767px) {
  .p-contact__body {
    padding-inline: 2rem;
  }
}

.p-contact__lead {
  font-size: clamp(1.5rem, 1.3943661972rem + 0.2816901408vw, 1.8rem);
  font-weight: 400;
  line-height: 2;
}
.p-contact__lead a {
  text-decoration: underline;
  text-underline-position: from-font;
}
@media (hover: hover) {
  .p-contact__lead a:hover {
    opacity: 0.7;
  }
}

.p-contact__guide {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6rem;
}

.p-contact__guideText {
  color: var(--color-text-subtle);
  font-size: clamp(1.3rem, 1.2295774648rem + 0.1877934272vw, 1.5rem);
  font-weight: 400;
  line-height: 1.9;
}

.p-contact__guideLink {
  font-size: clamp(1.4rem, 1.3295774648rem + 0.1877934272vw, 1.6rem);
  font-weight: 500;
  line-height: 1.7;
}
@media (hover: hover) {
  .p-contact__guideLink:hover {
    opacity: 0.7;
  }
}
.p-contact__guideLink .arrow {
  transition: transform 0.3s ease;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .p-contact__guideLink:hover .arrow {
    transform: translateX(0.6rem);
  }
}
@media screen and (max-width: 767px) {
  .p-contact__guideLink {
    position: relative;
  }
  .p-contact__guideLink::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 4.4rem);
    height: max(100%, 4.4rem);
  }
}

.p-contact__note {
  color: var(--color-text-subtle);
  font-size: clamp(1.3rem, 1.1943661972rem + 0.2816901408vw, 1.6rem);
  font-weight: 400;
  line-height: 1.9;
}

.p-contact__formStatus {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.p-contact__form .snow-monkey-form .smf-form {
  display: flex;
  flex-direction: column;
  gap: clamp(2.4rem, 2.1183098592rem + 0.7511737089vw, 3.2rem);
}
.p-contact__form .snow-monkey-form .smf-item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.p-contact__form .snow-monkey-form .smf-item__col--label {
  display: contents;
}
.p-contact__form .snow-monkey-form .smf-item__description {
  order: 1;
  margin: 0;
  color: var(--color-text-subtle);
  font-size: clamp(1.1rem, 1.0295774648rem + 0.1877934272vw, 1.3rem);
  font-weight: 400;
  line-height: 1.7;
}
.p-contact__form .snow-monkey-form .smf-item__controls {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.p-contact__form .snow-monkey-form .smf-item__label__text {
  font-size: clamp(1.4rem, 1.3295774648rem + 0.1877934272vw, 1.6rem);
  font-weight: 700;
  line-height: 1.5;
}
.p-contact__form .snow-monkey-form .smf-item__label__text::after {
  content: "必須";
  display: inline-block;
  margin-left: 1rem;
  padding: 0.3rem 0.8rem;
  border: 1px solid var(--color-border-default);
  border-radius: 0.2rem;
  vertical-align: middle;
  font-size: max(1.1rem, 8.8px);
}
@media screen and (max-width: 767px) {
  .p-contact__form .snow-monkey-form .smf-item__label__text::after {
    font-size: 1.1rem;
  }
}
.p-contact__form .snow-monkey-form .smf-item__label__text::after {
  font-weight: 500;
  line-height: 1.4;
}
.p-contact__form .snow-monkey-form .smf-text-control__control,
.p-contact__form .snow-monkey-form .smf-textarea-control__control,
.p-contact__form .snow-monkey-form .smf-select-control__control,
.p-contact__form .snow-monkey-form .smf-checkbox-control__control,
.p-contact__form .snow-monkey-form .smf-radio-control__control,
.p-contact__form .snow-monkey-form .smf-button-control__control {
  --focus-ring-color: var(--color-text-primary);
}
.p-contact__form .snow-monkey-form .smf-text-control__control:focus-visible,
.p-contact__form .snow-monkey-form .smf-textarea-control__control:focus-visible,
.p-contact__form .snow-monkey-form .smf-select-control__control:focus-visible,
.p-contact__form .snow-monkey-form .smf-checkbox-control__control:focus-visible,
.p-contact__form .snow-monkey-form .smf-radio-control__control:focus-visible,
.p-contact__form .snow-monkey-form .smf-button-control__control:focus-visible {
  outline: 2px solid var(--focus-ring-color, currentColor);
  outline-offset: 0.2rem;
}
.p-contact__form .snow-monkey-form .smf-text-control__control,
.p-contact__form .snow-monkey-form .smf-textarea-control__control,
.p-contact__form .snow-monkey-form .smf-select-control__control {
  display: block;
  width: 100%;
  padding-inline: 1.6rem;
  color: var(--color-field-text);
  background-color: var(--color-field-bg);
  border: 1px solid var(--color-border-default);
  border-radius: 0.2rem;
  font-size: clamp(1.4rem, 1.3295774648rem + 0.1877934272vw, 1.6rem);
  font-weight: 400;
  line-height: 1.7;
}
.p-contact__form .snow-monkey-form .smf-text-control__control,
.p-contact__form .snow-monkey-form .smf-select-control__control {
  height: clamp(4.8rem, 4.5183098592rem + 0.7511737089vw, 5.6rem);
}
.p-contact__form .snow-monkey-form .smf-textarea-control__control {
  height: clamp(16rem, 14.5915492958rem + 3.7558685446vw, 20rem);
  padding-block: 1.4rem;
  resize: vertical;
}
.p-contact__form .snow-monkey-form .smf-select-control {
  display: block;
  position: relative;
  width: 100%;
}
.p-contact__form .snow-monkey-form .smf-select-control__control {
  appearance: none;
  padding-right: 4rem;
}
.p-contact__form .snow-monkey-form .smf-select-control__toggle {
  display: flex;
  align-items: center;
  inset: 0 1.6rem 0 auto;
  color: var(--color-field-text);
  pointer-events: none;
}
.p-contact__form .snow-monkey-form .smf-select-control__toggle::before {
  content: "▾";
  position: static;
  width: auto;
  height: auto;
  border: none;
  transform: none;
}
.p-contact__form .snow-monkey-form .smf-control-description {
  margin: 0;
  color: var(--color-text-subtle);
  font-size: clamp(1.1rem, 1.0295774648rem + 0.1877934272vw, 1.3rem);
  font-weight: 400;
  line-height: 1.7;
}
.p-contact__form .snow-monkey-form .smf-checkboxes-control__control {
  display: flex;
  justify-content: center;
}
.p-contact__form .snow-monkey-form .smf-checkbox-control {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
}
.p-contact__form .snow-monkey-form .smf-checkbox-control__control {
  flex: none;
  width: clamp(1.8rem, 1.7295774648rem + 0.1877934272vw, 2rem);
  height: clamp(1.8rem, 1.7295774648rem + 0.1877934272vw, 2rem);
  margin: 0;
  background-color: var(--color-field-bg);
  border: 1px solid var(--color-border-default);
  border-radius: 0.2rem;
}
.p-contact__form .snow-monkey-form .smf-checkbox-control__control:checked {
  background-color: var(--color-field-bg);
}
.p-contact__form .snow-monkey-form .smf-checkbox-control__control:checked::before {
  border-color: var(--color-field-accent);
}
.p-contact__form .snow-monkey-form .smf-checkbox-control__label {
  font-size: clamp(1.4rem, 1.3295774648rem + 0.1877934272vw, 1.6rem);
  font-weight: 400;
  line-height: 1.6;
}
.p-contact__form .snow-monkey-form .smf-checkbox-control__label a {
  text-decoration: underline;
  text-underline-position: from-font;
}
.p-contact__form .snow-monkey-form .smf-checkbox-control__label label {
  cursor: pointer;
  position: relative;
}
.p-contact__form .snow-monkey-form .smf-checkbox-control__label label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: max(100%, 4.4rem);
  height: max(100%, 4.4rem);
}
.p-contact__form .snow-monkey-form .smf-action {
  display: flex;
  justify-content: center;
  margin-top: clamp(2.4rem, 2.1183098592rem + 0.7511737089vw, 3.2rem);
}
.p-contact__form .snow-monkey-form .snow-monkey-forms-turnstile {
  display: flex;
  justify-content: center;
}
.p-contact__form .snow-monkey-form .smf-button-control {
  display: block;
  width: 28rem;
}
@media screen and (max-width: 767px) {
  .p-contact__form .snow-monkey-form .smf-button-control {
    width: 100%;
  }
}
.p-contact__form .snow-monkey-form .smf-button-control__control {
  width: 100%;
  height: clamp(5.2rem, 5.0591549296rem + 0.3755868545vw, 5.6rem);
  padding: 0;
  color: var(--color-text-inverse);
  background-color: var(--color-bg-inverse);
  background-image: none;
  border: none;
  border-radius: 0;
  font-size: max(1.6rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-contact__form .snow-monkey-form .smf-button-control__control {
    font-size: 1.6rem;
  }
}
.p-contact__form .snow-monkey-form .smf-button-control__control {
  font-weight: 500;
  line-height: 1.5;
}
@media (hover: hover) {
  .p-contact__form .snow-monkey-form .smf-button-control__control:hover {
    opacity: 0.7;
  }
}
.p-contact__form .snow-monkey-form .smf-error-messages {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  margin-top: 0.6rem;
  color: var(--color-error);
  font-size: clamp(1.3rem, 1.2647887324rem + 0.0938967136vw, 1.4rem);
  font-weight: 500;
  line-height: 1.7;
}
.p-contact__form .snow-monkey-form .smf-error-messages::before {
  content: "⚠︎";
  flex-shrink: 0;
}
.p-contact__form .snow-monkey-form .smf-checkboxes-control + .smf-error-messages {
  justify-content: center;
}
.p-contact__form .snow-monkey-form .smf-text-control__control[data-invalid],
.p-contact__form .snow-monkey-form .smf-textarea-control__control[data-invalid],
.p-contact__form .snow-monkey-form .smf-select-control__control[data-invalid] {
  border-color: var(--color-field-error);
}

.p-privacy {
  padding-bottom: clamp(7.2rem, 5.5098591549rem + 4.5070422535vw, 12rem);
}

.p-privacy__hero {
  padding-block: clamp(5.6rem, 4.1915492958rem + 3.7558685446vw, 9.6rem) clamp(3.2rem, 2.6366197183rem + 1.5023474178vw, 4.8rem);
  width: 100%;
  max-width: 1360px;
  padding-inline: 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-privacy__hero {
    max-width: 100%;
    padding-inline: 2rem;
  }
}

.p-privacy__title {
  font-size: clamp(3.2rem, 2.0732394366rem + 3.0046948357vw, 6.4rem);
  font-weight: 700;
  line-height: 1.4;
}

.p-privacy__body {
  display: flex;
  flex-direction: column;
  gap: clamp(2.6rem, 2.2478873239rem + 0.9389671362vw, 3.6rem);
  width: 100%;
  max-width: calc(72rem + 4rem * 2);
  margin-inline: auto;
  padding-top: 0.8rem;
  padding-inline: 4rem;
}
@media screen and (max-width: 767px) {
  .p-privacy__body {
    padding-inline: 2rem;
  }
}

.p-privacy__lead,
.p-privacy__date {
  font-size: clamp(1.4rem, 1.3295774648rem + 0.1877934272vw, 1.6rem);
  font-weight: 400;
  line-height: 2;
}

.p-privacy__section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.p-privacy__heading {
  font-size: clamp(1.7rem, 1.523943662rem + 0.4694835681vw, 2.2rem);
  font-weight: 700;
  line-height: 1.6;
}

.p-privacy__text {
  font-size: clamp(1.4rem, 1.3295774648rem + 0.1877934272vw, 1.6rem);
  font-weight: 400;
  line-height: 2;
}

.p-privacy__list {
  font-size: clamp(1.4rem, 1.3295774648rem + 0.1877934272vw, 1.6rem);
  font-weight: 400;
  line-height: 2;
}
.p-privacy__list li {
  padding-left: 1em;
  text-indent: -1em;
}
.p-privacy__list li::before {
  content: "・";
}

.p-privacy__text a,
.p-privacy__list a {
  text-decoration: underline;
  text-underline-position: from-font;
}
@media (hover: hover) {
  .p-privacy__text a:hover,
  .p-privacy__list a:hover {
    opacity: 0.7;
  }
}

.p-aboutConcept {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5.6rem;
  padding-block: 8.8rem 9.6rem;
}
@media screen and (max-width: 767px) {
  .p-aboutConcept {
    padding-block: 5.6rem 6.4rem;
  }
}

.p-aboutConcept__band {
  --inner-left: max(4rem, calc((100% - 1280px) / 2));
  width: 100%;
  padding-left: var(--inner-left);
}
@media screen and (max-width: 767px) {
  .p-aboutConcept__band {
    --inner-left: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-aboutConcept__band {
    --inner-left: 2rem;
  }
}

.p-aboutConcept__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(2.8rem, 2.5183098592rem + 0.7511737089vw, 3.6rem);
  width: 72rem;
  max-width: calc(100% - 4rem);
}
@media screen and (max-width: 767px) {
  .p-aboutConcept__body {
    width: 33.5rem;
  }
}

.p-aboutConcept__lead {
  width: 100%;
  font-size: clamp(1.5rem, 1.3943661972rem + 0.2816901408vw, 1.8rem);
  font-weight: 400;
  line-height: 2;
}

.p-aboutConcept__emphasis {
  width: 100%;
  font-size: clamp(1.8rem, 1.6591549296rem + 0.3755868545vw, 2.2rem);
  font-weight: 500;
  line-height: 1.8;
}

.p-aboutConcept__pull {
  width: 100%;
  padding-block: 2.4rem;
  text-align: center;
  font-size: clamp(2.2rem, 1.9887323944rem + 0.5633802817vw, 2.8rem);
  font-weight: 500;
  line-height: 1.6;
}

.p-aboutPhotoBand {
  width: 100%;
  height: 56rem;
}
.p-aboutPhotoBand img {
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-aboutPhotoBand {
    height: 30rem;
  }
}

.p-aboutUs {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(3.2rem, 2.6366197183rem + 1.5023474178vw, 4.8rem);
  padding-block: 8.8rem 9.6rem;
}
.p-aboutUs .c-chapterBand {
  --inner-left: max(4rem, calc((100% - 1280px) / 2));
  width: 100%;
  padding-left: var(--inner-left);
}
@media screen and (max-width: 767px) {
  .p-aboutUs .c-chapterBand {
    --inner-left: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-aboutUs .c-chapterBand {
    --inner-left: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-aboutUs {
    padding-block: 5.6rem 6.4rem;
  }
}

.p-aboutUs__facts {
  width: 100%;
  max-width: calc(72rem + 4rem * 2);
  padding-inline: 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-aboutUs__facts {
    padding-inline: 2rem;
  }
}

.p-aboutUs__row {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  width: 100%;
  padding-block: 2.4rem;
  border-bottom: 1px solid var(--color-border-default);
}
@media screen and (max-width: 767px) {
  .p-aboutUs__row {
    flex-direction: column;
    gap: 0.6rem;
    padding-block: 2rem;
  }
}

.p-aboutUs__label {
  flex-shrink: 0;
  width: 18rem;
  color: var(--color-text-subtle);
  font-size: clamp(1.4rem, 1.2591549296rem + 0.3755868545vw, 1.8rem);
  font-weight: 700;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-aboutUs__label {
    width: auto;
  }
}

.p-aboutUs__value {
  flex: 1 0 0;
  min-width: 0;
  font-size: clamp(1.5rem, 1.323943662rem + 0.4694835681vw, 2rem);
  font-weight: 400;
  line-height: 1.8;
}
.p-aboutUs__value a {
  text-decoration: underline;
  text-underline-position: from-font;
}
@media (hover: hover) {
  .p-aboutUs__value a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .p-aboutUs__value {
    flex: none;
    width: 100%;
  }
}

@media (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}
