@charset "UTF-8";
:root {
  --board: 1280;
  --max: 1px;
}

:root {
  --colorBlack: #333;
  --colorBg: #fff;
  --colorCurrent: #c7c7c7;
  --color-primary: #ccf04b;
  --color-primary_light: #edfed3;
  --color-primary_dark: #4ac54a;
  --color-secondary: #ff8c40;
  --color-navy: #2e2f54;
}

:root {
  --fontMain:
    "Zen Maru Gothic", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    "MS Pゴシック", "MS PGothic", sans-serif;
  --fontGothic:
    "Noto Sans JP", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    "MS Pゴシック", "MS PGothic", sans-serif;
  --fontMincho:
    "Zen Old Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝",
    "MS PMincho", serif;
  --fontEnglish: "Oswald", sans-serif;
  --fontMaru: var(--fontMain);
}

:root {
  --weightLight: 300;
  --weightRegular: 400;
  --weightMedium: 500;
  --weightBold: 700;
}

:root {
  --fontSize: 16rem;
  --letterSpacing: 0;
  --lineHeight: 1.75;
  --kerning: unset;
}

:root {
  --bodyBg: var(--colorBg);
  --speed: 0.3s;
}

body.is-loading {
  overflow: hidden;
  position: fixed;
  width: 100%;
}

.main {
  overflow: hidden;
}
.main.is-loaded {
  -webkit-animation: img-wrap 3.4s cubic-bezier(0.4, 0, 0.2, 1);
          animation: img-wrap 3.4s cubic-bezier(0.4, 0, 0.2, 1);
  background-color: #fff;
}
.main.is-loaded .campaign-button {
  opacity: 0;
  pointer-events: none;
}
.main.is-loaded .campaign-button.is-scroll-visible {
  opacity: 1;
  pointer-events: auto;
}
.main.is-loaded .campaign-button.is-scrolled {
  opacity: 0;
  pointer-events: none;
}

.campaign-button {
  position: fixed;
  right: clamp(0px, 10vw / var(--board) * 10 * 46, var(--max) * 46);
  bottom: clamp(0px, 10vw / var(--board) * 10 * 46, var(--max) * 46);
  width: clamp(0px, 10vw / var(--board) * 10 * 244, var(--max) * 244);
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  pointer-events: none;
  z-index: 1;
}

.loading-container {
  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background-color: var(--color-primary);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100dvh;
}
.loading-container.is-loaded {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  display: none;
}

.loading-wrap {
  position: relative;
  width: clamp(0px, 10vw / var(--board) * 10 * 400, var(--max) * 400);
  height: clamp(0px, 10vw / var(--board) * 10 * 343, var(--max) * 343);
  opacity: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.loading-wrap.loading-wrap--visible {
  opacity: 1;
}

.loading-wrap__image {
  position: absolute;
  width: 100%;
  height: 100%;
}
.loading-wrap__image.loading-point {
  opacity: 0;
  -webkit-transform: scale(0.4);
          transform: scale(0.4);
  -webkit-transition: opacity 0.6s, -webkit-transform 0.6s;
  transition: opacity 0.6s, -webkit-transform 0.6s;
  transition: opacity 0.6s, transform 0.6s;
  transition: opacity 0.6s, transform 0.6s, -webkit-transform 0.6s;
}
.loading-wrap__image.loading-point.loading-point--finished {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.loading-wrap__image.loading-top {
  top: 0;
  left: 0;
  -webkit-animation: loading-top 2.2s ease-in-out infinite;
          animation: loading-top 2.2s ease-in-out infinite;
  -webkit-transition: -webkit-transform 0.4s ease-in-out;
  transition: -webkit-transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
  /* アニメーション解除時の橋渡し（最終キーフレームと同じ値） */
}
.loading-wrap__image.loading-top.loading-top--bridge {
  -webkit-animation: none;
          animation: none;
  -webkit-transform: rotate(1.4deg);
          transform: rotate(1.4deg);
}
.loading-wrap__image.loading-top.loading-top--finished {
  -webkit-animation: none;
          animation: none;
  -webkit-transform: rotate(6.5deg) translate(clamp(var(--max) * -6, 10vw / var(--board) * 10 * -6, 0px), clamp(var(--max) * -20, 10vw / var(--board) * 10 * -20, 0px));
          transform: rotate(6.5deg) translate(clamp(var(--max) * -6, 10vw / var(--board) * 10 * -6, 0px), clamp(var(--max) * -20, 10vw / var(--board) * 10 * -20, 0px));
}
.loading-wrap__image.loading-bottom {
  bottom: 0;
  right: 0;
}

@-webkit-keyframes loading-top {
  0% {
    -webkit-transform: rotate(1.4deg);
            transform: rotate(1.4deg);
  }
  12% {
    -webkit-transform: rotate(-0.3deg);
            transform: rotate(-0.3deg);
  }
  28% {
    -webkit-transform: rotate(0.9deg);
            transform: rotate(0.9deg);
  }
  45% {
    -webkit-transform: rotate(-0.8deg);
            transform: rotate(-0.8deg);
  }
  58% {
    -webkit-transform: rotate(0.2deg);
            transform: rotate(0.2deg);
  }
  72% {
    -webkit-transform: rotate(-0.5deg);
            transform: rotate(-0.5deg);
  }
  85% {
    -webkit-transform: rotate(1.1deg);
            transform: rotate(1.1deg);
  }
  100% {
    -webkit-transform: rotate(1.4deg);
            transform: rotate(1.4deg);
  }
}

@keyframes loading-top {
  0% {
    -webkit-transform: rotate(1.4deg);
            transform: rotate(1.4deg);
  }
  12% {
    -webkit-transform: rotate(-0.3deg);
            transform: rotate(-0.3deg);
  }
  28% {
    -webkit-transform: rotate(0.9deg);
            transform: rotate(0.9deg);
  }
  45% {
    -webkit-transform: rotate(-0.8deg);
            transform: rotate(-0.8deg);
  }
  58% {
    -webkit-transform: rotate(0.2deg);
            transform: rotate(0.2deg);
  }
  72% {
    -webkit-transform: rotate(-0.5deg);
            transform: rotate(-0.5deg);
  }
  85% {
    -webkit-transform: rotate(1.1deg);
            transform: rotate(1.1deg);
  }
  100% {
    -webkit-transform: rotate(1.4deg);
            transform: rotate(1.4deg);
  }
}
@-webkit-keyframes img-wrap {
  0% {
    clip-path: circle(0 at 50% 50%);
    -webkit-clip-path: circle(0 at 50% 50%);
  }
  100% {
    /* 長方形を完全に覆うため半径を141%以上に（√2×100%） */
    clip-path: circle(141% at 50% 50%);
    -webkit-clip-path: circle(141% at 50% 50%);
  }
}
@keyframes img-wrap {
  0% {
    clip-path: circle(0 at 50% 50%);
    -webkit-clip-path: circle(0 at 50% 50%);
  }
  100% {
    /* 長方形を完全に覆うため半径を141%以上に（√2×100%） */
    clip-path: circle(141% at 50% 50%);
    -webkit-clip-path: circle(141% at 50% 50%);
  }
}
@-webkit-keyframes float {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}
@keyframes float {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}
@-webkit-keyframes float-rotate {
  0%, 100% {
    -webkit-transform: translateY(0) rotate(-125deg) scale(1, -1);
            transform: translateY(0) rotate(-125deg) scale(1, -1);
  }
  50% {
    -webkit-transform: translateY(-10px) rotate(-125deg) scale(1, -1);
            transform: translateY(-10px) rotate(-125deg) scale(1, -1);
  }
}
@keyframes float-rotate {
  0%, 100% {
    -webkit-transform: translateY(0) rotate(-125deg) scale(1, -1);
            transform: translateY(0) rotate(-125deg) scale(1, -1);
  }
  50% {
    -webkit-transform: translateY(-10px) rotate(-125deg) scale(1, -1);
            transform: translateY(-10px) rotate(-125deg) scale(1, -1);
  }
}
.mv {
  position: relative;
  min-height: clamp(0px, 10vw / var(--board) * 10 * 400, var(--max) * 400);
}
.mv:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: clamp(0px, 10vw / var(--board) * 10 * 908, var(--max) * 908);
  background-image: url("../images/bg_mv.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.mv::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: clamp(0px, 10vw / var(--board) * 10 * 908, var(--max) * 908);
  background-image: url("../images/bg_mv-bottom.svg");
  background-size: cover;
  background-position: bottom;
  z-index: 0;
  pointer-events: none;
}

.mv__inner {
  position: relative;
  min-height: clamp(0px, 10vw / var(--board) * 10 * 400, var(--max) * 400);
  max-width: clamp(0px, 10vw / var(--board) * 10 * 1400, var(--max) * 1400);
  margin: auto;
  padding: clamp(0px, 10vw / var(--board) * 10 * 52, var(--max) * 52) clamp(0px, 10vw / var(--board) * 10 * 20, var(--max) * 20) 0;
}

.mv__title {
  position: absolute;
  top: clamp(0px, 10vw / var(--board) * 10 * 222, var(--max) * 222);
  left: clamp(0px, 10vw / var(--board) * 10 * 200, var(--max) * 200);
  width: clamp(0px, 10vw / var(--board) * 10 * 263, var(--max) * 263);
}

.mv__image {
  position: relative;
  width: clamp(0px, 10vw / var(--board) * 10 * 575, var(--max) * 575);
  margin: auto;
  z-index: 2;
}
.mv__image.is-loaded {
  -webkit-animation: poyon 2.1s ease-in-out 0s 1;
          animation: poyon 2.1s ease-in-out 0s 1;
}
.mv__image.is-loaded.is-animated {
  -webkit-animation: mv-pyoko 4s ease-in-out infinite;
          animation: mv-pyoko 4s ease-in-out infinite;
}

@-webkit-keyframes poyon {
  0% {
    -webkit-transform: scale(0.8, 1.1) translate(0%, -10%);
            transform: scale(0.8, 1.1) translate(0%, -10%);
  }
  10% {
    -webkit-transform: scale(0.8, 1.1) translate(0%, -15%);
            transform: scale(0.8, 1.1) translate(0%, -15%);
  }
  20% {
    -webkit-transform: scale(1.1, 0.6) translate(0%, 10%);
            transform: scale(1.1, 0.6) translate(0%, 10%);
  }
  30% {
    -webkit-transform: scale(0.9, 1.1) translate(0%, -10%);
            transform: scale(0.9, 1.1) translate(0%, -10%);
  }
  40% {
    -webkit-transform: scale(0.95, 1.05) translate(0%, -10%);
            transform: scale(0.95, 1.05) translate(0%, -10%);
  }
  50% {
    -webkit-transform: scale(0.95, 1.05) translate(0%, -10%);
            transform: scale(0.95, 1.05) translate(0%, -10%);
  }
  60% {
    -webkit-transform: scale(1.1, 0.9) translate(0%, 5%);
            transform: scale(1.1, 0.9) translate(0%, 5%);
  }
  70% {
    -webkit-transform: scale(1, 1) translate(0%, 0%);
            transform: scale(1, 1) translate(0%, 0%);
  }
  100% {
    -webkit-transform: scale(1, 1) translate(0%, 0%);
            transform: scale(1, 1) translate(0%, 0%);
  }
}

@keyframes poyon {
  0% {
    -webkit-transform: scale(0.8, 1.1) translate(0%, -10%);
            transform: scale(0.8, 1.1) translate(0%, -10%);
  }
  10% {
    -webkit-transform: scale(0.8, 1.1) translate(0%, -15%);
            transform: scale(0.8, 1.1) translate(0%, -15%);
  }
  20% {
    -webkit-transform: scale(1.1, 0.6) translate(0%, 10%);
            transform: scale(1.1, 0.6) translate(0%, 10%);
  }
  30% {
    -webkit-transform: scale(0.9, 1.1) translate(0%, -10%);
            transform: scale(0.9, 1.1) translate(0%, -10%);
  }
  40% {
    -webkit-transform: scale(0.95, 1.05) translate(0%, -10%);
            transform: scale(0.95, 1.05) translate(0%, -10%);
  }
  50% {
    -webkit-transform: scale(0.95, 1.05) translate(0%, -10%);
            transform: scale(0.95, 1.05) translate(0%, -10%);
  }
  60% {
    -webkit-transform: scale(1.1, 0.9) translate(0%, 5%);
            transform: scale(1.1, 0.9) translate(0%, 5%);
  }
  70% {
    -webkit-transform: scale(1, 1) translate(0%, 0%);
            transform: scale(1, 1) translate(0%, 0%);
  }
  100% {
    -webkit-transform: scale(1, 1) translate(0%, 0%);
            transform: scale(1, 1) translate(0%, 0%);
  }
}
@-webkit-keyframes mv-pyoko {
  0%, 70% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  75% {
    -webkit-transform: translateY(clamp(var(--max) * -10, 10vw / var(--board) * 10 * -10, 0px));
            transform: translateY(clamp(var(--max) * -10, 10vw / var(--board) * 10 * -10, 0px));
  }
  80% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  84% {
    -webkit-transform: translateY(clamp(var(--max) * -6, 10vw / var(--board) * 10 * -6, 0px));
            transform: translateY(clamp(var(--max) * -6, 10vw / var(--board) * 10 * -6, 0px));
  }
  88%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes mv-pyoko {
  0%, 70% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  75% {
    -webkit-transform: translateY(clamp(var(--max) * -10, 10vw / var(--board) * 10 * -10, 0px));
            transform: translateY(clamp(var(--max) * -10, 10vw / var(--board) * 10 * -10, 0px));
  }
  80% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  84% {
    -webkit-transform: translateY(clamp(var(--max) * -6, 10vw / var(--board) * 10 * -6, 0px));
            transform: translateY(clamp(var(--max) * -6, 10vw / var(--board) * 10 * -6, 0px));
  }
  88%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.mv-flow {
  position: absolute;
  top: clamp(0px, 10vw / var(--board) * 10 * 310, var(--max) * 310);
  right: clamp(0px, 10vw / var(--board) * 10 * 70, var(--max) * 70);
  -webkit-transform: translateY(-50%) scale(0.7);
          transform: translateY(-50%) scale(0.7);
  opacity: 0;
  width: clamp(0px, 10vw / var(--board) * 10 * 431, var(--max) * 431);
  height: clamp(0px, 10vw / var(--board) * 10 * 338, var(--max) * 338);
  pointer-events: none;
  background-image: url("../images/image_mv_fukidashi.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: opacity 1s ease-in-out, -webkit-transform 1s ease-in-out;
  transition: opacity 1s ease-in-out, -webkit-transform 1s ease-in-out;
  transition: opacity 1s ease-in-out, transform 1s ease-in-out;
  transition: opacity 1s ease-in-out, transform 1s ease-in-out, -webkit-transform 1s ease-in-out;
}
.mv-flow.is-loaded {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
  -webkit-transform: translateY(-50%) scale(1);
          transform: translateY(-50%) scale(1);
  opacity: 1;
}
@-webkit-keyframes mv-flow {
  0% {
    -webkit-transform: translateY(-50%) scale(0);
            transform: translateY(-50%) scale(0);
  }
  100% {
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
}
@keyframes mv-flow {
  0% {
    -webkit-transform: translateY(-50%) scale(0);
            transform: translateY(-50%) scale(0);
  }
  100% {
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
}

.mv-flow__text {
  position: absolute;
  top: 23.4%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  max-width: clamp(0px, 10vw / var(--board) * 10 * 370, var(--max) * 370);
  text-align: center;
}

.mv-flow__greeting {
  font-weight: 900;
  font-size: clamp(0px, 10vw / var(--board) * 10 * 36, var(--max) * 36);
  line-height: 1.5;
  margin: 0 0 0.3em;
}

.mv-flow__name {
  font-weight: var(--weightBold);
  font-size: clamp(0px, 10vw / var(--board) * 10 * 70, var(--max) * 70);
  line-height: 1.2;
  margin: 0 0 0.25em;
}
.mv-flow__name small {
  font-size: clamp(0px, 10vw / var(--board) * 10 * 24, var(--max) * 24);
}

.mv-flow__message {
  font-weight: 900;
  font-size: clamp(0px, 10vw / var(--board) * 10 * 30, var(--max) * 30);
  line-height: 1;
  margin: 0;
}

.mv-flow--thanks {
  top: clamp(0px, 10vw / var(--board) * 10 * 542, var(--max) * 542);
  right: auto;
  left: clamp(0px, 10vw / var(--board) * 10 * 222, var(--max) * 222);
  background-image: url("../images/image_mv_fukidashi-thanks.svg");
  width: clamp(0px, 10vw / var(--board) * 10 * 244, var(--max) * 244);
  height: clamp(0px, 10vw / var(--board) * 10 * 191, var(--max) * 191);
}
.mv-flow--thanks.is-loaded {
  -webkit-transition-delay: 2s;
          transition-delay: 2s;
}
.mv-flow--thanks .mv-flow__message {
  font-size: clamp(0px, 10vw / var(--board) * 10 * 18, var(--max) * 18);
  line-height: 1.5;
  font-weight: 700;
}

.mv__copy {
  font-family: var(--fontMain);
  font-weight: 900;
  font-size: clamp(0px, 10vw / var(--board) * 10 * 32, var(--max) * 32);
  line-height: 1.7;
  position: relative;
  text-align: center;
  margin: clamp(0px, 10vw / var(--board) * 10 * 16, var(--max) * 16) auto 0;
  z-index: 1;
  ruby-align: center;
}

.mv__copy-highlight {
  color: var(--color-primary_dark);
  border-bottom: 4px solid var(--color-primary_dark);
  padding-bottom: 2px;
}

.about {
  background-color: var(--color-primary_light);
}

.about .section-inner {
  padding-top: clamp(0px, 10vw / var(--board) * 10 * 80, var(--max) * 80);
  padding-bottom: clamp(0px, 10vw / var(--board) * 10 * 66, var(--max) * 66);
  position: relative;
}

.about__title {
  font-size: clamp(0px, 10vw / var(--board) * 10 * 28, var(--max) * 28);
  line-height: 1.5;
  margin: 0 auto clamp(0px, 10vw / var(--board) * 10 * 24, var(--max) * 24);
  ruby-align: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}

.about__copy {
  font-size: clamp(0px, 10vw / var(--board) * 10 * 18, var(--max) * 18);
  text-align: center;
  font-weight: bold;
  line-height: 2.1;
  ruby-align: center;
  margin-bottom: clamp(0px, 10vw / var(--board) * 10 * 108, var(--max) * 108);
}
.about__copy ruby[data-ruby]::after {
  -webkit-transform: translate(-57%, -0.1em);
          transform: translate(-57%, -0.1em);
}
.about__copy .about-line {
  position: relative;
}
.about__copy .about-line:before {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(0px, 10vw / var(--board) * 10 * 30, var(--max) * 30);
  height: 2px;
  background-color: #2e2f54;
  vertical-align: middle;
  margin-top: clamp(var(--max) * -4, 10vw / var(--board) * 10 * -4, 0px);
  margin-left: clamp(0px, 10vw / var(--board) * 10 * 8, var(--max) * 8);
}

.about-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr clamp(0px, 10vw / var(--board) * 10 * 100, var(--max) * 100) 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(0px, 10vw / var(--board) * 10 * 100, var(--max) * 100);
  list-style: none;
  margin: 0 auto clamp(0px, 10vw / var(--board) * 10 * 100, var(--max) * 100);
  padding: 0;
}

.about-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0px, 10vw / var(--board) * 10 * 20, var(--max) * 20);
  position: relative;
}
.about-list__item:before, .about-list__item:after {
  content: "";
  background-image: url("../images/image_about-blink.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  display: inline-block;
  position: absolute;
  opacity: 0;
}
.about-list__item.is-scrolled:before, .about-list__item.is-scrolled:after {
  -webkit-animation: campaign-blink 1.6s ease-in-out infinite;
          animation: campaign-blink 1.6s ease-in-out infinite;
}
.about-list__item.is-scrolled:after {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.about-list__item:before {
  width: clamp(0px, 10vw / var(--board) * 10 * 29, var(--max) * 29);
  height: clamp(0px, 10vw / var(--board) * 10 * 29, var(--max) * 29);
  top: clamp(var(--max) * -70, 10vw / var(--board) * 10 * -70, 0px);
}
.about-list__item:after {
  width: clamp(0px, 10vw / var(--board) * 10 * 18, var(--max) * 18);
  height: clamp(0px, 10vw / var(--board) * 10 * 18, var(--max) * 18);
  top: clamp(var(--max) * -32, 10vw / var(--board) * 10 * -32, 0px);
}
.about-list__item:nth-of-type(1):before {
  left: clamp(0px, 10vw / var(--board) * 10 * 124, var(--max) * 124);
}
.about-list__item:nth-of-type(1):after {
  right: clamp(0px, 10vw / var(--board) * 10 * 124, var(--max) * 124);
}
.about-list__item:nth-of-type(2):before {
  right: clamp(0px, 10vw / var(--board) * 10 * 124, var(--max) * 124);
}
.about-list__item:nth-of-type(2):after {
  left: clamp(0px, 10vw / var(--board) * 10 * 124, var(--max) * 124);
}

.about-list__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: clamp(0px, 10vw / var(--board) * 10 * 98, var(--max) * 98);
  padding: 0 clamp(0px, 10vw / var(--board) * 10 * 35, var(--max) * 35);
  background-color: #57c96c;
  border-radius: clamp(0px, 10vw / var(--board) * 10 * 20, var(--max) * 20);
  font-family: var(--fontMain);
  font-weight: var(--weightBold);
  font-size: clamp(0px, 10vw / var(--board) * 10 * 24, var(--max) * 24);
  line-height: 1.55;
  color: #fff;
  text-align: center;
  margin: 0;
  position: relative;
}
.about-list__header span {
  line-height: 1.8;
}
.about-list__header:before {
  content: "";
  background-image: url("../images/image_sprout.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  display: inline-block;
  position: absolute;
  width: clamp(0px, 10vw / var(--board) * 10 * 115, var(--max) * 115);
  height: clamp(0px, 10vw / var(--board) * 10 * 57, var(--max) * 57);
  left: 50%;
  top: clamp(var(--max) * -56, 10vw / var(--board) * 10 * -56, 0px);
  -webkit-transform: translateX(-57%) translateY(clamp(0px, 10vw / var(--board) * 10 * 36, var(--max) * 36));
          transform: translateX(-57%) translateY(clamp(0px, 10vw / var(--board) * 10 * 36, var(--max) * 36));
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.45s ease, -webkit-transform 0.88s cubic-bezier(0.34, 1, 0.64, 1);
  transition: opacity 0.45s ease, -webkit-transform 0.88s cubic-bezier(0.34, 1, 0.64, 1);
  transition: transform 0.88s cubic-bezier(0.34, 1, 0.64, 1), opacity 0.45s ease;
  transition: transform 0.88s cubic-bezier(0.34, 1, 0.64, 1), opacity 0.45s ease, -webkit-transform 0.88s cubic-bezier(0.34, 1, 0.64, 1);
}
.about-list__header ruby[data-ruby]::after {
  -webkit-transform: translate(-57%, -0.3em);
          transform: translate(-57%, -0.3em);
}

.about-list__item.is-scrolled .about-list__header:before {
  -webkit-transform: translateX(-50%) translateY(0);
          transform: translateX(-50%) translateY(0);
  opacity: 1;
}
.about-list__text {
  font-family: var(--fontMain);
  font-weight: 700;
  font-size: clamp(0px, 10vw / var(--board) * 10 * 18, var(--max) * 18);
  line-height: 1.9;
  margin: 0;
  min-height: clamp(0px, 10vw / var(--board) * 10 * 96, var(--max) * 96);
}
.about-list__text ruby[data-ruby]::after {
  -webkit-transform: translate(-57%, -0.2em);
          transform: translate(-57%, -0.2em);
}

.about-list__image {
  overflow: hidden;
  aspect-ratio: 440/311;
}
.about-list__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.about-profile {
  position: relative;
  background-color: #3c8d3c;
  border: solid clamp(0px, 10vw / var(--board) * 10 * 15, var(--max) * 15) #c69823;
  color: white;
  padding: clamp(0px, 10vw / var(--board) * 10 * 32, var(--max) * 32) clamp(0px, 10vw / var(--board) * 10 * 50, var(--max) * 50);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: clamp(0px, 10vw / var(--board) * 10 * 60, var(--max) * 60);
}
.about-profile:after {
  content: "";
  background-image: url("../images/image_profile-parts.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  display: inline-block;
  position: absolute;
  width: clamp(0px, 10vw / var(--board) * 10 * 735, var(--max) * 735);
  height: clamp(0px, 10vw / var(--board) * 10 * 37, var(--max) * 37);
  bottom: clamp(var(--max) * -3, 10vw / var(--board) * 10 * -3, 0px);
  left: clamp(0px, 10vw / var(--board) * 10 * 25, var(--max) * 25);
}

.profile-visual__title {
  border-radius: clamp(0px, 10vw / var(--board) * 10 * 10, var(--max) * 10);
  border: solid 1px white;
  padding: clamp(0px, 10vw / var(--board) * 10 * 10, var(--max) * 10);
  font-weight: 900;
  font-size: clamp(0px, 10vw / var(--board) * 10 * 20, var(--max) * 20);
  line-height: 1;
  text-align: center;
  max-width: clamp(0px, 10vw / var(--board) * 10 * 166, var(--max) * 166);
  margin: 0 auto clamp(0px, 10vw / var(--board) * 10 * 30, var(--max) * 30);
}

.profile-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: clamp(0px, 10vw / var(--board) * 10 * 22, var(--max) * 22);
}
.profile-list__item:not(:last-child) {
  margin-bottom: clamp(0px, 10vw / var(--board) * 10 * 16, var(--max) * 16);
}

.profile-list__item-title {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: clamp(0px, 10vw / var(--board) * 10 * 104, var(--max) * 104);
}

.profile-list__item-text {
  font-size: clamp(0px, 10vw / var(--board) * 10 * 16, var(--max) * 16);
  line-height: 2;
  font-weight: bold;
  margin-top: clamp(0px, 10vw / var(--board) * 10 * 3, var(--max) * 3);
  ruby-align: start;
}
.profile-list__item-text rt {
  font-size: 0.67em;
}
.profile-list__item-text ruby[data-ruby]::after {
  font-size: 0.6em;
  -webkit-transform: translate(-57%, -0.3em);
          transform: translate(-57%, -0.3em);
}
.profile-list__item-text .profile-list__item-note {
  font-size: clamp(0px, 10vw / var(--board) * 10 * 14, var(--max) * 14);
  display: block;
  font-weight: 500;
}

@-webkit-keyframes profile-visual-yurayura {
  0% {
    -webkit-transform: rotate(-1.45deg) translateY(0);
            transform: rotate(-1.45deg) translateY(0);
  }
  25% {
    -webkit-transform: rotate(0deg) translateY(clamp(var(--max) * -3, 10vw / var(--board) * 10 * -3, 0px));
            transform: rotate(0deg) translateY(clamp(var(--max) * -3, 10vw / var(--board) * 10 * -3, 0px));
  }
  50% {
    -webkit-transform: rotate(1.45deg) translateY(0);
            transform: rotate(1.45deg) translateY(0);
  }
  75% {
    -webkit-transform: rotate(0deg) translateY(clamp(var(--max) * -3, 10vw / var(--board) * 10 * -3, 0px));
            transform: rotate(0deg) translateY(clamp(var(--max) * -3, 10vw / var(--board) * 10 * -3, 0px));
  }
  100% {
    -webkit-transform: rotate(-1.45deg) translateY(0);
            transform: rotate(-1.45deg) translateY(0);
  }
}

@keyframes profile-visual-yurayura {
  0% {
    -webkit-transform: rotate(-1.45deg) translateY(0);
            transform: rotate(-1.45deg) translateY(0);
  }
  25% {
    -webkit-transform: rotate(0deg) translateY(clamp(var(--max) * -3, 10vw / var(--board) * 10 * -3, 0px));
            transform: rotate(0deg) translateY(clamp(var(--max) * -3, 10vw / var(--board) * 10 * -3, 0px));
  }
  50% {
    -webkit-transform: rotate(1.45deg) translateY(0);
            transform: rotate(1.45deg) translateY(0);
  }
  75% {
    -webkit-transform: rotate(0deg) translateY(clamp(var(--max) * -3, 10vw / var(--board) * 10 * -3, 0px));
            transform: rotate(0deg) translateY(clamp(var(--max) * -3, 10vw / var(--board) * 10 * -3, 0px));
  }
  100% {
    -webkit-transform: rotate(-1.45deg) translateY(0);
            transform: rotate(-1.45deg) translateY(0);
  }
}
.profile-visual__image {
  margin: 0;
  -webkit-transform-origin: 50% 88%;
          transform-origin: 50% 88%;
  -webkit-animation: profile-visual-yurayura 2.8s linear infinite;
          animation: profile-visual-yurayura 2.8s linear infinite;
}
.profile-visual__image img {
  display: block;
  max-width: 100%;
  height: auto;
}

.tanehachi-motion__image {
  width: clamp(0px, 10vw / var(--board) * 10 * 95, var(--max) * 95);
  height: clamp(0px, 10vw / var(--board) * 10 * 121, var(--max) * 121);
  position: absolute;
  right: 0;
  bottom: clamp(var(--max) * -20, 10vw / var(--board) * 10 * -20, 0px);
  -webkit-transition: opacity 0.45s ease;
  transition: opacity 0.45s ease;
}
.tanehachi-motion__image:first-child {
  z-index: 1;
}
.tanehachi-motion__image:nth-child(2) {
  z-index: 2;
}
.tanehachi-motion__image:nth-child(3) {
  z-index: 3;
}
.tanehachi-motion__image:first-child, .tanehachi-motion__image:nth-child(2), .tanehachi-motion__image:nth-child(3) {
  opacity: 0;
  -webkit-animation: none;
          animation: none;
}
.tanehachi-motion__image:first-child.is-tanehachi-sequence-active {
  opacity: 1;
  -webkit-animation: tanehachi-motion-1 3s ease-in-out 1 forwards;
          animation: tanehachi-motion-1 3s ease-in-out 1 forwards;
}
.tanehachi-motion__image:nth-child(2).is-tanehachi-sequence-active {
  opacity: 1;
  -webkit-animation: tanehachi-motion-2 3s ease-in-out 1 forwards;
          animation: tanehachi-motion-2 3s ease-in-out 1 forwards;
}
.tanehachi-motion__image:nth-child(3) .motion-base {
  z-index: 1;
}
.tanehachi-motion__image:nth-child(3) .motion-flow {
  z-index: 2;
}
.tanehachi-motion__image:nth-child(3) .motion-treat3 {
  z-index: 3;
}
.tanehachi-motion__image:nth-child(3) .motion-treat2 {
  z-index: 4;
}
.tanehachi-motion__image:nth-child(3) .motion-treat1 {
  z-index: 5;
}
.tanehachi-motion__image:nth-child(3) .motion-base,
.tanehachi-motion__image:nth-child(3) .motion-flow {
  opacity: 0;
}
.tanehachi-motion__image:nth-child(3) .motion-treat {
  opacity: 0;
  pointer-events: none;
  -webkit-animation: none;
          animation: none;
}
.tanehachi-motion__image:nth-child(3).is-tanehachi-sequence-active {
  opacity: 1;
}
.tanehachi-motion__image:nth-child(3).is-tanehachi-sequence-active .motion-base,
.tanehachi-motion__image:nth-child(3).is-tanehachi-sequence-active .motion-flow {
  opacity: 1;
}
.tanehachi-motion__image:nth-child(3).is-tanehachi-sequence-active {
  /* infinite では animation-delay が 2 周目以降に効かないため、周期内に遅延を埋め込む */
}
.tanehachi-motion__image:nth-child(3).is-tanehachi-sequence-active .motion-treat3 {
  -webkit-animation: tanehachi-motion-treat-loop-3 3.8s ease-in-out infinite;
          animation: tanehachi-motion-treat-loop-3 3.8s ease-in-out infinite;
}
.tanehachi-motion__image:nth-child(3).is-tanehachi-sequence-active .motion-treat2 {
  -webkit-animation: tanehachi-motion-treat-loop-2 3.8s ease-in-out infinite;
          animation: tanehachi-motion-treat-loop-2 3.8s ease-in-out infinite;
}
.tanehachi-motion__image:nth-child(3).is-tanehachi-sequence-active .motion-treat1 {
  -webkit-animation: tanehachi-motion-treat-loop-1 3.8s ease-in-out infinite;
          animation: tanehachi-motion-treat-loop-1 3.8s ease-in-out infinite;
}
.tanehachi-motion__image > img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.tanehachi-motion__image img[class*=motion-] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

@-webkit-keyframes tanehachi-motion-1 {
  0% {
    -webkit-transform: translateX(0) rotate(0deg) scale(1);
            transform: translateX(0) rotate(0deg) scale(1);
  }
  22% {
    -webkit-transform: translateX(clamp(var(--max) * -2, 10vw / var(--board) * 10 * -2, 0px)) rotate(-1.6deg) scale(0.96);
            transform: translateX(clamp(var(--max) * -2, 10vw / var(--board) * 10 * -2, 0px)) rotate(-1.6deg) scale(0.96);
  }
  45% {
    -webkit-transform: translateX(clamp(0px, 10vw / var(--board) * 10 * 2, var(--max) * 2)) rotate(1.6deg) scale(0.9);
            transform: translateX(clamp(0px, 10vw / var(--board) * 10 * 2, var(--max) * 2)) rotate(1.6deg) scale(0.9);
  }
  68% {
    -webkit-transform: translateX(clamp(var(--max) * -2, 10vw / var(--board) * 10 * -2, 0px)) rotate(-1.2deg) scale(0.9);
            transform: translateX(clamp(var(--max) * -2, 10vw / var(--board) * 10 * -2, 0px)) rotate(-1.2deg) scale(0.9);
  }
  85% {
    -webkit-transform: translateX(clamp(0px, 10vw / var(--board) * 10 * 2, var(--max) * 2)) rotate(0.6deg) scale(1.01);
            transform: translateX(clamp(0px, 10vw / var(--board) * 10 * 2, var(--max) * 2)) rotate(0.6deg) scale(1.01);
  }
  100% {
    -webkit-transform: translateX(0) rotate(0deg) scale(1);
            transform: translateX(0) rotate(0deg) scale(1);
  }
}

@keyframes tanehachi-motion-1 {
  0% {
    -webkit-transform: translateX(0) rotate(0deg) scale(1);
            transform: translateX(0) rotate(0deg) scale(1);
  }
  22% {
    -webkit-transform: translateX(clamp(var(--max) * -2, 10vw / var(--board) * 10 * -2, 0px)) rotate(-1.6deg) scale(0.96);
            transform: translateX(clamp(var(--max) * -2, 10vw / var(--board) * 10 * -2, 0px)) rotate(-1.6deg) scale(0.96);
  }
  45% {
    -webkit-transform: translateX(clamp(0px, 10vw / var(--board) * 10 * 2, var(--max) * 2)) rotate(1.6deg) scale(0.9);
            transform: translateX(clamp(0px, 10vw / var(--board) * 10 * 2, var(--max) * 2)) rotate(1.6deg) scale(0.9);
  }
  68% {
    -webkit-transform: translateX(clamp(var(--max) * -2, 10vw / var(--board) * 10 * -2, 0px)) rotate(-1.2deg) scale(0.9);
            transform: translateX(clamp(var(--max) * -2, 10vw / var(--board) * 10 * -2, 0px)) rotate(-1.2deg) scale(0.9);
  }
  85% {
    -webkit-transform: translateX(clamp(0px, 10vw / var(--board) * 10 * 2, var(--max) * 2)) rotate(0.6deg) scale(1.01);
            transform: translateX(clamp(0px, 10vw / var(--board) * 10 * 2, var(--max) * 2)) rotate(0.6deg) scale(1.01);
  }
  100% {
    -webkit-transform: translateX(0) rotate(0deg) scale(1);
            transform: translateX(0) rotate(0deg) scale(1);
  }
}
@-webkit-keyframes tanehachi-motion-2 {
  0%, 100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  25% {
    -webkit-transform: translate(clamp(var(--max) * -4, 10vw / var(--board) * 10 * -4, 0px), clamp(0px, 10vw / var(--board) * 10 * 2, var(--max) * 2)) rotate(-0.5deg);
            transform: translate(clamp(var(--max) * -4, 10vw / var(--board) * 10 * -4, 0px), clamp(0px, 10vw / var(--board) * 10 * 2, var(--max) * 2)) rotate(-0.5deg);
  }
  50% {
    -webkit-transform: translate(clamp(0px, 10vw / var(--board) * 10 * 4, var(--max) * 4), clamp(var(--max) * -2, 10vw / var(--board) * 10 * -2, 0px)) rotate(0.55deg);
            transform: translate(clamp(0px, 10vw / var(--board) * 10 * 4, var(--max) * 4), clamp(var(--max) * -2, 10vw / var(--board) * 10 * -2, 0px)) rotate(0.55deg);
  }
  75% {
    -webkit-transform: translate(clamp(var(--max) * -1, 10vw / var(--board) * 10 * -1, 0px), clamp(var(--max) * -1, 10vw / var(--board) * 10 * -1, 0px)) rotate(-0.45deg);
            transform: translate(clamp(var(--max) * -1, 10vw / var(--board) * 10 * -1, 0px), clamp(var(--max) * -1, 10vw / var(--board) * 10 * -1, 0px)) rotate(-0.45deg);
  }
}
@keyframes tanehachi-motion-2 {
  0%, 100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  25% {
    -webkit-transform: translate(clamp(var(--max) * -4, 10vw / var(--board) * 10 * -4, 0px), clamp(0px, 10vw / var(--board) * 10 * 2, var(--max) * 2)) rotate(-0.5deg);
            transform: translate(clamp(var(--max) * -4, 10vw / var(--board) * 10 * -4, 0px), clamp(0px, 10vw / var(--board) * 10 * 2, var(--max) * 2)) rotate(-0.5deg);
  }
  50% {
    -webkit-transform: translate(clamp(0px, 10vw / var(--board) * 10 * 4, var(--max) * 4), clamp(var(--max) * -2, 10vw / var(--board) * 10 * -2, 0px)) rotate(0.55deg);
            transform: translate(clamp(0px, 10vw / var(--board) * 10 * 4, var(--max) * 4), clamp(var(--max) * -2, 10vw / var(--board) * 10 * -2, 0px)) rotate(0.55deg);
  }
  75% {
    -webkit-transform: translate(clamp(var(--max) * -1, 10vw / var(--board) * 10 * -1, 0px), clamp(var(--max) * -1, 10vw / var(--board) * 10 * -1, 0px)) rotate(-0.45deg);
            transform: translate(clamp(var(--max) * -1, 10vw / var(--board) * 10 * -1, 0px), clamp(var(--max) * -1, 10vw / var(--board) * 10 * -1, 0px)) rotate(-0.45deg);
  }
}
@-webkit-keyframes tanehachi-motion-treat-in {
  from {
    opacity: 0;
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes tanehachi-motion-treat-in {
  from {
    opacity: 0;
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
/* 3枚目 treat 用（元の delay 相当: ~0.55s / 1.35s / 2.15s を 3.8s 周期に換算） */
@-webkit-keyframes tanehachi-motion-treat-loop-3 {
  0%, 14% {
    opacity: 0;
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
  27%, 81% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  82%, 100% {
    opacity: 0;
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
}
@keyframes tanehachi-motion-treat-loop-3 {
  0%, 14% {
    opacity: 0;
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
  27%, 81% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  82%, 100% {
    opacity: 0;
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
}
@-webkit-keyframes tanehachi-motion-treat-loop-2 {
  0%, 35% {
    opacity: 0;
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
  48%, 81% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  82%, 100% {
    opacity: 0;
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
}
@keyframes tanehachi-motion-treat-loop-2 {
  0%, 35% {
    opacity: 0;
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
  48%, 81% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  82%, 100% {
    opacity: 0;
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
}
@-webkit-keyframes tanehachi-motion-treat-loop-1 {
  0%, 56% {
    opacity: 0;
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
  69%, 81% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  82%, 100% {
    opacity: 0;
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
}
@keyframes tanehachi-motion-treat-loop-1 {
  0%, 56% {
    opacity: 0;
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
  69%, 81% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  82%, 100% {
    opacity: 0;
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
}
.campaign {
  background-color: var(--color-primary);
}

.campaign .section-inner {
  padding-top: clamp(0px, 10vw / var(--board) * 10 * 46, var(--max) * 46);
  padding-bottom: clamp(0px, 10vw / var(--board) * 10 * 66, var(--max) * 66);
  max-width: 1180px;
  min-height: 684px;
  position: relative;
}

.campaign-title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  padding: clamp(0px, 10vw / var(--board) * 10 * 20, var(--max) * 20) clamp(0px, 10vw / var(--board) * 10 * 24, var(--max) * 24);
  max-width: clamp(0px, 10vw / var(--board) * 10 * 568, var(--max) * 568);
  min-height: clamp(0px, 10vw / var(--board) * 10 * 200, var(--max) * 200);
  background-color: #fff;
  border: clamp(0px, 10vw / var(--board) * 10 * 8, var(--max) * 8) solid var(--color-primary_dark);
  border-radius: clamp(0px, 10vw / var(--board) * 10 * 20, var(--max) * 20);
  text-align: center;
}
.campaign-title:before, .campaign-title:after {
  content: "";
  background-image: url("../images/image_campaign-treat.svg");
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: clamp(0px, 10vw / var(--board) * 10 * 10, var(--max) * 10);
  height: clamp(0px, 10vw / var(--board) * 10 * 72, var(--max) * 72);
  top: clamp(var(--max) * -54, 10vw / var(--board) * 10 * -54, 0px);
}
.campaign-title:before {
  left: clamp(0px, 10vw / var(--board) * 10 * 17, var(--max) * 17);
}
.campaign-title:after {
  right: clamp(0px, 10vw / var(--board) * 10 * 17, var(--max) * 17);
}
.campaign-title .campaign-title__sub {
  display: block;
  font-family: var(--fontMain);
  font-weight: 900;
  font-size: clamp(0px, 10vw / var(--board) * 10 * 32, var(--max) * 32);
  line-height: 1.5;
  color: var(--color-primary_dark);
  margin: 0 0 clamp(0px, 10vw / var(--board) * 10 * 8, var(--max) * 8);
}
.campaign-title .campaign-title__main {
  display: block;
  font-family: var(--fontMain);
  font-weight: 900;
  font-size: clamp(0px, 10vw / var(--board) * 10 * 48, var(--max) * 48);
  line-height: 1.2;
  color: var(--color-primary_dark);
  margin: 0 0 clamp(0px, 10vw / var(--board) * 10 * 8, var(--max) * 8);
}
.campaign-title .campaign-title__lead {
  display: block;
  font-family: var(--fontMain);
  font-weight: var(--weightBold);
  font-size: clamp(0px, 10vw / var(--board) * 10 * 18, var(--max) * 18);
  line-height: 1.5;
  color: var(--color-navy);
  margin: 0;
}

.campaign-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: clamp(0px, 10vw / var(--board) * 10 * 76, var(--max) * 76) auto 0;
  padding: 0 clamp(0px, 10vw / var(--board) * 10 * 44, var(--max) * 44);
}

.campaign-list__item {
  border-radius: 50%;
  position: relative;
  width: clamp(0px, 10vw / var(--board) * 10 * 300, var(--max) * 300);
  height: clamp(0px, 10vw / var(--board) * 10 * 300, var(--max) * 300);
}
.campaign-list__item::before, .campaign-list__item::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: clamp(0px, 10vw / var(--board) * 10 * 12, var(--max) * 12) solid #e0ff61;
  background: #e0ff61;
  z-index: 0;
  pointer-events: none;
}
.campaign-list__item > * {
  position: relative;
  z-index: 1;
}
.campaign-list__item:nth-child(1)::before {
  top: clamp(var(--max) * -6, 10vw / var(--board) * 10 * -6, 0px);
  left: clamp(var(--max) * -6, 10vw / var(--board) * 10 * -6, 0px);
}
.campaign-list__item:nth-child(1)::after {
  right: clamp(var(--max) * -6, 10vw / var(--board) * 10 * -6, 0px);
  bottom: clamp(var(--max) * -6, 10vw / var(--board) * 10 * -6, 0px);
}
.campaign-list__item:nth-child(2)::before {
  top: clamp(var(--max) * -6, 10vw / var(--board) * 10 * -6, 0px);
  right: clamp(var(--max) * -6, 10vw / var(--board) * 10 * -6, 0px);
}
.campaign-list__item:nth-child(2)::after {
  left: clamp(var(--max) * -6, 10vw / var(--board) * 10 * -6, 0px);
  bottom: clamp(var(--max) * -6, 10vw / var(--board) * 10 * -6, 0px);
}
.campaign-list__item:nth-child(1) .campaign-list__image {
  bottom: clamp(0px, 10vw / var(--board) * 10 * 24, var(--max) * 24);
}

.campaign-list__inner {
  background-color: white;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  padding-top: clamp(0px, 10vw / var(--board) * 10 * 30, var(--max) * 30);
}

.campaign-list__copy {
  font-size: clamp(0px, 10vw / var(--board) * 10 * 20, var(--max) * 20);
  line-height: 1.3;
  font-weight: bold;
  text-align: center;
  margin: 0;
}
.campaign-list__copy strong {
  color: var(--color-primary_dark);
  font-size: clamp(0px, 10vw / var(--board) * 10 * 24, var(--max) * 24);
  line-height: 1.5;
}
.campaign-list__copy small {
  font-size: clamp(0px, 10vw / var(--board) * 10 * 12, var(--max) * 12);
  font-weight: 500;
  display: block;
}

.campaign-list__image {
  position: absolute;
  width: clamp(0px, 10vw / var(--board) * 10 * 392, var(--max) * 392);
  bottom: 0;
}

.campaign-bottom {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: clamp(0px, 10vw / var(--board) * 10 * 620, var(--max) * 620);
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.campaign-bottom__image {
  position: relative;
  width: clamp(0px, 10vw / var(--board) * 10 * 143, var(--max) * 143);
  margin-bottom: clamp(var(--max) * -90, 10vw / var(--board) * 10 * -90, 0px);
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}

.campaign-bottom__bg {
  position: relative;
  width: 100%;
}

@-webkit-keyframes campaign-blink {
  0%, 100% {
    opacity: 0;
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes campaign-blink {
  0%, 100% {
    opacity: 0;
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.campaign-blink {
  position: absolute;
  opacity: 0;
  -webkit-animation: campaign-blink 2s ease-in-out infinite;
          animation: campaign-blink 2s ease-in-out infinite;
}
.campaign-blink img {
  width: 100%;
}
.campaign-blink.blink-1 {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.campaign-blink.blink-2 {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.campaign-blink.blink-3 {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.campaign-blink.blink-4 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.campaign-blink.blink-5 {
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}
.campaign-blink.blink-6 {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}
.campaign-blink.blink-7 {
  -webkit-animation-delay: 2.1s;
          animation-delay: 2.1s;
}
.campaign-blink.blink-8 {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.campaign-blink.blink-9 {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}
.campaign-blink.blink-10 {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.campaign-blink.blink-11 {
  -webkit-animation-delay: 2.3s;
          animation-delay: 2.3s;
}
.campaign-blink.blink-12 {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.campaign-blink.blink-13 {
  -webkit-animation-delay: 1.1s;
          animation-delay: 1.1s;
}
.campaign-blink.blink-14 {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
.campaign-blink.blink-15 {
  -webkit-animation-delay: 1.7s;
          animation-delay: 1.7s;
}
.campaign-blink.blink-1 {
  top: clamp(0px, 10vw / var(--board) * 10 * 276, var(--max) * 276);
  left: clamp(0px, 10vw / var(--board) * 10 * 60, var(--max) * 60);
}
.campaign-blink.blink-2 {
  top: clamp(0px, 10vw / var(--board) * 10 * 397, var(--max) * 397);
  left: clamp(0px, 10vw / var(--board) * 10 * 17, var(--max) * 17);
}
.campaign-blink.blink-3 {
  bottom: clamp(0px, 10vw / var(--board) * 10 * 28, var(--max) * 28);
  left: clamp(0px, 10vw / var(--board) * 10 * 27, var(--max) * 27);
}
.campaign-blink.blink-4 {
  top: clamp(0px, 10vw / var(--board) * 10 * 256, var(--max) * 256);
  left: clamp(0px, 10vw / var(--board) * 10 * 234, var(--max) * 234);
}
.campaign-blink.blink-5 {
  top: clamp(0px, 10vw / var(--board) * 10 * 299, var(--max) * 299);
  left: clamp(0px, 10vw / var(--board) * 10 * 374, var(--max) * 374);
}
.campaign-blink.blink-6 {
  bottom: clamp(0px, 10vw / var(--board) * 10 * 116, var(--max) * 116);
  left: clamp(0px, 10vw / var(--board) * 10 * 424, var(--max) * 424);
}
.campaign-blink.blink-7 {
  bottom: clamp(0px, 10vw / var(--board) * 10 * 60, var(--max) * 60);
  left: clamp(0px, 10vw / var(--board) * 10 * 378, var(--max) * 378);
  width: clamp(0px, 10vw / var(--board) * 10 * 29, var(--max) * 29);
}
.campaign-blink.blink-8 {
  top: clamp(0px, 10vw / var(--board) * 10 * 350, var(--max) * 350);
  right: clamp(0px, 10vw / var(--board) * 10 * 427, var(--max) * 427);
  width: clamp(0px, 10vw / var(--board) * 10 * 63, var(--max) * 63);
}
.campaign-blink.blink-9 {
  top: clamp(0px, 10vw / var(--board) * 10 * 274, var(--max) * 274);
  right: clamp(0px, 10vw / var(--board) * 10 * 421, var(--max) * 421);
}
.campaign-blink.blink-10 {
  bottom: clamp(0px, 10vw / var(--board) * 10 * 120, var(--max) * 120);
  right: clamp(0px, 10vw / var(--board) * 10 * 393, var(--max) * 393);
  width: clamp(0px, 10vw / var(--board) * 10 * 29, var(--max) * 29);
}
.campaign-blink.blink-11 {
  top: clamp(0px, 10vw / var(--board) * 10 * 320, var(--max) * 320);
  right: clamp(0px, 10vw / var(--board) * 10 * 366, var(--max) * 366);
  width: clamp(0px, 10vw / var(--board) * 10 * 29, var(--max) * 29);
}
.campaign-blink.blink-12 {
  top: clamp(0px, 10vw / var(--board) * 10 * 240, var(--max) * 240);
  right: clamp(0px, 10vw / var(--board) * 10 * 213, var(--max) * 213);
}
.campaign-blink.blink-13 {
  top: clamp(0px, 10vw / var(--board) * 10 * 274, var(--max) * 274);
  right: clamp(0px, 10vw / var(--board) * 10 * 60, var(--max) * 60);
}
.campaign-blink.blink-14 {
  bottom: clamp(0px, 10vw / var(--board) * 10 * 229, var(--max) * 229);
  right: 0;
  width: clamp(0px, 10vw / var(--board) * 10 * 29, var(--max) * 29);
}
.campaign-blink.blink-15 {
  bottom: clamp(0px, 10vw / var(--board) * 10 * 47, var(--max) * 47);
  right: clamp(0px, 10vw / var(--board) * 10 * 30, var(--max) * 30);
}

.campaign-detail .section-inner {
  position: relative;
  padding-top: clamp(0px, 10vw / var(--board) * 10 * 80, var(--max) * 80);
  padding-bottom: clamp(0px, 10vw / var(--board) * 10 * 296, var(--max) * 296);
}
.campaign-detail .loading-wrap {
  position: absolute;
  width: clamp(0px, 10vw / var(--board) * 10 * 138, var(--max) * 138);
  height: clamp(0px, 10vw / var(--board) * 10 * 118, var(--max) * 118);
  z-index: 1;
  right: clamp(0px, 10vw / var(--board) * 10 * 50, var(--max) * 50);
  bottom: clamp(0px, 10vw / var(--board) * 10 * 180, var(--max) * 180);
}
.campaign-detail .loading-wrap__image.loading-top.loading-top--finished {
  -webkit-transform: rotate(5.8deg) translate(clamp(var(--max) * -3, 10vw / var(--board) * 10 * -3, 0px), clamp(var(--max) * -7, 10vw / var(--board) * 10 * -7, 0px));
          transform: rotate(5.8deg) translate(clamp(var(--max) * -3, 10vw / var(--board) * 10 * -3, 0px), clamp(var(--max) * -7, 10vw / var(--board) * 10 * -7, 0px));
}

/* ScrollTrigger 発火まで CPU 負荷を抑え、アニメは表示後にゼロから開始 */
.campaign-detail .loading-wrap:not(.loading-wrap--visible) .loading-wrap__image.loading-top {
  -webkit-animation: none;
          animation: none;
  -webkit-transform: rotate(1.4deg);
          transform: rotate(1.4deg);
}

.detail-list {
  margin: 0 auto clamp(0px, 10vw / var(--board) * 10 * 80, var(--max) * 80);
}

.detail-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: clamp(0px, 10vw / var(--board) * 10 * 64, var(--max) * 64);
}
.detail-list__item:not(:last-child) {
  margin-bottom: clamp(0px, 10vw / var(--board) * 10 * 32, var(--max) * 32);
}

.detail-list__item-title {
  width: clamp(0px, 10vw / var(--board) * 10 * 232, var(--max) * 232);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: var(--color-navy);
  color: white;
  font-size: clamp(0px, 10vw / var(--board) * 10 * 18, var(--max) * 18);
  font-weight: bold;
  line-height: 1;
  padding: clamp(0px, 10vw / var(--board) * 10 * 10, var(--max) * 10);
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: clamp(0px, 10vw / var(--board) * 10 * 10, var(--max) * 10);
}

.detail-list__item-text {
  font-size: clamp(0px, 10vw / var(--board) * 10 * 18, var(--max) * 18);
  line-height: 1.667;
  font-weight: bold;
}
.detail-list__item-text.detail-list__item-text--large {
  font-size: clamp(0px, 10vw / var(--board) * 10 * 24, var(--max) * 24);
}

.special {
  position: relative;
  top: clamp(var(--max) * -150, 10vw / var(--board) * 10 * -150, 0px);
}
.special .section-inner {
  max-width: 1100px;
}

.special-title {
  font-size: clamp(0px, 10vw / var(--board) * 10 * 36, var(--max) * 36);
  font-weight: bold;
  color: var(--color-primary_dark);
  text-align: center;
  border-radius: clamp(0px, 10vw / var(--board) * 10 * 10, var(--max) * 10);
  background-color: white;
  border: solid clamp(0px, 10vw / var(--board) * 10 * 5, var(--max) * 5) var(--color-primary_dark);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: clamp(0px, 10vw / var(--board) * 10 * 14, var(--max) * 14) clamp(0px, 10vw / var(--board) * 10 * 60, var(--max) * 60);
  margin: 0 auto clamp(0px, 10vw / var(--board) * 10 * 40, var(--max) * 40);
  position: relative;
}
.special-title:before, .special-title:after {
  content: "";
  background-image: url(../images/icon_special-title.svg);
  background-repeat: no-repeat;
  background-size: cover;
  display: inline-block;
  position: absolute;
  width: clamp(0px, 10vw / var(--board) * 10 * 10, var(--max) * 10);
  height: clamp(0px, 10vw / var(--board) * 10 * 74, var(--max) * 74);
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.special-title:before {
  left: clamp(0px, 10vw / var(--board) * 10 * 15, var(--max) * 15);
}
.special-title:after {
  right: clamp(0px, 10vw / var(--board) * 10 * 15, var(--max) * 15);
}

.special-copy {
  font-size: clamp(0px, 10vw / var(--board) * 10 * 18, var(--max) * 18);
  line-height: 1.7;
  font-weight: bold;
}
.special-copy a {
  color: #040bfa;
  text-decoration: underline;
}

.special-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr clamp(0px, 10vw / var(--board) * 10 * 70, var(--max) * 70) 1fr clamp(0px, 10vw / var(--board) * 10 * 70, var(--max) * 70) 1fr clamp(0px, 10vw / var(--board) * 10 * 70, var(--max) * 70) 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(0px, 10vw / var(--board) * 10 * 70, var(--max) * 70);
  margin: clamp(0px, 10vw / var(--board) * 10 * 40, var(--max) * 40) auto 0;
}

.special-list__item .dl-button {
  margin-top: clamp(0px, 10vw / var(--board) * 10 * 10, var(--max) * 10);
}

.button-wrap {
  margin: clamp(0px, 10vw / var(--board) * 10 * 40, var(--max) * 40) auto 0;
  width: clamp(0px, 10vw / var(--board) * 10 * 228, var(--max) * 228);
}

.notice {
  margin-top: clamp(var(--max) * -80, 10vw / var(--board) * 10 * -80, 0px);
}
.notice.not-special {
  margin-top: 0;
}
.notice a {
  color: #040bfa;
  text-decoration: underline;
}

.notice .section-inner {
  padding: clamp(0px, 10vw / var(--board) * 10 * 60, var(--max) * 60) clamp(0px, 10vw / var(--board) * 10 * 84, var(--max) * 84);
  max-width: 1000px;
  background-color: #fff;
  border: solid clamp(0px, 10vw / var(--board) * 10 * 5, var(--max) * 5) #ccf04b;
  border-radius: clamp(0px, 10vw / var(--board) * 10 * 20, var(--max) * 20);
}

.notice-list__item {
  font-size: clamp(0px, 10vw / var(--board) * 10 * 18, var(--max) * 18);
  line-height: 2;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 10vw / var(--board) * 10 * 6, var(--max) * 6);
}
.notice-list__item:before {
  content: "●";
  color: var(--color-primary_dark);
}
@media (min-width: 769px){
  .mv {
    min-height: clamp(0px, 10vw / var(--board) * 10 * 450, var(--max) * 450);
  }
  .mv__inner {
    min-height: clamp(0px, 10vw / var(--board) * 10 * 450, var(--max) * 450);
  }
}
@media screen and (max-width: 1300px){
  .mv::after {
    top: clamp(var(--max) * -100, 10vw / var(--board) * 10 * -100, 0px);
  }
  .mv__image {
    width: clamp(0px, 10vw / var(--board) * 10 * 500, var(--max) * 500);
  }
}
@media (max-width: 768px){
  :root {
    --board: 390;
    --max: 9999px;
  }
  .campaign-button {
    width: 100%;
    right: 0;
    bottom: 0;
  }
  .loading-wrap {
    width: clamp(0px, 10vw / var(--board) * 10 * 138, var(--max) * 138);
    height: clamp(0px, 10vw / var(--board) * 10 * 118, var(--max) * 118);
  }
  .loading-wrap__image.loading-top.loading-top--finished {
    -webkit-transform: rotate(5.8deg) translate(clamp(var(--max) * -3, 10vw / var(--board) * 10 * -3, 0px), clamp(var(--max) * -7, 10vw / var(--board) * 10 * -7, 0px));
            transform: rotate(5.8deg) translate(clamp(var(--max) * -3, 10vw / var(--board) * 10 * -3, 0px), clamp(var(--max) * -7, 10vw / var(--board) * 10 * -7, 0px));
  }
  .mv {
    min-height: clamp(0px, 10vw / var(--board) * 10 * 825, var(--max) * 825);
  }
  .mv:before {
    background-image: url("../images/bg_mv_sp.png");
    height: clamp(0px, 10vw / var(--board) * 10 * 825, var(--max) * 825);
    background-position: center clamp(var(--max) * -16, 10vw / var(--board) * 10 * -16, 0px);
  }
  .mv::after {
    background-image: url("../images/bg_mv-bottom_sp.svg");
    height: clamp(0px, 10vw / var(--board) * 10 * 825, var(--max) * 825);
    top: clamp(0px, 10vw / var(--board) * 10 * 46, var(--max) * 46);
    pointer-events: none;
  }
  .mv__inner {
    padding-top: clamp(0px, 10vw / var(--board) * 10 * 25, var(--max) * 25);
  }
  .mv__title {
    position: relative;
    top: auto;
    left: auto;
    width: clamp(0px, 10vw / var(--board) * 10 * 339, var(--max) * 339);
    margin: auto;
  }
  .mv__title img {
    width: 100%;
  }
  .mv__image {
    width: clamp(0px, 10vw / var(--board) * 10 * 260, var(--max) * 260);
    margin-top: clamp(0px, 10vw / var(--board) * 10 * 163, var(--max) * 163);
  }
  .mv-flow {
    background-image: url("../images/image_mv_fukidashi_sp.svg");
    width: clamp(0px, 10vw / var(--board) * 10 * 296, var(--max) * 296);
    height: clamp(0px, 10vw / var(--board) * 10 * 227, var(--max) * 227);
    top: clamp(0px, 10vw / var(--board) * 10 * 195, var(--max) * 195);
    right: auto;
    left: clamp(0px, 10vw / var(--board) * 10 * 50, var(--max) * 50);
  }
  .mv-flow__text {
    width: 90%;
    top: 15.4%;
  }
  .mv-flow__greeting {
    font-size: clamp(0px, 10vw / var(--board) * 10 * 24, var(--max) * 24);
    font-weight: bold;
    margin-bottom: 0;
    line-height: 1.3;
  }
  .mv-flow__name {
    font-size: clamp(0px, 10vw / var(--board) * 10 * 46, var(--max) * 46);
    margin-bottom: 0.1em;
  }
  .mv-flow__name small {
    font-size: clamp(0px, 10vw / var(--board) * 10 * 20, var(--max) * 20);
  }
  .mv-flow__message {
    font-size: clamp(0px, 10vw / var(--board) * 10 * 24, var(--max) * 24);
    font-weight: bold;
  }
  .mv-flow--thanks {
    background-image: url("../images/image_mv_fukidashi-thanks_sp.svg");
    width: clamp(0px, 10vw / var(--board) * 10 * 292, var(--max) * 292);
    height: clamp(0px, 10vw / var(--board) * 10 * 90, var(--max) * 90);
    top: clamp(0px, 10vw / var(--board) * 10 * 618, var(--max) * 618);
    left: clamp(0px, 10vw / var(--board) * 10 * 52, var(--max) * 52);
  }
  .mv-flow--thanks .mv-flow__text {
    top: 29%;
  }
  .mv__copy {
    font-size: clamp(0px, 10vw / var(--board) * 10 * 22, var(--max) * 22);
    margin-top: clamp(0px, 10vw / var(--board) * 10 * 150, var(--max) * 150);
    line-height: 2.1;
  }
  .mv__copy ruby[data-ruby]::after {
    -webkit-transform: translate(-50%, -0.1em);
            transform: translate(-50%, -0.1em);
  }
  .mv__copy-highlight {
    padding-bottom: 0;
    border-bottom-width: clamp(0px, 10vw / var(--board) * 10 * 2, var(--max) * 2);
  }
  .about .section-inner {
    padding-top: clamp(0px, 10vw / var(--board) * 10 * 56, var(--max) * 56);
    padding-bottom: clamp(0px, 10vw / var(--board) * 10 * 146, var(--max) * 146);
  }
  .about__title {
    font-size: clamp(0px, 10vw / var(--board) * 10 * 25, var(--max) * 25);
    margin-bottom: clamp(0px, 10vw / var(--board) * 10 * 20, var(--max) * 20);
    line-height: 1.67;
  }
  .about__copy {
    font-size: clamp(0px, 10vw / var(--board) * 10 * 16, var(--max) * 16);
    text-align: left;
    line-height: 1.9;
    margin-bottom: clamp(0px, 10vw / var(--board) * 10 * 78, var(--max) * 78);
  }
  .about__copy br {
    display: none;
  }
  .about__copy .about-line:before {
    width: clamp(0px, 10vw / var(--board) * 10 * 24, var(--max) * 24);
    margin-top: clamp(var(--max) * -2, 10vw / var(--board) * 10 * -2, 0px);
    margin-left: clamp(0px, 10vw / var(--board) * 10 * 2, var(--max) * 2);
  }
  .about-list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: clamp(0px, 10vw / var(--board) * 10 * 80, var(--max) * 80);
    margin-bottom: clamp(0px, 10vw / var(--board) * 10 * 10, var(--max) * 10);
  }
  .about-list__item {
    gap: 0;
  }
  .about-list__item:before {
    top: clamp(var(--max) * -40, 10vw / var(--board) * 10 * -40, 0px);
  }
  .about-list__item:after {
    top: clamp(var(--max) * -26, 10vw / var(--board) * 10 * -26, 0px);
  }
  .about-list__item:nth-of-type(1):before {
    left: clamp(0px, 10vw / var(--board) * 10 * 95, var(--max) * 95);
  }
  .about-list__item:nth-of-type(1):after {
    right: clamp(0px, 10vw / var(--board) * 10 * 102, var(--max) * 102);
  }
  .about-list__item:nth-of-type(2):before {
    right: clamp(0px, 10vw / var(--board) * 10 * 95, var(--max) * 95);
  }
  .about-list__item:nth-of-type(2):after {
    left: clamp(0px, 10vw / var(--board) * 10 * 102, var(--max) * 102);
  }
  .about-list__header:before {
    width: clamp(0px, 10vw / var(--board) * 10 * 75, var(--max) * 75);
    height: clamp(0px, 10vw / var(--board) * 10 * 37, var(--max) * 37);
    top: clamp(var(--max) * -30, 10vw / var(--board) * 10 * -30, 0px);
  }
  .about-list__header ruby[data-ruby]::after {
    -webkit-transform: translate(-65%, -0.2em);
            transform: translate(-65%, -0.2em);
  }
  .about-list__header {
    padding: clamp(0px, 10vw / var(--board) * 10 * 12, var(--max) * 12) clamp(0px, 10vw / var(--board) * 10 * 12, var(--max) * 12) clamp(0px, 10vw / var(--board) * 10 * 8, var(--max) * 8);
    min-height: auto;
    font-size: clamp(0px, 10vw / var(--board) * 10 * 20, var(--max) * 20);
    min-height: clamp(0px, 10vw / var(--board) * 10 * 58, var(--max) * 58);
    border-radius: clamp(0px, 10vw / var(--board) * 10 * 10, var(--max) * 10);
    margin-bottom: clamp(0px, 10vw / var(--board) * 10 * 12, var(--max) * 12);
    height: auto;
  }
  .about-list__text ruby[data-ruby]::after {
    -webkit-transform: translate(-65%, -0.1em);
            transform: translate(-65%, -0.1em);
  }
  .about-list__text {
    font-size: clamp(0px, 10vw / var(--board) * 10 * 16, var(--max) * 16);
    min-height: none;
    margin-bottom: clamp(0px, 10vw / var(--board) * 10 * 12, var(--max) * 12);
  }
  .about-profile {
    padding: clamp(0px, 10vw / var(--board) * 10 * 36, var(--max) * 36) clamp(0px, 10vw / var(--board) * 10 * 36, var(--max) * 36) clamp(0px, 10vw / var(--board) * 10 * 44, var(--max) * 44);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-width: clamp(0px, 10vw / var(--board) * 10 * 9, var(--max) * 9);
  }
  .about-profile:after {
    background-image: url("../images/image_profile-parts_sp.svg");
    width: clamp(0px, 10vw / var(--board) * 10 * 272, var(--max) * 272);
    height: clamp(0px, 10vw / var(--board) * 10 * 36, var(--max) * 36);
    left: clamp(0px, 10vw / var(--board) * 10 * 34, var(--max) * 34);
  }
  .profile-visual__title {
    margin-bottom: clamp(0px, 10vw / var(--board) * 10 * 8, var(--max) * 8);
  }
  .profile-list__item {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: clamp(0px, 10vw / var(--board) * 10 * 6, var(--max) * 6) clamp(0px, 10vw / var(--board) * 10 * 26, var(--max) * 26);
  }
  .profile-list__item-text {
    line-height: 2.2;
  }
  .profile-list__item-text ruby[data-ruby]::after {
    -webkit-transform: translate(-63%, -0.1em);
            transform: translate(-63%, -0.1em);
    font-size: 0.5em;
  }
  .profile-visual__image {
    width: clamp(0px, 10vw / var(--board) * 10 * 178, var(--max) * 178);
  }
  .tanehachi-motion__image {
    right: clamp(0px, 10vw / var(--board) * 10 * 146, var(--max) * 146);
  }
  .campaign .section-inner {
    padding-top: clamp(0px, 10vw / var(--board) * 10 * 30, var(--max) * 30);
    padding-bottom: clamp(0px, 10vw / var(--board) * 10 * 360, var(--max) * 360);
  }
  .campaign-title:before, .campaign-title:after {
    height: clamp(0px, 10vw / var(--board) * 10 * 53, var(--max) * 53);
    top: clamp(var(--max) * -36, 10vw / var(--board) * 10 * -36, 0px);
  }
  .campaign-title {
    border-width: clamp(0px, 10vw / var(--board) * 10 * 5, var(--max) * 5);
    border-radius: clamp(0px, 10vw / var(--board) * 10 * 10, var(--max) * 10);
    padding: clamp(0px, 10vw / var(--board) * 10 * 14, var(--max) * 14);
  }
  .campaign-title .campaign-title__sub {
    font-size: clamp(0px, 10vw / var(--board) * 10 * 24, var(--max) * 24);
    margin-bottom: 0;
  }
  .campaign-title .campaign-title__lead {
    font-size: clamp(0px, 10vw / var(--board) * 10 * 18, var(--max) * 18);
  }
  .campaign-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0;
    margin-top: clamp(0px, 10vw / var(--board) * 10 * 32, var(--max) * 32);
    gap: clamp(0px, 10vw / var(--board) * 10 * 40, var(--max) * 40);
  }
  .campaign-list__item {
    width: clamp(0px, 10vw / var(--board) * 10 * 320, var(--max) * 320);
    height: clamp(0px, 10vw / var(--board) * 10 * 320, var(--max) * 320);
  }
  .campaign-list__item:nth-child(2) .campaign-list__image {
    width: 100vw;
  }
  .campaign-list__item:nth-child(1) .campaign-list__image {
    bottom: clamp(0px, 10vw / var(--board) * 10 * 36, var(--max) * 36);
  }
  .campaign-list__inner {
    padding-top: clamp(0px, 10vw / var(--board) * 10 * 44, var(--max) * 44);
  }
  .campaign-list__image {
    width: clamp(0px, 10vw / var(--board) * 10 * 350, var(--max) * 350);
    max-width: none;
  }
  .campaign-bottom__image {
    margin-bottom: clamp(var(--max) * -50, 10vw / var(--board) * 10 * -50, 0px);
  }
  .campaign-blink.blink-1 {
    top: clamp(0px, 10vw / var(--board) * 10 * 308, var(--max) * 308);
    left: clamp(0px, 10vw / var(--board) * 10 * 322, var(--max) * 322);
    width: clamp(0px, 10vw / var(--board) * 10 * 50, var(--max) * 50);
  }
  .campaign-blink.blink-2 {
    top: clamp(0px, 10vw / var(--board) * 10 * 341, var(--max) * 341);
    left: clamp(0px, 10vw / var(--board) * 10 * 30, var(--max) * 30);
  }
  .campaign-blink.blink-4 {
    top: clamp(0px, 10vw / var(--board) * 10 * 637, var(--max) * 637);
    left: clamp(0px, 10vw / var(--board) * 10 * 80, var(--max) * 80);
    width: clamp(0px, 10vw / var(--board) * 10 * 18, var(--max) * 18);
  }
  .campaign-blink.blink-5 {
    top: clamp(0px, 10vw / var(--board) * 10 * 660, var(--max) * 660);
    left: clamp(0px, 10vw / var(--board) * 10 * 27, var(--max) * 27);
    width: clamp(0px, 10vw / var(--board) * 10 * 50, var(--max) * 50);
  }
  .campaign-blink.blink-6 {
    left: clamp(0px, 10vw / var(--board) * 10 * 69, var(--max) * 69);
    bottom: clamp(0px, 10vw / var(--board) * 10 * 300, var(--max) * 300);
    width: clamp(0px, 10vw / var(--board) * 10 * 47, var(--max) * 47);
  }
  .campaign-blink.blink-7 {
    bottom: clamp(0px, 10vw / var(--board) * 10 * 185, var(--max) * 185);
    left: clamp(0px, 10vw / var(--board) * 10 * 44, var(--max) * 44);
    width: clamp(0px, 10vw / var(--board) * 10 * 47, var(--max) * 47);
  }
  .campaign-blink.blink-8 {
    top: auto;
    right: clamp(0px, 10vw / var(--board) * 10 * 27, var(--max) * 27);
    bottom: clamp(0px, 10vw / var(--board) * 10 * 71, var(--max) * 71);
    width: clamp(0px, 10vw / var(--board) * 10 * 47, var(--max) * 47);
  }
  .campaign-blink.blink-9 {
    display: none;
    -webkit-animation: none;
            animation: none;
  }
  .campaign-blink.blink-10 {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
    bottom: clamp(0px, 10vw / var(--board) * 10 * 306, var(--max) * 306);
    right: clamp(0px, 10vw / var(--board) * 10 * 39, var(--max) * 39);
    width: clamp(0px, 10vw / var(--board) * 10 * 17, var(--max) * 17);
  }
  .campaign-blink.blink-11 {
    display: none;
    -webkit-animation: none;
            animation: none;
  }
  .campaign-blink.blink-12 {
    top: auto;
    right: auto;
    bottom: clamp(0px, 10vw / var(--board) * 10 * 240, var(--max) * 240);
    left: clamp(0px, 10vw / var(--board) * 10 * 30, var(--max) * 30);
    width: clamp(0px, 10vw / var(--board) * 10 * 17, var(--max) * 17);
  }
  .campaign-blink.blink-13 {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
    top: clamp(0px, 10vw / var(--board) * 10 * 689, var(--max) * 689);
    right: clamp(0px, 10vw / var(--board) * 10 * 23, var(--max) * 23);
    width: clamp(0px, 10vw / var(--board) * 10 * 17, var(--max) * 17);
  }
  .campaign-blink.blink-14 {
    bottom: clamp(0px, 10vw / var(--board) * 10 * 245, var(--max) * 245);
    right: clamp(0px, 10vw / var(--board) * 10 * 70, var(--max) * 70);
    width: clamp(0px, 10vw / var(--board) * 10 * 47, var(--max) * 47);
  }
  .campaign-blink.blink-15 {
    bottom: clamp(0px, 10vw / var(--board) * 10 * 190, var(--max) * 190);
    right: clamp(0px, 10vw / var(--board) * 10 * 31, var(--max) * 31);
    width: clamp(0px, 10vw / var(--board) * 10 * 30, var(--max) * 30);
  }
  .campaign-detail .section-inner {
    padding-top: clamp(0px, 10vw / var(--board) * 10 * 50, var(--max) * 50);
    padding-bottom: clamp(0px, 10vw / var(--board) * 10 * 140, var(--max) * 140);
  }
  .campaign-detail .loading-wrap {
    width: clamp(0px, 10vw / var(--board) * 10 * 94, var(--max) * 94);
    height: clamp(0px, 10vw / var(--board) * 10 * 82, var(--max) * 82);
    right: clamp(0px, 10vw / var(--board) * 10 * 20, var(--max) * 20);
    bottom: clamp(0px, 10vw / var(--board) * 10 * 33, var(--max) * 33);
  }
  .campaign-detail .loading-wrap__image.loading-top.loading-top--finished {
    -webkit-transform: rotate(6.2deg) translate(clamp(var(--max) * -3, 10vw / var(--board) * 10 * -3, 0px), clamp(var(--max) * -5, 10vw / var(--board) * 10 * -5, 0px));
            transform: rotate(6.2deg) translate(clamp(var(--max) * -3, 10vw / var(--board) * 10 * -3, 0px), clamp(var(--max) * -5, 10vw / var(--board) * 10 * -5, 0px));
  }
  .detail-list {
    margin-bottom: clamp(0px, 10vw / var(--board) * 10 * 30, var(--max) * 30);
  }
  .detail-list__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: clamp(0px, 10vw / var(--board) * 10 * 16, var(--max) * 16);
  }
  .detail-list__item-title {
    width: 100%;
    font-size: clamp(0px, 10vw / var(--board) * 10 * 20, var(--max) * 20);
  }
  .detail-list__item-text {
    line-height: 1.5;
  }
  .special {
    top: clamp(var(--max) * -10, 10vw / var(--board) * 10 * -10, 0px);
  }
  .special .section-inner {
    padding-bottom: clamp(0px, 10vw / var(--board) * 10 * 50, var(--max) * 50);
  }
  .special-title {
    font-size: clamp(0px, 10vw / var(--board) * 10 * 28, var(--max) * 28);
    padding: clamp(0px, 10vw / var(--board) * 10 * 17, var(--max) * 17) clamp(0px, 10vw / var(--board) * 10 * 20, var(--max) * 20);
    line-height: 1;
    border-width: clamp(0px, 10vw / var(--board) * 10 * 3, var(--max) * 3);
    margin-bottom: clamp(0px, 10vw / var(--board) * 10 * 12, var(--max) * 12);
  }
  .special-title:before, .special-title:after {
    background-image: url(../images/icon_special-title_sp.svg);
    width: clamp(0px, 10vw / var(--board) * 10 * 5, var(--max) * 5);
    height: clamp(0px, 10vw / var(--board) * 10 * 53, var(--max) * 53);
  }
  .special-title:before {
    left: clamp(0px, 10vw / var(--board) * 10 * 6, var(--max) * 6);
  }
  .special-title:after {
    right: clamp(0px, 10vw / var(--board) * 10 * 6, var(--max) * 6);
  }
  .special-list {
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
    gap: clamp(0px, 10vw / var(--board) * 10 * 30, var(--max) * 30);
  }
  .special-list .special-list__image {
    width: clamp(0px, 10vw / var(--board) * 10 * 180, var(--max) * 180);
    margin: auto;
  }
  .button-wrap {
    width: 100%;
    margin-top: clamp(0px, 10vw / var(--board) * 10 * 24, var(--max) * 24);
  }
  .notice {
    margin-top: 0;
  }
  .notice .section-inner {
    max-width: clamp(0px, 10vw / var(--board) * 10 * 360, var(--max) * 360);
    padding: clamp(0px, 10vw / var(--board) * 10 * 40, var(--max) * 40) clamp(0px, 10vw / var(--board) * 10 * 20, var(--max) * 20);
    border-width: clamp(0px, 10vw / var(--board) * 10 * 4, var(--max) * 4);
  }
  .notice-list__item {
    font-size: clamp(0px, 10vw / var(--board) * 10 * 16, var(--max) * 16);
    line-height: 1.62;
    gap: clamp(0px, 10vw / var(--board) * 10 * 2, var(--max) * 2);
    font-weight: 500;
  }
}
@media (hover: hover){
  .campaign-button:hover {
    opacity: 0.7 !important;
  }
}
@media (prefers-reduced-motion: reduce){
  .about-list__header:before {
    -webkit-transition: none;
    transition: none;
    -webkit-transform: translateX(-50%) translateY(0);
            transform: translateX(-50%) translateY(0);
    opacity: 1;
  }
  .profile-visual__image {
    -webkit-animation: none;
            animation: none;
  }
  .tanehachi-motion__image {
    -webkit-transition: none;
    transition: none;
  }
  .tanehachi-motion__image:first-child, .tanehachi-motion__image:nth-child(2) {
    opacity: 0;
    -webkit-animation: none !important;
            animation: none !important;
  }
  .tanehachi-motion__image:nth-child(3) {
    opacity: 1;
    -webkit-animation: none !important;
            animation: none !important;
  }
  .tanehachi-motion__image:nth-child(3) .motion-base, .tanehachi-motion__image:nth-child(3) .motion-flow {
    opacity: 1;
  }
  .tanehachi-motion__image:nth-child(3) .motion-treat {
    opacity: 1;
    -webkit-animation: none !important;
            animation: none !important;
  }
}