@charset "UTF-8";
/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4;
}

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  padding: 0;
  margin: 0;
}

hr {
  overflow: visible;
  height: 0;
  color: inherit;
}

details, main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline-width: 0;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b, strong {
  font-weight: bolder;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

input {
  border-radius: 0;
}

[disabled] {
  cursor: default;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button, input, optgroup, select, textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer;
  color: inherit;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}

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

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

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  white-space: normal;
  max-width: 100%;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

li {
  list-style: none;
}

img {
  max-width: 100%;
}

/* ==========================================================================
   base
   ========================================================================== */
body {
  color: #000;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 500;
  letter-spacing: 0.14em;
}

a {
  color: #000;
  text-decoration: none;
}
a:hover {
  opacity: 0.7;
  box-sizing: border-box;
  transition: linear 0.5s;
}

@media screen and (max-width: 600px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 600px) {
  .sp {
    display: block;
  }
}

/**
 * Swiper 12.2.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: May 27, 2026
 */
:root {
  --swiper-theme-color:#007aff;
}

:host {
  display: block;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}

.swiper {
  display: block;
  list-style: none;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  padding: 0;
  position: relative;
  z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  box-sizing: initial;
  display: flex;
  height: 100%;
  position: relative;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  width: 100%;
  z-index: 1;
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
  transform: translateZ(0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  display: block;
  flex-shrink: 0;
  height: 100%;
  position: relative;
  transition-property: transform;
  width: 100%;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
  .swiper-cube-shadow, .swiper-slide {
    transform-style: preserve-3d;
  }
}

.swiper-css-mode {
  > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    &::-webkit-scrollbar {
      display: none;
    }
  }
  > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  &.swiper-horizontal {
    > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-slides-offset-before);
      scroll-margin-inline-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-inline-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-vertical {
    > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-slides-offset-before);
      scroll-margin-block-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-block-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-free-mode {
    > .swiper-wrapper {
      scroll-snap-type: none;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }
  }
  &.swiper-centered {
    > .swiper-wrapper:before {
      content: "";
      flex-shrink: 0;
      order: 9999;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
  }
  &.swiper-centered.swiper-horizontal {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper:before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }
  }
  &.swiper-centered.swiper-vertical {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper:before {
      height: var(--swiper-centered-offset-after);
      min-width: 1px;
      width: 100%;
    }
  }
}

.swiper-3d {
  .swiper-slide-shadow, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left, .swiper-slide-shadow-right, .swiper-slide-shadow-top {
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10;
  }
  .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.1490196078);
  }
  .swiper-slide-shadow-left {
    background-image: linear-gradient(270deg, rgba(0, 0, 0, 0.5019607843), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-right {
    background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.5019607843), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-top {
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.5019607843), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5019607843), rgba(0, 0, 0, 0));
  }
}

.swiper-lazy-preloader {
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top: 4px solid rgba(0, 0, 0, 0);
  box-sizing: border-box;
  height: 42px;
  left: 50%;
  margin-left: -21px;
  margin-top: -21px;
  position: absolute;
  top: 50%;
  transform-origin: 50%;
  width: 42px;
  z-index: 10;
}

.swiper-watch-progress .swiper-slide-visible, .swiper:not(.swiper-watch-progress) {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s linear infinite;
  }
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(1turn);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode {
  .swiper-wrapper:after {
    content: "";
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
  }
}

.swiper-virtual.swiper-css-mode.swiper-horizontal {
  .swiper-wrapper:after {
    height: 1px;
    width: var(--swiper-virtual-size);
  }
}

.swiper-virtual.swiper-css-mode.swiper-vertical {
  .swiper-wrapper:after {
    height: var(--swiper-virtual-size);
    width: 1px;
  }
}

:root {
  --swiper-navigation-size:44px;
}

.swiper-button-next, .swiper-button-prev {
  align-items: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
  cursor: pointer;
  display: flex;
  height: var(--swiper-navigation-size);
  justify-content: center;
  position: absolute;
  width: var(--swiper-navigation-size);
  z-index: 10;
  &.swiper-button-disabled {
    cursor: auto;
    opacity: 0.35;
    pointer-events: none;
  }
  &.swiper-button-hidden {
    cursor: auto;
    opacity: 0;
    pointer-events: none;
  }
  .swiper-navigation-disabled & {
    display: none !important;
  }
  ::slotted(svg), svg {
    height: 100%;
    object-fit: contain;
    transform-origin: center;
    width: 100%;
    fill: currentColor;
    pointer-events: none;
  }
}

.swiper-button-lock {
  display: none;
}

.swiper-button-next, .swiper-button-prev {
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  top: var(--swiper-navigation-top-offset, 50%);
}

.swiper-button-prev {
  left: var(--swiper-navigation-sides-offset, 4px);
  right: auto;
  .swiper-navigation-icon, ::slotted(.swiper-navigation-icon) {
    transform: rotate(180deg);
  }
}

.swiper-button-next {
  left: auto;
  right: var(--swiper-navigation-sides-offset, 4px);
}

.swiper-horizontal {
  .swiper-button-next, .swiper-button-prev, ~ .swiper-button-next, ~ .swiper-button-prev {
    margin-left: 0;
    margin-top: calc(0px - var(--swiper-navigation-size) / 2);
    top: var(--swiper-navigation-top-offset, 50%);
  }
  &.swiper-rtl .swiper-button-next, &.swiper-rtl ~ .swiper-button-next, & ~ .swiper-button-prev, .swiper-button-prev {
    left: var(--swiper-navigation-sides-offset, 4px);
    right: auto;
  }
  &.swiper-rtl .swiper-button-prev, &.swiper-rtl ~ .swiper-button-prev, & ~ .swiper-button-next, .swiper-button-next {
    left: auto;
    right: var(--swiper-navigation-sides-offset, 4px);
  }
  &.swiper-rtl .swiper-button-next, &.swiper-rtl ~ .swiper-button-next, & ~ .swiper-button-prev, .swiper-button-prev {
    .swiper-navigation-icon, ::slotted(.swiper-navigation-icon) {
      transform: rotate(180deg);
    }
  }
  &.swiper-rtl .swiper-button-prev, &.swiper-rtl ~ .swiper-button-prev {
    .swiper-navigation-icon, ::slotted(.swiper-navigation-icon) {
      transform: rotate(0deg);
    }
  }
}

.swiper-vertical {
  .swiper-button-next, .swiper-button-prev, ~ .swiper-button-next, ~ .swiper-button-prev {
    left: var(--swiper-navigation-top-offset, 50%);
    margin-left: calc(0px - var(--swiper-navigation-size) / 2);
    margin-top: 0;
    right: auto;
  }
  .swiper-button-prev, ~ .swiper-button-prev {
    bottom: auto;
    top: var(--swiper-navigation-sides-offset, 4px);
    .swiper-navigation-icon, ::slotted(.swiper-navigation-icon) {
      transform: rotate(-90deg);
    }
  }
  .swiper-button-next, ~ .swiper-button-next {
    bottom: var(--swiper-navigation-sides-offset, 4px);
    top: auto;
    .swiper-navigation-icon, ::slotted(.swiper-navigation-icon) {
      transform: rotate(90deg);
    }
  }
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transform: translateZ(0);
  transition: opacity 0.3s;
  z-index: 10;
  &.swiper-pagination-hidden {
    opacity: 0;
  }
  &.swiper-pagination-disabled, .swiper-pagination-disabled > & {
    display: none !important;
  }
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  left: 0;
  top: var(--swiper-pagination-top, auto);
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  font-size: 0;
  overflow: hidden;
  .swiper-pagination-bullet {
    position: relative;
    transform: scale(0.33);
  }
  .swiper-pagination-bullet-active, .swiper-pagination-bullet-active-main {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-prev {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33);
  }
  .swiper-pagination-bullet-active-next {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33);
  }
}

.swiper-pagination-bullet {
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  display: inline-block;
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  button& {
    appearance: none;
    border: none;
    box-shadow: none;
    margin: 0;
    padding: 0;
  }
  .swiper-pagination-clickable & {
    cursor: pointer;
  }
  &:only-child {
    display: none !important;
  }
}

.swiper-pagination-bullet-active {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  opacity: var(--swiper-pagination-bullet-opacity, 1);
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  left: var(--swiper-pagination-left, auto);
  right: var(--swiper-pagination-right, 8px);
  top: 50%;
  transform: translate3d(0, -50%, 0);
  .swiper-pagination-bullet {
    display: block;
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  }
  &.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    .swiper-pagination-bullet {
      display: inline-block;
      transition: transform 0.2s, top 0.2s;
    }
  }
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-horizontal.swiper-pagination-bullets {
  .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
  }
  &.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    .swiper-pagination-bullet {
      transition: transform 0.2s, left 0.2s;
    }
  }
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: transform 0.2s, right 0.2s;
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.2509803922));
  position: absolute;
  .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: scale(0);
    transform-origin: left top;
    width: 100%;
  }
  .swiper-rtl & .swiper-pagination-progressbar-fill {
    transform-origin: right top;
  }
  &.swiper-pagination-horizontal, &.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-horizontal > &, .swiper-vertical > &.swiper-pagination-progressbar-opposite {
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
    width: 100%;
  }
  &.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, &.swiper-pagination-vertical, .swiper-horizontal > &.swiper-pagination-progressbar-opposite, .swiper-vertical > & {
    height: 100%;
    left: 0;
    top: 0;
    width: var(--swiper-pagination-progressbar-size, 4px);
  }
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1019607843));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  &.swiper-scrollbar-disabled, .swiper-scrollbar-disabled > & {
    display: none !important;
  }
  &.swiper-scrollbar-horizontal, .swiper-horizontal > & {
    bottom: var(--swiper-scrollbar-bottom, 4px);
    height: var(--swiper-scrollbar-size, 4px);
    left: var(--swiper-scrollbar-sides-offset, 1%);
    position: absolute;
    top: var(--swiper-scrollbar-top, auto);
    width: calc(100% - var(--swiper-scrollbar-sides-offset, 1%) * 2);
    z-index: 50;
  }
  &.swiper-scrollbar-vertical, .swiper-vertical > & {
    height: calc(100% - var(--swiper-scrollbar-sides-offset, 1%) * 2);
    left: var(--swiper-scrollbar-left, auto);
    position: absolute;
    right: var(--swiper-scrollbar-right, 4px);
    top: var(--swiper-scrollbar-sides-offset, 1%);
    width: var(--swiper-scrollbar-size, 4px);
    z-index: 50;
  }
}

.swiper-scrollbar-drag {
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5019607843));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  height: 100%;
  left: 0;
  position: relative;
  top: 0;
  width: 100%;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  text-align: center;
  width: 100%;
  > canvas, > img, > svg {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
  }
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

.swiper .swiper-notification {
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  margin: 0 auto;
  transition-timing-function: ease-out;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-direction: column;
  flex-wrap: wrap;
}

.swiper-fade {
  &.swiper-free-mode {
    .swiper-slide {
      transition-timing-function: ease-out;
    }
  }
  .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
    .swiper-slide {
      pointer-events: none;
    }
  }
  .swiper-slide-active {
    pointer-events: auto;
    & .swiper-slide-active {
      pointer-events: auto;
    }
  }
}

.swiper.swiper-cube {
  overflow: visible;
}

.swiper-cube {
  .swiper-slide {
    backface-visibility: hidden;
    height: 100%;
    pointer-events: none;
    transform-origin: 0 0;
    visibility: hidden;
    width: 100%;
    z-index: 1;
    .swiper-slide {
      pointer-events: none;
    }
  }
  &.swiper-rtl .swiper-slide {
    transform-origin: 100% 0;
  }
  .swiper-slide-active {
    &, & .swiper-slide-active {
      pointer-events: auto;
    }
  }
  .swiper-slide-active, .swiper-slide-next, .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible;
  }
  .swiper-cube-shadow {
    bottom: 0;
    height: 100%;
    left: 0;
    opacity: 0.6;
    position: absolute;
    width: 100%;
    z-index: 0;
    &:before {
      background: #000;
      bottom: 0;
      content: "";
      filter: blur(50px);
      left: 0;
      position: absolute;
      right: 0;
      top: 0;
    }
  }
}

.swiper-cube {
  .swiper-slide-next + .swiper-slide {
    pointer-events: auto;
    visibility: visible;
  }
}

.swiper-cube {
  .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, .swiper-slide-shadow-cube.swiper-slide-shadow-left, .swiper-slide-shadow-cube.swiper-slide-shadow-right, .swiper-slide-shadow-cube.swiper-slide-shadow-top {
    backface-visibility: hidden;
    z-index: 0;
  }
}

.swiper.swiper-flip {
  overflow: visible;
}

.swiper-flip {
  .swiper-slide {
    backface-visibility: hidden;
    pointer-events: none;
    z-index: 1;
    .swiper-slide {
      pointer-events: none;
    }
  }
  .swiper-slide-active {
    &, & .swiper-slide-active {
      pointer-events: auto;
    }
  }
}

.swiper-flip {
  .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, .swiper-slide-shadow-flip.swiper-slide-shadow-left, .swiper-slide-shadow-flip.swiper-slide-shadow-right, .swiper-slide-shadow-flip.swiper-slide-shadow-top {
    backface-visibility: hidden;
    z-index: 0;
  }
}

.swiper-creative {
  .swiper-slide {
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height;
  }
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards {
  .swiper-slide {
    backface-visibility: hidden;
    overflow: hidden;
    transform-origin: center bottom;
  }
}

/* ---------
 header
 --------- */
header {
  display: flex;
  column-gap: clamp(37.2px, 6.2vw, 119.04px);
  width: clamp(547.2px, 91.2vw, 1751.04px);
  padding: clamp(10.8px, 1.8vw, 34.56px) 0 0;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
}
@media screen and (max-width: 600px) {
  header {
    justify-content: space-between;
    width: 100%;
    padding: 0;
  }
}
header h1 {
  width: clamp(45px, 7.5vw, 144px);
}
@media screen and (max-width: 600px) {
  header h1 {
    margin: clamp(4px, 1.9047619048vw, 11.4285714286px);
    width: clamp(32px, 12.380952381vw, 74.2857142857px);
  }
}
header .toggle {
  display: none;
}
@media screen and (max-width: 600px) {
  header .toggle {
    display: block;
    background: #b60000;
    position: relative;
    cursor: pointer;
    z-index: 10;
    width: clamp(32px, 9.5238095238vw, 57.1428571429px);
    height: clamp(32px, 9.5238095238vw, 57.1428571429px);
  }
  header .toggle span {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: #fff;
    width: clamp(16px, 5.7142857143vw, 34.2857142857px);
    height: 2px;
    transition: linear 0.3s;
  }
  header .toggle span:nth-of-type(1) {
    top: 30%;
  }
  header .toggle span:nth-of-type(2) {
    top: 50%;
  }
  header .toggle span:nth-of-type(3) {
    top: 70%;
  }
}
@media screen and (max-width: 600px) {
  header .toggle.open span {
    transition: linear 0.3s;
    left: 25%;
  }
  header .toggle.open span:nth-of-type(1) {
    top: 50%;
    transform: rotate(45deg);
  }
  header .toggle.open span:nth-of-type(2) {
    opacity: 0;
  }
  header .toggle.open span:nth-of-type(3) {
    top: 50%;
    transform: rotate(-45deg);
  }
}
header nav {
  padding-top: clamp(10.8px, 1.8vw, 34.56px);
}
@media screen and (max-width: 600px) {
  header nav {
    display: none;
    position: absolute;
    width: 100vw;
    height: 100vh;
    background: #b60000;
  }
}
header nav ul {
  display: flex;
  align-items: center;
  column-gap: clamp(36px, 6vw, 115.2px);
  font-size: clamp(6px, 1vw, 19.2px);
  font-weight: bold;
}
@media screen and (max-width: 600px) {
  header nav ul {
    flex-direction: column;
    font-size: clamp(10px, 3.3333333333vw, 20px);
    padding-top: 10%;
  }
  header nav ul a {
    color: #fff;
    line-height: 3;
  }
}

/* ---------
 main
 --------- */
main {
  display: block;
  overflow: hidden;
}
main .kv {
  background: linear-gradient(#d4ecff, transparent 41.486811%);
  padding-top: clamp(55.2px, 9.2vw, 176.64px);
}
@media screen and (max-width: 600px) {
  main .kv {
    padding-top: clamp(46px, 15.2380952381vw, 91.4285714286px);
  }
}
main .kv h2 {
  width: clamp(325.2px, 54.2vw, 1040.64px);
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 600px) {
  main .kv h2 {
    width: clamp(271px, 73.8095238095vw, 442.8571428571px);
  }
}
main .kv_box {
  position: relative;
}
main .kv_box .top > img {
  position: absolute;
  z-index: 3;
}
main .kv_box .top:before {
  content: "";
  position: absolute;
  background: url(../img/kv_bg_left_cloud.svg) no-repeat center center/contain;
  width: clamp(180px, 30vw, 576px);
  height: clamp(250.8px, 41.8vw, 802.56px);
  left: calc(-1 * clamp(78px, 13vw, 249.6px));
  bottom: calc(-1 * clamp(1.2px, 0.2vw, 3.84px));
}
@media screen and (max-width: 600px) {
  main .kv_box .top:before {
    width: clamp(150px, 40.7142857143vw, 244.2857142857px);
    height: clamp(209px, 56.9047619048vw, 341.4285714286px);
    left: calc(-1 * clamp(65px, 17.687074831vw, 106.1224489857px));
  }
}
main .kv_box .top:after {
  content: "";
  position: absolute;
  background: url(../img/kv_bg_right_cloud.svg) no-repeat center center/contain;
  width: clamp(152.4px, 25.4vw, 487.68px);
  height: clamp(217.8px, 36.3vw, 696.96px);
  right: calc(-1 * clamp(69.6px, 11.6vw, 222.72px));
  bottom: calc(-1 * clamp(36px, 6vw, 115.2px));
}
@media screen and (max-width: 600px) {
  main .kv_box .top:after {
    width: clamp(127px, 34.5578231286vw, 207.3469387714px);
    height: clamp(181.5px, 49.3877551024vw, 296.3265306143px);
    right: calc(-1 * clamp(58px, 15.7823129262vw, 94.6938775571px));
    bottom: calc(-1 * clamp(30px, 8.1632653071vw, 48.9795918429px));
  }
}
main .kv_box .top .lantern {
  width: clamp(164.4px, 27.4vw, 526.08px);
  left: calc(-1 * clamp(62.4px, 10.4vw, 199.68px));
  top: clamp(28.2px, 4.7vw, 90.24px);
}
@media screen and (max-width: 600px) {
  main .kv_box .top .lantern {
    width: clamp(100px, 30.9523809524vw, 185.7142857143px);
    left: calc(-1 * clamp(20px, 9.5238095238vw, 57.1428571429px));
    top: clamp(24px, 7.619047619vw, 45.7142857143px);
  }
}
main .kv_box .top .skytree {
  width: clamp(36px, 6vw, 115.2px);
  right: clamp(22.8px, 3.8vw, 72.96px);
  bottom: clamp(6.6px, 1.1vw, 21.12px);
}
@media screen and (max-width: 600px) {
  main .kv_box .top .skytree {
    width: clamp(24px, 8.1632653071vw, 48.9795918429px);
    right: clamp(2px, 0.9523809524vw, 5.7142857143px);
    bottom: clamp(6px, 2.619047619vw, 15.7142857143px);
  }
}
main .kv_box .top .kura {
  width: clamp(159px, 26.5vw, 508.8px);
  right: clamp(34.8px, 5.8vw, 111.36px);
  bottom: clamp(24px, 4vw, 76.8px);
}
@media screen and (max-width: 600px) {
  main .kv_box .top .kura {
    width: clamp(132.5px, 36.054421769vw, 216.3265306143px);
    right: clamp(5px, 2.8571428571vw, 17.1428571429px);
    bottom: 0;
  }
}
main .kv_box .bottom {
  position: relative;
  height: clamp(40.8px, 6.8vw, 130.56px);
}
@media screen and (max-width: 600px) {
  main .kv_box .bottom {
    height: clamp(24px, 8.5714285714vw, 51.4285714286px);
  }
}
main .kv_box .bottom::before {
  content: "";
  background: #e4f4c2;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: clamp(40.8px, 6.8vw, 130.56px);
  z-index: 4;
}
@media screen and (max-width: 600px) {
  main .kv_box .bottom::before {
    height: clamp(24px, 8.5714285714vw, 51.4285714286px);
  }
}
main .kv_box .bottom > img {
  position: absolute;
  z-index: 5;
}
main .kv_box .bottom .bridge {
  width: 100dvw;
  bottom: 0;
}
main .kv_box .bottom .boot {
  width: clamp(148.8px, 24.8vw, 476.16px);
  height: clamp(30px, 5vw, 96px);
  right: clamp(63.6px, 10.6vw, 203.52px);
  bottom: calc(-1 * clamp(20.4px, 3.4vw, 65.28px));
}
@media screen and (max-width: 600px) {
  main .kv_box .bottom .boot {
    width: clamp(120px, 32.380952381vw, 194.2857142857px);
    height: clamp(20px, 6.8027210881vw, 40.8163265286px);
    right: clamp(32px, 9.5238095238vw, 57.1428571429px);
    bottom: calc(-1 * clamp(8px, 4.2857142857vw, 25.7142857143px));
  }
}
main .kv_box .bottom .wave {
  width: 100dvw;
  bottom: -16vw;
  z-index: 4;
}
main .kv .swiper {
  width: clamp(448.8px, 74.8vw, 1436.16px);
  position: relative;
  max-height: clamp(253.8px, 42.3vw, 812.16px);
  margin-top: clamp(-48px, -8vw, -153.6px);
  border: 2px solid #737373;
  border-radius: clamp(18.6px, 3.1vw, 59.52px) clamp(18.6px, 3.1vw, 59.52px) 0 0;
}
@media screen and (max-width: 600px) {
  main .kv .swiper {
    width: clamp(260px, 80.9523809524vw, 485.7142857143px);
    max-height: clamp(148px, 46.1904761905vw, 277.1428571429px);
    margin-top: clamp(-30px, -10.9523809524vw, -65.7142857143px);
    border-radius: clamp(10px, 4.2857142857vw, 25.7142857143px) clamp(10px, 4.2857142857vw, 25.7142857143px) 0 0;
    border-width: clamp(1px, 0.4761904762vw, 2.8571428571px);
  }
}
main .kv .swiper .swiper-pagination {
  position: absolute;
  top: clamp(18px, 3vw, 57.6px);
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  row-gap: clamp(7.2px, 1.2vw, 23.04px);
  z-index: 100;
}
@media screen and (max-width: 600px) {
  main .kv .swiper .swiper-pagination {
    top: clamp(24px, 8.5714285714vw, 51.4285714286px);
    row-gap: clamp(4px, 1.9047619048vw, 11.4285714286px);
  }
}
main .kv .swiper .swiper-pagination .swiper-pagination-bullet {
  position: relative;
  right: clamp(15.6px, 2.6vw, 49.92px);
  top: 0;
  margin-left: auto;
  width: clamp(6.6px, 1.1vw, 21.12px);
  height: clamp(6.6px, 1.1vw, 21.12px);
  background: #fff;
  border: clamp(0.6px, 0.1vw, 1.92px) solid #737373;
  opacity: 1;
}
@media screen and (max-width: 600px) {
  main .kv .swiper .swiper-pagination .swiper-pagination-bullet {
    right: clamp(6px, 2.380952381vw, 14.2857142857px);
    width: clamp(4px, 2.380952381vw, 14.2857142857px);
    height: clamp(4px, 2.380952381vw, 14.2857142857px);
  }
}
main .kv .swiper .swiper-pagination .swiper-pagination-bullet-active {
  background: #ffff8b;
}
main .about {
  position: relative;
  padding-top: clamp(118.8px, 19.8vw, 380.16px);
}
@media screen and (max-width: 600px) {
  main .about {
    padding-top: clamp(99px, 26.9387755095vw, 161.6326530571px);
  }
}
main .about .en_ttl {
  margin-bottom: clamp(25.2px, 4.2vw, 80.64px);
}
@media screen and (max-width: 600px) {
  main .about .en_ttl {
    margin-bottom: clamp(16px, 5.7142857143vw, 34.2857142857px);
  }
}
main .about .en_ttl:before {
  background: url(../img/about_ttl.svg) no-repeat center center/contain;
  width: clamp(240px, 40vw, 768px);
  height: clamp(58.2px, 9.7vw, 186.24px);
  bottom: clamp(2.4px, 0.4vw, 7.68px);
}
@media screen and (max-width: 600px) {
  main .about .en_ttl:before {
    width: clamp(200px, 54.2857142857vw, 325.7142857143px);
    height: clamp(48.5px, 13.1904761905vw, 79.1428571429px);
  }
}
main .about .lead {
  text-align: center;
  font-size: clamp(7.8px, 1.3vw, 24.96px);
  line-height: 1.7;
  margin-bottom: clamp(54px, 9vw, 172.8px);
}
@media screen and (max-width: 600px) {
  main .about .lead {
    font-size: clamp(10px, 2.619047619vw, 15.7142857143px);
    margin: 0 5% clamp(45px, 12.2380952381vw, 73.4285714286px);
  }
}
main .about .mascot {
  position: absolute;
  left: clamp(36px, 6vw, 115.2px);
  top: clamp(21px, 3.5vw, 67.2px);
  z-index: 5;
  display: flex;
  column-gap: clamp(1.8px, 0.3vw, 5.76px);
}
@media screen and (max-width: 600px) {
  main .about .mascot {
    left: clamp(24px, 8.0952380952vw, 48.5714285714px);
    top: clamp(8px, 4.2857142857vw, 25.7142857143px);
    column-gap: clamp(1px, 0.7142857143vw, 4.2857142857px);
  }
}
main .about .mascot img {
  width: clamp(78px, 13vw, 249.6px);
}
@media screen and (max-width: 600px) {
  main .about .mascot img {
    width: clamp(40px, 14.2857142857vw, 85.7142857143px);
  }
}
main .about .mascot_baloon {
  text-align: center;
  position: relative;
  width: clamp(82.8px, 13.8vw, 264.96px);
  height: clamp(56.4px, 9.4vw, 180.48px);
}
@media screen and (max-width: 600px) {
  main .about .mascot_baloon {
    width: clamp(72px, 21.9047619048vw, 131.4285714286px);
    height: clamp(52px, 17.1428571429vw, 102.8571428571px);
    margin-top: -15%;
  }
}
main .about .mascot_baloon:before {
  content: "";
  position: absolute;
  left: 0;
  background: url(../img/balloon.svg) no-repeat center center/contain;
  width: clamp(82.8px, 13.8vw, 264.96px);
  height: clamp(56.4px, 9.4vw, 180.48px);
}
@media screen and (max-width: 600px) {
  main .about .mascot_baloon:before {
    width: clamp(72px, 21.9047619048vw, 131.4285714286px);
    height: clamp(52px, 17.1428571429vw, 102.8571428571px);
  }
}
main .about .mascot_baloon .txt {
  position: relative;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 1;
}
main .about .mascot_baloon .txt span {
  font-size: clamp(4.68px, 0.78vw, 14.976px);
  display: block;
  line-height: 1.3;
}
@media screen and (max-width: 600px) {
  main .about .mascot_baloon .txt span {
    font-size: clamp(5px, 1.4285714286vw, 8.5714285714px);
  }
}
main .about .mascot_baloon .txt em {
  font-style: normal;
  font-size: clamp(12px, 2vw, 38.4px);
  font-weight: bold;
  display: block;
}
@media screen and (max-width: 600px) {
  main .about .mascot_baloon .txt em {
    font-size: clamp(13px, 3.8095238095vw, 22.8571428571px);
    line-height: 1;
  }
}
main .info {
  display: flex;
}
@media screen and (max-width: 600px) {
  main .info {
    flex-direction: column;
  }
}
main .info_box {
  width: 50%;
  background: #b60000;
  padding: 0 clamp(26.4px, 4.4vw, 84.48px) clamp(25.8px, 4.3vw, 82.56px);
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 600px) {
  main .info_box {
    width: auto;
    padding: 0 clamp(16px, 6.1904761905vw, 37.1428571429px) clamp(20px, 9.5238095238vw, 57.1428571429px);
  }
}
main .info_box:first-of-type {
  border-right: 1px solid #fff;
}
@media screen and (max-width: 600px) {
  main .info_box:first-of-type {
    border-right: 0;
    border-bottom: 1px solid #fff;
    padding-bottom: clamp(40px, 14.2857142857vw, 85.7142857143px);
  }
}
main .info_box .ttl {
  background: #b60000;
  border: 1px solid #fff;
  border-radius: 50%;
  width: clamp(138px, 23vw, 441.6px);
  text-align: center;
  padding: clamp(16.2px, 2.7vw, 51.84px) clamp(9.6px, 1.6vw, 30.72px) clamp(10.8px, 1.8vw, 34.56px);
  margin: -10% auto clamp(26.4px, 4.4vw, 84.48px);
}
@media screen and (max-width: 600px) {
  main .info_box .ttl {
    width: clamp(110px, 31.4285714286vw, 188.5714285714px);
    padding: clamp(8px, 3.8095238095vw, 22.8571428571px) clamp(4px, 1.9047619048vw, 11.4285714286px) clamp(6px, 2.380952381vw, 14.2857142857px);
    margin: -8% auto clamp(16px, 5.7142857143vw, 34.2857142857px);
  }
}
main .info_box .ttl img {
  height: clamp(27.6px, 4.6vw, 88.32px);
}
@media screen and (max-width: 600px) {
  main .info_box .ttl img {
    height: clamp(18px, 6.1904761905vw, 37.1428571429px);
  }
}
main .info_box #note-article-list {
  margin-bottom: clamp(21px, 3.5vw, 67.2px);
}
@media screen and (max-width: 600px) {
  main .info_box #note-article-list {
    margin-bottom: clamp(14px, 4.7619047619vw, 28.5714285714px);
  }
}
main .info_box .note-article-item {
  margin-bottom: clamp(14.4px, 2.4vw, 46.08px);
}
@media screen and (max-width: 600px) {
  main .info_box .note-article-item {
    margin-bottom: clamp(12px, 3.8095238095vw, 22.8571428571px);
  }
}
main .info_box .note-article-item .article-link {
  display: flex;
  column-gap: clamp(15px, 2.5vw, 48px);
  align-items: center;
}
@media screen and (max-width: 600px) {
  main .info_box .note-article-item .article-link {
    column-gap: clamp(12px, 3.8095238095vw, 22.8571428571px);
  }
}
main .info_box .note-article-item .article-link .thumb {
  width: clamp(120px, 20vw, 384px);
}
@media screen and (max-width: 600px) {
  main .info_box .note-article-item .article-link .thumb {
    width: clamp(92px, 28.5714285714vw, 171.4285714286px);
  }
}
main .info_box .note-article-item .article-link .info {
  width: calc(100% - clamp(120px, 20vw, 384px));
  color: #fff;
  flex-direction: column;
}
@media screen and (max-width: 600px) {
  main .info_box .note-article-item .article-link .info {
    width: calc(100% - clamp(104px, 32.380952381vw, 194.2857142857px));
  }
}
main .info_box .note-article-item .article-link .info .title {
  font-size: clamp(8.4px, 1.4vw, 26.88px);
  font-weight: bold;
  margin-bottom: clamp(4.8px, 0.8vw, 15.36px);
}
@media screen and (max-width: 600px) {
  main .info_box .note-article-item .article-link .info .title {
    font-size: clamp(10px, 2.7380952381vw, 16.4285714286px);
    margin-bottom: clamp(2px, 0.9523809524vw, 5.7142857143px);
  }
}
main .info_box .note-article-item .article-link .info .date {
  font-size: clamp(6.6px, 1.1vw, 21.12px);
  font-weight: 200;
}
@media screen and (max-width: 600px) {
  main .info_box .note-article-item .article-link .info .date {
    font-size: clamp(8px, 2.380952381vw, 14.2857142857px);
  }
}
main .info_box .insta-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(13.2px, 2.2vw, 42.24px);
  margin-bottom: clamp(21px, 3.5vw, 67.2px);
}
@media screen and (max-width: 600px) {
  main .info_box .insta-gallery {
    gap: clamp(10px, 3.0952380952vw, 18.5714285714px);
    margin-bottom: clamp(14px, 4.7619047619vw, 28.5714285714px);
  }
}
main .info_box .insta-gallery .insta-item {
  width: clamp(102px, 17vw, 326.4px);
}
@media screen and (max-width: 600px) {
  main .info_box .insta-gallery .insta-item {
    width: calc((100% - clamp(10px, 3.0952380952vw, 18.5714285714px)) / 2);
  }
}
main .info_box .arrow_link {
  margin-top: auto;
}
main .list {
  padding: clamp(88.8px, 14.8vw, 284.16px) 0 clamp(85.8px, 14.3vw, 274.56px);
}
@media screen and (max-width: 600px) {
  main .list {
    padding: clamp(68px, 20vw, 120px) clamp(30px, 9.5238095238vw, 57.1428571429px);
  }
}
main .list .en_ttl {
  margin-bottom: clamp(28.8px, 4.8vw, 92.16px);
}
main .list .en_ttl::before {
  background: url(../img/shop_ttl.svg) no-repeat center center/contain;
  width: clamp(282.6px, 47.1vw, 904.32px);
  height: clamp(79.2px, 13.2vw, 253.44px);
  bottom: calc(-1 * clamp(10.8px, 1.8vw, 34.56px));
}
main .list .map {
  text-align: center;
}
main .list .map iframe {
  width: clamp(395.4px, 65.9vw, 1265.28px);
  height: clamp(304.2px, 50.7vw, 973.44px);
}
@media screen and (max-width: 600px) {
  main .list .map iframe {
    width: 100%;
    height: clamp(280px, 76.1904761905vw, 457.1428571429px);
  }
}
main .magazine {
  background: #d4ecff;
  position: relative;
  padding: clamp(76.8px, 12.8vw, 245.76px) 0 clamp(64.8px, 10.8vw, 207.36px);
}
@media screen and (max-width: 600px) {
  main .magazine {
    padding: clamp(62px, 17.619047619vw, 105.7142857143px) 0 clamp(50px, 14.7619047619vw, 88.5714285714px);
  }
}
main .magazine::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(-1 * clamp(34.8px, 5.8vw, 111.36px));
  background: url(../img/magazine_bg.svg) no-repeat center center/cover;
  width: 100vw;
  height: clamp(34.8px, 5.8vw, 111.36px);
}
@media screen and (max-width: 600px) {
  main .magazine::before {
    top: calc(-1 * clamp(23px, 7.1428571429vw, 42.8571428571px));
    height: clamp(24px, 7.1428571429vw, 42.8571428571px);
  }
}
main .magazine:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  background: url(../img/contact_bg.svg) no-repeat center center/cover;
  width: 100vw;
  height: clamp(34.8px, 5.8vw, 111.36px);
}
@media screen and (max-width: 600px) {
  main .magazine:after {
    height: clamp(38px, 9.5238095238vw, 57.1428571429px);
  }
}
main .magazine .mascot {
  position: absolute;
  width: clamp(58.8px, 9.8vw, 188.16px);
  top: calc(-1 * clamp(84px, 14vw, 268.8px));
  right: clamp(40.2px, 6.7vw, 128.64px);
}
@media screen and (max-width: 600px) {
  main .magazine .mascot {
    width: clamp(48px, 13.3333333333vw, 80px);
    top: calc(-1 * clamp(60px, 19.0476190476vw, 114.2857142857px));
    right: clamp(8px, 3.8095238095vw, 22.8571428571px);
  }
}
main .magazine .en_ttl {
  margin-bottom: clamp(24px, 4vw, 76.8px);
}
@media screen and (max-width: 600px) {
  main .magazine .en_ttl {
    margin-bottom: clamp(17px, 5.4761904762vw, 32.8571428571px);
  }
}
main .magazine .en_ttl::before {
  background: url(../img/magazine_ttl.svg) no-repeat center center/contain;
  width: clamp(281.4px, 46.9vw, 900.48px);
  height: clamp(76.8px, 12.8vw, 245.76px);
  bottom: calc(-1 * clamp(13.8px, 2.3vw, 44.16px));
}
@media screen and (max-width: 600px) {
  main .magazine .en_ttl::before {
    width: clamp(234px, 63.8095238095vw, 382.8571428571px);
    height: clamp(64px, 17.619047619vw, 105.7142857143px);
    bottom: calc(-1 * clamp(8px, 3.3333333333vw, 20px));
  }
}
main .magazine .img {
  width: clamp(91.8px, 15.3vw, 293.76px);
  margin: 0 auto clamp(13.8px, 2.3vw, 44.16px);
}
@media screen and (max-width: 600px) {
  main .magazine .img {
    width: clamp(120px, 33.3333333333vw, 200px);
    margin-bottom: clamp(8px, 3.3333333333vw, 20px);
  }
}
main .magazine .lead {
  font-size: clamp(7.8px, 1.3vw, 24.96px);
  text-align: center;
  line-height: 1.76923077;
  margin-bottom: clamp(16.8px, 2.8vw, 53.76px);
}
@media screen and (max-width: 600px) {
  main .magazine .lead {
    font-size: clamp(10px, 2.619047619vw, 15.7142857143px);
    margin-bottom: clamp(10px, 3.8095238095vw, 22.8571428571px);
  }
}
main .contact {
  background: #ffff8b;
  padding: clamp(80.4px, 13.4vw, 257.28px) 0 clamp(44.4px, 7.4vw, 142.08px);
  text-align: center;
}
@media screen and (max-width: 600px) {
  main .contact {
    padding: clamp(62px, 18.0952380952vw, 108.5714285714px) 0;
  }
}
main .contact .en_ttl {
  margin-bottom: clamp(19.2px, 3.2vw, 61.44px);
}
@media screen and (max-width: 600px) {
  main .contact .en_ttl {
    margin-bottom: clamp(12px, 4.2857142857vw, 25.7142857143px);
  }
}
main .contact .en_ttl::before {
  background: url(../img/contact_ttl.svg) no-repeat center center/contain;
  width: clamp(226.2px, 37.7vw, 723.84px);
  height: clamp(56.4px, 9.4vw, 180.48px);
  bottom: clamp(7.2px, 1.2vw, 23.04px);
}
@media screen and (max-width: 600px) {
  main .contact .en_ttl::before {
    width: clamp(180px, 51.4285714286vw, 308.5714285714px);
    height: clamp(44px, 12.619047619vw, 75.7142857143px);
    bottom: clamp(4px, 1.9047619048vw, 11.4285714286px);
  }
}
main .contact .members {
  margin: 0 auto;
  background: #b60000;
  color: #fff;
  font-size: clamp(18px, 3vw, 57.6px);
  display: inline-block;
  padding: clamp(14.4px, 2.4vw, 46.08px) clamp(37.2px, 6.2vw, 119.04px);
  margin-bottom: clamp(14.4px, 2.4vw, 46.08px);
}
@media screen and (max-width: 600px) {
  main .contact .members {
    font-size: clamp(14px, 4.2857142857vw, 25.7142857143px);
    padding: clamp(8px, 3.3333333333vw, 20px) clamp(31px, 8.5714285714vw, 51.4285714286px);
    margin-bottom: clamp(8px, 3.3333333333vw, 20px);
  }
}
main .contact .lead {
  font-size: clamp(7.8px, 1.3vw, 24.96px);
  line-height: 1.76923077;
  margin-bottom: clamp(16.8px, 2.8vw, 53.76px);
}
@media screen and (max-width: 600px) {
  main .contact .lead {
    font-size: clamp(10px, 2.619047619vw, 15.7142857143px);
    margin-bottom: clamp(8px, 3.8095238095vw, 22.8571428571px);
  }
}
main .contact .deco {
  position: relative;
}
main .contact .deco .mascot {
  position: absolute;
  width: clamp(84.6px, 14.1vw, 270.72px);
  height: clamp(115.8px, 19.3vw, 370.56px);
  bottom: calc(-1 * clamp(28.8px, 4.8vw, 92.16px));
  left: clamp(28.8px, 4.8vw, 92.16px);
}
@media screen and (max-width: 600px) {
  main .contact .deco .mascot {
    width: clamp(55px, 14.2857142857vw, 85.7142857143px);
    height: clamp(75px, 19.5238095238vw, 117.1428571429px);
    bottom: calc(-1 * clamp(40px, 13.3333333333vw, 80px));
    left: clamp(20px, 6.6666666667vw, 40px);
  }
}
main .contact .deco .illust {
  position: absolute;
  width: clamp(132px, 22vw, 422.4px);
  height: clamp(48px, 8vw, 153.6px);
  bottom: calc(-1 * clamp(30px, 5vw, 96px));
  right: clamp(15.6px, 2.6vw, 49.92px);
}
@media screen and (max-width: 600px) {
  main .contact .deco .illust {
    width: clamp(10px, 28.5714285714vw, 171.4285714286px);
    height: clamp(38px, 10.9523809524vw, 65.7142857143px);
    bottom: calc(-1 * clamp(40px, 13.3333333333vw, 80px));
    right: clamp(13px, 3.5238095238vw, 21.1428571429px);
  }
}

/* ---------
 footer
 --------- */
footer {
  background: #838383;
  text-align: center;
  padding: clamp(16.8px, 2.8vw, 53.76px);
}
footer img {
  width: clamp(182.4px, 30.4vw, 583.68px);
}

.en_ttl {
  font-size: clamp(22.2px, 3.7vw, 71.04px);
  line-height: 1;
  font-weight: bold;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 600px) {
  .en_ttl {
    font-size: clamp(22px, 6.6666666667vw, 40px);
  }
}
.en_ttl:before {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 0;
}
.en_ttl span {
  position: relative;
  z-index: 2;
}

.arrow_link {
  display: block;
  text-align: center;
  background: #fff;
  position: relative;
  font-weight: bold;
  font-size: clamp(7.8px, 1.3vw, 24.96px);
  width: clamp(154.8px, 25.8vw, 495.36px);
  border-radius: clamp(16.8px, 2.8vw, 53.76px);
  padding: clamp(10.8px, 1.8vw, 34.56px) clamp(12px, 2vw, 38.4px) clamp(9.6px, 1.6vw, 30.72px);
  margin: 0 auto;
}
@media screen and (max-width: 600px) {
  .arrow_link {
    width: clamp(180px, 47.619047619vw, 285.7142857143px);
    font-size: clamp(10px, 3.0952380952vw, 18.5714285714px);
    border-radius: clamp(24px, 6.6666666667vw, 40px);
    padding: clamp(6px, 2.8571428571vw, 17.1428571429px) clamp(5px, 2.8571428571vw, 17.1428571429px);
  }
}
.arrow_link span {
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: clamp(12px, 2vw, 38.4px);
  width: clamp(9.6px, 1.6vw, 30.72px);
  height: 1px;
  margin-top: 3.6px;
  border-radius: 9999px;
  background-color: #b60000;
}
@media screen and (max-width: 600px) {
  .arrow_link span {
    width: clamp(16px, 4.2857142857vw, 25.7142857143px);
    right: clamp(14px, 3.8095238095vw, 22.8571428571px);
    margin-top: clamp(0px, 0.4761904762vw, 2.8571428571px);
  }
}
.arrow_link span:before {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 0;
  width: clamp(3.6px, 0.6vw, 11.52px);
  height: 1px;
  border-radius: 9999px;
  background-color: #b60000;
  transform: rotate(45deg);
  transform-origin: calc(100% - 0.5px) 50%;
}
@media screen and (max-width: 600px) {
  .arrow_link span:before {
    width: clamp(4px, 1.9047619048vw, 11.4285714286px);
  }
}
