@charset "utf-8";
@charset "utf-8";

:root {
  --green: #00c663;
  --blue: #0055da;
  --red: #ff0052;
  --yellow: #ffd400;
  --keycolor: #90c31f;
  --ink: #222222;
  --white: #ffffff;
  --font: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic",
    sans-serif;

  --design-w: 144;

  --ease-fade: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-pop: cubic-bezier(0.34, 1.56, 0.64, 1);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
img,
ul,
ol,
li,
figure,
figcaption,
section,
header,
footer,
nav,
main,
button,
input,
select,
textarea,
label,
dl,
dt,
dd,
table,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
}

html {
  font-size: calc(var(--vw, 100vw) / 144);
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  overflow-x: clip;
}

@media (max-width: 767px) {
  html {
    font-size: calc(var(--vw, 100vw) / 40.2);
  }
}

body {
  margin: 0;
  padding: 0;
  line-break: strict;
  font-family: var(--font);
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--ink);
  background: var(--white);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt" 0;
}

ul,
ol {
  list-style: none;
}

img,
svg,
video {
  display: block;
  max-width: none;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  background: none;
  cursor: pointer;
  font-family: inherit;
  color: inherit;
}

input,
select,
textarea {
  font-family: inherit;
  color: inherit;
  background: none;
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;
}

table {
  border-collapse: collapse;
}

[hidden] {
  display: none !important;
}

.sp-only {
  display: none;
}

@media (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
  .sp-only {
    display: block;
  }
}

.sec {
  position: relative;
  width: 144rem;
  margin-inline: auto;
}

@media (max-width: 767px) {
  .sec {
    width: 40.2rem;
  }
}

#page {
  position: relative;
  overflow: hidden;
}

.u-paren-tight {
  margin-left: -0.5em;
}

.u-visually-hidden {
  position: absolute !important;
  width: 0.1rem;
  height: 0.1rem;
  padding: 0;
  margin: -0.1rem;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

:focus-visible {
  outline: 0.3rem solid var(--blue);
  outline-offset: 0.2rem;
}

.js-fade {
  opacity: 0;
  translate: 0 3rem;
  transition: opacity 0.8s cubic-bezier(0.22, 0.61, 0.36, 1),
    translate 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
  will-change: opacity, translate;
}

.js-fade.is-in {
  opacity: 1;
  translate: none;
}

.js-fade[data-delay="1"] { transition-delay: 0.08s; }
.js-fade[data-delay="2"] { transition-delay: 0.16s; }
.js-fade[data-delay="3"] { transition-delay: 0.24s; }
.js-fade[data-delay="4"] { transition-delay: 0.32s; }
.js-fade[data-delay="5"] { transition-delay: 0.40s; }
.js-fade[data-delay="6"] { transition-delay: 0.48s; }

.u-pop {
  transition: scale 0.32s var(--ease-pop), translate 0.32s var(--ease-pop);
}

.js-fade.u-pop {
  transition: opacity 0.8s var(--ease-fade), translate 0.8s var(--ease-fade);
}

.js-fade.u-pop.is-in {
  transition: opacity 0.8s var(--ease-fade), translate 0.32s var(--ease-pop),
    scale 0.32s var(--ease-pop);
}

@media (hover: hover) {
  .u-pop:hover {
    scale: 1.04;
    translate: 0 -0.4rem;
  }
}

.u-pop:focus-visible {
  scale: 1.04;
  translate: 0 -0.4rem;
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.modal.is-open {
  opacity: 1;
}

.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
}

.modal__panel {
  position: relative;
  z-index: 1;
  max-height: 90vh;
  overflow-y: auto;
  overscroll-behavior: contain;
  transform: translateY(2rem) scale(0.98);
  transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.modal.is-open .modal__panel {
  transform: none;
}

html.is-modal-open,
html.is-nav-open {
  overflow: hidden;
}

body.is-modal-open,
body.is-nav-open {
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
  .js-fade {
    opacity: 1;
    translate: none;
  }
}

@charset "utf-8";

.bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 144rem;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

@media (max-width: 767px) {
  .bg {
    width: 40.2rem;
  }
}

.bg__item {
  position: absolute;
  left: 0;
  display: block;
}

.bg__cream-pc {
  top: 232.9rem;
  width: 144rem;
  height: 202.7rem;
}

.bg__green-pc {
  top: 588.5rem;
  width: 144rem;
  height: 400.8rem;
}

.bg__cream-sp {
  top: 256.5rem;
  width: 40.2rem;
  height: 302rem;
}

.bg__green-sp {
  top: 670.2rem;
  left: -0.1rem;
  width: 40.4rem;
  height: 112.4rem;
}

.bg__green-sp-fill {
  top: 782.6rem;
  left: -0.1rem;
  width: 40.4rem;
  height: 431.3rem;
  background: #e0f8ec;
}

.sec {
  z-index: 1;
}

.hero .hero-logo,
.hero .hero-logo-sub,
.hero .hero-info,
.hero .hero-photo,
.hero .hero-vtext,
.hero .hero-confetti__item {
  opacity: 0;
}

.no-js .hero .hero-logo,
.no-js .hero .hero-logo-sub,
.no-js .hero .hero-info,
.no-js .hero .hero-photo,
.no-js .hero .hero-vtext,
.no-js .hero .hero-confetti__item {
  opacity: 1;
}

.hero.is-ready .hero-logo {
  animation: heroLogoPop 0.85s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s both;
}

@keyframes heroLogoPop {
  0% {
    opacity: 0;
    transform: scale(0.6) rotate(-6deg);
  }
  60% {
    opacity: 1;
    transform: scale(1.06) rotate(1.5deg);
  }
  100% {
    opacity: 1;
    transform: scale(1) rotate(0deg);
  }
}

.hero.is-ready .hero-logo-sub {
  animation: heroSubIn 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) 0.6s both;
}

@keyframes heroSubIn {
  0% {
    opacity: 0;
    transform: translateY(2.4rem) scale(0.9);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}

.hero.is-ready .hero-info {
  animation: heroFadeUp 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) 0.95s both;
}

@keyframes heroFadeUp {
  0% {
    opacity: 0;
    transform: translateY(2rem);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}

.hero.is-ready .hero-photo {
  animation: heroPhotoIn 0.8s cubic-bezier(0.22, 0.61, 0.36, 1) both;
  animation-delay: calc(0.25s + var(--i, 0) * 0.055s);
}

@keyframes heroPhotoIn {
  0% {
    opacity: 0;
    transform: scale(0.92);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}

.hero.is-ready .hero-vtext {
  animation: heroVtextIn 0.8s cubic-bezier(0.22, 0.61, 0.36, 1) both;
  animation-delay: calc(0.82s + var(--vi, 0) * 0.12s);
}

@keyframes heroVtextIn {
  0% {
    opacity: 0;
    scale: 0.92;
    translate: 0 0.8rem;
  }
  100% {
    opacity: 1;
    scale: 1;
    translate: 0 0;
  }
}

.hero.is-ready .hero-confetti__item {
  animation: heroConfettiFall var(--fd, 1.5s) cubic-bezier(0.32, 0.5, 0.36, 1)
      var(--d, 0.3s) both,
    heroConfettiFloat var(--fdur, 8s) ease-in-out
      calc(var(--d, 0.3s) + var(--fd, 1.5s)) infinite both;
}

@keyframes heroConfettiFall {
  0% {
    opacity: 0;
    translate: var(--sx, 0rem) var(--fall, -12rem);
    rotate: var(--rot, -90deg);
    scale: 0.7;
  }
  25% {
    opacity: 1;
  }
  35% {
    translate: calc(var(--sx, 0rem) * -0.55) calc(var(--fall, -12rem) * 0.58);
    rotate: calc(var(--rot, -90deg) * 0.6);
  }
  70% {
    translate: calc(var(--sx, 0rem) * 0.32) calc(var(--fall, -12rem) * 0.22);
    rotate: calc(var(--rot, -90deg) * 0.26);
  }
  100% {
    opacity: 1;
    translate: 0 0;
    rotate: 0deg;
    scale: 1;
  }
}

@keyframes heroConfettiFloat {
  0%,
  100% {
    translate: 0 0;
    rotate: 0deg;
  }
  25% {
    translate: var(--fx, 0.8rem) calc(var(--fy, 0.9rem) * -1);
    rotate: var(--fr, 3deg);
  }
  50% {
    translate: 0 calc(var(--fy, 0.9rem) * -0.3);
    rotate: 0deg;
  }
  75% {
    translate: calc(var(--fx, 0.8rem) * -1) var(--fy, 0.9rem);
    rotate: calc(var(--fr, 3deg) * -1);
  }
}

.hero.is-static .hero-logo,
.hero.is-static .hero-logo-sub,
.hero.is-static .hero-info,
.hero.is-static .hero-photo,
.hero.is-static .hero-vtext,
.hero.is-static .hero-confetti__item {
  animation: none !important;
  opacity: 1;
  transform: none;
  translate: none;
  rotate: none;
  scale: none;
}

@media (prefers-reduced-motion: reduce) {
  .hero .hero-logo,
  .hero .hero-logo-sub,
  .hero .hero-info,
  .hero .hero-photo,
  .hero .hero-vtext,
  .hero .hero-confetti__item {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
    rotate: none !important;
    scale: none !important;
  }
}

.s1-header,
.s1-spheader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 900;
  background: transparent;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

#site-header.is-scrolled,
#site-header-sp.is-scrolled {
  background: var(--white);
  box-shadow: 0 0.2rem 1.2rem rgba(0, 0, 0, 0.08);
}

.hero-confetti {
  position: absolute;
  mix-blend-mode: multiply;
  pointer-events: none;
}

.hero-confetti__item {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--w);
  height: var(--h);
}

.s1-photos {
  position: absolute;
}

.s1-photos > .hero-photo {
  position: absolute;
}

.s1-totop {
  position: fixed;
  z-index: 800;
  right: 3rem;
  bottom: 3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--green);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, scale 0.32s var(--ease-pop),
    translate 0.32s var(--ease-pop);
}

.s1-totop.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.s1-totop__icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.s1-totop__icon img {
  transform: rotate(90deg);
}

.s1-totop__label {
  font-weight: 500;
  line-height: 1;
  color: var(--white);
}

body.is-nav-open {
  overflow: hidden;
}

@media (min-width: 768px) {

  .s1-header__inner {
    width: 144rem;
    height: 10.8rem;
    margin-inline: auto;
    padding: 0 4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .s1-header__logo img {
    width: 12.2rem;
    height: 6rem;
  }

  .s1-gnav {
    display: flex;
    align-items: center;
    gap: 2.4rem;
  }

  .s1-gnav__link {
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1;
    color: var(--ink);
    white-space: nowrap;
    transition: color 0.32s ease, scale 0.32s var(--ease-pop),
      translate 0.32s var(--ease-pop);
  }

  @media (hover: hover) {
    .s1-gnav__link:hover {
      scale: 1.02;
      translate: none;
      color: var(--green);
    }
  }

  .s1-gnav__link:focus-visible {
    scale: 1.02;
    translate: none;
    color: var(--green);
  }

  .s1-gnav__cta {
    display: flex;
    align-items: center;
    gap: 1.2rem;
  }

  .s1-btnout {
    box-sizing: border-box;
    width: 19.2rem;
    height: 5.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    border: 0.1rem solid;
    border-radius: 5rem;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1;
    white-space: nowrap;
  }

  .s1-btnout img {
    width: 2.4rem;
    height: 2.4rem;
  }

  .s1-btnout--red {
    border-color: var(--red);
    color: var(--red);
  }

  .s1-btnout--blue {
    border-color: var(--blue);
    color: var(--blue);
  }

  .sec--hero {
    height: 128.7rem;
  }

  .s1-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 144rem;
    height: 118rem;
    background: #e6f8fb;
  }

  .s1-photos--left {
    left: -9.7rem;
    top: 16.2rem;
    width: 60.939rem;
    height: 77.251rem;
  }

  .s1-ph-l1 { left: 0;         top: 54.739rem; width: 30rem;      height: 22.512rem; }
  .s1-ph-l2 { left: 31rem;     top: 54.739rem; width: 29.9383rem; height: 22.511rem; }
  .s1-ph-l3 { left: -0.001rem; top: 23.739rem; width: 30.001rem;  height: 30rem; }
  .s1-ph-l4 { left: 30.999rem; top: 23.738rem; width: 24.0631rem; height: 30.001rem; }
  .s1-ph-l5 { left: 2.399rem;  top: 0;         width: 27.601rem;  height: 22.739rem; }
  .s1-ph-l6 { left: 30.999rem; top: 4.6526rem; width: 17.95rem;   height: 18.0864rem; }

  .s1-photos--right {
    left: 92.4rem;
    top: 13.7rem;
    width: 64.401rem;
    height: 79.837rem;
  }

  .s1-ph-r1 { left: 0;          top: 57.325rem; width: 33.4rem;    height: 22.512rem; }
  .s1-ph-r2 { left: 34.401rem;  top: 57.326rem; width: 30rem;      height: 22.512rem; }
  .s1-ph-r3 { left: 9.84rem;    top: 26.326rem; width: 23.562rem;  height: 30rem; }
  .s1-ph-r4 { left: 34.401rem;  top: 26.326rem; width: 30rem;      height: 30rem; }
  .s1-ph-r5 { left: 13.084rem;  top: 0;         width: 20.317rem;  height: 25.326rem; }
  .s1-ph-r6 { left: 34.402rem;  top: 1.4899rem; width: 25.0654rem; height: 23.8361rem; }

  .s1-polygon {
    position: absolute;
    left: 68.1029rem;
    top: 109.45rem;
    width: 7.8rem;
    height: 6.8rem;
  }

  .s1-bird-lightblue {
    position: absolute;
    left: 119.3rem;
    top: 113.8rem;
    width: 6rem;
    height: 4.7rem;
  }

  .s1-vtext {
    position: absolute;
    box-sizing: border-box;
    width: 4rem;
    height: 22.6rem;
    padding: 1.1rem 0.8rem 0.5rem;
    background: var(--red);
    border-radius: 1rem;
    color: var(--white);
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1;
    letter-spacing: 0.6rem;
    text-align: center;
    writing-mode: vertical-rl;
    text-orientation: mixed;
  }

  .s1-vtext__tcy {
    -webkit-text-combine: horizontal;
    text-combine-upright: all;
    letter-spacing: normal;
  }

  .s1-vtext--1 { left: 109.4rem; top: 17.9rem; --vi: 0; }
  .s1-vtext--2 { left: 104.4rem; top: 26rem;   --vi: 1; }

  .s1-heroblock {
    position: absolute;
    left: 51rem;
    top: 16.2rem;
    width: 41.9982rem;
    height: 58.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.2rem;
  }

  .s1-logoset {
    display: flex;
    flex-direction: column;
    width: 42rem;
    height: 35.1rem;
  }

  .hero-logo {
    width: 42rem;
    height: 27.6253rem;
  }

  .hero-logo-sub {
    width: 42rem;
    height: 7.4747rem;
  }

  .hero-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.2rem;
    width: 100%;
  }

  .s1-dateset {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    width: 100%;
    text-align: center;
    color: var(--ink);
  }

  .s1-date {
    font-weight: 700;
    font-size: 4rem;
    line-height: 1;
    letter-spacing: 0.064rem;
  }

  .s1-date__l  { font-size: 4rem; }
  .s1-date__s  { font-size: 2.4rem; }
  .s1-date__xs { font-size: 1.6rem; }

  .s1-venue {
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1;
  }

  .s1-badges {
    display: flex;
    align-items: center;
    gap: 0.8rem;
  }

  .s1-badge {
    box-sizing: border-box;
    width: 10rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0.1rem solid;
    border-radius: 0.5rem;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.25;
    white-space: nowrap;
  }

  .s1-badge--red  { border-color: var(--red);  color: var(--red); }
  .s1-badge--blue { border-color: var(--blue); color: var(--blue); }

  .s1-btnfill {
    box-sizing: border-box;
    width: 25.6rem;
    height: 5.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    border-radius: 5rem;
    background: var(--yellow);
    color: var(--ink);
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1;
    white-space: nowrap;
  }

  .s1-btnfill__arrow {
    width: 2.4rem;
    height: 2.4rem;
    transform: rotate(90deg);
  }

  .s1-mountain {
    position: absolute;
    left: 0;
    top: 81.3rem;
    width: 144rem;
    height: 47.5rem;
  }

  .hero-confetti {
    left: 0;
    top: 10.8rem;
    width: 144rem;
    height: 94.2421rem;
  }

  .s1-star {
    position: absolute;
  }

  .s1-star--1 { left: 29.7rem; top: 5.9824rem;  width: 1.2rem; height: 1.5rem; }
  .s1-star--2 { left: 38rem;   top: 12.3028rem; width: 1.7rem; height: 1.6rem; }

  .s1-bird-blue {
    position: absolute;
    left: 12.1rem;
    top: 117.9rem;
    width: 7.4rem;
    height: 5.7rem;
  }

  .s1-totop {
    width: 8rem;
    height: 8rem;
    gap: 0.8rem;
  }

  .s1-totop__icon {
    width: 4rem;
    height: 2.2rem;
  }

  .s1-totop__icon img {
    width: 2.2rem;
    height: 4rem;
  }

  .s1-totop__label {
    font-size: 1.6rem;
    letter-spacing: 0.032rem;
  }
}

@media (max-width: 767px) {

  .s1-spheader {
    height: 6.2rem;
    padding: 0 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .s1-spheader__logo img {
    width: 6.1rem;
    height: 3rem;
  }

  .s1-hamburger {
    position: relative;
    width: 2.4rem;
    height: 2.4rem;
  }

  .s1-hamburger img {
    position: absolute;
    left: 0.225rem;
    width: 1.95rem;
    height: 0.15rem;
  }

  .s1-hamburger img:nth-of-type(1) { top: 0.425rem; }
  .s1-hamburger img:nth-of-type(2) { top: 1.125rem; }
  .s1-hamburger img:nth-of-type(3) { top: 1.825rem; }

  .sec--hero {
    height: 89.2rem;
  }

  .s1-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 40.2rem;
    height: 85rem;
    background: #e6f8fb;
  }

  .s1-photos--left {
    left: -14.6165rem;
    top: 34.4rem;
    width: 24.2rem;
    height: 30.6rem;
  }

  .s1-ph-l1 { left: 0;          top: 21.6827rem; width: 11.9136rem; height: 8.9173rem; }
  .s1-ph-l2 { left: 12.3107rem; top: 21.6827rem; width: 11.889rem;  height: 8.9169rem; }
  .s1-ph-l3 { left: -0.0004rem; top: 9.4033rem;  width: 11.9139rem; height: 11.8833rem; }
  .s1-ph-l4 { left: 12.3103rem; top: 9.4029rem;  width: 9.5559rem;  height: 11.8837rem; }
  .s1-ph-l5 { left: 0.9527rem;  top: 0;          width: 10.9609rem; height: 9.0072rem; }
  .s1-ph-l6 { left: 12.3103rem; top: 1.8429rem;  width: 7.1283rem;  height: 7.1642rem; }

  .s1-photos--right {
    left: 29rem;
    top: 33.4rem;
    width: 25.6rem;
    height: 31.7rem;
  }

  .s1-ph-r1 { left: 5.201rem;   top: 0;          width: 8.0762rem;  height: 10.0559rem; }
  .s1-ph-r2 { left: 0;          top: 22.7614rem; width: 13.2768rem; height: 8.9386rem; }
  .s1-ph-r3 { left: 13.6747rem; top: 22.7618rem; width: 11.9253rem; height: 8.9386rem; }
  .s1-ph-r4 { left: 3.9115rem;  top: 10.453rem;  width: 9.3661rem;  height: 11.9118rem; }
  .s1-ph-r5 { left: 13.6747rem; top: 10.453rem;  width: 11.9253rem; height: 11.9118rem; }
  .s1-ph-r6 { left: 5.201rem;   top: 0;          width: 8.0762rem;  height: 10.0559rem; }
  .s1-ph-r7 { left: 13.6752rem; top: 0.5916rem;  width: 9.9637rem;  height: 9.4644rem; }

  .s1-heroblock {
    position: absolute;
    left: 2rem;
    top: 10.2rem;
    width: 36.2rem;
    height: 47.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.8rem;
  }

  .s1-logoset {
    display: flex;
    flex-direction: column;
    width: 28rem;
    height: 23.4rem;
  }

  .hero-logo {
    width: 28rem;
    height: 18.4168rem;
  }

  .hero-logo-sub {
    width: 28rem;
    height: 4.9832rem;
  }

  .hero-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.8rem;
    width: 100%;
  }

  .s1-dateset {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    width: 100%;
    text-align: center;
    color: var(--ink);
  }

  .s1-date {
    font-weight: 700;
    letter-spacing: 0.064rem;
  }

  .s1-date__row {
    display: block;
    font-size: 3.2rem;
    line-height: 1.25;
  }

  .s1-date__l { font-size: 3.2rem; }
  .s1-date__s { font-size: 1.6rem; }

  .s1-venue {
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1;
  }

  .s1-badges {
    display: flex;
    align-items: center;
    gap: 0.8rem;
  }

  .s1-badge {
    box-sizing: border-box;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 1.2rem;
    border: 0.1rem solid;
    border-radius: 0.5rem;
    background: #e6f8fb;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.25;
    white-space: nowrap;
  }

  .s1-badge--red  { width: 8rem;  border-color: var(--red);  color: var(--red); }
  .s1-badge--blue { width: 9.4rem; border-color: var(--blue); color: var(--blue); }

  .s1-btnfill {
    box-sizing: border-box;
    width: 21.6rem;
    height: 4.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    border-radius: 5rem;
    background: var(--yellow);
    color: var(--ink);
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1;
    white-space: nowrap;
  }

  .s1-btnfill__arrow {
    width: 2rem;
    height: 2rem;
    transform: rotate(90deg);
  }

  .s1-mountain {
    position: absolute;
    left: 0;
    top: 61.3rem;
    width: 40.2rem;
    height: 23.7rem;
  }

  .s1-bird-blue {
    position: absolute;
    left: 4.8rem;
    top: 82.4rem;
    width: 3.1rem;
    height: 2.4rem;
  }

  .s1-bird-red {
    position: absolute;
    left: 32.1rem;
    top: 81.9rem;
    width: 3.9rem;
    height: 2.4rem;
  }

  .hero-confetti {
    left: 0;
    top: 1.0494rem;
    width: 40.2418rem;
    height: 66.8727rem;
  }

  .s1-deco {
    position: absolute;
  }

  .s1-deco--1 { left: 21.9rem;    top: 59.5rem;    width: 0.3rem; height: 0.3rem; }
  .s1-deco--2 { left: 25.7329rem; top: 59.5316rem; width: 0.4rem; height: 0.4rem; }
  .s1-deco--3 { left: 16.6rem;    top: 59.8148rem; width: 0.3rem; height: 0.4rem; }

  .s1-spnav {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: var(--green);
    opacity: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    transition: opacity 0.3s ease;
  }

  .s1-spnav.is-open {
    opacity: 1;
  }

  .s1-spnav__panel {
    position: relative;
    width: 40.2rem;
    min-height: 88.8rem;
    margin-inline: auto;
  }

  .s1-spnav__bar {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 5.6rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 2rem;
  }

  .s1-spnav__close,
  .s1-spnav__close img {
    width: 2.4rem;
    height: 2.4rem;
  }

  .s1-spnav__body {
    position: absolute;
    left: 4rem;
    top: 4rem;
    width: 32.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3.2rem;
  }

  .s1-spnav__logo {
    width: 15rem;
    height: 12.5rem;
  }

  .s1-spnav__line {
    width: 32.2rem;
    height: 0.1rem;
    margin-top: -0.1rem;
  }

  .s1-spnav__link {
    width: 100%;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1;
    color: var(--white);
    transition: color 0.32s ease, scale 0.32s var(--ease-pop),
      translate 0.32s var(--ease-pop);
  }

  @media (hover: hover) {
    .s1-spnav__link:hover {
      scale: 1.02;
      translate: none;
      color: var(--yellow);
    }
  }

  .s1-spnav__link:focus-visible {
    scale: 1.02;
    translate: none;
    color: var(--yellow);
  }

  .s1-spnav__cta {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    width: 100%;
  }

  .s1-btnout {
    box-sizing: border-box;
    height: 5.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    border: 0.1rem solid;
    border-radius: 5rem;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1;
    white-space: nowrap;
  }

  .s1-btnout img {
    width: 2.4rem;
    height: 2.4rem;
  }

  .s1-btnout--fill {
    width: 100%;
    background: var(--white);
  }

  .s1-btnout--red  { border-color: var(--red);  color: var(--red); }
  .s1-btnout--blue { border-color: var(--blue); color: var(--blue); }

  .s1-spnav__official {
    position: absolute;
    left: 9.9rem;
    top: 79.3rem;
    width: 20.4rem;
    height: 2.4rem;
    display: flex;
    align-items: center;
    gap: 1.6rem;
    border-bottom: 0.1rem solid #000;
    color: var(--ink);
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: 0.032rem;
  }

  .s1-spnav__official img {
    width: 2.4rem;
    height: 2.4rem;
  }

  .s1-totop {
    width: 4.5rem;
    height: 4.5rem;
    gap: 0.4rem;
  }

  .s1-totop__icon {
    width: 2.1rem;
    height: 1.2rem;
  }

  .s1-totop__icon img {
    width: 1.2rem;
    height: 2.1rem;
  }

  .s1-totop__label {
    font-size: 1.2rem;
    letter-spacing: 0.024rem;
  }
}

.sec--message {
  background: transparent;
}

.s2-pc {
  position: relative;
  width: 144rem;
  height: 121.2rem;
}

.s2-sp {
  position: relative;
  width: 40.2rem;
  height: 177.3rem;
}

.s2-card {
  position: absolute;
  background: var(--green);
}

.s2-pc .s2-card {
  left: 9rem;
  top: 7.2rem;
  width: 126rem;
  height: 84rem;
  border-radius: 5rem;
}

.s2-sp .s2-card {
  left: 2rem;
  top: 4.5rem;
  width: 36.2rem;
  height: 154.8rem;
  border-radius: 3rem;
}

.s2-figure {
  position: absolute;
  z-index: 2;
}

.s2-pc .s2-figure {
  left: 11.3rem;
  top: 21rem;
  width: 42.5rem;
  height: 55.2rem;
}

.s2-sp .s2-figure {
  left: 4rem;
  top: 14.256rem;
  width: 32.2rem;
  height: 38.444rem;
}

.s2-photo {
  position: absolute;
  overflow: hidden;
  border-radius: 5rem;
}

.s2-photo__img {
  position: absolute;
  max-width: none;
}

.s2-pc .s2-photo {
  left: 4.1rem;
  top: 0;
  width: 38.4rem;
  height: 51.2rem;
}

.s2-pc .s2-photo__img {
  left: -15.49%;
  top: -2.99%;
  width: 123.98%;
  height: 139.77%;
}

.s2-sp .s2-photo {
  left: 0;
  top: 0;
  width: 32.2rem;
  height: 32.2rem;
}

.s2-sp .s2-photo__img {
  left: 0;
  top: -0.1%;
  width: 100%;
  height: 150.31%;
}

.s2-hand {
  position: absolute;
  z-index: 3;
}

.s2-pc .s2-hand {
  left: 0;
  top: 21.5rem;
  width: 25.8rem;
  height: 33.7rem;
}

.s2-sp .s2-hand {
  left: 0.8rem;
  top: 15.044rem;
  width: 17.9rem;
  height: 23.4rem;
}

.s2-body {
  position: absolute;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: var(--white);
  word-break: break-word;
}

.s2-pc .s2-body {
  left: 60.2rem;
  top: 21rem;
  width: 68.4rem;
  gap: 3.2rem;
}

.s2-sp .s2-body {
  left: 4.1rem;
  top: 54.5rem;
  width: 32.1rem;
  gap: 3.2rem;
}

.s2-body__title {
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}

.s2-pc .s2-body__title {
  font-size: 4rem;
  letter-spacing: 0.08rem;
}

.s2-sp .s2-body__title {
  font-size: 2.4rem;
  letter-spacing: 0.048rem;
}

.s2-body__texts {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  width: 100%;
}

.s2-body__text {
  width: 100%;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.75;
}

.s2-body__sign {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1;
  white-space: nowrap;
}

.s2-label {
  position: absolute;
  top: 0;
  z-index: 4;
}

.s2-pc .s2-label {
  left: 54.2rem;
  width: 35.6rem;
  height: 16.4rem;
}

.s2-sp .s2-label {
  left: 6.6rem;
  width: 27rem;
  height: 10.1rem;
}

.s2-label__bg {
  position: absolute;
  inset: -0.3rem;
  width: calc(100% + 0.6rem);
  height: calc(100% + 0.6rem);
}

.s2-label__en,
.s2-label__ja {
  position: absolute;
  left: 0;
  width: 100%;
  color: var(--green);
  text-align: center;
  line-height: 1;
}

.s2-label__en {
  font-weight: 500;
}

.s2-label__ja {
  font-weight: 700;
}

.s2-pc .s2-label__en {
  top: 4rem;
  font-size: 1.6rem;
  letter-spacing: 0.032rem;
}

.s2-pc .s2-label__ja {
  top: 7.2rem;
  font-size: 3.2rem;
  letter-spacing: 0.064rem;
}

.s2-sp .s2-label__en {
  top: 2.1rem;
  font-size: 1.4rem;
  letter-spacing: 0.028rem;
}

.s2-sp .s2-label__ja {
  top: 4.157rem;
  font-size: 2.4rem;
  letter-spacing: 0.048rem;
}

.sec--program,
.modal__panel--content {
  --s3-sub: #666666;
  --s3-yellow-ink: #d4b000;
  --s3-rule: #000000;
}

.sec--program {
  height: 200.5rem;
}

.sec--program .sec__inner {
  position: absolute;
  inset: 0;
}

@media (max-width: 767px) {
  .sec--program {
    height: 306.6rem;
  }
}

.s3-deco {
  position: absolute;
}

.s3-deco__ring,
.s3-deco__photo {
  position: absolute;
  border-radius: 50%;
}

.s3-deco__photo {
  object-fit: cover;
}

.s3-deco--green .s3-deco__ring { background: var(--green); }
.s3-deco--red   .s3-deco__ring { background: var(--red); }
.s3-deco--blue  .s3-deco__ring { background: var(--blue); }

.s3-deco--pc1 { left: 116.5rem; top: -5.6rem; width: 24rem; height: 24rem; }
.s3-deco--pc1 .s3-deco__ring  { left: 0.5rem; top: 0.5rem; width: 24rem; height: 24rem; }
.s3-deco--pc1 .s3-deco__photo { left: 0; top: 0; width: 24rem; height: 24rem; }

.s3-deco--pc2 { left: -6.2rem; top: 26.6rem; width: 24rem; height: 24rem; }
.s3-deco--pc2 .s3-deco__ring  { left: 0.5rem; top: 0.5rem; width: 24rem; height: 24rem; }
.s3-deco--pc2 .s3-deco__photo { left: 0; top: 0; width: 24rem; height: 24rem; }

.s3-deco--pc3 { left: 116.5rem; top: 37rem; width: 16rem; height: 16rem; }
.s3-deco--pc3 .s3-deco__ring  { left: -0.5rem; top: 0.5rem; width: 16rem; height: 16rem; }
.s3-deco--pc3 .s3-deco__photo { left: 0; top: 0; width: 16rem; height: 16rem; }

.s3-deco--pc4 { left: 4.3rem; top: 63rem; width: 16rem; height: 16rem; }
.s3-deco--pc4 .s3-deco__ring  { left: -0.5rem; top: 0.5rem; width: 16rem; height: 16rem; }
.s3-deco--pc4 .s3-deco__photo { left: 0; top: 0; width: 16rem; height: 16rem; }

.s3-deco--pc5 { left: 120.8rem; top: 68.9rem; width: 24rem; height: 24rem; }
.s3-deco--pc5 .s3-deco__ring  { left: 0.5rem; top: 0.5rem; width: 24rem; height: 24rem; }
.s3-deco--pc5 .s3-deco__photo { left: 0; top: 0; width: 24rem; height: 24rem; }

.s3-deco--sp1 { left: 31.9rem; top: 13.7rem; width: 9rem; height: 9rem; }
.s3-deco--sp1 .s3-deco__ring  { left: 0.184rem; top: 0.184rem; width: 8.816rem; height: 8.816rem; }
.s3-deco--sp1 .s3-deco__photo { left: 0; top: 0; width: 8.816rem; height: 8.816rem; }

.s3-deco--sp2 { left: -1rem; top: 16.2rem; width: 9rem; height: 9rem; }
.s3-deco--sp2 .s3-deco__ring  { left: 0.184rem; top: 0.184rem; width: 8.816rem; height: 8.816rem; }
.s3-deco--sp2 .s3-deco__photo { left: 0; top: 0; width: 8.816rem; height: 8.816rem; }

.s3-deco--sp3 { left: 31.6rem; top: 36.9rem; width: 7.5rem; height: 7.5rem; }
.s3-deco--sp3 .s3-deco__ring  { left: 0; top: 0.227rem; width: 7.273rem; height: 7.273rem; }
.s3-deco--sp3 .s3-deco__photo { left: 0.227rem; top: 0; width: 7.273rem; height: 7.273rem; }

.s3-deco--sp4 { left: -1rem; top: 71.3rem; width: 7.5rem; height: 7.5rem; }
.s3-deco--sp4 .s3-deco__ring  { left: 0; top: 0.227rem; width: 7.273rem; height: 7.273rem; }
.s3-deco--sp4 .s3-deco__photo { left: 0.227rem; top: 0; width: 7.273rem; height: 7.273rem; }

.s3-deco--sp5 { left: 27.7rem; top: 94rem; width: 15rem; height: 15rem; }
.s3-deco--sp5 .s3-deco__ring  { left: 0.306rem; top: 0.306rem; width: 14.694rem; height: 14.694rem; }
.s3-deco--sp5 .s3-deco__photo { left: 0; top: 0; width: 14.694rem; height: 14.694rem; }

.s3-panel {
  position: absolute;
  left: 9rem;
  top: 7.2rem;
  width: 126rem;
  height: 92.9rem;
  background: var(--white);
  border: 0.3rem solid var(--yellow);
  border-radius: 5rem;
}

@media (max-width: 767px) {
  .s3-panel {
    left: 2rem;
    top: 4.8rem;
    width: 36.2rem;
    height: 112.7rem;
    border-radius: 3rem;
  }
}

.s3-label {
  position: absolute;
  left: 47.2rem;
  top: 0;
  width: 49.6rem;
  height: 16.4rem;
}

.s3-label__bg {
  position: absolute;
  inset: 0;
  width: 49.6rem;
  height: 16.4rem;
}

.s3-label__en {
  position: absolute;
  left: 50%;
  top: 4rem;
  transform: translateX(-50%);
  width: 22.8rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.032rem;
  text-align: center;
  color: var(--ink);
}

.s3-label__ja {
  position: absolute;
  left: 50%;
  top: 7.2rem;
  transform: translateX(-50%);
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1;
  letter-spacing: 0.064rem;
  white-space: nowrap;
  color: var(--ink);
}

@media (max-width: 767px) {
  .s3-label { left: 2rem; width: 36.2rem; height: 11.5rem; }
  .s3-label__bg { width: 36.2rem; height: 11.5rem; }
  .s3-label__en {
    left: calc(50% + 0.1rem);
    top: 2.4rem;
    font-size: 1.4rem;
    letter-spacing: 0.028rem;
  }
  .s3-label__ja {
    top: 4.8rem;
    font-size: 2.4rem;
    letter-spacing: 0.048rem;
  }
}

.s3-info {
  position: absolute;
  left: 48.6rem;
  top: 19.6rem;
  width: 46.9rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
}

.s3-info__date {
  width: 100%;
  text-align: center;
  font-weight: 500;
  font-size: 0;
  line-height: 0;
  letter-spacing: 0.032rem;
  color: var(--ink);
  white-space: nowrap;
}

.s3-info__date-sm,
.s3-info__date-lg {
  line-height: 1;
}

.s3-info__date-sm {
  font-size: 1.6rem;
}

.s3-info__date-lg {
  font-size: 4rem;
  letter-spacing: 0.08rem;
}

.s3-info__place {
  width: 100%;
  text-align: center;
  font-weight: 500;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0.08rem;
  color: var(--ink);
}

.s3-info__badges {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  width: 100%;
}

.s3-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 2.3rem;
  border: 0.1rem solid currentColor;
  border-radius: 5rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.032rem;
  text-align: center;
  white-space: nowrap;
}

.s3-badge--red { color: var(--red); }
.s3-badge--blue { color: var(--blue); }
.s3-badge--green { color: var(--green); }

@media (max-width: 767px) {
  .s3-info {
    left: 3.9rem;
    top: 14.7rem;
    width: 32.3rem;
    gap: 1.6rem;
  }
  .s3-info__date-lg {
    font-size: 2.4rem;
  }
  .s3-info__date-sm,
  .s3-info__date-lg {
    line-height: 1.25;
  }
  .s3-info__place {
    font-size: 2.4rem;
    letter-spacing: 0.048rem;
  }
  .s3-info__badges {
    flex-wrap: wrap;
    align-content: center;
  }
  .s3-badge {
    padding: 0.7rem 2.3rem;
    font-size: 1.4rem;
    letter-spacing: 0.028rem;
  }
}

.s3-tl {
  position: absolute;
  left: 33.1rem;
  top: 39.6rem;
  width: 77.7rem;
  height: 58.1rem;
}

.s3-tl__rail {
  position: absolute;
  left: 7.5rem;
  top: 1.3rem;
  width: 1.4rem;
  height: 51.2rem;
}

.s3-tl.js-fade {
  opacity: 1;
  translate: none;
  transition: none;
  will-change: auto;
}

.s3-tl__rail {
  clip-path: inset(0 0 100% 0);
  transition: clip-path 1.2s cubic-bezier(0.22, 0.61, 0.36, 1);
  will-change: clip-path;
}

.s3-tl.is-in .s3-tl__rail {
  clip-path: inset(0 0 0 0);
}

.s3-tl::before,
.s3-tl::after {
  content: "";
  position: absolute;
  box-sizing: border-box;
  pointer-events: none;
}

.s3-tl::before {
  left: 8.1rem;
  top: 52.5rem;
  width: 0.2rem;
  height: 5.6rem;
  background: #cccccc;
  clip-path: inset(0 0 100% 0);
  transition: clip-path 0.25s linear 1.1s;
}

.s3-tl.is-in::before {
  clip-path: inset(0 0 0 0);
}

.s3-tl::after {
  left: 7.5rem;
  top: 54.8rem;
  width: 1.4rem;
  height: 1.4rem;
  border: 0.2rem solid var(--red);
  border-radius: 50%;
  background: var(--white);
  opacity: 0;
  transition: opacity 0.55s cubic-bezier(0.22, 0.61, 0.36, 1) 1.2s;
}

.s3-tl.is-in::after {
  opacity: 1;
}

.s3-tl__item {
  opacity: 0;
  translate: 0 1.2rem;
  transition: opacity 0.55s cubic-bezier(0.22, 0.61, 0.36, 1),
    translate 0.55s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.s3-tl.is-in .s3-tl__item {
  opacity: 1;
  translate: none;
}

.s3-tl__item--1 { transition-delay: 0.04s; }
.s3-tl__item--2 { transition-delay: 0.11s; }
.s3-tl__item--3 { transition-delay: 0.22s; }
.s3-tl__item--4 { transition-delay: 0.48s; }
.s3-tl__item--5 { transition-delay: 0.73s; }
.s3-tl__item--6 { transition-delay: 0.87s; }
.s3-tl__item--7 { transition-delay: 0.98s; }
.s3-tl__item--8 { transition-delay: 1.09s; }
.s3-tl__item--9 { transition-delay: 1.2s; }

.no-js .s3-tl__rail { clip-path: none; }
.no-js .s3-tl__item { opacity: 1; translate: none; }
.no-js .s3-tl::before { clip-path: none; }
.no-js .s3-tl::after { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .s3-tl__rail { clip-path: none; }
  .s3-tl__item {
    opacity: 1;
    translate: none;
    transition-delay: 0s;
  }
  .s3-tl::before {
    clip-path: none;
    transition-delay: 0s;
  }
  .s3-tl::after {
    opacity: 1;
    transition-delay: 0s;
  }
}

.s3-tl__list {
  position: relative;
  height: 100%;
}

.s3-tl__item {
  position: absolute;
  left: 0;
  width: 100%;
}

.s3-tl__time {
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.7;
  color: var(--ink);
  white-space: nowrap;
}

.s3-tl__body {
  margin-left: 12.1rem;
}

.s3-tl__title {
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.7;
  color: var(--ink);
  white-space: nowrap;
}

.s3-tl__note {
  margin-top: 0.4rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.7;
  color: var(--s3-sub);
  white-space: nowrap;
}

.s3-tl__item--1 { top: 0; }
.s3-tl__item--2 { top: 5.6rem; }
.s3-tl__item--3 { top: 11.2rem; }
.s3-tl__item--4 { top: 20.8rem; }
.s3-tl__item--5 { top: 30.4rem; }
.s3-tl__item--6 { top: 36.8rem; }
.s3-tl__item--7 { top: 42.4rem; }
.s3-tl__item--8 { top: 48rem; }
.s3-tl__item--9 { top: 53.6rem; }

@media (max-width: 767px) {
  .s3-tl {
    left: 4rem;
    top: 36.9rem;
    height: 74.2rem;
    width: 32.1rem;
  }
  .s3-tl__rail {
    left: 5.3rem;
    top: 0.9rem;
    width: 1rem;
    height: 67.7rem;
  }
  .s3-tl::before {
    left: 5.7rem;
    top: 68.6rem;
    height: 5.6rem;
  }
  .s3-tl::after {
    left: 5.3rem;
    top: 72.2rem;
    width: 1rem;
    height: 1rem;
  }
  .s3-tl__list {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    height: auto;
    padding-top: 0.1rem;
  }
  .s3-tl__list .s3-tl__item {
    position: relative;
    top: auto;
    left: auto;
    width: 24rem;
    margin-left: 8.1rem;
  }
  .s3-tl__time {
    left: -8.1rem;
    font-size: 1.6rem;
  }
  .s3-tl__body {
    margin-left: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
  .s3-tl__title {
    font-size: 1.6rem;
    line-height: 1.5;
    white-space: normal;
  }
  .s3-tl__note {
    margin-top: 0;
    white-space: normal;
  }
}

.s3-heading {
  position: absolute;
  left: 0;
  top: 104.1rem;
  width: 100%;
  text-align: center;
  font-weight: 900;
  font-size: 3.2rem;
  line-height: 1;
  letter-spacing: 0.064rem;
  color: var(--green);
  white-space: nowrap;
}

@media (max-width: 767px) {
  .s3-heading {
    top: 123.9rem;
    font-size: 1.8rem;
    letter-spacing: 0.036rem;
  }
}

.s3-card {
  position: absolute;
  top: 110.5rem;
  width: 39.5rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  cursor: pointer;
}

.s3-card--1 { left: 9rem; }
.s3-card--2 { left: 52.2rem; }
.s3-card--3 { left: 95.4rem; }

.s3-card--green { --s3-accent: var(--green); --s3-badge-ink: var(--green); }
.s3-card--yellow { --s3-accent: var(--yellow); --s3-badge-ink: var(--s3-yellow-ink); }
.s3-card--red { --s3-accent: var(--red); --s3-badge-ink: var(--red); }

.s3-card__figure {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2;
  margin-bottom: -0.3rem;
  border: 0.3rem solid var(--s3-accent);
  border-radius: 1rem 1rem 0 0;
}

.s3-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.7rem 0.7rem 0 0;
}

.s3-card__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  padding: 2.1rem;
  background: var(--white);
  border: 0.3rem solid var(--s3-accent);
  border-radius: 0 0 1rem 1rem;
}

.s3-card__time {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1.1rem;
  border: 0.1rem solid var(--s3-accent);
  border-radius: 5rem;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.028rem;
  color: var(--s3-badge-ink);
  white-space: nowrap;
}

.s3-card__title {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.048rem;
  color: var(--ink);
  white-space: nowrap;
}

.s3-card__text {
  width: 100%;
  height: 7.2rem;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
  color: var(--ink);
}

.s3-card__more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  padding: 1rem 2.2rem;
  border: 0.2rem solid var(--s3-accent);
  border-radius: 1rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
  color: var(--ink);
  white-space: nowrap;
}

.s3-card__more-icon {
  width: 2.4rem;
  height: 2.4rem;
  transition: rotate 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@media (hover: hover) {
  .s3-card:hover .s3-card__more-icon,
  .s3-card__more:hover .s3-card__more-icon {
    rotate: 180deg;
  }
}

.s3-card__more:focus-visible .s3-card__more-icon {
  rotate: 180deg;
}

@media (max-width: 767px) {
  .s3-card {
    left: 2rem;
    width: 36.2rem;
  }
  .s3-card--1 { top: 129.7rem; }
  .s3-card--2 { top: 184.233rem; }
  .s3-card--3 { top: 236.367rem; }

  .s3-card__text {
    height: auto;
  }
  .s3-card__more {
    padding: 1rem 2.2rem;
    font-size: 1.4rem;
    letter-spacing: 0.028rem;
  }
  .s3-card__more-icon {
    width: 2rem;
    height: 2rem;
  }
}

.modal__panel--content {
  overflow: visible;
  max-height: none;
  width: 80rem;
  padding: 6.1rem;
  background: var(--white);
  border: 0.3rem solid var(--s3-accent);
  border-radius: 5rem;
}

.modal__panel--content .modal__body {
  width: calc(100% + 4.5rem);
  padding-right: 4.5rem;
  max-height: calc(90vh - 12.8rem);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.modal__panel--content .modal__body > .pc-only,
.modal__panel--content .modal__body > .sp-only {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
  width: 100%;
}

@media (min-width: 768px) {
  .modal__panel--content .modal__body > .sp-only {
    display: none;
  }
}

#modal-talk .modal__panel--content { --s3-accent: var(--green); --s3-on-accent: var(--white); --s3-accent-ink: var(--green); }
#modal-bizcon .modal__panel--content { --s3-accent: var(--yellow); --s3-on-accent: var(--ink); --s3-accent-ink: var(--s3-yellow-ink); }
#modal-alumni .modal__panel--content { --s3-accent: var(--red); --s3-on-accent: var(--white); --s3-accent-ink: var(--red); }

.modal__panel--content .modal__close {
  position: absolute;
  top: -0.9rem;
  right: -0.9rem;
  width: 4rem;
  height: 4rem;
  background: url("../img/s3/xmark-circle.svg") center / contain no-repeat;
  border-radius: 50%;
}

.s3-modal__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  width: 100%;
  text-align: center;
  color: var(--ink);
}

.s3-modal__title {
  width: 100%;
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.5;
  letter-spacing: 0.064rem;
}

.s3-modal__lead {
  width: 100%;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
}

.s3-modal__time {
  color: var(--s3-accent-ink, var(--s3-accent));
}

.s3-modal__award {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  width: 100%;
  padding: 2.4rem;
  background: var(--s3-accent);
  border-radius: 1.6rem;
  text-align: center;
}

.s3-modal__award-label {
  width: 100%;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
  color: var(--s3-on-accent);
}

.s3-modal__award-main {
  width: 100%;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.048rem;
  color: var(--s3-on-accent);
}

.s3-modal__award-note {
  width: 100%;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.028rem;
  color: var(--s3-sub);
}

.s3-modal__dept {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
  width: 100%;
}

.s3-modal__dept-head {
  width: 100%;
  padding: 1.2rem 2.4rem;
  background: var(--s3-accent);
  border-radius: 1rem;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.036rem;
  text-align: center;
  color: var(--s3-on-accent);
}

.s3-modal__figure {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 1.6rem;
}

.s3-modal__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.s3-modal__texts {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  width: 100%;
}

.s3-modal__body {
  width: 100%;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.032rem;
  color: var(--ink);
}

.s3-modal__detail {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.2rem;
  width: 100%;
}

.s3-modal__dl {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  width: 100%;
}

.s3-modal__line {
  width: 100%;
  height: 0;
  margin-top: -0.1rem;
  border-top: 0.1rem solid var(--s3-accent);
}

.s3-modal__row {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
  color: var(--ink);
}

.s3-modal__dt {
  flex-shrink: 0;
  width: 8.2rem;
  font-weight: 700;
}

.s3-modal__dd {
  flex: 1 0 0;
  min-width: 0.1rem;
  font-weight: 400;
}

.s3-modal__link {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  border-bottom: 0.1rem solid var(--s3-rule);
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.032rem;
  color: var(--ink);
  white-space: nowrap;
}

.s3-modal__link-icon {
  width: 2.4rem;
  height: 2.4rem;
}

.s3-modal__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1.6rem 3.2rem;
  background: var(--s3-accent);
  border-radius: 5rem;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.036rem;
  color: var(--s3-on-accent);
  white-space: nowrap;
}

.s3-modal__cta-icon {
  width: 2.4rem;
  height: 2.4rem;
}

@media (max-width: 767px) {
  .modal__panel--content {
    width: 36.2rem;
    padding: 3.7rem 2.1rem;
  }
  .modal__panel--content .modal__body {
    max-height: calc(90vh - 8rem);
    width: calc(100% + 1.2rem);
    padding-right: 1.2rem;
  }
  .modal__panel--content .modal__body > .pc-only {
    display: none;
  }
  .modal__panel--content .modal__body > .sp-only {
    gap: 3.2rem;
  }
  .modal__panel--content .modal__close {
    top: -1.1rem;
    right: -1.9rem;
  }

  .s3-modal__title {
    font-size: 2.4rem;
    letter-spacing: 0.048rem;
  }
  .s3-modal__award {
    gap: 1.2rem;
    padding: 1.6rem;
  }
  .s3-modal__award-label {
    font-size: 1.4rem;
    letter-spacing: 0.028rem;
  }
  .s3-modal__award-main {
    font-size: 1.6rem;
    letter-spacing: 0.032rem;
  }
  .s3-modal__dept {
    gap: 1.6rem;
  }
  .s3-modal__dept-head {
    padding: 1.2rem 1.6rem;
    font-size: 1.6rem;
    letter-spacing: 0.032rem;
  }
  .s3-modal__row {
    flex-direction: column;
    gap: 0.8rem;
  }
  .s3-modal__dd {
    flex: none;
    width: 100%;
  }
  .s3-modal__cta {
    font-size: 1.6rem;
    letter-spacing: 0.032rem;
  }
  .s3-modal__cta-icon {
    width: 2.2rem;
    height: 2.2rem;
  }
}

.s4-badge {
  position: absolute;
}
.s4-badge__bg {
  position: absolute;
  left: 0;
  top: 0;
}
.s4-badge__en,
.s4-badge__ja {
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  color: var(--green);
  line-height: 1;
}
.s4-badge__en {
  font-weight: 500;
}
.s4-badge__ja {
  font-weight: 700;
}

.s4-map,
.s4-photo {
  position: absolute;
  border-radius: 1rem;
  overflow: hidden;
}
.s4-map img,
.s4-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.s4-map__frame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.s4-info {
  position: absolute;
  display: flex;
  flex-direction: column;
}
.s4-info__head {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.s4-info__venue {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.048rem;
  color: var(--ink);
}
.s4-info__addr,
.s4-info__way-body,
.s4-info__note {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
  color: var(--ink);
}
.s4-info__ways,
.s4-info__way {
  display: flex;
  flex-direction: column;
}
.s4-info__way-head {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.s4-info__way-icon {
  flex: 0 0 auto;
  width: 2.4rem;
  height: 2.4rem;
}
.s4-info__way-title {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.036rem;
  color: var(--ink);
  white-space: nowrap;
}

.s4-hand {
  position: absolute;
  pointer-events: none;
  transform-origin: 0 0;
}
.s4-hand--red {
  transform: rotate(30deg);
}
.s4-hand--blue {
  transform: rotate(-45deg);
}

.s4-arch {
  position: absolute;
  top: 0;
}

.s4-hist__title {
  position: absolute;
  text-align: center;
  font-weight: 700;
  line-height: 1;
  color: var(--green);
  white-space: nowrap;
}

.s4-about {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.s4-about__en,
.s4-about__ja {
  width: 100%;
  text-align: center;
  line-height: 1;
  color: var(--red);
}
.s4-about__en {
  font-weight: 500;
}
.s4-about__ja {
  font-weight: 700;
}
.s4-about__body {
  position: absolute;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
  color: var(--ink);
}

.s4-hist__subtitle {
  position: absolute;
  text-align: center;
  font-weight: 700;
  line-height: 1;
  color: var(--blue);
  white-space: nowrap;
}
.s4-hist__lead {
  position: absolute;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
  color: var(--ink);
}

.s4-tl {
  position: absolute;
}
.s4-tl__rail {
  position: absolute;
}
.s4-tl__rail.js-fade {
  opacity: 1;
  translate: none;
  transition: none;
}
.s4-tl__line {
  display: block;
  width: 100%;
  height: 100%;
  transition: clip-path 1.2s linear;
  will-change: clip-path;
}
.s4-tl__rail.is-in .s4-tl__line {
  clip-path: inset(0 0 0 0);
}
.s4-tl__dot {
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  padding: 0.5rem;
}
.s4-tl__year {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1;
  color: var(--blue);
}
.s4-tl__label {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  color: var(--ink);
}
.s4-tl__ph {
  flex: 0 0 auto;
  width: 14.8rem;
  height: 9.9rem;
  overflow: hidden;
  background: #e9e9e9;
}

.s4-tl__ph img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 767px) {
  .s4-br--pc { display: none; }
}
@media (min-width: 768px) {
  .s4-br--sp { display: none; }
}

@media (min-width: 768px) {
  .sec--access {
    height: 120.4rem;
  }

  .s4-badge {
    left: 54.2rem;
    top: 0;
    width: 35.6rem;
    height: 16.4rem;
  }
  .s4-badge__bg {
    width: 35.6rem;
    height: 16.4rem;
  }
  .s4-badge__en {
    top: 4rem;
    font-size: 1.6rem;
    letter-spacing: 0.032rem;
  }
  .s4-badge__ja {
    top: 7.2rem;
    font-size: 3.2rem;
    letter-spacing: 0.064rem;
  }

  .s4-map {
    left: 9rem;
    top: 20.4rem;
    width: 82.7rem;
    height: 46.6rem;
  }

  .s4-info {
    left: 95.7rem;
    top: 27.2rem;
    width: 39.3rem;
    gap: 3.2rem;
  }
  .s4-info__head {
    width: 39.2rem;
  }
  .s4-info__ways {
    gap: 2.4rem;
  }
  .s4-info__way {
    gap: 1.6rem;
  }
  .s4-info__way--train {
    width: 34.3rem;
  }

  .s4-photo {
    top: 71rem;
    width: 61rem;
    height: 34.4rem;
  }
  .s4-photo--1 {
    left: 9rem;
  }
  .s4-photo--2 {
    left: 74rem;
  }

  .s4-hand--red {
    left: -1.9rem;
    top: 37.2rem;
    width: 24rem;
    height: 33.8rem;
  }
  .s4-hand--blue {
    left: 121.3rem;
    top: 86.3066rem;
    width: 15rem;
    height: 36.3777rem;
  }

  .sec--history {
    height: 121.5rem;
  }

  .s4-arch {
    left: 13.7rem;
    width: 116.512rem;
    height: 29.475rem;
  }

  .s4-hist__title {
    left: 42.6rem;
    top: 33.4rem;
    width: 58.7rem;
    font-size: 6.4rem;
    letter-spacing: 0.128rem;
  }

  .s4-about {
    left: 60.6rem;
    top: 48.8rem;
    width: 22.8rem;
    gap: 1.6rem;
  }
  .s4-about__en {
    font-size: 1.6rem;
    letter-spacing: 0.032rem;
  }
  .s4-about__ja {
    font-size: 3.2rem;
    letter-spacing: 0.064rem;
  }
  .s4-about__body {
    left: 32rem;
    top: 59.2rem;
    width: 80rem;
    text-align: center;
  }

  .s4-hist__subtitle {
    left: 57.4rem;
    top: 73.2rem;
    width: 29.1rem;
    font-size: 3.2rem;
    letter-spacing: 0.064rem;
  }
  .s4-hist__lead {
    left: 43.6rem;
    top: 79.6rem;
    width: 56.8rem;
    text-align: center;
    white-space: nowrap;
  }

  .s4-tl__rail {
    left: -0.148rem;
    top: 85.895rem;
    width: 135.1rem;
    height: 2.20919rem;
  }
  .s4-tl__line {
    clip-path: inset(0 100% 0 0);
  }
  .s4-tl {
    left: 0;
    top: 86rem;
    width: 144rem;
    height: 25.9rem;
  }
  .s4-tl__item {
    position: absolute;
    top: 0;
    width: 14.8rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
  }
  .s4-tl__item--1 { left: 11.5rem; }
  .s4-tl__item--2 { left: 32.7rem; }
  .s4-tl__item--3 { left: 53.9rem; }
  .s4-tl__item--4 { left: 75.1rem; }
  .s4-tl__item--5 { left: 96.3rem; }
  .s4-tl__item--6 { left: 117.5rem; }
  .s4-tl__year,
  .s4-tl__label {
    width: 100%;
    text-align: center;
  }

  .s4-tl__item.js-fade[data-delay="1"] { transition-delay: 0.17s; }
  .s4-tl__item.js-fade[data-delay="2"] { transition-delay: 0.36s; }
  .s4-tl__item.js-fade[data-delay="3"] { transition-delay: 0.55s; }
  .s4-tl__item.js-fade[data-delay="4"] { transition-delay: 0.73s; }
  .s4-tl__item.js-fade[data-delay="5"] { transition-delay: 0.92s; }
  .s4-tl__item.js-fade[data-delay="6"] { transition-delay: 1.11s; }
}

@media (max-width: 767px) {
  .sec--access {
    height: 91.2rem;
  }

  .s4-badge {
    left: 6.6rem;
    top: 0;
    width: 27rem;
    height: 10.1rem;
  }
  .s4-badge__bg {
    width: 27rem;
    height: 10.1rem;
  }
  .s4-badge__en {
    top: 2.1rem;
    font-size: 1.4rem;
    letter-spacing: 0.028rem;
  }
  .s4-badge__ja {
    top: 4.1573rem;
    font-size: 2.4rem;
    letter-spacing: 0.048rem;
  }

  .s4-map {
    left: 2rem;
    top: 14.1rem;
    width: 36.2rem;
    height: 20.4rem;
  }

  .s4-info {
    left: 2rem;
    top: 37.7rem;
    width: 36.2rem;
    gap: 2.4rem;
  }
  .s4-info__head {
    width: 36.2rem;
  }
  .s4-info__ways {
    gap: 1.6rem;
  }
  .s4-info__way {
    gap: 0.8rem;
  }
  .s4-info__way--train {
    width: 34.3rem;
  }

  .s4-photo {
    border-radius: 0.5rem;
    top: 72.3rem;
    width: 17.6rem;
    height: 9.9rem;
  }
  .s4-photo--1 {
    left: 2rem;
  }
  .s4-photo--2 {
    left: 20.6rem;
  }

  .s4-hand--red {
    left: 0.761621rem;
    top: 20.6rem;
    width: 12rem;
    height: 16.9232rem;
  }
  .s4-hand--blue {
    left: 32.1rem;
    top: 80.4033rem;
    width: 7.5rem;
    height: 18.1889rem;
  }

  .sec--history {
    height: 138.4rem;
  }

  .s4-arch {
    left: 2.1rem;
    width: 36rem;
    height: 9.1rem;
  }

  .s4-hist__title {
    left: 5.3rem;
    top: 15.1rem;
    width: 29.4rem;
    font-size: 3.2rem;
    letter-spacing: 0.064rem;
  }

  .s4-about {
    left: 8.7rem;
    top: 24.7rem;
    width: 22.8rem;
    gap: 1.6rem;
  }
  .s4-about__en {
    font-size: 1.4rem;
    letter-spacing: 0.028rem;
  }
  .s4-about__ja {
    font-size: 2.4rem;
    letter-spacing: 0.048rem;
  }
  .s4-about__body {
    left: 2rem;
    top: 32.5rem;
    width: 36.2rem;
    text-align: left;
  }

  .s4-hist__subtitle {
    left: 9.15rem;
    top: 55.7rem;
    width: 21.9rem;
    font-size: 2.4rem;
    letter-spacing: 0.048rem;
  }
  .s4-hist__lead {
    left: 2rem;
    top: 60.5rem;
    width: 36.2rem;
    text-align: left;
  }

  .s4-tl__rail {
    left: 2.99541rem;
    top: 68.35rem;
    width: 2.3rem;
    height: 63.7rem;
  }
  .s4-tl__line {
    clip-path: inset(0 0 100% 0);
  }
  .s4-tl {
    left: 3.1rem;
    top: 71.7rem;
    width: 35rem;
    height: 56.9rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 4rem;
  }
  .s4-tl__item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.6rem;
  }
  .s4-tl__item--img {
    width: 100%;
    height: 9.9rem;
  }
  .s4-tl__year {
    flex: 0 0 auto;
    width: 3.8rem;
    text-align: center;
  }
  .s4-tl__label {
    text-align: left;
    white-space: nowrap;
  }

}

.s5 {
  position: relative;
  overflow: hidden;
}
.s5--pc {
  width: 144rem;
  height: 146.988rem;
}
.s5--sp {
  width: 40.2rem;
  height: 158.6rem;
}

.s5-stat {
  position: absolute;
  display: flex;
  flex-direction: column;
  background: var(--white);
  border: 0.3rem solid currentColor;
  border-radius: 5rem;
}
.s5-stat--green { color: var(--green); }
.s5-stat--red   { color: var(--red); }
.s5-stat--blue  { color: var(--blue); }

.s5-stat__num {
  position: relative;
  display: block;
  height: 12rem;
}
.s5-stat__num > span {
  position: absolute;
  display: block;
  line-height: 1;
  white-space: nowrap;
}
.s5-stat__big {
  top: 0;
  left: 0;
  font-weight: 900;
  font-size: 12rem;
  letter-spacing: 0.24rem;
}
.s5-stat__unit {
  top: 7rem;
  font-weight: 500;
  font-size: 4rem;
  letter-spacing: 0.08rem;
}
.s5-stat__b1  { left: 0; }
.s5-stat__u1b { left: 17.2rem; }
.s5-stat__u2  { left: 11.3rem; }
.s5-stat__u3  { left: 10.75rem; }

.s5-stat__num--1 { width: 25.4rem; }
.s5-stat__num--2 { width: 15.38rem; }
.s5-stat__num--3 { width: 22.99rem; }

.s5-stat__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4rem;
  padding: 0 1.6rem;
  border-radius: 5rem;
  color: var(--white);
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.048rem;
  white-space: nowrap;
}
.s5-stat--green .s5-stat__badge { background: var(--green); }
.s5-stat--red   .s5-stat__badge { background: var(--red); }
.s5-stat--blue  .s5-stat__badge { background: var(--blue); }

.s5--pc .s5-stat {
  top: 0;
  width: 39.5rem;
  height: 28.5rem;
  padding-top: 3.7rem;
  gap: 2.4rem;
}
.s5--pc .s5-stat--green { left: 8.9rem;  align-items: flex-start; padding-left: 6.8rem; }
.s5--pc .s5-stat--red   { left: 52.2rem; align-items: center; }
.s5--pc .s5-stat--blue  { left: 95.5rem; align-items: center; }

.s5--sp .s5-stat {
  border-radius: 3rem;
  left: 2rem;
  width: 36.2rem;
  height: 24rem;
  gap: 1.6rem;
}
.s5--sp .s5-stat--green { top: 0;       padding-top: 2rem;   align-items: flex-start; padding-left: 5.2rem; }
.s5--sp .s5-stat--red   { top: 27.6rem; padding-top: 2.3rem; align-items: center; padding-left: 1rem; }
.s5--sp .s5-stat--blue  { top: 55.2rem; padding-top: 2.3rem; align-items: center; }

.s5-link {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 0.1rem solid #000;
  color: var(--ink);
}
.s5-link__t {
  font-weight: 700;
  white-space: nowrap;
}
.s5-link__i {
  flex: none;
  width: 2.4rem;
  height: 2.4rem;
}
.s5--pc .s5-link {
  left: 48.8rem;
  top: 32.5rem;
  width: 46.3rem;
  height: 2.4rem;
}
.s5--pc .s5-link__t {
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.036rem;
}
.s5--sp .s5-link {
  left: 8.3rem;
  top: 83.2rem;
  width: 23.6rem;
  height: 4rem;
}
.s5--sp .s5-link__t {
  font-size: 1.6rem;
  line-height: 1.25;
  letter-spacing: 0.032rem;
}

.s5--pc .s5-arrowline {
  position: absolute;
  display: block;
  left: 12.125rem;
  top: 44.0204rem;
  width: 33.55rem;
  height: 2.20919rem;
}
.s5-arrowline__img {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.s5-head {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--green);
  text-align: center;
  line-height: 1;
}
.s5-head__en { font-weight: 500; }
.s5-head__ja { font-weight: 700; white-space: nowrap; }

.s5--pc .s5-head {
  left: 54.05rem;
  top: 49.9rem;
  width: 35.9rem;
  gap: 1.6rem;
}
.s5--pc .s5-head__en { font-size: 1.6rem; letter-spacing: 0.032rem; }
.s5--pc .s5-head__ja { font-size: 3.2rem; letter-spacing: 0.064rem; }

.s5--sp .s5-head {
  left: 6.6rem;
  top: 93.6rem;
  width: 26.9rem;
  gap: 1.6rem;
}
.s5--sp .s5-head__en { font-size: 1.4rem; letter-spacing: 0.028rem; }
.s5--sp .s5-head__ja { font-size: 2.4rem; letter-spacing: 0.048rem; }

.s5-lead {
  position: absolute;
  color: var(--ink);
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
}
.s5--pc .s5-lead {
  left: 48.4rem;
  top: 59.5rem;
  width: 47.2rem;
  text-align: center;
  white-space: nowrap;
}
.s5--sp .s5-lead {
  left: 2rem;
  top: 101.4rem;
  width: 36.2rem;
  text-align: left;
}

.s5-marquee {
  position: absolute;
  overflow: hidden;
}
.s5-marquee__track {
  position: absolute;
  top: 0;
  height: 100%;
  animation: s5-marquee-x var(--s5-loop-dur) linear infinite;
}
@keyframes s5-marquee-x {
  from {
    translate: 0 0;
  }
  to {
    translate: calc(var(--s5-loop) * -1) 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .s5-marquee__track {
    animation: none;
    translate: none;
  }
}

.s5-collage {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
}
.s5-collage--dup {
  left: var(--s5-loop);
}
.s5-tile {
  position: absolute;
  display: block;
  overflow: hidden;
}
.s5-tile__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.s5-tile--plate {
  z-index: 0;
}

.s5--pc .s5-marquee {
  --s5-loop: 201.258rem;
  --s5-loop-dur: 80s;
  left: 0;
  top: 68.3rem;
  width: 144rem;
  height: 54.088rem;
}
.s5--pc .s5-marquee__track {
  left: -28rem;
  width: calc(var(--s5-loop) * 2);
}
.s5--pc .s5-collage {
  width: 201.258rem;
}
.s5--pc .s5-tile { width: 18.8679rem; height: 12.5786rem; }
.s5--pc .s5-t35 { left: 0; top: 0; }
.s5--pc .s5-t36 { left: 20.1258rem; top: 0; }
.s5--pc .s5-t37 { left: 40.2516rem; top: 0; }
.s5--pc .s5-t38 { left: 60.3774rem; top: 0; }
.s5--pc .s5-t39 { left: 80.5031rem; top: 0; }
.s5--pc .s5-t73 { left: 100.6289rem; top: 0; background: var(--white); }
.s5--pc .s5-t40 { left: 100.6289rem; top: 0; }
.s5--pc .s5-t41 { left: 120.7547rem; top: 0; }
.s5--pc .s5-t42 { left: 140.8805rem; top: 0; }
.s5--pc .s5-t43 { left: 161.0063rem; top: 0; }
.s5--pc .s5-t44 { left: 181.1321rem; top: 0; }
.s5--pc .s5-t45 { left: 10.0629rem; top: 13.8365rem; }
.s5--pc .s5-t46 { left: 30.1887rem; top: 13.8365rem; }
.s5--pc .s5-t47 { left: 50.3145rem; top: 13.8365rem; }
.s5--pc .s5-t48 { left: 70.4403rem; top: 13.8365rem; }
.s5--pc .s5-t49 { left: 90.566rem; top: 13.8365rem; }
.s5--pc .s5-t50 { left: 110.6918rem; top: 13.8365rem; }
.s5--pc .s5-t51 { left: 130.8176rem; top: 13.8365rem; }
.s5--pc .s5-t52 { left: 150.9434rem; top: 13.8365rem; }
.s5--pc .s5-t53 { left: 171.0692rem; top: 13.8365rem; }
.s5--pc .s5-t54 { left: 0; top: 27.673rem; }
.s5--pc .s5-t55 { left: 20.1258rem; top: 27.673rem; }
.s5--pc .s5-t56 { left: 40.2516rem; top: 27.673rem; }
.s5--pc .s5-t57 { left: 60.3774rem; top: 27.673rem; }
.s5--pc .s5-t58 { left: 80.5031rem; top: 27.673rem; }
.s5--pc .s5-t59 { left: 100.6289rem; top: 27.673rem; }
.s5--pc .s5-t60 { left: 120.7547rem; top: 27.673rem; }
.s5--pc .s5-t61 { left: 140.8805rem; top: 27.673rem; }
.s5--pc .s5-t62 { left: 161.0063rem; top: 27.673rem; }
.s5--pc .s5-t63 { left: 181.1321rem; top: 27.673rem; }
.s5--pc .s5-t64 { left: 10.0629rem; top: 41.5094rem; }
.s5--pc .s5-t65 { left: 30.1887rem; top: 41.5094rem; }
.s5--pc .s5-t66 { left: 50.3145rem; top: 41.5094rem; }
.s5--pc .s5-t67 { left: 70.4403rem; top: 41.5094rem; }
.s5--pc .s5-t68 { left: 90.566rem; top: 41.5094rem; }
.s5--pc .s5-t69 { left: 110.6918rem; top: 41.5094rem; }
.s5--pc .s5-t70 { left: 130.8176rem; top: 41.5094rem; }
.s5--pc .s5-t71 { left: 150.9434rem; top: 41.5094rem; }
.s5--pc .s5-t72 { left: 171.0692rem; top: 41.5094rem; }
.s5--pc .s5-t74 { left: 191.195rem; top: 13.8365rem; }
.s5--pc .s5-t75 { left: 191.195rem; top: 41.5094rem; }
.s5--pc .s5-tile__img--fit40 { left: 36.04%; top: -0.28%; width: 27.6%; height: 100.28%; object-fit: fill; }
.s5--pc .s5-tile__img--fit45 { left: 0%; top: -19.75%; width: 100%; height: 150%; object-fit: fill; }

.s5--sp .s5-marquee {
  --s5-loop: 111.628rem;
  --s5-loop-dur: 120s;
  left: 0;
  top: 110.2rem;
  width: 40.2rem;
  height: 30rem;
}
.s5--sp .s5-marquee__track {
  left: -35.4rem;
  width: calc(var(--s5-loop) * 2);
}
.s5--sp .s5-collage {
  width: 111.628rem;
}
.s5--sp .s5-tile { width: 10.4651rem; height: 6.9768rem; }
.s5--sp .s5-t35 { left: 0; top: 0; }
.s5--sp .s5-t36 { left: 11.1628rem; top: 0; }
.s5--sp .s5-t37 { left: 22.3256rem; top: 0; }
.s5--sp .s5-t38 { left: 33.4884rem; top: 0; }
.s5--sp .s5-t39 { left: 44.6511rem; top: 0; }
.s5--sp .s5-t73 { left: 55.8139rem; top: 0; background: var(--white); }
.s5--sp .s5-t40 { left: 55.8139rem; top: 0; }
.s5--sp .s5-t41 { left: 66.9767rem; top: 0; }
.s5--sp .s5-t42 { left: 78.1395rem; top: 0; }
.s5--sp .s5-t43 { left: 89.3023rem; top: 0; }
.s5--sp .s5-t44 { left: 100.4651rem; top: 0; }
.s5--sp .s5-t45 { left: 5.5814rem; top: 7.6746rem; }
.s5--sp .s5-t46 { left: 16.7442rem; top: 7.6746rem; }
.s5--sp .s5-t47 { left: 27.907rem; top: 7.6746rem; }
.s5--sp .s5-t48 { left: 39.0698rem; top: 7.6746rem; }
.s5--sp .s5-t49 { left: 50.2325rem; top: 7.6746rem; }
.s5--sp .s5-t50 { left: 61.3953rem; top: 7.6746rem; }
.s5--sp .s5-t51 { left: 72.5581rem; top: 7.6746rem; }
.s5--sp .s5-t52 { left: 83.7209rem; top: 7.6746rem; }
.s5--sp .s5-t53 { left: 94.8837rem; top: 7.6746rem; }
.s5--sp .s5-t54 { left: 0; top: 15.3489rem; }
.s5--sp .s5-t55 { left: 11.1628rem; top: 15.3489rem; }
.s5--sp .s5-t56 { left: 22.3256rem; top: 15.3489rem; }
.s5--sp .s5-t57 { left: 33.4884rem; top: 15.3489rem; }
.s5--sp .s5-t58 { left: 44.6511rem; top: 15.3489rem; }
.s5--sp .s5-t59 { left: 55.8139rem; top: 15.3489rem; }
.s5--sp .s5-t60 { left: 66.9767rem; top: 15.3489rem; }
.s5--sp .s5-t61 { left: 78.1395rem; top: 15.3489rem; }
.s5--sp .s5-t62 { left: 89.3023rem; top: 15.3489rem; }
.s5--sp .s5-t63 { left: 100.4651rem; top: 15.3489rem; }
.s5--sp .s5-t64 { left: 5.5814rem; top: 23.0232rem; }
.s5--sp .s5-t65 { left: 16.7442rem; top: 23.0232rem; }
.s5--sp .s5-t66 { left: 27.907rem; top: 23.0232rem; }
.s5--sp .s5-t67 { left: 39.0698rem; top: 23.0232rem; }
.s5--sp .s5-t68 { left: 50.2325rem; top: 23.0232rem; }
.s5--sp .s5-t69 { left: 61.3953rem; top: 23.0232rem; }
.s5--sp .s5-t70 { left: 72.5581rem; top: 23.0232rem; }
.s5--sp .s5-t71 { left: 83.7209rem; top: 23.0232rem; }
.s5--sp .s5-t72 { left: 94.8837rem; top: 23.0232rem; }
.s5--sp .s5-t74 { left: 106.0465rem; top: 7.6746rem; }
.s5--sp .s5-t75 { left: 106.0465rem; top: 23.0232rem; }
.s5--sp .s5-tile__img--fit40 { left: 36.04%; top: -0.28%; width: 27.6%; height: 100.28%; object-fit: fill; }
.s5--sp .s5-tile__img--fit45 { left: 0%; top: -19.75%; width: 100%; height: 150%; object-fit: fill; }

.s5-btn {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--green);
  border-radius: 5rem;
  color: var(--white);
}
.s5-btn__t {
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.s5-btn__i { flex: none; }

.s5--pc .s5-btn {
  left: 57.9rem;
  top: 126.388rem;
  width: 28.2rem;
  height: 5.6rem;
  gap: 1rem;
}
.s5--pc .s5-btn__t { font-size: 1.8rem; letter-spacing: 0.036rem; }
.s5--pc .s5-btn__i { width: 2.4rem; height: 2.4rem; }

.s5--sp .s5-btn {
  left: 7.2rem;
  top: 144.2rem;
  width: 25.9rem;
  height: 5.4rem;
  gap: 1rem;
}
.s5--sp .s5-btn__t { font-size: 1.6rem; letter-spacing: 0.032rem; }
.s5--sp .s5-btn__i { width: 2.2rem; height: 2.2rem; }

:root {
  --s6-band-light: #e0f8ec;
  --s6-field: #e6f8fb;
  --s6-note: #666666;
  --s6-hairline: #000000;
}

.s6-board {
  height: calc(
    20.8rem + var(--s6-list-h, 40.8rem) + var(--s6-more-block, 21.012rem) +
      var(--s6-form-h, 62.1rem) + 2.3rem
  );
}

.s6-board.is-more-hidden {
  --s6-more-block: 8.012rem;
}

.s6-board__empty {
  grid-column: 1 / -1;
  width: 124.9rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
  text-align: center;
  color: var(--ink);
}

.s6-board__head {
  position: absolute;
  left: 44.25rem;
  top: 0;
  width: 55.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  text-align: center;
  color: var(--green);
}

.s6-board__label {
  width: 100%;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.032rem;
}

.s6-board__title {
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1;
  letter-spacing: 0.064rem;
  white-space: nowrap;
}

.s6-board__lead {
  position: absolute;
  left: 42.6rem;
  top: 9.6rem;
  width: 58.8rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
  text-align: center;
  color: var(--ink);
}

.s6-board__list {
  position: absolute;
  left: 9rem;
  top: 20.8rem;
  display: grid;
  grid-template-columns: repeat(3, 39.5rem);
  column-gap: 3.2rem;
  row-gap: 3.2rem;
}

.s6-card {
  position: relative;
  width: 39.5rem;
  height: 18.8rem;
  cursor: pointer;
}

.s6-card--green {
  --s6-accent: var(--green);
}

.s6-card--red {
  --s6-accent: var(--red);
}

.s6-card--blue {
  --s6-accent: var(--blue);
}

.s6-card__shadow {
  position: absolute;
  left: 1rem;
  top: 1rem;
  display: block;
  width: 39.5rem;
  height: 18.8rem;
  background: var(--s6-accent);
  border: 0.2rem solid var(--ink);
}

.s6-card__body {
  position: relative;
  z-index: 1;
  width: 39.5rem;
  height: 18.8rem;
  padding: 2.2rem;
  background: var(--white);
  border: 0.2rem solid var(--ink);
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.s6-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
  color: var(--s6-accent);
  white-space: nowrap;
}

.s6-card__name {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.048rem;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.s6-card__foot {
  display: flex;
  align-items: center;
  gap: 2.4rem;
}

.s6-card__text {
  flex: 1 0 0;
  min-width: 0;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
  color: var(--ink);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

.s6-card__more {
  flex-shrink: 0;
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  padding: 0;
  border: 0;
}

.s6-card__more img {
  width: 2.4rem;
  height: 2.4rem;
}

.s6-more {
  position: absolute;
  left: 59.7rem;
  top: calc(20.8rem + var(--s6-list-h, 40.8rem) + 7.412rem);
  width: 24.5rem;
  height: 5.6rem;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  border: 0.1rem solid var(--green);
  border-radius: 5rem;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.036rem;
  color: var(--green);
  white-space: nowrap;
}

.s6-more img {
  width: 2.4rem;
  height: 2.4rem;
}

.s6-card__more img,
.s6-more img {
  rotate: 0deg;
  transition: rotate 0.4s var(--ease-pop);
}

@media (hover: hover) {
  .s6-card:hover .s6-card__more img,
  .s6-more:hover img {
    rotate: 180deg;
  }
  .s6-card:hover {
    z-index: 1;
  }
}

.s6-card:focus-within {
  z-index: 1;
}

.s6-card__more:focus-visible img,
.s6-more:focus-visible img {
  rotate: 180deg;
}

.s6-form {
  position: absolute;
  left: 9rem;
  top: calc(20.8rem + var(--s6-list-h, 40.8rem) + var(--s6-more-block, 21.012rem));
  width: 126rem;
  height: 62.1rem;
  background: var(--white);
  border-radius: 5rem;
}

.s6-form::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 0.3rem solid var(--ink);
  border-radius: 5rem;
  pointer-events: none;
}

.s6-form__title {
  position: absolute;
  left: 50.8rem;
  top: 8rem;
  width: 24.5rem;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.048rem;
  text-align: center;
  color: var(--green);
  white-space: nowrap;
}

.s6-form__label {
  position: absolute;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.032rem;
  color: var(--ink);
  white-space: nowrap;
}

.s6-form__label--name {
  left: 6.6rem;
  top: 14.4rem;
}

.s6-form__label--role {
  left: 49.9rem;
  top: 14.4rem;
}

.s6-form__label--body {
  left: 6.6rem;
  top: 28.7rem;
}

.s6-form__field {
  position: absolute;
  background: var(--s6-field);
  border: 0;
  border-radius: 1rem;
  padding: 0 2.4rem;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
  color: var(--ink);
}

.s6-form__field--name {
  left: 6.4rem;
  top: 17.6rem;
  width: 39.5rem;
  height: 7.1rem;
}

.s6-form__field--role {
  left: 49.9rem;
  top: 17.6rem;
  width: 39.5rem;
  height: 7.1rem;
  color: var(--s6-note);
  cursor: pointer;
}

.s6-form__field--body {
  left: 6.4rem;
  top: 31.9rem;
  width: 113.1rem;
  height: 14.2rem;
  padding: 2.4rem;
  resize: none;
  font-weight: 500;
}

.s6-form__note {
  position: absolute;
  left: 6.5rem;
  top: 48.5rem;
  width: 58.8rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
  color: var(--s6-note);
}

.s6-form__submit {
  position: absolute;
  left: 94.8rem;
  top: 48.5rem;
  width: 24.5rem;
  height: 5.6rem;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  border: 0;
  border-radius: 5rem;
  background: var(--green);
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.036rem;
  color: var(--white);
  white-space: nowrap;
}

.s6-form__submit img {
  width: 2.4rem;
  height: 2.4rem;
}

.s6-form__submit:disabled {
  opacity: 0.6;
  cursor: default;
}

.s6-form__honeypot {
  position: absolute;
  left: -9999rem;
  top: 0;
  width: 0.1rem;
  height: 0.1rem;
  overflow: hidden;
}

.s6-form__result {
  position: absolute;
  left: 66.4rem;
  top: 55.9rem;
  width: 53.1rem;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
  text-align: center;
  color: var(--ink);
}

.s6-form__result:empty {
  display: none;
}

.s6-form__result.is-ok {
  color: var(--green);
}

.s6-form__result.is-ng {
  color: var(--red);
}

.s6-cta {
  height: 40.1rem;
}

.s6-cta__band-light {
  position: absolute;
  left: 0;
  top: 0;
  width: 144rem;
  height: 9.7rem;
  background: var(--s6-band-light);
}

.s6-cta__band-green {
  position: absolute;
  left: 0;
  top: 9.7rem;
  width: 144rem;
  height: 44.8rem;
  background: var(--green);
}

.s6-cta__inner {
  position: absolute;
  left: 29.8rem;
  top: 15.9rem;
  width: 84.4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}

.s6-cta__title {
  width: 100%;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.048rem;
  text-align: center;
  color: var(--white);
}

.s6-cta__buttons {
  display: flex;
  align-items: center;
  gap: 6.4rem;
  width: calc(100% + 6rem);
}

.s6-cta__btn {
  width: 42rem;
  height: 8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  background: var(--white);
  border: 0.3rem solid var(--red);
  border-radius: 15rem;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.048rem;
  color: var(--red);
  white-space: nowrap;
}

.s6-cta__btn--blue {
  border-color: var(--blue);
  color: var(--blue);
}

.s6-cta__btn img {
  width: 3.2rem;
  height: 3.2rem;
}

.s6-cta__note {
  margin-top: -2.4rem;
  width: 100%;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.028rem;
  text-align: center;
  color: var(--white);
}

.s6-footer {
  position: relative;
  z-index: 1;
  width: 144rem;
  height: 46.8rem;
  margin-inline: auto;
  background: var(--blue);
  border-radius: 10rem 10rem 0 0;
}

.s6-footer__logo-link {
  display: block;
  position: absolute;
  left: 60rem;
  top: 8rem;
  width: 24rem;
  height: 11.8rem;
}

.s6-footer__logo {
  display: block;
  width: 100%;
  height: 100%;
}

.s6-footer__info {
  position: absolute;
  left: 48.6rem;
  top: 24.6rem;
  width: 46.7rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.032rem;
  text-align: center;
  color: var(--white);
}

.s6-footer__info p {
  white-space: nowrap;
}

.s6-footer__mail {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

.s6-footer__copyright {
  position: absolute;
  left: 29.8rem;
  top: 37.4rem;
  width: 84.4rem;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.028rem;
  text-align: center;
  color: var(--white);
}

.modal__panel--board {
  overflow: visible;
  max-height: none;
  background: none;
}

.modal__panel--board .modal__body {
  max-height: 90vh;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-bottom: 1rem;
  margin-bottom: -1rem;
}

.s6-pop {
  position: relative;
  width: 40.5rem;
}

.s6-pop--green {
  --s6-accent: var(--green);
}

.s6-pop--red {
  --s6-accent: var(--red);
}

.s6-pop--blue {
  --s6-accent: var(--blue);
}

.s6-pop__shadow {
  position: absolute;
  left: 1rem;
  top: 1rem;
  bottom: -1rem;
  display: block;
  width: 39.5rem;
  background: var(--s6-accent);
  border: 0.2rem solid var(--ink);
}

.s6-pop__body {
  position: relative;
  z-index: 1;
  width: 39.5rem;
  padding: 2.2rem;
  background: var(--white);
  border: 0.2rem solid var(--ink);
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.s6-pop__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
  color: var(--s6-accent);
  white-space: nowrap;
}

.s6-pop__name {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.048rem;
  color: var(--ink);
}

.s6-pop__foot {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
}

.s6-pop__text {
  width: 100%;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.032rem;
  color: var(--ink);
}

.s6-pop__close {
  box-sizing: border-box;
  padding: 0.5rem 3.15rem;
  border: 0.1rem solid var(--s6-hairline);
  border-radius: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.032rem;
  color: var(--ink);
  white-space: nowrap;
}

@media (max-width: 767px) {
  .s6-board {
    height: calc(
      12.2rem + var(--s6-list-h, 129.8rem) + var(--s6-more-block, 19.4rem) +
        var(--s6-form-h, 86rem) + 4.8rem
    );
  }

  .s6-board.is-more-hidden {
    --s6-more-block: 9rem;
  }

  .s6-board__empty {
    width: 36.1rem;
  }

  .s6-board__head {
    left: 4.2rem;
    top: 0;
    width: 31.8rem;
  }

  .s6-board__label {
    font-size: 1.4rem;
    letter-spacing: 0.028rem;
  }

  .s6-board__title {
    font-size: 2.4rem;
    line-height: 1.25;
    letter-spacing: 0.048rem;
  }

  .s6-board__list {
    left: 2.1rem;
    top: 12.2rem;
    display: flex;
    flex-direction: column;
    gap: 3.4rem;
  }

  .s6-card,
  .s6-card__shadow,
  .s6-card__body {
    width: 36.1rem;
  }

  .s6-more {
    left: 8.8rem;
    top: calc(12.2rem + var(--s6-list-h, 129.8rem) + 5rem);
    width: 22.7rem;
    height: 5.4rem;
    font-size: 1.6rem;
    letter-spacing: 0.032rem;
  }

  .s6-more img {
    width: 2.2rem;
    height: 2.2rem;
  }

  .s6-form {
    left: 2rem;
    top: calc(12.2rem + var(--s6-list-h, 129.8rem) + var(--s6-more-block, 19.4rem));
    width: 36.2rem;
    height: auto;
    min-height: 86rem;
    padding: 4rem 2.4rem;
    border-radius: 3rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3.2rem;
  }

  .s6-form::before {
    content: none;
  }

  .s6-form__title,
  .s6-form__label,
  .s6-form__field,
  .s6-form__note,
  .s6-form__submit,
  .s6-form__result {
    position: static;
  }

  .s6-form__result {
    width: 100%;
  }

  .s6-form__title {
    width: 100%;
  }

  .s6-form__row {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
  }

  .s6-form__label {
    width: 100%;
  }

  .s6-form__field {
    width: 100%;
  }

  .s6-form__field--name,
  .s6-form__field--role {
    height: 7.1rem;
  }

  .s6-form__field--role {
    text-align: center;
    padding: 0;
  }

  .s6-form__field--body {
    height: 14.2rem;
  }

  .s6-form__note {
    width: 100%;
  }

  .s6-cta {
    height: 46.6rem;
  }

  .s6-cta__band-light {
    display: none;
  }

  .s6-cta__band-green {
    top: 0;
    width: 40.2rem;
    height: 55.6rem;
  }

  .s6-cta__inner {
    left: 2rem;
    top: 6.6rem;
    width: 36.2rem;
  }

  .s6-cta__title {
    line-height: 1.5;
  }

  .s6-cta__buttons {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 2.4rem;
    width: 100%;
  }

  .s6-cta__btn {
    width: 36.2rem;
    font-size: 1.8rem;
    letter-spacing: 0.036rem;
  }

  .s6-footer {
    width: 40.2rem;
    height: 47.4rem;
    border-radius: 5rem 5rem 0 0;
  }

  .s6-footer__logo-link {
    left: 8.1rem;
    top: 9rem;
  }

  .s6-footer__info {
    left: 2.4rem;
    top: 23.4rem;
    width: 36.2rem;
    line-height: 1.25;
  }

  .s6-footer__info p {
    white-space: normal;
  }

  .s6-footer__copyright {
    left: 8.5rem;
    top: 39.2rem;
    width: 23.2rem;
  }

  .s6-pop {
    width: 37.1rem;
  }

  .s6-pop__shadow,
  .s6-pop__body {
    width: 36.1rem;
  }
}
