@charset "UTF-8";
/* Swiper 5.4.1 styles: Copyright 2014-2020 Vladimir Kharlampidi. MIT License. */
:root {
  --swiper-theme-color: var(--color-swiper);
}
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}
.swiper-wrapper {
  transform: translate3d(0px,0,0);
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}
:root {
  --swiper-navigation-size: 44px;
}
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}
*, ::before, ::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}
html {
  line-height: 1.2;
  scroll-behavior: auto;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
main {
  display: block;
}
p, form, dl {
  margin: 0;
}
h1, h2, h3 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
strong {
  font-weight: bolder;
}
img {
  vertical-align: bottom;
}
button, input, select, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}
button, [type=submit] {
  cursor: pointer;
}
button:disabled, [type=submit]:disabled {
  cursor: default;
}
:-moz-focusring {
  outline: auto;
}
select:disabled {
  opacity: inherit;
}
option {
  padding: 0;
}
textarea {
  overflow: auto;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
label[for] {
  cursor: pointer;
}
body {
  margin: 0;
  background: var(--color-white);
  color: var(--color-ink);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
}
body img {
  width: 100%;
}
body.on {
  overflow: hidden;
}
@media (hover: hover) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
#wrapper {
  width: 100%;
  background-color: var(--color-white);
}
#header {
  position: fixed;
  top: 0;
  z-index: 5;
  padding-top: 1.25rem;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}
#header .inner {
  position: relative;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  margin: 0 auto;
  padding: 0 1.25rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
#header .header_logo {
  width: 5.6%;
  min-width: 2.875rem;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}
#header .header_logo.on {
  opacity: 0;
}
.c-link_btn {
  position: relative;
  overflow: hidden;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 12.5rem;
  height: 3.75rem;
  padding: 0.625rem;
  border-radius: 9999px;
  background-color: var(--color-button);
  margin: 0 auto;
  -webkit-transition: -webkit-transform 350ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 350ms cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 350ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-link_btn::after {
  content: "";
  position: absolute;
  right: 0.625rem;
  background-image: url(../images/img/arrow_black.svg);
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  width: 2.5rem;
  height: 2.5rem;
  -webkit-transition: -webkit-transform 350ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 350ms cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 350ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-link_btn i {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--color-ink);
  -webkit-transition: -webkit-transform 350ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 350ms cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 350ms cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}
.c-link_btn span {
  position: absolute;
  left: 20%;
  font-family: "Chakra Petch", sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  text-transform: uppercase;
  -webkit-transition: -webkit-transform 350ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 350ms cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 350ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-link_btn._yellow {
  background-color: var(--color-accent);
}
.c-section_title .en_letter_wrapper {
  position: relative;
  display: block;
  height: clamp(4.5rem, 2.816rem + calc(var(--site-vw) * 7.1837), 10rem);
  overflow: hidden;
}
.c-section_title .en {
  position: absolute;
  bottom: -101%;
  -webkit-transition: all 0.8s ease;
  transition: all 0.8s ease;
  font-family: "Anton", sans-serif;
  font-size: clamp(4.5rem, 2.816rem + calc(var(--site-vw) * 7.184), 10rem);
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: -0.03em;
}
.c-section_title.on .en {
  bottom: 0;
}
.c-section_title._yellow .en {
  color: var(--color-accent);
}
.c-section_title._black .en {
  color: var(--color-ink);
}
.grid {
  position: fixed;
  top: 0;
  display: grid;
  -ms-grid-columns: (1fr)[16];
  grid-template-columns: repeat(16, 1fr);
  grid-auto-rows: calc(var(--site-vw) * 6.25);
  height: 100%;
  pointer-events: none;
}
.grid::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(to right, var(--color-grid) 1px, transparent 1px), linear-gradient(to bottom, var(--color-grid) 1px, transparent 1px);
  background-size: calc(var(--site-vw) * 16.6666666667) calc(var(--site-vw) * 16.6666666667);
  background-position: 0 -1px;
}
.l-bg__noise {
  position: fixed;
  top: 0;
  height: 100%;
  background: url(../images/img/noise.png);
  -webkit-animation: noise 8s steps(10) infinite;
  animation: noise 8s steps(10) infinite;
  pointer-events: none;
}
@-webkit-keyframes noise {
  to {
    background-position: 0 0;
  }
  10% {
    background-position: -5% -10%;
  }
  20% {
    background-position: -15% 5%;
  }
  30% {
    background-position: 7% -25%;
  }
  40% {
    background-position: 20% 25%;
  }
  50% {
    background-position: -25% 10%;
  }
  60% {
    background-position: 15% 5%;
  }
  70% {
    background-position: 0 15%;
  }
  80% {
    background-position: 25% 35%;
  }
  90% {
    background-position: -10% 10%;
  }
}
@keyframes noise {
  to {
    background-position: 0 0;
  }
  10% {
    background-position: -5% -10%;
  }
  20% {
    background-position: -15% 5%;
  }
  30% {
    background-position: 7% -25%;
  }
  40% {
    background-position: 20% 25%;
  }
  50% {
    background-position: -25% 10%;
  }
  60% {
    background-position: 15% 5%;
  }
  70% {
    background-position: 0 15%;
  }
  80% {
    background-position: 25% 35%;
  }
  90% {
    background-position: -10% 10%;
  }
}
.l-inner_wide {
  width: 90%;
  margin: 0 auto;
}
.c-news_category {
  padding: 1.5px 6.5px 0;
  font-size: 0.8125rem;
  font-weight: 700;
  border: 1px solid var(--color-ink);
  border-radius: 9999px;
  text-transform: uppercase;
}
.top {
  overflow: hidden;
  margin: 0;
  height: 100%;
}
:root {
  --site-vw: min(1vw, 4.8px);
  --site-left: max(0px, calc((100% - 480px) / 2));
}
#wrapper.site-wrapper {
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  overflow-x: clip;
}
#header, .grid, .l-bg__noise {
  left: var(--site-left);
  width: 100%;
  max-width: 480px;
}
