@charset "UTF-8";
body {
  margin: 0;
  padding: 0;
  border: none;
}

/* img */
img,
div, p, blockquote,
h1, h2, h3, h4, h5, h6,
ul, ol, li, dl, dt, dd,
form, fieldset, textarea,
address,
main, article, aside, dialog, figure, footer, header, hgroup, nav, section {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  text-decoration: none;
  list-style-type: none;
}

/* html5 */
main, article, aside, dialog, figure, footer, header, hgroup, nav, section {
  display: block;
}

/* heading */
h1, h2, h3, h4, h5, h6 {
  font-weight: inherit;
}

/* table */
table {
  border: none;
  border-collapse: collapse;
  border-spacing: 0;
}

th, td {
  text-align: left;
  vertical-align: top;
}

caption {
  text-align: left;
}

/* a */
a, a:focus, a:hover, a:active {
  outline: 0;
}

/* form */
input, input:focus, input:hover, input:active,
textarea, textarea:focus, textarea:hover, textarea:active {
  outline: 0;
}

/* img */
img {
  vertical-align: top;
}

/* html, body */
html {
  font-size: 10px;
}

body {
  background: var(--grd-red, linear-gradient(180deg, #8A4B35 0%, #773041 33.33%, #621433 68.75%, #7C2C52 100%));
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.76;
  letter-spacing: 0.12em;
  color: #ffffff;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overscroll-behavior: none;
  font-feature-settings: "palt";
}

@media only screen and (min-width: 1600px) {
  html {
    font-size: 12.5px;
  }
}
@media screen and (max-width: 1023px) {
  html {
    font-size: 2.666667vw;
  }
  body {
    letter-spacing: 0.07em;
  }
}
/* selection */
::-moz-selection {
  background: #040000;
  color: #ffffff;
}

::selection {
  background: #040000;
  color: #ffffff;
}

/* a */
a {
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: border, background, color;
  color: #ffffff;
}

/* img */
img {
  width: 100%;
  height: auto;
}

/* input, textarea */
input[type=text],
input[type=tel],
input[type=email],
input[type=password],
textarea {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: #ffffff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  outline: 0;
  appearance: none;
}
input[type=text]::placeholder, input[type=text]:placeholder-shown, input[type=text]::-webkit-input-placeholder, input[type=text]:-moz-placeholder, input[type=text]::-moz-placeholder, input[type=text]:-ms-input-placeholder,
input[type=tel]::placeholder,
input[type=tel]:placeholder-shown,
input[type=tel]::-webkit-input-placeholder,
input[type=tel]:-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=email]::placeholder,
input[type=email]:placeholder-shown,
input[type=email]::-webkit-input-placeholder,
input[type=email]:-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=password]::placeholder,
input[type=password]:placeholder-shown,
input[type=password]::-webkit-input-placeholder,
input[type=password]:-moz-placeholder,
input[type=password]::-moz-placeholder,
input[type=password]:-ms-input-placeholder,
textarea::placeholder,
textarea:placeholder-shown,
textarea::-webkit-input-placeholder,
textarea:-moz-placeholder,
textarea::-moz-placeholder,
textarea:-ms-input-placeholder {
  color: #CCCCCC;
}

input::-ms-clear {
  visibility: hidden;
}

input::-ms-reveal {
  visibility: hidden;
}

/* select */
select {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: #ffffff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  outline: 0;
  cursor: pointer;
  appearance: none;
}
select::-ms-expand {
  display: none;
}

/* button */
button {
  box-sizing: border-box;
  outline: 0;
  cursor: pointer;
  appearance: none;
}

/* svg symbols */
.symbols {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
}

/**
 * Swiper 4.4.6
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2018 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: December 19, 2018
 */
.swiper-container {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-container-no-flexbox .swiper-slide {
  float: left;
}

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

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

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

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

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

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  -o-transition-property: transform, height;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform;
}

.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px;
}

.swiper-container-3d .swiper-cube-shadow, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-wp8-horizontal, .swiper-container-wp8-horizontal > .swiper-wrapper {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.swiper-container-wp8-vertical, .swiper-container-wp8-vertical > .swiper-wrapper {
  -ms-touch-action: pan-x;
  touch-action: pan-x;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto;
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto;
}

.swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

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

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: 0.3s opacity;
  -o-transition: 0.3s opacity;
  transition: 0.3s opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2;
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff;
}

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
}

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: 0.2s top, 0.2s -webkit-transform;
  transition: 0.2s top, 0.2s -webkit-transform;
  -o-transition: 0.2s transform, 0.2s top;
  transition: 0.2s transform, 0.2s top;
  transition: 0.2s transform, 0.2s top, 0.2s -webkit-transform;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: 0.2s left, 0.2s -webkit-transform;
  transition: 0.2s left, 0.2s -webkit-transform;
  -o-transition: 0.2s transform, 0.2s left;
  transition: 0.2s transform, 0.2s left;
  transition: 0.2s transform, 0.2s left, 0.2s -webkit-transform;
}

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

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top;
}

.swiper-container-horizontal > .swiper-pagination-progressbar, .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-container-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #fff;
}

.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.25);
}

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #fff;
}

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000;
}

.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0, 0, 0, 0.25);
}

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000;
}

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

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

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

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

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

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite;
}

.swiper-lazy-preloader:after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat;
}

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

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

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

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

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

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0;
}

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

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-flip .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

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

.swiper-container-coverflow .swiper-wrapper {
  -ms-perspective: 1200px;
}

.header {
  position: absolute;
  z-index: 10;
  /*
  	&__logo {
  		position: fixed;
  		top: 2.5rem;
  		left: 2rem;
  		width: 18rem;
  	}
  */
}
.header__watch {
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition-property: opacity, visibility, filter;
  position: fixed;
  top: 2.5rem;
  right: 2rem;
  width: 18.5rem;
}
.header__watch a {
  display: block;
  border-radius: 4rem;
  overflow: hidden;
  box-shadow: 20px 20px 30px 0px rgba(0, 0, 0, 0.25);
}
html.is-forecast .header__watch {
  transition-delay: 0s;
  opacity: 0;
  visibility: hidden;
  filter: blur(5px);
}
.header__voting {
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition-property: opacity, visibility, filter;
  position: fixed;
  bottom: 4rem;
  right: 4rem;
  width: 10.4rem;
}
.header__voting a {
  display: block;
  position: relative;
  filter: drop-shadow(30px 30px 40px rgba(0, 0, 0, 0.25));
}
.header__voting a:after {
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: opacity, transform;
  position: absolute;
  display: block;
  content: "";
  border-radius: 50%;
  opacity: 0.3;
  z-index: -1;
  top: -1.5rem;
  right: -1.5rem;
  bottom: -1.5rem;
  left: -1.5rem;
  border: 1px solid #BE915A;
  box-sizing: border-box;
}
.header__voting a .shine {
  border-radius: 50%;
}
html.notouch .header__voting a:hover:after {
  opacity: 1;
  transform: scale(1.1);
}
html.is-forecast .header__voting {
  transition-delay: 0s;
  opacity: 0;
  visibility: hidden;
  filter: blur(5px);
}

@media only screen and (max-width: 1023px) {
  .header {
    /*
    &__logo {
    	display: none;
    }
    */
  }
  .header__watch {
    position: fixed;
    top: 1.2rem;
    right: 1rem;
    width: 15rem;
  }
  .header__watch a {
    box-shadow: 15px 15px 30px 0px rgba(0, 0, 0, 0.25);
  }
  html.is-forecast .header__watch {
    opacity: 0;
    visibility: hidden;
    filter: blur(5px);
  }
  .header__voting {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    width: 7.6rem;
  }
  .header__voting a:after {
    top: -0.8rem;
    right: -0.8rem;
    bottom: -0.8rem;
    left: -0.8rem;
  }
}
/* wrapper */
#wrapper {
  position: relative;
  overflow: clip;
}

.js-scrollEffect.js-member {
  --delay: 0s;
  opacity: 0;
  filter: blur(10px);
}
.js-scrollEffect.js-member.is-visible {
  transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) var(--delay);
  transition-property: opacity, filter;
  opacity: 1;
  filter: blur(0);
}
.js-scrollEffect.js-intro {
  --delay: 0s;
  opacity: 0;
  filter: blur(10px);
}
.js-scrollEffect.js-intro.is-visible {
  transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) var(--delay);
  transition-property: opacity, filter;
  opacity: 1;
  filter: blur(0);
}

/* opening */
.opening {
  transition: background 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  z-index: 20;
  background: linear-gradient(110deg, #8A4B35 4.85%, #773041 49.04%, #621433 95.99%, #7C2C52 137.42%);
}
.opening__list {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.opening__list .item {
  position: absolute;
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: transform, opacity;
  display: block;
  width: 100rem;
  opacity: 0;
}
.opening__list .item:nth-child(1) {
  transform: translate(-10%, -80%);
}
.opening__list .item:nth-child(2) {
  transform: translate(80%, -10%);
}
.opening__list .item:nth-child(3) {
  transform: translate(-20%, 80%);
}
.opening__list .item:nth-child(4) {
  transform: translate(-80%, -30%);
}
.opening__list .item:nth-child(5) {
  transform: scale(1.15);
}
.opening.is-visible .opening__list .item {
  opacity: 1;
}
.opening.is-visible .opening__list .item:nth-child(1) {
  transform: translate(0) rotate(8deg);
}
.opening.is-visible .opening__list .item:nth-child(2) {
  transform: translate(0) rotate(-8deg);
}
.opening.is-visible .opening__list .item:nth-child(3) {
  transform: translate(0) rotate(8deg);
}
.opening.is-visible .opening__list .item:nth-child(4) {
  transform: translate(0) rotate(-8deg);
}
.opening.is-visible .opening__list .item:nth-child(5) {
  transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transform: scale(1);
}
.opening.is-hidden {
  transition-duration: 1.2s;
  transition-property: opacity;
  opacity: 0;
  pointer-events: none;
}

@media screen and (max-width: 1023px) {
  .opening__list .item {
    transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
    width: 30rem;
  }
}
.m-en {
  font-size: 1rem;
  text-align: center;
  opacity: 0.5;
  line-height: 1.4;
  white-space: nowrap;
}

@media screen and (max-width: 1023px) {
  .m-en {
    font-size: 0.8rem;
    line-height: 1.5;
  }
}
/* section */
.section__body {
  position: relative;
  max-width: 130rem;
  box-sizing: border-box;
  padding-right: 5rem;
  padding-left: 5rem;
  margin-right: auto;
  margin-left: auto;
  z-index: 2;
}
@media screen and (max-width: 1023px) {
  .section__body {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

/* shine */
@keyframes shine {
  100% {
    left: 125%;
  }
}
.shine {
  position: relative;
  display: block;
  text-decoration: none;
  overflow: hidden;
}
.shine:before {
  position: absolute;
  top: 0;
  left: -75%;
  display: block;
  content: "";
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
  transform: skewX(-25deg);
  z-index: 2;
}
html.notouch .shine:hover:before {
  animation: shine 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

/* modal */
.modal {
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: opacity, visibility, filter;
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  font-feature-settings: normal;
  background: rgba(2, 0, 2, 0.7);
  z-index: 20;
  overscroll-behavior: contain;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  filter: blur(10px);
}
.modal:before {
  position: absolute;
  inset: -1px 0;
  display: block;
  content: "";
  z-index: -1;
}
.modal::-webkit-scrollbar {
  display: none;
}
html.modal-open .modal {
  opacity: 1;
  visibility: visible;
  filter: blur(0);
}
.modal__wrapper {
  position: relative;
  width: min(108.8rem, 100%);
  box-sizing: border-box;
  padding: 5.3rem 8rem;
}
.modal__close {
  position: absolute;
  top: 5.4rem;
  right: 2.6rem;
  width: 4rem;
  height: 4rem;
  border: none;
  background: transparent;
  padding: 0;
}
.modal__close:before, .modal__close:after {
  position: absolute;
  inset: 0 -0.8rem;
  display: block;
  content: "";
  height: 1px;
  background: #fff;
  margin: auto;
}
.modal__close:before {
  rotate: 45deg;
}
.modal__close:after {
  rotate: -45deg;
}
.modal__body {
  display: grid;
  place-items: center;
  border: 1px solid rgba(246, 214, 136, 0.4);
  background: linear-gradient(161deg, #8A4B35 3.04%, #773041 49.17%, #621433 98.19%, #7C2C52 141.43%);
  box-sizing: border-box;
  padding: 4.4rem 5.4rem 4.9rem 6.2rem;
}
.modal__ttl {
  width: 14.9rem;
  margin-bottom: 4rem;
}
.modal__lead {
  font-size: 1.7rem;
  letter-spacing: 0.03em;
  line-height: 1.177;
  text-align: center;
}
.modal__list {
  position: relative;
  display: grid;
  gap: 3.3rem 0;
  place-items: center;
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-sizing: border-box;
  padding: 2.8rem 4.5rem 2.7rem;
  margin-top: 1.4rem;
  z-index: 1;
}
.modal__list:before {
  position: absolute;
  inset: 0.3rem 0.4rem;
  display: block;
  content: "";
  background: rgba(0, 0, 0, 0.3);
  box-shadow: 2rem 2rem 5rem rgba(0, 0, 0, 0.25);
  z-index: -1;
}
.modal__list .item {
  width: 100%;
}
.modal__list .item__ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 0.7rem;
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  line-height: 1.334;
}
.modal__list .item__ttl .icon {
  fill: currentColor;
  aspect-ratio: 1/1;
}
.modal__list .item__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.1rem;
  margin-top: 1.2rem;
}
.modal__list .item__empty {
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  line-height: 1.43;
  color: #fff;
  text-align: center;
  margin-top: 0.5rem;
}
.modal__list .love {
  color: #EDA8C9;
}
.modal__list .love .icon {
  width: 1.7rem;
}
.modal__list .money {
  color: #F6D688;
}
.modal__list .money .icon {
  width: 1.8rem;
}
.modal__list .member__img {
  position: relative;
  display: block;
  width: 7rem;
  border: 1px solid currentColor;
  box-sizing: border-box;
  border-radius: 50%;
  padding: 0.7rem;
}
.modal__list .member__name {
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 2;
  color: #fff;
  text-align: center;
}
.modal__list .member[data-random="1"] {
  order: 1;
}
.modal__list .member[data-random="2"] {
  order: 2;
}
.modal__list .member[data-random="3"] {
  order: 3;
}
.modal__list .member[data-random="4"] {
  order: 4;
}
.modal__list .member[data-random="5"] {
  order: 5;
}
.modal__list .member[data-random="6"] {
  order: 6;
}
.modal__list .member[data-random="7"] {
  order: 7;
}
.modal__list .member[data-random="8"] {
  order: 8;
}
.modal__list .member[data-random="9"] {
  order: 9;
}
.modal__list .member[data-random="10"] {
  order: 10;
}
.modal__share {
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: background, color, box-shadow;
  display: block;
  width: fit-content;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
  text-decoration: none;
  background: rgba(67, 5, 31, 0.5);
  border: 1px solid #fff;
  border-radius: 10rem;
  box-sizing: border-box;
  padding: 1.1rem 4.3rem 1.3rem;
  margin-top: 4.3rem;
}
.modal__share .small {
  display: inline-block;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}
@media (hover) {
  .modal__share:hover {
    color: #56122C;
    background: #fff;
    box-shadow: 15px 15px 30px 0px rgba(0, 0, 0, 0.25);
  }
}
.modal__txt {
  font-size: 1.3rem;
  letter-spacing: 0.04em;
  line-height: 1.3077;
  text-align: center;
  margin-top: 1.3rem;
}

@media screen and (max-width: 1023px) {
  .modal__wrapper {
    padding: 5rem 1.5rem;
  }
  .modal__close {
    top: 1rem;
    right: 1rem;
    width: 2.7rem;
    height: 2.7rem;
  }
  .modal__close:before, .modal__close:after {
    inset: 0 -0.6rem;
  }
  .modal__body {
    padding: 3.5rem 1.4rem 3.1rem;
  }
  .modal__ttl {
    width: 11.6rem;
    margin-bottom: 2.9rem;
  }
  .modal__lead {
    font-size: 1.5rem;
    line-height: 1.334;
  }
  .modal__list {
    gap: 2rem 0;
    padding: 2rem 1.6rem 1.8rem;
    margin-top: 1.2rem;
  }
  .modal__list:before {
    inset: 0.3rem;
  }
  .modal__list .item__ttl {
    font-size: 1.2rem;
    line-height: 1.667;
  }
  .modal__list .item__list {
    gap: 0.9rem 0.8rem;
  }
  .modal__list .love .icon {
    width: 1.4rem;
  }
  .modal__list .money .icon {
    width: 1.5rem;
  }
  .modal__list .member {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: calc((100% - 3.2rem) / 5);
  }
  .modal__list .member__img {
    width: 5.2rem;
    padding: 0.5rem;
  }
  .modal__list .member__name {
    white-space: nowrap;
    scale: 0.9;
  }
  .modal__share {
    margin-top: 3.6rem;
  }
  .modal__txt {
    font-size: 1.2rem;
    line-height: 1.667;
    margin: 1.3rem 0 -0.2rem;
  }
}
/* mv */
.mv {
  position: relative;
  z-index: 11;
  height: 100vh;
}
.mv__logo {
  position: absolute;
  right: 0;
  bottom: 1.5rem;
  left: 0;
  display: block;
  width: min(77.693%, 101rem);
  margin: 0 auto;
  z-index: 3;
}
.mv__img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
}
.mv__img img {
  height: 100%;
  object-fit: cover;
}
.mv__money {
  position: absolute;
  top: 14.323vh;
  right: 0;
  left: 0;
  display: block;
  z-index: 2;
  aspect-ratio: 1300/839;
}

@media screen and (max-width: 1239px) {
  .mv {
    height: auto;
    aspect-ratio: 2600/1536;
  }
  .mv__logo {
    bottom: 0;
  }
}
@media screen and (max-width: 809px) {
  .mv {
    aspect-ratio: 780/1110;
  }
  .mv__logo {
    width: 25.5rem;
  }
  .mv__money {
    top: 7rem;
    bottom: 0;
  }
}
/* intro */
@keyframes intro-roll {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.intro {
  padding-top: 14rem;
  position: relative;
  overflow: clip;
}
.intro__ttl {
  margin: 0 auto 8.8rem;
  display: block;
  max-width: 18.3vw;
  --delay: 0s;
  opacity: 0;
  filter: blur(10px);
}
.intro__ttl.is-visible {
  transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) var(--delay);
  transition-property: opacity, filter;
  opacity: 1;
  filter: blur(0);
}
.intro__sinjiru {
  margin: 0 auto 11rem;
  position: relative;
}
.intro__sinjiru.is-visible .sinjiru__ttl,
.intro__sinjiru.is-visible .love,
.intro__sinjiru.is-visible .money {
  transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) var(--delay);
  transition-property: opacity, filter;
  opacity: 1;
  filter: blur(0);
}
.intro__sinjiru.is-visible .love,
.intro__sinjiru.is-visible .money {
  opacity: 0.2;
}
.intro__sinjiru .sinjiru__ttl {
  --delay: 0s;
  opacity: 0;
  filter: blur(10px);
}
.intro__sinjiru .img {
  display: block;
  max-width: 27.3vw;
  margin: 0 auto 2rem;
}
.intro__sinjiru .love {
  position: absolute;
  max-width: 38vw;
  top: -3vw;
  left: 50%;
  transform: translateX(calc(-100% - 21vw));
  opacity: 0.2;
  --delay: 0.2s;
  opacity: 0;
  filter: blur(10px);
}
.intro__sinjiru .money {
  position: absolute;
  max-width: 53.92vw;
  top: -3vw;
  right: 50%;
  transform: translateX(calc(100% + 21vw));
  opacity: 0.2;
  --delay: 0.2s;
  opacity: 0;
  filter: blur(10px);
}
.intro__sinjiru .m-money {
  position: absolute;
  right: -11vw;
  top: -18rem;
  transform: rotate(-33.57deg);
  filter: blur(15px);
}
.intro__main {
  --delay: 0.5s;
  opacity: 0;
  filter: blur(10px);
}
.intro__main.is-visible {
  transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) var(--delay);
  transition-property: opacity, filter;
  opacity: 1;
  filter: blur(0);
}
.intro__main .img {
  display: block;
  max-width: 77.69vw;
  margin: 0 auto 7rem;
}
.intro__imgarea {
  position: relative;
  padding-top: 20rem;
}
.intro__imgarea .introSection.is-visible .intro03,
.intro__imgarea .introSection.is-visible .introBox,
.intro__imgarea .introSection.is-visible .intro06 {
  transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) var(--delay);
  transition-property: opacity, filter;
  opacity: 1;
  filter: blur(0);
}
.intro__imgarea .intro01 {
  display: block;
  max-width: 45.07vw;
  margin-left: 10vw;
  position: relative;
  margin-bottom: 21rem;
}
.intro__imgarea .intro02 {
  display: block;
  max-width: 40.92vw;
  margin-right: 9.38vw;
  margin-left: auto;
  position: relative;
  z-index: 1;
  margin-bottom: 37rem;
}
.intro__imgarea .intro03 {
  display: block;
  max-width: 43.92vw;
  margin: 0 auto;
  position: relative;
  margin-bottom: 12rem;
  --delay: 0s;
  opacity: 0;
  filter: blur(10px);
}
.intro__imgarea .introBox {
  display: flex;
  position: relative;
  margin-bottom: 11rem;
  --delay: 0.4s;
  opacity: 0;
  filter: blur(10px);
}
.intro__imgarea .introBox picture {
  display: block;
  width: 50%;
  text-align: center;
}
.intro__imgarea .introBox .intro04 img {
  margin: 0 auto;
  display: block;
  max-width: 18.53vw;
}
.intro__imgarea .introBox .intro05 img {
  margin: 0 auto;
  display: block;
  max-width: 20.38vw;
}
.intro__imgarea .introBox__bg {
  display: flex;
  align-items: center;
  opacity: 0.07;
}
.intro__imgarea .introBox__bg .love {
  width: 38vw;
  position: absolute;
  left: 50%;
  transform: translateX(calc(-100% - 12vw));
}
.intro__imgarea .introBox__bg .or {
  position: absolute;
  left: 50%;
  margin-left: -2.61vw;
  width: 5.23vw;
}
.intro__imgarea .introBox__bg .money {
  width: 53.9vw;
  position: absolute;
  right: 50%;
  transform: translateX(calc(100% + 12vw));
}
.intro__imgarea .intro06 {
  margin-bottom: 14.5rem;
  --delay: 0.8s;
  opacity: 0;
  filter: blur(10px);
}
.intro__imgarea .intro06 img {
  margin: 0 auto;
  display: block;
  max-width: 3.538vw;
}
.intro__imgarea .member01 {
  position: absolute;
  left: 2.5vw;
  top: 0;
  width: 14vw;
  display: block;
}
.intro__imgarea .member02 {
  position: absolute;
  right: 2vw;
  top: 5rem;
  width: 18.15vw;
}
.intro__imgarea .member03 {
  position: absolute;
  right: 23vw;
  top: 28.7rem;
  width: 18.15vw;
}
.intro__imgarea .member04 {
  position: absolute;
  right: 0;
  top: 49.5rem;
}
.intro__imgarea .member04 .img {
  display: block;
  width: 19.46vw;
}
.intro__imgarea .member04 .m-en {
  position: absolute;
  bottom: 1.3rem;
  right: 50%;
  text-align: right;
}
.intro__imgarea .member05 {
  position: absolute;
  left: 0;
  top: 45.6rem;
}
.intro__imgarea .member05 .img {
  display: block;
  width: 16.92vw;
}
.intro__imgarea .member05 .m-en {
  position: absolute;
  top: 7rem;
  left: 85%;
  text-align: left;
}
.intro__imgarea .member06 {
  position: absolute;
  left: 27.69vw;
  top: 80rem;
  width: 22.84vw;
}
.intro__imgarea .member07 {
  position: absolute;
  left: 5.923vw;
  top: 111.5rem;
}
.intro__imgarea .member07 .img {
  display: block;
  width: 20.15vw;
}
.intro__imgarea .member07 .m-en {
  position: absolute;
  top: -1.8rem;
  left: 65%;
  text-align: right;
}
.intro__imgarea .member08 {
  position: absolute;
  right: 10.1vw;
  top: 112rem;
}
.intro__imgarea .member08 .img {
  display: block;
  width: 16.84vw;
}
.intro__imgarea .member09 {
  position: absolute;
  right: 9.76vw;
  top: 175.3rem;
}
.intro__imgarea .member09 .img {
  display: block;
  width: 22.3vw;
}
.intro__imgarea .member09 .m-en {
  position: absolute;
  bottom: -6rem;
  right: -10%;
}
.intro__imgarea .member10 {
  position: absolute;
  left: 9.76vw;
  top: 185.9rem;
}
.intro__imgarea .member10 .img {
  display: block;
  width: 17.76vw;
}
.intro__imgarea .money02 {
  position: absolute;
  z-index: 1;
  right: 0;
  top: 36rem;
}
.intro__imgarea .money02 .img {
  width: 31.38vw;
  filter: blur(7.5px);
  display: block;
  transform: rotate(-13.23deg);
}
.intro__imgarea .money05 {
  position: absolute;
  left: -3.69vw;
  top: -12rem;
  width: 16vw;
}
.intro__imgarea .money06 {
  position: absolute;
  left: 12vw;
  top: 88rem;
  width: 19.15vw;
}
.intro__imgarea .money07 {
  position: absolute;
  right: 25vw;
  top: 95rem;
}
.intro__imgarea .money07 .img {
  width: 8.69vw;
  opacity: 0.5;
  display: block;
  transform: rotate(75deg);
}
.intro__imgarea .money08 {
  position: absolute;
  z-index: 1;
  right: 0;
  top: 128rem;
}
.intro__imgarea .money08 .img {
  width: 13.53vw;
  filter: blur(1.5px);
  display: block;
  transform: rotate(-81deg);
}
.intro__imgarea .money09 {
  position: absolute;
  right: 26.15vw;
  top: 6rem;
}
.intro__imgarea .money09 .img {
  width: 12.23vw;
  opacity: 0.4;
  display: block;
  transform: rotate(-110.258deg);
}
.intro__imgarea .money10 {
  position: absolute;
  left: -10vw;
  top: 181.3rem;
}
.intro__imgarea .money10 .img {
  width: 25vw;
  display: block;
  transform: rotate(-121.503deg);
  filter: blur(11.5px);
}
.intro__imgarea .money11 {
  position: absolute;
  right: -3vw;
  top: 200rem;
}
.intro__imgarea .money11 .img {
  opacity: 0.7;
  width: 21.15vw;
  display: block;
}
.intro__advance {
  margin: 0 4rem;
}
.intro__advance.is-visible .advance__copy1,
.intro__advance.is-visible .advance__img,
.intro__advance.is-visible .advance__copy2 {
  transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) var(--delay);
  transition-property: opacity, filter;
  opacity: 1;
  filter: blur(0);
}
.intro__advance .advance__copy1 {
  margin-bottom: 2.5rem;
  --delay: 0s;
  opacity: 0;
  filter: blur(10px);
}
.intro__advance .advance__img {
  margin-bottom: 1.8rem;
  --delay: 0.3s;
  opacity: 0;
  filter: blur(10px);
}
.intro__advance .advance__copy2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  --delay: 0.6s;
  opacity: 0;
  filter: blur(10px);
}
.intro__advance .advance__copy2 .img {
  margin-bottom: 0;
  display: block;
  width: calc(100% - 40rem);
}
.intro__circle {
  top: -7rem;
  position: relative;
  width: 28rem;
  padding: 3.8rem 0;
  display: block;
  margin-right: 4rem;
  box-sizing: border-box;
}
.intro__circle:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  content: "";
  background: url(../imgs/intro-circle.svg) no-repeat center;
  background-size: contain;
  animation: intro-roll 30s linear infinite;
}
html.notouch .intro__circle:hover .intro__icon {
  transform: scale(1.12);
}
.intro__icon {
  border-radius: 50%;
  width: 19.6rem;
  margin: 0 auto;
  filter: drop-shadow(30px 30px 40px rgba(0, 0, 0, 0.25));
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-property: transform;
}

@media screen and (max-width: 1023px) {
  .intro {
    padding-top: 5.3rem;
    padding-bottom: 3.3rem;
  }
  .intro__ttl {
    margin: 0 auto 2.8rem;
    max-width: 15.8rem;
  }
  .intro__sinjiru {
    margin: 0 auto 2rem;
  }
  .intro__sinjiru .sinjiru__ttl {
    --delay: 0.6s;
  }
  .intro__sinjiru .img {
    display: block;
    max-width: 19.6rem;
    margin: 0 auto 1.2rem;
  }
  .intro__sinjiru .love {
    position: relative;
    max-width: inherit;
    width: 53.23rem;
    margin: 0 auto;
    top: auto;
    left: -5rem;
    transform: translateX(0);
    margin-bottom: 3.5rem;
    --delay: 0.3s;
  }
  .intro__sinjiru .money {
    display: none;
  }
  .intro__sinjiru .m-money {
    right: -10rem;
    top: 0rem;
    transform: rotate(-78deg);
    filter: blur(7.5px);
  }
  .intro__main .img {
    display: block;
    max-width: inherit;
    width: auto;
    margin: 0 2.5rem 2.5rem;
  }
  .intro__imgarea {
    padding-top: 2.5rem;
  }
  .intro__imgarea .intro01 {
    max-width: inherit;
    width: auto;
    margin: 0 2.5rem 4rem;
  }
  .intro__imgarea .intro02 {
    max-width: 84.61vw;
    margin-left: 7vw;
    margin-bottom: 3rem;
  }
  .intro__imgarea .intro03 {
    max-width: 71.79vw;
    margin-bottom: 4rem;
  }
  .intro__imgarea .introBox {
    display: block;
    margin-bottom: 6.9rem;
  }
  .intro__imgarea .introBox picture {
    display: block;
    width: auto;
    text-align: center;
  }
  .intro__imgarea .introBox .intro04 {
    margin-bottom: 5.7rem;
  }
  .intro__imgarea .introBox .intro04 img {
    margin: 0;
    margin-left: 6.1vw;
    display: block;
    max-width: inherit;
    width: 38.71vw;
  }
  .intro__imgarea .introBox .intro05 img {
    margin: 0;
    margin-left: auto;
    margin-right: 6.1vw;
    max-width: inherit;
    width: 44.61vw;
  }
  .intro__imgarea .introBox__bg {
    width: 100%;
    position: absolute;
    top: 0;
    display: block;
    opacity: 0.07;
  }
  .intro__imgarea .introBox__bg .love {
    width: 46.15vw;
    top: -0.5rem;
    position: absolute;
    left: -1.5vw;
    transform: translateX(0);
  }
  .intro__imgarea .introBox__bg .or {
    position: absolute;
    top: 5.5rem;
    left: 50%;
    margin-left: -5vw;
    width: 10.25vw;
  }
  .intro__imgarea .introBox__bg .money {
    width: 65.64vw;
    position: absolute;
    top: 8rem;
    right: -15vw;
    transform: translateX(0);
  }
  .intro__imgarea .intro06 {
    margin-bottom: 8.6rem;
  }
  .intro__imgarea .intro06 img {
    max-width: 6.923vw;
  }
  .intro__imgarea .member01 {
    position: static;
    width: 28vw;
    margin-bottom: 3rem;
  }
  .intro__imgarea .member02 {
    position: static;
    width: 30vw;
    margin-left: auto;
    margin-right: 4.1vw;
  }
  .intro__imgarea .member03 {
    position: static;
    width: 30.25vw;
    margin-left: 38.2vw;
    margin-bottom: 9.6rem;
  }
  .intro__imgarea .member04 {
    z-index: 1;
    top: 54rem;
  }
  .intro__imgarea .member04 .img {
    width: 32.3vw;
  }
  .intro__imgarea .member04 .m-en {
    top: -8rem;
    bottom: auto;
    right: 4vw;
    text-align: right;
  }
  .intro__imgarea .member05 {
    position: static;
    margin-bottom: 5.7rem;
  }
  .intro__imgarea .member05 .img {
    width: 28.2vw;
    margin-left: 6.1vw;
  }
  .intro__imgarea .member05 .m-en {
    top: auto;
    bottom: -4rem;
    left: 10vw;
    text-align: left;
  }
  .intro__imgarea .member06 {
    left: auto;
    right: 7.69vw;
    top: 88rem;
    width: 37.94vw;
  }
  .intro__imgarea .member07 {
    position: relative;
    z-index: 1;
    left: auto;
    top: 3rem;
    margin-bottom: 7.5rem;
  }
  .intro__imgarea .member07 .img {
    width: 33.58vw;
    margin-left: 23vw;
    margin-bottom: 1rem;
  }
  .intro__imgarea .member07 .m-en {
    position: static;
    text-align: left;
    margin-left: 3.8vw;
  }
  .intro__imgarea .member08 {
    right: 9.48vw;
    top: 100rem;
  }
  .intro__imgarea .member08 .img {
    width: 28vw;
  }
  .intro__imgarea .member09 {
    position: absolute;
    right: auto;
    left: 0;
    top: 138rem;
  }
  .intro__imgarea .member09 .img {
    width: 37.17vw;
  }
  .intro__imgarea .member09 .m-en {
    position: absolute;
    bottom: -22rem;
    right: auto;
    left: 6vw;
    text-align: left;
  }
  .intro__imgarea .member10 {
    left: auto;
    right: 4vw;
    top: 152rem;
  }
  .intro__imgarea .member10 .img {
    width: 29.48vw;
  }
  .intro__imgarea .money02 {
    right: auto;
    left: -9vw;
    top: 36rem;
  }
  .intro__imgarea .money02 .img {
    width: 60.76vw;
  }
  .intro__imgarea .money03 {
    position: absolute;
    right: auto;
    left: 9vw;
    top: 118rem;
  }
  .intro__imgarea .money03 .img {
    display: block;
    opacity: 0.5;
    width: 19.23vw;
    transform: rotate(171deg);
  }
  .intro__imgarea .money05 {
    position: absolute;
    left: auto;
    right: 4vw;
    top: -1rem;
    width: 33vw;
    transform: rotate(185deg);
  }
  .intro__imgarea .money06 {
    left: auto;
    right: 10vw;
    top: 84rem;
    width: 34.87vw;
  }
  .intro__imgarea .money07 {
    right: auto;
    left: 5vw;
    top: 95rem;
  }
  .intro__imgarea .money07 .img {
    width: 17.94vw;
    opacity: 0.4;
    transform: rotate(75deg);
  }
  .intro__imgarea .money08 {
    right: -8vw;
    top: 107rem;
  }
  .intro__imgarea .money08 .img {
    width: 35.1vw;
    filter: blur(4px);
  }
  .intro__imgarea .money09 {
    right: 30vw;
    top: 30rem;
  }
  .intro__imgarea .money09 .img {
    width: 19.23vw;
    opacity: 0.4;
    transform: rotate(-110deg);
  }
  .intro__imgarea .money10 {
    left: -10vw;
    top: 145rem;
  }
  .intro__imgarea .money10 .img {
    width: 43vw;
    transform: rotate(153deg);
    filter: blur(6px);
  }
  .intro__imgarea .money11 {
    right: -3vw;
    top: 170rem;
  }
  .intro__imgarea .money11 .img {
    opacity: 0.7;
    width: 38.46vw;
  }
  .intro__advance {
    margin: 0;
  }
  .intro__advance .advance__copy1 {
    width: 87vw;
    margin: 0 auto 1.3rem;
  }
  .intro__advance .advance__img {
    margin-bottom: 0.8rem;
  }
  .intro__advance .advance__copy2 {
    display: block;
  }
  .intro__advance .advance__copy2 .img {
    margin: 0 auto;
    display: block;
    width: 86vw;
  }
  .intro__circle {
    top: auto;
    position: relative;
    padding: 2.6rem 0;
    margin-right: 0;
    margin: 3rem auto 0;
  }
  .intro__icon {
    width: 12.6rem;
  }
}
.everyone {
  padding-top: 29rem;
  position: relative;
  overflow: clip;
}
.everyone.is-visible .everyone__body {
  transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) var(--delay);
  transition-property: opacity, filter;
  opacity: 1;
  filter: blur(0);
}
.everyone__body {
  --delay: 0s;
  opacity: 0;
  filter: blur(10px);
}
.everyone__bg {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -75rem;
  width: 150rem;
}
.everyone__inner {
  position: relative;
  z-index: 1;
}
.everyone__ttl {
  max-width: 72.2rem;
  display: block;
  margin: 0 auto;
  padding-bottom: 5.5rem;
}
.everyone__lead {
  text-align: center;
  font-size: 1.9rem;
  line-height: 2;
  padding-bottom: 5rem;
}
.everyone__img {
  max-width: 80.9rem;
  display: block;
  margin: 0 auto;
  position: relative;
  right: -2rem;
  padding-bottom: 7rem;
}
.everyone__present {
  position: relative;
  text-align: center;
  padding-top: 17.4rem;
  padding-bottom: 30.2rem;
}
.everyone__present .present__bg {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -50rem;
  width: 100rem;
}
.everyone__present .present__inner {
  position: relative;
  z-index: 1;
}
.everyone__present .present__ttl {
  max-width: 16rem;
  display: block;
  margin: 0 auto;
  padding-bottom: 6.4rem;
}
.everyone__present .present__subttl {
  text-align: center;
  margin-bottom: 1.3rem;
}
.everyone__present .present__subttl span {
  display: inline-block;
  font-size: 1.9rem;
  letter-spacing: 0.07em;
  line-height: 1.053;
  padding: 0.3rem 1.3rem 0.4rem;
  color: #000000;
  background: linear-gradient(95deg, #E9CE8B 17.47%, #EEE286 38.53%, #E4BF7B 60.46%);
}
.everyone__present .present__txt {
  font-size: 1.9rem;
  letter-spacing: 0.04em;
  line-height: 1.843;
  font-feature-settings: normal;
  margin-bottom: 4.7rem;
}
.everyone__present .present__txt span {
  font-size: 1.3rem;
  letter-spacing: 0.04em;
}
.everyone__present .present__col2 {
  display: flex;
  justify-content: center;
  column-gap: 5.7rem;
  margin-bottom: 4.9rem;
}
.everyone__present .present__col2 .col {
  width: 32rem;
  font-size: 2.4rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  line-height: 1;
  padding-bottom: 1.5rem;
}
.everyone__present .present__col2 .col img {
  display: block;
  margin: 0 auto 1rem;
  max-width: 7.8rem;
}
.everyone__present .present__btn {
  margin-top: 2rem;
}
.everyone__present .present__cap {
  font-size: 1.3rem;
  line-height: 1.7693;
}

@media screen and (max-width: 1023px) {
  .everyone {
    padding-top: 12rem;
  }
  .everyone__bg {
    margin-left: -39.4rem;
    width: 78.8rem;
  }
  .everyone__ttl {
    max-width: 72.2rem;
    margin: 0 2rem;
    padding-bottom: 4rem;
  }
  .everyone__lead {
    font-size: 1.6rem;
    line-height: 1.75;
    padding-bottom: 3rem;
  }
  .everyone__img {
    max-width: inherit;
    margin: 0 2rem;
    position: static;
    padding-bottom: 4.4rem;
  }
  .everyone__present {
    padding-top: 10.8rem;
    padding-bottom: 18.7rem;
  }
  .everyone__present .present__bg {
    margin-left: -41.5rem;
    width: 83rem;
  }
  .everyone__present .present__ttl {
    max-width: inherit;
    width: 12rem;
    padding-bottom: 4rem;
  }
  .everyone__present .present__subttl {
    margin-bottom: 1.1rem;
  }
  .everyone__present .present__subttl span {
    font-size: 1.5rem;
    line-height: 1.334;
    padding: 0.3rem 1rem;
  }
  .everyone__present .present__txt {
    font-size: 1.6rem;
    letter-spacing: 0.03em;
    line-height: 1.75;
    margin-bottom: 2.3rem;
  }
  .everyone__present .present__txt span {
    font-size: 1.2rem;
    letter-spacing: 0.03em;
  }
  .everyone__present .present__col2 {
    display: block;
    column-gap: 0;
    margin-bottom: 2.8rem;
  }
  .everyone__present .present__col2 .col {
    width: auto;
    max-width: 26rem;
    margin: 0 auto;
    font-size: 1.7rem;
    padding-bottom: 0.9rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .everyone__present .present__col2 .col + .col {
    margin-top: 2rem;
  }
  .everyone__present .present__col2 .col img {
    position: relative;
    top: 0.3rem;
    margin: 0;
    max-width: inherit;
    width: 6rem;
    margin-right: 1rem;
  }
  .everyone__present .present__btn {
    margin-top: 1rem;
  }
  .everyone__present .present__cap {
    font-size: 1.2rem;
    line-height: 1.5;
    text-align: left;
    margin: 0 1.6rem;
  }
  .everyone__present .present__cap li {
    display: flex;
  }
  .everyone__present .present__cap li:not(:first-child) {
    margin-top: 0.5rem;
  }
}
.l-btn {
  display: inline-block;
  border: 1px solid #ffffff;
  border-radius: 6rem;
  background: rgba(67, 5, 31, 0.5);
  font-size: 1.5rem;
  padding: 1.8rem 3.5rem 2.2rem;
  line-height: 1;
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: background, color, box-shadow;
}
.l-btn span:after {
  position: relative;
  top: -0.1rem;
  margin-left: 0.8rem;
  display: inline-block;
  content: "";
  width: 1rem;
  height: 0.8rem;
  background: #ffffff;
  mask-image: url(../imgs/blank.svg);
  mask-repeat: no-repeat;
  mask-position: 0 0;
  mask-size: contain;
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: background;
}
html.notouch .l-btn:hover {
  color: #56122C;
  background: #ffffff;
  box-shadow: 15px 15px 30px 0px rgba(0, 0, 0, 0.25);
}
html.notouch .l-btn:hover span:after {
  background: #56122C;
}

@keyframes forecast-text {
  0% {
    background-position: 0 top;
  }
  100% {
    background-position: -1860px top;
  }
}
@keyframes forecast-text-sp {
  0% {
    background-position: 0 top;
  }
  100% {
    background-position: -1500px top;
  }
}
.forecast {
  position: relative;
  font-feature-settings: normal;
  padding-top: 10rem;
  padding-bottom: 31rem;
}
.forecast.is-visible .forecast__plant01 {
  transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) var(--delay);
  transition-property: opacity, filter, transform;
  opacity: 1;
  transform: rotate(0);
  filter: blur(0);
}
.forecast.is-visible .forecast__plant02 {
  transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) var(--delay);
  transition-property: opacity, filter, transform;
  opacity: 1;
  transform: rotate(0);
  filter: blur(0);
}
.forecast.is-visible .forecast__card .img {
  transition: all 4s cubic-bezier(0.215, 0.61, 0.355, 1) var(--delay);
  transition-property: opacity, filter, transform;
  transform: rotateY(0deg);
}
.forecast.is-visible .forecast__content {
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) var(--delay);
  opacity: 1;
}
.forecast__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}
.forecast__plant01 {
  position: absolute;
  top: -19rem;
  left: -20.9rem;
  z-index: 2;
  width: 60.9rem;
  --delay: 0s;
  opacity: 0;
  transform: rotate(-5deg);
  filter: blur(10px);
}
.forecast__plant02 {
  position: absolute;
  top: -15rem;
  right: -15.4rem;
  z-index: 2;
  width: 54rem;
  --delay: 0s;
  opacity: 0;
  transform: rotate(5deg);
  filter: blur(10px);
}
.forecast__card {
  position: relative;
  z-index: 0;
}
.forecast__card .img {
  display: block;
  max-width: 13.3rem;
  margin: 0 auto 11rem;
  box-shadow: 30px 30px 30px 0px rgba(0, 0, 0, 0.25);
  --delay: 0s;
  transform-style: preserve-3d;
  transform: rotateY(360deg);
}
.forecast__card:after {
  opacity: 0.1;
  position: absolute;
  top: 50%;
  margin-top: -3.1rem;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 6.2rem;
  background: url(../imgs/forecast-bgText.svg) repeat-x left top;
  background-size: auto 100%;
  backface-visibility: hidden;
  z-index: -1;
  transition: translateZ(0);
  animation: forecast-text 37.2s linear 0s infinite;
}
.forecast__content {
  --delay: 0s;
  opacity: 0;
}
.forecast__body {
  position: relative;
  z-index: 1;
  text-align: center;
}
.forecast__ttl {
  max-width: 62rem;
  display: block;
  margin: 0 auto 7rem;
}
.forecast__lead {
  font-size: 1.9rem;
  letter-spacing: 0.04em;
  line-height: 2;
  text-align: center;
}
.forecast__txt {
  text-align: center;
  font-size: 1.9rem;
  line-height: 2;
}
.forecast__txt2 {
  margin-top: 5rem;
  font-size: 1.5rem;
}
.forecast__btn {
  margin-top: 2rem;
}
.forecast__txt3 {
  margin-top: 5rem;
  font-size: 1.6rem;
}
.forecast__comming {
  margin: 8rem auto 0;
  padding: 1.3rem 0;
  max-width: 80rem;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 1.8rem;
}
.forecast__comming .img {
  width: 7.7rem;
}
.forecast__comming .txt {
  font-size: 1.9rem;
}

@media screen and (max-width: 1023px) {
  .forecast {
    padding-top: 4.5rem;
    padding-bottom: 7rem;
  }
  .forecast__bg {
    top: 7.7rem;
  }
  .forecast__plant01 {
    top: -2rem;
    left: -7.5rem;
    width: 21rem;
  }
  .forecast__plant02 {
    top: 0rem;
    right: -6.6rem;
    width: 18.5rem;
  }
  .forecast__card .img {
    display: block;
    max-width: inherit;
    width: 9rem;
    margin: 0 auto 7rem;
    box-shadow: 20px 20px 25px 0px rgba(0, 0, 0, 0.25);
  }
  .forecast__card:after {
    margin-top: -2.5rem;
    height: 5rem;
    animation: forecast-text-sp 30s linear 0s infinite;
  }
  .forecast__ttl {
    max-width: inherit;
    margin: 0 2rem 3.7rem;
  }
  .forecast__lead {
    font-size: 1.6rem;
    letter-spacing: 0.03em;
    line-height: 1.75;
  }
  .forecast__txt {
    font-size: 1.6rem;
    line-height: 1.75;
    margin: 0 2rem;
  }
  .forecast__txt2 {
    margin-top: 4rem;
    font-size: 1.3rem;
  }
  .forecast__btn {
    margin-top: 1rem;
  }
  .forecast__txt3 {
    margin-top: 3rem;
    font-size: 1.4rem;
  }
  .forecast__comming {
    margin: 4rem 2rem 0;
    padding: 0.8rem 0;
    max-width: inherit;
    text-align: left;
    display: flex;
    column-gap: 1rem;
  }
  .forecast__comming .img {
    width: 6.5rem;
  }
  .forecast__comming .txt {
    width: calc(100% - 8rem);
    font-size: 1.6rem;
    line-height: 1.56;
  }
}
.forecast-howto {
  position: relative;
  display: flex;
  gap: 0 2.1rem;
  width: min(100%, 58.7rem);
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 2rem 2.2rem 2.7rem 2.8rem;
  margin: 3.7rem auto 0;
}
.forecast-howto:before {
  position: absolute;
  inset: 0.3rem 0.3rem 0.4rem;
  display: block;
  content: "";
  background: rgba(0, 0, 0, 0.3);
  z-index: -1;
  box-shadow: 2rem 2rem 5rem rgba(0, 0, 0, 0.25);
}
.forecast-howto__icons {
  display: flex;
  gap: 0 1.5rem;
  margin-top: 1.3rem;
}
.forecast-howto__icons .item__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border: 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  padding-top: 0.2rem;
}
.forecast-howto__icons .item__icon .icon {
  fill: currentColor;
  aspect-ratio: 1/1;
}
.forecast-howto__icons .love {
  color: #EDA8C9;
}
.forecast-howto__icons .love .icon {
  width: 2.1rem;
}
.forecast-howto__icons .money {
  color: #F6D688;
}
.forecast-howto__icons .money .icon {
  width: 2.5rem;
}
.forecast-howto__text {
  letter-spacing: 0;
  text-align: left;
}
.forecast-howto__ttl {
  font-size: 1.5rem;
  line-height: 1.667;
  margin-bottom: 0.1rem;
}
.forecast-howto__txt {
  font-size: 1.5rem;
  line-height: 1.667;
  margin-left: 0.9rem;
}

@media screen and (max-width: 1023px) {
  .forecast-howto {
    flex-direction: column-reverse;
    align-items: center;
    width: min(100%, 35rem);
    padding: 1.5rem 1.8rem 2.5rem;
    margin-top: 3rem;
  }
  .forecast-howto:before {
    inset: 0.3rem;
  }
  .forecast-howto__icons {
    margin-top: 1.4rem;
  }
  .forecast-howto__icons .item__icon {
    width: 4rem;
    height: 4rem;
  }
  .forecast-howto__icons .love .icon {
    width: 1.7rem;
  }
  .forecast-howto__icons .money .icon {
    width: 2rem;
  }
  .forecast-howto__text {
    text-align: center;
  }
  .forecast-howto__ttl {
    font-size: 1.3rem;
    line-height: 2.154;
    margin-bottom: -0.1rem;
  }
  .forecast-howto__txt {
    font-size: 1.3rem;
    line-height: 1.77;
    margin: 0;
  }
  .forecast-howto__txt span.pc-hidden {
    display: inline-block;
  }
}
.forecast-member {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2rem 4.5082%;
  margin: 0 4rem;
}
.forecast-member .text-line {
  display: inline-block;
}
.forecast-member .member__card {
  position: relative;
  padding: 0 0.1rem 0.2rem;
}
.forecast-member .member__card:before {
  position: absolute;
  inset: 2.8rem 0 0;
  display: block;
  content: "";
  box-sizing: border-box;
  background: #81393D;
  border: 1px solid rgba(246, 214, 136, 0.3);
  box-shadow: 2rem 2rem 4rem rgba(0, 0, 0, 0.25);
  z-index: -1;
}
.forecast-member .member__card:after {
  position: absolute;
  inset: 12.8rem 0.1rem 0.1rem;
  display: block;
  content: "";
  background: linear-gradient(rgba(122, 42, 80, 0), #81393D);
  z-index: 1;
}
.forecast-member .member__img {
  display: block;
}
.forecast-member .member__body {
  position: absolute;
  inset: auto 0 1.1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0.9rem;
  z-index: 2;
}
.forecast-member .member__head {
  order: 2;
  flex-grow: 1;
}
.forecast-member .member__ttl {
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
  text-align: center;
  opacity: 0.6;
  word-break: break-all;
}
.forecast-member .member__name {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.25;
  text-align: center;
  text-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.25);
}
.forecast-member .member__name .name {
  display: block;
}
.forecast-member .member__name .age {
  display: block;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  line-height: 1.364;
  text-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.2);
  margin-top: 0.1rem;
}
.forecast-member .member__btns {
  display: contents;
}
.forecast-member .member__btn {
  position: relative;
  display: block;
  flex-shrink: 0;
  width: 3.2rem;
  height: 3.2rem;
  margin-top: 0.8rem;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.forecast-member .member__btn input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
}
.forecast-member .member__btn input:checked + .btn {
  background: currentColor;
}
.forecast-member .member__btn input:checked + .btn .icon {
  fill: #56122C;
}
.forecast-member .member__btn .btn {
  transition: background 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  content: "";
  border: 1px solid currentColor;
  box-sizing: border-box;
  border-radius: 50%;
  background: rgba(39, 0, 16, 0.5);
  box-shadow: 0 0.4rem 0.4rem 0 rgba(0, 0, 0, 0.4);
  padding-top: 0.1rem;
}
@media (hover) {
  .forecast-member .member__btn .btn:hover {
    background: currentColor;
  }
  .forecast-member .member__btn .btn:hover .icon {
    fill: #56122C;
  }
}
.forecast-member .member__btn .icon {
  transition: fill 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  fill: currentColor;
  aspect-ratio: 1/1;
}
.forecast-member .member__btn.love {
  order: 1;
  color: #EDA8C9;
}
.forecast-member .member__btn.love .icon {
  width: 1.3rem;
}
.forecast-member .member__btn.money {
  order: 3;
  color: #F6D688;
}
.forecast-member .member__btn.money .icon {
  width: 1.6rem;
}
.forecast-member .member__foot {
  display: flex;
  gap: 0 0.8rem;
  align-items: flex-start;
  margin-top: 1.1rem;
}
.forecast-member .member__percent {
  text-align: center;
  font-family: "minerva-modern", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  margin-top: 0.9rem;
}
.forecast-member .member__percent .percent {
  font-size: 1.9rem;
  letter-spacing: 0.05em;
  line-height: 1.4rem;
}
.forecast-member .member__percent .suffix {
  display: inline-block;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1;
}
.forecast-member .member__percent.love {
  color: #EDA8C9;
}
.forecast-member .member__percent .ttl {
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-top: 0.1rem;
}
.forecast-member .member__percent.money {
  color: #F6D688;
}
.forecast-member .member__ratio {
  flex: 1;
}
.forecast-member .member__ratio .ttl {
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
  opacity: 0.5;
}
.forecast-member .member__ratio .bar {
  display: flex;
  gap: 0 0.1rem;
  height: 0.5rem;
  border-radius: 10rem;
  margin-top: 0.3rem;
  overflow: hidden;
}
.forecast-member .member__ratio .ratio {
  flex-shrink: 0;
  --percent: 0;
  width: var(--percent);
}
.forecast-member .member__ratio .love {
  background: #EDA8C9;
}
.forecast-member .member__ratio .money {
  background: #F6D688;
}
.forecast-member .member[data-random="1"] {
  order: 1;
}
.forecast-member .member[data-random="2"] {
  order: 2;
}
.forecast-member .member[data-random="3"] {
  order: 3;
}
.forecast-member .member[data-random="4"] {
  order: 4;
}
.forecast-member .member[data-random="5"] {
  order: 5;
}
.forecast-member .member[data-random="6"] {
  order: 6;
}
.forecast-member .member[data-random="7"] {
  order: 7;
}
.forecast-member .member[data-random="8"] {
  order: 8;
}
.forecast-member .member[data-random="9"] {
  order: 9;
}
.forecast-member .member[data-random="10"] {
  order: 10;
}

@media screen and (max-width: 1023px) {
  .forecast-member {
    grid-template-columns: auto;
    gap: 3rem 0;
    margin: 0 4.5rem;
  }
  .forecast-member .member__card {
    padding: 0 0.1rem 0.2rem 0.2rem;
  }
  .forecast-member .member__card:before {
    inset: 4.1rem 0 0;
  }
  .forecast-member .member__card:after {
    inset: 19.1rem 0.1rem 0.1rem;
  }
  .forecast-member .member__body {
    display: block;
    inset: auto 0 1.5rem;
  }
  .forecast-member .member__ttl {
    font-size: 1.2rem;
    line-height: 1.334;
    margin-bottom: 0.5rem;
  }
  .forecast-member .member__name {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 0.2rem;
    font-size: 2.2rem;
    line-height: 0.91;
  }
  .forecast-member .member__name .age {
    font-size: 1.4rem;
    line-height: 1.072;
    margin: 0;
  }
  .forecast-member .member__btns {
    display: flex;
    justify-content: center;
    gap: 0 3.5rem;
    margin-top: 1.75rem;
  }
  .forecast-member .member__btn {
    width: 5.8rem;
    height: 5.8rem;
    margin-top: 0;
  }
  .forecast-member .member__btn .btn {
    padding-top: 0.2rem;
  }
  .forecast-member .member__btn.love .icon {
    width: 2.5rem;
  }
  .forecast-member .member__btn.money .icon {
    width: 2.9rem;
  }
  .forecast-member .member__foot {
    gap: 0 1.4rem;
    margin: 2rem 0.3rem 0;
  }
  .forecast-member .member__percent {
    margin-top: 1.4rem;
  }
  .forecast-member .member__percent .percent {
    font-size: 2.3rem;
  }
  .forecast-member .member__percent .suffix {
    font-size: 1.8rem;
    line-height: 1.4rem;
  }
  .forecast-member .member__percent .ttl {
    font-size: 1.1rem;
    line-height: 1.364;
    margin-top: 0.4rem;
  }
  .forecast-member .member__ratio .ttl {
    font-size: 1.2rem;
    line-height: 1.334;
  }
  .forecast-member .member__ratio .bar {
    height: 0.75rem;
    margin-top: 0.9rem;
  }
}
.forecast-form {
  margin: 8.2rem auto 0;
}
.forecast-form__caption {
  font-size: 1.3rem;
  letter-spacing: 0.05rem;
  line-height: 1.85;
  margin-bottom: 0.7rem;
}
.forecast-form__foot {
  margin-top: 4.7rem;
}
.forecast-form__count {
  display: none;
}
.forecast-form__btnArea {
  position: relative;
  display: flex;
  justify-content: center;
  margin: 0 4.2rem;
}
.forecast-form__btnArea:before, .forecast-form__btnArea:after {
  position: absolute;
  top: calc(50% - 3rem);
  display: block;
  content: "";
  width: calc((100% - 48.2rem) / 2);
  height: 3rem;
  border-bottom: 1px solid #fff;
  box-sizing: border-box;
  z-index: -1;
}
.forecast-form__btnArea:before {
  left: 0;
  border-left: 1px solid #fff;
}
.forecast-form__btnArea:after {
  right: 0;
  border-right: 1px solid #fff;
}
.forecast-form__btn {
  transition: opacity 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 0.9rem;
  width: min(100%, 39.8rem);
  height: 9.6rem;
  font-size: 2rem;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.2;
  color: #7A2A50;
  background: transparent;
  border: 1px solid #fff;
  border-radius: 10rem;
}
.forecast-form__btn:after {
  position: absolute;
  inset: 0.7rem 0.8rem;
  display: block;
  content: "";
  background: #fff;
  z-index: -1;
  border-radius: 10rem;
}
.forecast-form__btn .icon {
  width: 3rem;
  height: 3rem;
  fill: currentColor;
}
.forecast-form__btn:disabled {
  opacity: 0.4;
  pointer-events: none;
}

@media screen and (max-width: 1023px) {
  .forecast-form {
    margin-top: 4rem;
  }
  .forecast-form__caption {
    display: none;
  }
  .forecast-form__foot {
    transition: translate 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
    translate: 0 100%;
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(95deg, #8A4B35 11.51%, #773041 42.39%, #621433 75.21%, #7C2C52 104.17%);
    box-shadow: 0 -2rem 3rem rgba(0, 0, 0, 0.25);
    padding: 0.7rem 2rem 0.9rem;
    margin: 0;
    z-index: 5;
  }
  html.is-forecast .forecast-form__foot {
    transition-delay: 0.4s;
    translate: 0;
  }
  .forecast-form__count {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0.6rem;
  }
  .forecast-form__count .ttl {
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-right: 1.3rem;
  }
  .forecast-form__count .count {
    display: flex;
    align-items: center;
    gap: 0 0.4rem;
  }
  .forecast-form__count .count:not(:first-of-type) {
    margin-left: 1.2rem;
  }
  .forecast-form__count .icon {
    width: 1.4rem;
    height: 1.4rem;
    fill: currentColor;
  }
  .forecast-form__count .num {
    display: block;
    font-size: 1.9rem;
    font-family: "minerva-modern", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    letter-spacing: 0.03em;
    line-height: 1.053;
  }
  .forecast-form__count .love {
    color: #EDA8C9;
  }
  .forecast-form__count .money {
    color: #F6D688;
  }
  .forecast-form__btnArea {
    margin: 0;
  }
  .forecast-form__btnArea:before, .forecast-form__btnArea:after {
    display: none;
  }
  .forecast-form__btn {
    gap: 0 0.5rem;
    width: 100%;
    height: 4.8rem;
    font-size: 1.5rem;
    line-height: 1.6;
  }
  .forecast-form__btn:after {
    inset: 0.2rem 0.3rem;
  }
  .forecast-form__btn .icon {
    width: 1.6rem;
    height: 1.6rem;
  }
}
/* footer */
.footer {
  position: relative;
  overflow: hidden;
}
.footer.is-visible .footer-head__wrapper {
  transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) var(--delay);
  transition-property: opacity, filter;
  opacity: 1;
  filter: blur(0);
}
.footer-head {
  z-index: 2;
  background: linear-gradient(180deg, rgba(149, 144, 137, 0) 50%, rgba(243, 197, 82, 0.5) 100%);
}
.footer-head__wrapper {
  position: relative;
  max-width: 122rem;
  padding: 0 5rem;
  margin: 0 auto;
  padding-bottom: 16rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  --delay: 0s;
  opacity: 0;
  filter: blur(10px);
}
.footer-head__img {
  position: relative;
  display: block;
  width: 53.5714%;
  z-index: 2;
}
.footer-head__body {
  flex-shrink: 0;
  margin-left: 6.697%;
}
.footer-head__ttl {
  text-align: center;
  font-size: 2.2rem;
  margin-bottom: 0.5rem;
}
.footer-head__lead {
  text-align: center;
}
.footer-head__watch {
  display: block;
  width: 30rem;
  border-radius: 7rem;
  overflow: hidden;
  margin: 3rem auto 0;
  box-shadow: 20px 20px 30px 0px rgba(0, 0, 0, 0.25);
}
.footer-head__list {
  display: flex;
  justify-content: center;
  margin-top: 3.8rem;
}
.footer-head__list li {
  margin-left: 2rem;
}
.footer-head__list li:first-child {
  margin-left: 0;
}
.footer-head__list li a {
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: color, background;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  text-decoration: none;
  box-sizing: border-box;
  border: 1px solid #ffffff;
  border-radius: 50%;
}
html.notouch .footer-head__list li a:hover {
  color: #823E52;
  background: #ffffff;
}
.footer-head__list .icon {
  position: relative;
  display: block;
  fill: currentColor;
  z-index: 1;
}
.footer-head__list .icon {
  height: 100%;
}
.footer-head__list .tiktok .icon {
  width: 1.9rem;
}
.footer-head__list .youtube .icon {
  width: 2.3rem;
}
.footer-head__list .instagram .icon {
  width: 2rem;
}
.footer-head__list .twitter _:-ms-lang(x)::-ms-backdrop, .footer-head__list .twitter {
  display: none;
}
.footer-head__list .twitter .icon {
  width: 1.9rem;
}
.footer__wrapper {
  position: relative;
  background: #000000;
  z-index: 2;
}
.footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-right: 5rem;
  padding-left: 5rem;
  max-width: inherit;
  padding-top: 17rem;
  padding-bottom: 5rem;
}
.footer__logo {
  display: block;
  width: 20rem;
  text-decoration: none;
  margin-bottom: 5.9rem;
}
.footer__lead {
  font-size: 1.7rem;
  text-align: center;
}
.footer__btns {
  display: flex;
  margin-top: 3.5rem;
}
.footer__btns .btn {
  margin-left: 1rem;
}
.footer__btns .btn:first-child {
  margin-left: 0;
}
.footer__btns .googlePlay {
  width: 16.8rem;
}
.footer__btns .appStore {
  width: 13.6rem;
}
.footer__foot {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 15rem;
}
.footer__links {
  display: flex;
  align-items: flex-start;
}
.footer__links li {
  font-size: 1.3rem;
  line-height: 1.5;
  margin-left: 3rem;
}
.footer__links li:first-child {
  margin-left: 0;
}
.footer__links li a {
  position: relative;
  display: block;
  text-decoration: none;
}
.footer__links li a:after {
  transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  position: absolute;
  right: 0;
  bottom: -2px;
  left: 0;
  display: block;
  content: "";
  height: 1px;
  background: #ffffff;
  transform: scale(0, 1);
  transform-origin: right center;
}
html.notouch .footer__links li a:hover:after {
  transform-origin: left center;
  transform: scale(1, 1);
}
.footer__copyright {
  font-size: 1.1rem;
  letter-spacing: 0;
}

@media screen and (max-width: 1023px) {
  .footer {
    padding-top: 0;
  }
  .footer-head {
    padding-top: 5rem;
    background: linear-gradient(180deg, rgba(149, 144, 137, 0) 0%, rgba(243, 197, 82, 0.5) 100%);
  }
  .footer-head__wrapper {
    padding: 0 2.5rem;
    padding-bottom: 5rem;
    display: block;
  }
  .footer-head__img {
    width: 100%;
    margin-bottom: 3rem;
  }
  .footer-head__body {
    margin-left: 0;
  }
  .footer-head__ttl {
    font-size: 1.7rem;
    margin-bottom: 0rem;
  }
  .footer-head__lead {
    text-align: center;
  }
  .footer-head__watch {
    margin-top: 2.5rem;
    width: 23.5rem;
    box-shadow: 15px 15px 30px 0px rgba(0, 0, 0, 0.25);
  }
  .footer-head__list li a {
    width: 4rem;
    height: 4rem;
  }
  .footer-head__list .tiktok .icon {
    width: 1.5rem;
  }
  .footer-head__list .youtube .icon {
    width: 1.8rem;
  }
  .footer-head__list .instagram .icon {
    width: 1.6rem;
  }
  .footer-head__list .twitter .icon {
    width: 1.55rem;
  }
  .footer__inner {
    padding-right: 3rem;
    padding-left: 3rem;
    padding-top: 6rem;
    padding-bottom: 6.5rem;
  }
  .footer__logo {
    width: 15rem;
    margin-bottom: 4rem;
  }
  .footer__lead {
    font-size: 1.4rem;
    text-align: center;
  }
  .footer__btns {
    display: flex;
    margin-top: 3rem;
  }
  .footer__foot {
    display: block;
    margin-top: 6.5rem;
  }
  .footer__links {
    display: flex;
    justify-content: space-between;
  }
  .footer__links li {
    font-size: 1.2rem;
    letter-spacing: 0;
    margin-left: 0;
    text-align: center;
  }
  .footer__links li a {
    display: inline-block;
  }
  .footer__copyright {
    text-align: center;
    margin-top: 2rem;
    font-size: 1rem;
    letter-spacing: 0;
  }
}
.clearfix {
  zoom: 1;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}

/* hidden */
.pc-hidden {
  display: none;
}

.pctb-hidden {
  display: none;
}

@media only screen and (max-width: 1023px) {
  .tb-hidden,
  .tbsp-hidden {
    display: none;
  }
  .pc-hidden {
    display: block;
  }
  br.pc-hidden {
    display: inline-block;
  }
}
@media only screen and (max-width: 1023px) {
  .sp-hidden {
    display: none;
  }
  .tb-hidden,
  .pctb-hidden {
    display: block;
  }
  br.tb-hidden,
  br.pctb-hidden {
    display: inline-block;
  }
}
@keyframes shine {
  100% {
    left: 125%;
  }
}
@keyframes skewanime {
  100% {
    left: 120%;
    opacity: 0.7;
  }
}
@keyframes home-fv-scroll {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(14rem);
  }
}
@keyframes slide-skew {
  0% {
    transform: translate(20rem, -3rem);
    opacity: 0;
  }
  100% {
    transform: translate(0, 0);
  }
  20%, 100% {
    opacity: 1;
  }
}
@keyframes grow-oblique {
  0% {
    height: 0;
  }
  100% {
    height: 100%;
  }
}
@keyframes spin {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(360deg);
  }
}
@keyframes op-oblique {
  from {
    opacity: 1;
    height: 0;
    right: 0;
  }
  to {
    opacity: 0;
    height: 100%;
    right: 100rem;
  }
}
@keyframes sp-oblique {
  from {
    opacity: 1;
    height: 0;
    right: -10rem;
  }
  to {
    opacity: 0;
    height: 70%;
    right: 40rem;
  }
}
/* loading */
@-webkit-keyframes loading {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes loading {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
#loading {
  width: 100svw;
  height: 100svh;
  background-color: #1C1936;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 13;
}

#loading-main:after, #loading-main:before {
  content: "";
  display: block;
  width: 10rem;
  height: 10rem;
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 110%;
  transform: translate(-50%, -50%);
}

#loading-main {
  display: block;
  width: 44rem;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}

#loading-main:after {
  -webkit-animation: loading 1s linear infinite;
  animation: loading 1s linear infinite;
  border: 1px solid transparent;
  border-top-color: #EDE33C;
  top: calc(50% - 5rem);
  left: calc(50% - 5rem);
}

#loading-main:before {
  border: 2px solid rgba(250, 238, 42, 0.15);
}

.oblique {
  width: 5rem;
  height: 240rem;
  position: absolute;
  top: 0;
  right: 40rem;
  overflow: hidden;
  transform: skewX(-30deg);
  z-index: 10;
  animation: op-oblique linear both;
  animation-timeline: scroll(root y);
  animation-range: entry 3% cover 30%;
}
.oblique::before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  background-color: #EDE33C;
  animation: grow-oblique 3s forwards;
}

@media (max-width: 849px) {
  .oblique {
    animation: sp-oblique linear both;
    animation-timeline: scroll(root y);
    animation-range: entry 3% cover 38%;
  }
}
/* frame */
body {
  background: #1C1936;
  color: #DEDEE8;
}

.p-home-section,
.p-arhchive-section {
  padding: 4rem 6rem;
  margin: 6rem auto 0;
  max-width: 100rem;
  position: relative;
  z-index: 10;
}
.p-home-section__ttl,
.p-arhchive-section__ttl {
  margin-bottom: 3rem;
}

/* common parts */
::-moz-selection {
  background: #EDE33C;
  color: #1C1936;
}

::selection {
  background: #EDE33C;
  color: #1C1936;
}

/* btn */
.p-recruit__nav .c-btn,
.p-home__more .c-btn {
  font-family: bai-jamjuree, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 2rem;
  letter-spacing: 0.05em;
  line-height: 1.2;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  display: inline-block;
  color: #1C1936;
  background: #EDE33C;
  padding: 0.6rem 2.4rem;
  text-align: center;
  outline: none;
  transition: ease 0.2s;
}
.p-recruit__nav .c-btn__txt,
.p-home__more .c-btn__txt {
  display: block;
  position: relative;
  z-index: 3;
  color: #1C1936;
}
.p-recruit__nav .c-btn::before,
.p-home__more .c-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -6rem;
  background: #FFF;
  width: 20%;
  height: 100%;
  transform: skewX(-25deg);
}
.p-recruit__nav .c-btn:hover .c-btn__txt,
.p-home__more .c-btn:hover .c-btn__txt {
  color: #1C1936;
}
.p-recruit__nav .c-btn:hover::before,
.p-home__more .c-btn:hover::before {
  animation: skewanime 0.5s forwards;
}

.p-recruit__nav .c-btn::before {
  left: -20rem;
}

.p-home__more {
  text-align: center;
  margin-top: 4rem;
}

.bottomNav {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 12;
  width: 100%;
}
.bottomNav ul {
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 2px;
  background: #1C1936;
}
.bottomNav li {
  flex: 1;
  text-align: center;
  font-size: 1.4rem;
  height: 4.475rem;
}
.bottomNav a {
  text-decoration: none;
  display: block;
  width: 100%;
  padding: 1rem 0;
  background: #EDE33C;
  color: #1C1936;
  font-weight: 700;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}
.bottomNav a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -10rem;
  background: #FFF;
  width: 20%;
  height: 100%;
  transform: skewX(-25deg);
}
.bottomNav a:hover::before {
  animation: skewanime 0.5s forwards;
}
.bottomNav .bottomContact a {
  background: #E9E9E9;
}
.bottomNav .tag_new {
  position: absolute;
  left: 50%;
  top: -1.6rem;
  transform: translateX(-50%);
  font-family: bai-jamjuree, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-style: italic;
  color: #EDE33C;
  display: flex;
  align-items: center;
  --text-divider-gap: 1rem;
  width: 100%;
  line-height: 1;
}
.bottomNav .tag_new:after, .bottomNav .tag_new:before {
  content: "";
  height: 1.5px;
  background-color: #EDE33C;
  flex-grow: 1;
}
.bottomNav .tag_new:after {
  margin-left: var(--text-divider-gap);
}
.bottomNav .tag_new:before {
  margin-right: var(--text-divider-gap);
}

/* title */
.p-home-section__ttl .en,
.p-archive-section__ttl .en,
.p-single-section__ttl .en {
  font-family: bai-jamjuree, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 5.4rem;
  line-height: 1.2;
}
.p-home-section__ttl .ttl-ja,
.p-archive-section__ttl .ttl-ja,
.p-single-section__ttl .ttl-ja {
  line-height: 1.2;
  letter-spacing: 0.06em;
  font-size: 1.4rem;
  font-weight: 700;
}

/* swiper */
.swiper {
  width: min(100%, 600px);
  height: 300px;
}

.swiper-slide {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #DEDEE8;
  font-weight: bold;
}

.slide_fv1 {
  background-color: #1C1936;
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  top: 65%;
  left: 2rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transform: translateY(-65%);
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 0 2rem;
  border: 1px solid #DEDEE8;
  opacity: 1;
  background: transparent;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet:last-child,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet:last-child {
  margin-bottom: 0;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #EDE33C;
}

.p-home-event {
  overflow: hidden;
}
.p-home-event .swiper-slide {
  width: 30rem;
  margin-right: 2rem;
}
.p-home-event .swiper-slide:last-child {
  margin-right: 0;
}
.p-home-event .p-home-section__ttl {
  margin-bottom: 6rem;
}

.event-slider .swiper-wrapper,
.staff-slider .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  -o-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}
.event-slider .swiper-horizontal > .swiper-pagination-bullets,
.event-slider .swiper-pagination-bullets.swiper-pagination-horizontal,
.event-slider .swiper-pagination-custom,
.event-slider .swiper-pagination-fraction,
.staff-slider .swiper-horizontal > .swiper-pagination-bullets,
.staff-slider .swiper-pagination-bullets.swiper-pagination-horizontal,
.staff-slider .swiper-pagination-custom,
.staff-slider .swiper-pagination-fraction {
  flex-direction: row;
  justify-content: end;
  top: -4.5rem;
  right: 0;
  bottom: 0;
  transform: inherit;
  width: 100%;
  margin-left: -2rem;
  height: 4rem;
}
.event-slider .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.event-slider .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet,
.staff-slider .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.staff-slider .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  width: 3rem;
  height: 3rem;
  margin: 0 0 0 1rem;
  font-size: 1.5rem;
  line-height: 2;
  background: #1C1936;
}
.event-slider .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active,
.event-slider .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active,
.staff-slider .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active,
.staff-slider .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #EDE33C;
  color: #1C1936;
  font-weight: 700;
}

.swiper-container {
  overflow: visible;
}

.stf-slider .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  -o-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}

/* header */
.header {
  color: #DEDEE8;
  width: 100%;
  height: 8rem;
  position: fixed;
  z-index: 11;
}
.header__logo {
  overflow: hidden;
  width: 18rem;
  position: absolute;
  left: 2rem;
  top: 50%;
  transform: translateY(-50%);
}
.header__logo img {
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s ease;
}
.header.fixed {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0), rgba(28, 25, 54, 0.7));
}
.header.fixed .header__logo img {
  visibility: visible;
  opacity: 1;
}
.header__menu {
  display: block;
  height: 8rem;
  margin-left: auto;
  position: relative;
  z-index: 12;
  width: 8rem;
  border: none;
  background: transparent;
  padding: 0;
  color: #EDE33C;
  transition: all 0.5s ease;
}
.header__menu::before {
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  background-image: url(../../imgs/menu.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: 40%;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -40%);
}
.header__menu__text {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}
.header__menu__text::before {
  content: "MENU";
  text-align: center;
  color: #EDE33C;
  font-size: 1rem;
  font-weight: 900;
}
.header__menu.-active .header__menu__text::before {
  content: "CLOSE";
}
.header__nav {
  position: fixed;
  top: 0;
  right: -100%;
  z-index: 12;
  height: calc(100svh - 6rem);
  width: 40rem;
  visibility: hidden;
  padding: 10rem 0 0;
  background-color: #1C1936;
  transition: 0.4s;
  overflow-y: scroll;
}
.header__nav.-active {
  right: 0;
  visibility: visible;
}
.header__navList {
  padding: 0 3rem;
}
.header__navList li {
  margin-bottom: 1rem;
}
.header__navList li a {
  text-decoration: none;
  position: relative;
  z-index: 1;
  padding: 1rem 0;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.2;
  color: #DEDEE8;
  transition: all 0.3s ease;
  /*
                  &::before {
                      background: #EDE33C;
                      content: "";
                      display: block;
                      width: 100%;
                      height: 100%;
                      position: absolute;
                      left: 0;
                      bottom: 0;
                      margin: auto;
                      transform: scale(0, 1);
                      transform-origin: right top;
                      transition: transform .7s;
                      z-index: -1;
                  }
                  &:hover {
                      color: #1C1936;
                      &::before {
                          transform-origin: left top;
                          transform: scale(1, 1);
                      }
                  }*/
}
.header__navList li a .en {
  font-family: brother-1816-printed, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  display: inline-block;
  margin-left: 1.6rem;
}
.header__navList li a:hover {
  color: #EDE33C;
}
.header__navListBody {
  display: flex;
  flex-wrap: wrap;
  margin-top: 2rem;
  border-top: 1px solid #DEDEE8;
  padding-top: 3rem;
}
.header__navListBody li {
  width: 50%;
  margin-bottom: 2rem;
}
.header__navListBody li a {
  line-height: 1.2;
  padding: 0.5rem 0;
}
.header__navListBody li a .en {
  margin-left: 0;
  display: block;
}
.header__navListFooter {
  display: flex;
  padding: 1rem;
  background: #EDE33C;
  margin-top: 2rem;
  width: 100%;
}
.header__navListFooter li {
  text-align: center;
}
.header__navListFooter li:nth-child(1), .header__navListFooter li:nth-child(2) {
  width: 20rem;
  border-right: 0.5px solid #1C1936;
}
.header__navListFooter li:nth-child(3) {
  width: calc(100% - 12rem);
}
.header__navListFooter li a {
  text-decoration: none;
  color: #1C1936;
  display: flex;
  line-height: 1.2;
  padding: 1rem 0 0;
  font-size: 1.2rem;
  width: 100%;
  flex-direction: column;
  transition: all 0.3s ease;
  font-weight: 700;
}
.header__navListFooter li a:hover {
  opacity: 0.6;
}
.header__navListFooter .navListFooter__text {
  height: 4rem;
  display: block;
}

.overlay {
  opacity: 0;
  transition: all 0.3s ease;
}
.overlay.-active {
  opacity: 1;
  width: 100%;
  height: 100svh;
  background: rgba(0, 0, 0, 0.6);
  z-index: 11;
  position: absolute;
  top: 0;
  left: 0;
}

.icon {
  fill: #1C1936;
  width: 3.5rem;
  height: 5rem;
  display: block;
  margin: 0 auto;
}

/* fv */
.p-home-fv {
  position: relative;
}
.p-home-fv__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9;
  width: 44rem;
}

.fv_slider {
  height: 100svh;
}

.p-home-fv__scroll {
  transition: opacity 1s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
  opacity: 1;
  position: absolute;
  left: 1rem;
  bottom: max(4rem, 100% - 100svh);
  z-index: 2;
  width: 1px;
  height: 14rem;
  background: #DEDEE8;
}
.p-home-fv__scroll::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #1C1936;
  animation: home-fv-scroll 5.1s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s infinite normal;
}
.p-home-fv__scroll .txt {
  writing-mode: vertical-rl;
  font-family: bai-jamjuree, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-style: italic;
  font-size: 1.2rem;
  font-weight: 700;
  height: 12rem;
  position: absolute;
  top: 0;
  left: 0.3rem;
}
.p-home-fv__scroll .txt::before {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-bottom: solid 1px #DEDEE8;
  border-right: solid 1px #DEDEE8;
  transform: rotate(45deg);
  position: absolute;
  left: 0.7rem;
  bottom: 0.7rem;
  margin: auto;
}

/* event */
.p-archive-event,
.p-home-event {
  margin-top: 14rem;
  z-index: 10;
  position: relative;
}
.p-archive-event__items .item,
.p-home-event__items .item {
  margin-bottom: 2rem;
}
.p-archive-event__items .item__detail,
.p-home-event__items .item__detail {
  margin-top: 1rem;
  color: #DEDEE8;
  transition: all 0.3s ease;
}
.p-archive-event__items .item__detail_header,
.p-home-event__items .item__detail_header {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}
.p-archive-event__items .item__category,
.p-home-event__items .item__category {
  display: inline-block;
  border-radius: 5rem;
  line-height: 1.1;
  font-size: 1.2rem;
  margin-bottom: 0.3rem;
}
.p-archive-event__items .item__ttl,
.p-home-event__items .item__ttl {
  font-size: 1.6rem;
}
.p-archive-event__items .item__subttl,
.p-home-event__items .item__subttl {
  position: relative;
}
.p-archive-event__items .item__subttl::after,
.p-home-event__items .item__subttl::after {
  content: "：";
  position: relative;
  margin-right: 0.4rem;
}
.p-archive-event__items .item__detail_body,
.p-home-event__items .item__detail_body {
  font-size: 1.3rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-top: 0.75rem;
  font-weight: 700;
}
.p-archive-event__items .item__status,
.p-home-event__items .item__status {
  background: #42b487;
  padding: 0.4rem 1rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
  display: block;
  border-radius: 10rem;
  text-align: center;
  margin-bottom: 1rem;
}
.p-archive-event__items .item__status.statusDisabled,
.p-home-event__items .item__status.statusDisabled {
  background: #999;
  color: #CCC;
}
.p-archive-event__items .item a,
.p-home-event__items .item a {
  display: block;
  position: relative;
  overflow: hidden;
  text-decoration: none;
}
.p-archive-event__items .item a .item__img,
.p-home-event__items .item a .item__img {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.p-archive-event__items .item a .item__img img,
.p-home-event__items .item a .item__img img {
  transition: all 0.3s ease;
}
.p-archive-event__items .item a:hover .item__img img,
.p-home-event__items .item a:hover .item__img img {
  transform: scale(1.05);
}
.p-archive-event__items .item a:hover .item__detail_header,
.p-home-event__items .item a:hover .item__detail_header {
  color: #EDE33C;
}

/* works */
.p-home-works__items .item {
  margin-bottom: 2rem;
}
.p-home-works__items .item a {
  display: block;
  position: relative;
  overflow: hidden;
  text-decoration: none;
}
.p-home-works__items .item a .item__img {
  width: 100%;
  height: 100%;
}
.p-home-works__items .item a .item__img img {
  transition: all 0.3s ease;
}
.p-home-works__items .item a:hover .item__img img {
  transform: scale(1.05);
}

/* staff */
.p-home-staff__items .item a {
  text-decoration: none;
  position: relative;
}
.p-home-staff__items .item a .item__img {
  width: 100%;
  height: 100%;
  transition: all 0.3s ease;
}
.p-home-staff__items .item a:hover .item__img {
  transform: scale(1.05);
}
.p-home-staff .p-home-section__ttl {
  margin-bottom: 6rem;
}
.p-home-staff .p-home__more {
  margin-top: 6rem;
}

/* news */
.p-home-news .item__date {
  margin-left: 2rem;
  font-weight: 700;
}
.p-home-news .item__ttl {
  width: 55%;
  padding: 0 2rem 0 0;
  font-weight: 700;
  transition: all 0.3s ease;
}
.p-home-news .item__ttl.c-hidden {
  width: 100%;
  padding: 0;
}
.p-home-news__items {
  display: flex;
  gap: 2rem;
}
.p-home-news__items .item {
  margin-bottom: 3rem;
  padding-bottom: 3rem;
  flex-basis: 33.3333333333%;
  border-right: 1px solid #DEDEE8;
  padding-right: 2rem;
}
.p-home-news__items .item:last-child {
  border-right: none;
  padding-right: 0;
}
.p-home-news__items .item a {
  text-decoration: none;
  display: block;
  position: relative;
}
.p-home-news__items .item a .item__img {
  width: 100%;
  height: 100%;
  flex: 1;
  transition: all 0.3s ease;
}
.p-home-news__items .item a:hover .item__img {
  transform: scale(1.05);
}
.p-home-news__items .item a:hover .item__ttl {
  color: #EDE33C;
}

.item__catDate {
  display: flex;
  align-items: center;
}

.item__category {
  background: #EDE33C;
  color: #1C1936;
  font-weight: 700;
  padding: 0.4rem 1rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
}

.item__ttlImg {
  margin-top: 1rem;
  display: flex;
}

.m-contact__recruit {
  background: url(../../imgs/_data/recruit_01.jpg) center center no-repeat;
  background-size: cover;
  width: calc(100% - 8rem);
  display: block;
  margin: 4rem auto;
  font-size: 5rem;
  text-decoration: none;
  font-family: bai-jamjuree, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-style: italic;
  aspect-ratio: 7/1;
  text-align: center;
  line-height: 1.2;
  padding: 7rem 0 0;
  transition: all 0.3s ease;
  max-width: 94rem;
}
.m-contact__recruit span {
  display: block;
  font-size: 1.4rem;
  font-style: normal;
}
.m-contact__recruit:hover {
  transform: scale(1.05);
}

.m-contact__contact {
  background: #EDE33C;
  color: #1C1936;
  width: 100%;
  display: flex;
  margin: 2rem auto;
  font-size: 5rem;
  text-decoration: none;
  font-family: bai-jamjuree, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-style: italic;
  aspect-ratio: 5/1;
  text-align: center;
  line-height: 1.2;
  padding: 0;
  transition: all 0.3s ease;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}
.m-contact__contact span {
  display: block;
  font-size: 1.4rem;
  font-style: normal;
}
.m-contact__contact:hover {
  transform: scale(1.05);
  opacity: 0.7;
}

/* footer */
.header__footer__container,
.footer__container {
  text-align: center;
  padding: 3rem 0 6.5rem;
}
.header__footer__logo,
.footer__logo {
  margin: 0 auto;
}
.header__footer__address p,
.footer__address p {
  font-weight: 700;
  margin-top: 3rem;
}
.header__footer .icon,
.footer .icon {
  fill: #EDE33C;
}
.header__footer__sns,
.footer__sns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  margin-top: 2rem;
  padding-bottom: 2rem;
}
.header__footer__sns a,
.footer__sns a {
  transition: all 0.3s ease;
}
.header__footer__sns a:hover,
.footer__sns a:hover {
  opacity: 0.7;
}
.header__footer__copyright,
.footer__copyright {
  font-size: 1.1rem;
  letter-spacing: 0;
  padding: 1rem 0;
  font-family: bai-jamjuree, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-style: italic;
}

.header__footer__container {
  padding: 6rem 0 6.5rem;
}
.header__footer__logo {
  display: block;
  width: 18rem;
  text-decoration: none;
}
.header__footer__address p {
  margin-top: 2rem;
  font-size: 1.2rem;
}
.header__footer__sns {
  padding-bottom: 4rem;
}

/* archive */
.page-single .main,
.page-archive .main {
  padding-top: 10rem;
}

.breadcrumbs {
  padding: 0 2rem 1rem;
  border-bottom: 1px solid #221f3d;
  font-size: 1.2rem;
}
.breadcrumbs ul {
  display: flex;
}
.breadcrumbs ul li {
  position: relative;
}
.breadcrumbs ul li::after {
  content: "";
  width: 0.4rem;
  height: 0.4rem;
  border: 0;
  border-top: solid 1px #DEDEE8;
  border-right: solid 1px #DEDEE8;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: -1rem;
  bottom: 0;
  margin: auto;
}
.breadcrumbs ul li:last-child::after {
  content: none;
}
.breadcrumbs ul li + li {
  margin-left: 2rem;
}
.breadcrumbs ul a {
  text-decoration: none;
}

.p-single-section,
.p-archive-section {
  padding: 4rem 6rem;
  margin: 0 auto;
  max-width: 90rem;
}
.p-single-section__ttl,
.p-archive-section__ttl {
  margin-bottom: 3rem;
}

.p-archive-container {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}

.p-archive-news__items .item,
.p-archive-event__items .item {
  width: 100%;
}
.p-archive-news__items .item a,
.p-archive-event__items .item a {
  display: flex;
}
.p-archive-news__items .item a .item__img,
.p-archive-event__items .item a .item__img {
  max-width: 40rem;
}
.p-archive-news__items .item a .item__detail,
.p-archive-event__items .item a .item__detail {
  margin-top: 0;
  margin-left: 2rem;
  flex: 1;
}
.p-archive-news__items .item a .item__ttl,
.p-archive-event__items .item a .item__ttl {
  font-size: 1.6rem;
  font-weight: 700;
}
.p-archive-news__items .item a .item__status,
.p-archive-event__items .item a .item__status {
  display: inline-block;
  padding: 0.4rem 2rem;
}

/* single */
.p-single-event__items .item {
  width: 100%;
}
.p-single-event__items .item__ttl {
  font-size: 2rem;
  font-weight: 700;
}
.p-single-event__items .item__category {
  display: inline-block;
  border-radius: 5rem;
  line-height: 1.1;
  font-size: 1.2rem;
  margin-bottom: 0.3rem;
}
.p-single-event__items .item__detail {
  margin-top: 2rem;
  padding-bottom: 4rem;
  border-bottom: 1px dashed #2b214b;
}
.p-single-event__items .item__detail_body {
  font-weight: 700;
}
.p-single-event__items .item__status {
  display: inline-block;
  padding: 0.4rem 2rem;
  background: #42b487;
  line-height: 1.2;
  letter-spacing: 0.1em;
  border-radius: 10rem;
  text-align: center;
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}
.p-single-event__items .item__status.statusDisabled {
  background: #999;
  color: #CCC;
}
.p-single-event__items .item__subttl {
  position: relative;
}
.p-single-event__items .item__subttl::after {
  content: "：";
  position: relative;
  margin-right: 0.4rem;
}
.p-single-event__items .item__points {
  padding: 4rem 0;
  border-bottom: 1px dashed #2b214b;
}
.p-single-event__items .item .p-point {
  display: grid;
  grid-template-rows: 6rem 1fr;
  margin-bottom: 2rem;
}
.p-single-event__items .item .p-point:last-child {
  margin-bottom: 0;
}
.p-single-event__items .item .p-point__img {
  grid-row: 1/3;
  grid-column: 1/2;
  width: 40rem;
}
.p-single-event__items .item .p-point__num {
  position: relative;
  font-size: 4rem;
  font-weight: 700;
  grid-row: 1/2;
  grid-column: 2/3;
  height: 4rem;
  line-height: 1;
  padding: 1rem;
  margin-left: 2rem;
}
.p-single-event__items .item .p-point__num::after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 2.2rem;
  bottom: -0.5rem;
  height: 2px;
  background: #FFF;
  width: 3rem;
}
.p-single-event__items .item .p-point__txt {
  grid-row: 2;
  grid-column: 2/3;
  font-size: 1.6rem;
  padding: 2rem 1rem 1rem;
  margin-left: 2rem;
}
.p-single-event__items .item__subtext {
  padding: 4rem 0;
  border-bottom: 1px dashed #2b214b;
}
.p-single-event__items .item__person {
  padding: 4rem 0;
}
.p-single-event__items .item__person__img {
  width: 100%;
  height: 100%;
}
.p-single-event__items .item__person__txt {
  margin-top: 1rem;
  font-size: 1.6rem;
}
.p-single-event__items .item__gallery {
  padding: 4rem 0;
  border-bottom: 1px dashed #2b214b;
  overflow: hidden;
}
.p-single-event__items .item__form {
  padding: 4rem 0;
}
.p-single-event__items .item .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-single-event__items .item .swiper-button-prev::after,
.p-single-event__items .item .swiper-button-next::after {
  bottom: 0;
  content: "";
  width: 2.7rem;
  height: 2.7rem;
  margin: auto;
  position: absolute;
  top: 0;
}
.p-single-event__items .item .swiper-button-prev::after {
  border-left: 4px solid #FFF;
  border-top: 4px solid #FFF;
  border-radius: 3px 0 0 0;
  transform: rotate(-45deg);
  left: 0.8rem;
}
.p-single-event__items .item .swiper-button-next::after {
  border-left: 4px solid #FFF;
  border-top: 4px solid #FFF;
  border-radius: 3px 0 0 0;
  transform: rotate(-225deg);
  right: 0.8rem;
}
.p-single-event__items .item .swiper-button-prev,
.p-single-event__items .item .swiper-button-next {
  background-image: none;
  transform: translateY(50%);
}

.single__ttl {
  font-family: bai-jamjuree, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 3.2rem;
  line-height: 1.2;
  margin-bottom: 1.2rem;
}

.p-archive-staff__items {
  flex-wrap: wrap;
  gap: 0;
}
.p-archive-staff__items .item {
  width: 33.3333333333%;
}
.p-archive-staff__items .item__img {
  transition: all 0.3s ease;
}
.p-archive-staff__items .item__category {
  background: none;
  color: #DEDEE8;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 0;
  transition: all 0.3s ease;
}
.p-archive-staff__items .item__ttl {
  font-size: 2rem;
  line-height: 1.75;
  font-weight: 700;
  transition: all 0.3s ease;
}
.p-archive-staff__items .item a {
  text-decoration: none;
}
.p-archive-staff__items .item a:hover .item__img {
  transform: scale(1.05);
}
.p-archive-staff__items .item a:hover .item__category,
.p-archive-staff__items .item a:hover .item__ttl {
  color: #EDE33C;
}
.p-archive-staff__items .item__detail {
  margin-top: 2rem;
}

.p-single-staff__items .item__introduction {
  background: #EDE33C;
  color: #1C1936;
  font-weight: 700;
  font-size: 1.6rem;
  margin-top: 1rem;
  padding: 4rem;
}
.p-single-staff__items .item__works__txt {
  font-weight: 700;
  font-size: 1.6rem;
}
.p-single-staff__items .en {
  font-family: bai-jamjuree, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 5.4rem;
  line-height: 1.2;
}
.p-single-staff__items .ttl-ja {
  line-height: 1.2;
  letter-spacing: 0.06em;
  font-size: 1.4rem;
  font-weight: 700;
}
.p-single-staff .item_sec {
  margin-top: 8rem;
}
.p-single-staff .items__ttl {
  margin-bottom: 2rem;
}
.p-single-staff .p-love__txt {
  font-weight: 700;
  font-size: 1.6rem;
  margin-top: 1.4rem;
}
.p-single-staff .item__other a {
  text-decoration: none;
}
.p-single-staff .item__other a img {
  transition: all 0.3s ease;
}
.p-single-staff .item__other a:hover img {
  transform: scale(1.05);
}
.p-single-staff .p-select a {
  text-decoration: none;
}
.p-single-staff .p-select a .p-select__txt {
  font-size: 2rem;
  line-height: 2.4;
  font-weight: 700;
}
.p-single-staff .p-select a .p-select__img {
  overflow: hidden;
}
.p-single-staff .p-select a .p-select__img img {
  transition: all 0.3s ease;
}
.p-single-staff .p-select a:hover .p-select__img img {
  transform: scale(1.05);
}
.p-single-staff .p-select a:hover .p-select__txt {
  color: #EDE33C;
}
.p-single-staff .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-single-staff .swiper-button-prev::after,
.p-single-staff .swiper-button-next::after {
  bottom: 0;
  content: "";
  width: 2.7rem;
  height: 2.7rem;
  margin: auto;
  position: absolute;
  top: 0;
}
.p-single-staff .swiper-button-prev::after {
  border-left: 4px solid #FFF;
  border-top: 4px solid #FFF;
  border-radius: 3px 0 0 0;
  transform: rotate(-45deg);
  left: 0.8rem;
}
.p-single-staff .swiper-button-next::after {
  border-left: 4px solid #FFF;
  border-top: 4px solid #FFF;
  border-radius: 3px 0 0 0;
  transform: rotate(-225deg);
  right: 0.8rem;
}
.p-single-staff .swiper-button-prev,
.p-single-staff .swiper-button-next {
  background-image: none;
  transform: translateY(50%);
}

.p-single-works__items,
.p-archive-works__items {
  gap: 4rem;
}
.p-single-works__items .item a,
.p-archive-works__items .item a {
  text-decoration: none;
  display: block;
  position: relative;
}
.p-single-works__items .item a .item__img,
.p-archive-works__items .item a .item__img {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.p-single-works__items .item a .item__img img,
.p-archive-works__items .item a .item__img img {
  transition: all 0.3s ease;
}
.p-single-works__items .item a:hover .item__img img,
.p-archive-works__items .item a:hover .item__img img {
  transform: scale(1.05);
}
.p-single-works__items .item a:hover .item__ttl,
.p-archive-works__items .item a:hover .item__ttl {
  color: #EDE33C;
}
.p-single-works__items .item__category,
.p-archive-works__items .item__category {
  background: none;
  display: flex;
  gap: 1rem;
  padding: 0;
  margin: 1rem 0 0.5rem;
}
.p-single-works__items .item__category li,
.p-archive-works__items .item__category li {
  background: #EDE33C;
  padding: 0.4rem 1rem;
  border-radius: 2px;
}
.p-single-works__items .item__ttl,
.p-archive-works__items .item__ttl {
  font-size: 2rem;
  font-weight: 700;
  transition: all 0.3s ease;
}

.p-single-works .item__detail_header {
  margin-bottom: 1.6rem;
}
.p-single-works .item__subttl {
  font-size: 1.6rem;
  line-height: 1;
}
.p-single-works .item__feature {
  margin-top: 6rem;
  padding: 4rem 0;
}
.p-single-works .item .p-feature {
  margin-bottom: 4rem;
}
.p-single-works .item .p-feature__img {
  margin-bottom: 2rem;
}
.p-single-works .item .p-feature__ttl h3 {
  font-family: bai-jamjuree, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 1.2;
  margin-bottom: 1.2rem;
}
.p-single-works .item .p-feature__txt {
  font-size: 1.6rem;
}
.p-single-works .item__gallery {
  padding: 4rem 0;
  overflow: hidden;
}
.p-single-works .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-single-works .swiper-button-prev::after,
.p-single-works .swiper-button-next::after {
  bottom: 0;
  content: "";
  width: 2.7rem;
  height: 2.7rem;
  margin: auto;
  position: absolute;
  top: 0;
}
.p-single-works .swiper-button-prev::after {
  border-left: 4px solid #FFF;
  border-top: 4px solid #FFF;
  border-radius: 3px 0 0 0;
  transform: rotate(-45deg);
  left: 0.8rem;
}
.p-single-works .swiper-button-next::after {
  border-left: 4px solid #FFF;
  border-top: 4px solid #FFF;
  border-radius: 3px 0 0 0;
  transform: rotate(-225deg);
  right: 0.8rem;
}
.p-single-works .swiper-button-prev,
.p-single-works .swiper-button-next {
  background-image: none;
  transform: translateY(50%);
}

.p-single-news .item a,
.p-archive-news .item a {
  text-decoration: none;
}
.p-single-news .item a .item__img,
.p-archive-news .item a .item__img {
  width: 100%;
  height: auto;
  overflow: hidden;
}
.p-single-news .item a .item__img img,
.p-archive-news .item a .item__img img {
  object-fit: cover;
  transition: all 0.3s ease;
}
.p-single-news .item a:hover .item__img img,
.p-archive-news .item a:hover .item__img img {
  transform: scale(1.05);
}
.p-single-news .item a:hover .item__detail_body,
.p-archive-news .item a:hover .item__detail_body {
  color: #EDE33C;
}
.p-single-news .item__detail_header,
.p-archive-news .item__detail_header {
  display: flex;
}
.p-single-news .item__detail_body,
.p-archive-news .item__detail_body {
  margin-top: 1rem;
  transition: all 0.3s ease;
}
.p-single-news .item__date,
.p-archive-news .item__date {
  margin-left: 1rem;
}

.p-single-news.p-single-section__ttl .en {
  font-size: 3.2rem;
}
.p-single-news .item__post {
  font-size: 1.6rem;
  margin-top: 4rem;
  padding: 4rem 0;
  border-top: 1px solid #e9e9e9;
}
.p-single-news .item__detail {
  margin-top: 4rem;
}

.page-consultation .cons .maps_title, .page-consultation .cons_ttl {
  font-family: bai-jamjuree, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 2;
  margin-bottom: 1rem;
}
.page-consultation .cons_txt {
  background: #EDE33C;
  color: #1C1936;
  font-weight: 700;
  font-size: 1.6rem;
  margin-top: 1rem;
  padding: 4rem;
}
.page-consultation .cons_txt .separater {
  margin-top: 1rem;
  display: block;
  font-style: italic;
  font-size: 1.4rem;
}
.page-consultation .cons .maps_title {
  margin-top: 4rem;
}
.page-consultation .cons iframe {
  aspect-ratio: 5/2;
}
.page-consultation #booking {
  margin-top: 4rem;
}
.page-consultation #booking .booking-title {
  font-family: bai-jamjuree, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 2;
  margin-bottom: 1rem;
}
.page-consultation #booking .event_section {
  font-size: 1.4rem;
  margin-bottom: 4rem;
}
.page-consultation #booking .event_section a {
  transition: all 0.3s ease;
}
.page-consultation #booking .event_section a:hover {
  color: #EDE33C;
}
.page-consultation #booking table {
  width: 100%;
}
.page-consultation #booking table tbody {
  border: 1px solid;
}
.page-consultation #booking table tbody th, .page-consultation #booking table tbody td {
  text-align: center;
  border: 1px solid;
}
.page-consultation #booking table .calendar-mark a {
  transition: all 0.3s ease;
}
.page-consultation #booking table .calendar-mark a:hover {
  color: #EDE33C;
}
.page-consultation #booking .monthly-prev-next {
  display: flex;
  justify-content: space-between;
}
.page-consultation #booking .monthly-prev-next br {
  display: none;
}
.page-consultation #booking .monthly-prev-next a {
  transition: all 0.3s ease;
}
.page-consultation #booking .monthly-prev-next a:hover {
  color: #EDE33C;
}
.page-consultation .consInfo {
  margin-top: 4rem;
}
.page-consultation .consInfo h3 {
  font-family: bai-jamjuree, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 2;
  margin-bottom: 1rem;
}
.page-consultation .consInfo h4 {
  font-size: 1.8rem;
  font-weight: 700;
}
.page-consultation .consInfo p {
  font-size: 1.4rem;
}
.page-consultation .consInfo > div {
  margin-top: 1rem;
}
.page-consultation .consInfo li {
  list-style: disc;
  margin-left: 2rem;
}
.page-consultation .consInfo .consInfoFooter p {
  font-style: italic;
  margin-top: 2rem;
  text-align: right;
}

.contact_c_form p {
  font-size: 1.6rem;
}
.contact_c_form p a:hover {
  color: #EDE33C;
}
.contact_c_form .c_table {
  width: 100%;
  margin-top: 4rem;
}
.contact_c_form .c_table tbody {
  display: flex;
  flex-direction: column;
}
.contact_c_form .c_table tr {
  margin-bottom: 1rem;
  display: flex;
}
.contact_c_form .c_table th {
  width: 20rem;
}
.contact_c_form .c_table td {
  flex: 1;
}
.contact_c_form .c_table input, .contact_c_form .c_table select, .contact_c_form .c_table textarea {
  color: #1C1936;
  border: none;
  padding: 0.8rem 1rem;
  width: 100%;
  max-width: 34rem;
}
.contact_c_form .c_table textarea {
  max-width: inherit;
}
.contact_c_form .c_required {
  font-size: 1rem;
  margin-left: 1rem;
  padding: 0.6rem 0.8rem;
  background: #1C1936;
  color: #EDE33C;
  font-weight: 700;
}

input[type=submit] {
  font-family: bai-jamjuree, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.2;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  display: block;
  color: #1C1936;
  background: #EDE33C;
  padding: 1rem 5rem;
  text-align: center;
  outline: none;
  transition: ease 0.2s;
  border: none;
  cursor: pointer;
  margin: 0 auto;
}
input[type=submit]:hover {
  opacity: 0.7;
}

span.wpcf7-not-valid-tip {
  display: block;
  color: #e77070;
  line-height: 1;
  margin-top: 0.5rem;
  font-size: 1.2rem;
  font-weight: 600;
}

.screen-reader-response ul {
  display: none;
}

.screen-reader-response,
div.wpcf7-validation-errors {
  text-align: center;
  padding: 2rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #EDE33C;
  margin: 1rem 0 4rem;
}

div.wpcf7-mail-sent-ok {
  border-color: #38cc8d;
  color: #1C1936;
  background: #38cc8d;
  font-weight: 700;
  padding: 2rem;
  margin: 4rem 0;
}

.p-booking table {
  width: 100%;
  margin-top: 4rem;
}
.p-booking table tbody {
  display: flex;
  flex-direction: column;
}
.p-booking table tr {
  margin-bottom: 1rem;
  display: flex;
}
.p-booking table th {
  width: 20rem;
}
.p-booking table td {
  flex: 1;
}
.p-booking table input, .p-booking table select, .p-booking table textarea {
  color: #1C1936;
  border: none;
  padding: 0.8rem 1rem;
  width: 100%;
  max-width: 34rem;
}
.p-booking table textarea {
  max-width: inherit;
}
.p-booking .required {
  font-size: 1rem;
  color: #ede33c;
}
.p-booking .content-form > h2 {
  font-size: 2rem;
  font-weight: 700;
  font-style: italic;
}
.p-booking button[type=submit] {
  font-family: bai-jamjuree, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.2;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  display: block;
  color: #1C1936;
  background: #EDE33C;
  padding: 1rem 5rem;
  text-align: center;
  outline: none;
  transition: ease 0.2s;
  border: none;
  cursor: pointer;
  margin: 2rem auto 0;
}
.p-booking button[type=submit]:hover {
  opacity: 0.7;
}
.p-booking legend {
  display: none;
}
.p-booking #booking-confirm-fieldset legend {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  font-style: italic;
}
.p-booking #booking-confirm-fieldset td[colspan="2"] {
  display: none;
}
.p-booking #booking-confirm-fieldset tr {
  margin: 0;
}
.p-booking #booking-confirm-fieldset td {
  padding: 0.8rem 1rem;
  background: #dedede;
  color: #4e4a69;
  margin-bottom: 1rem;
}

.p-privacypolicy h3 {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.p-privacypolicy h4 {
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 2rem;
}

.p-recruit__section h3 {
  font-size: 2.4rem;
  font-weight: 700;
}
.p-recruit__section h4 {
  font-size: 1.6rem;
  font-weight: 700;
  padding: 1rem 0;
}
.p-recruit__section h4::before {
  content: "▼";
  margin-right: 0.5rem;
}
.p-recruit__section ul {
  margin-left: 2rem;
}
.p-recruit__section li {
  list-style: disc;
}
.p-recruit__section .item {
  margin-bottom: 4rem;
}
.p-recruit__section.p-recruit__nav ul {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.p-recruit__section.p-recruit__nav li {
  list-style: none;
  display: flex;
  width: 100%;
  margin: 0;
  flex-basis: calc(50% - 0.5rem);
}
.p-recruit__section.p-recruit__nav a {
  text-decoration: none;
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 2rem;
  font-size: 1.6rem;
}
.p-recruit .to_contact:hover {
  color: #EDE33C;
}
.p-recruit dl {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  border-right: 1px solid #484848;
  border-top: 1px solid #484848;
}
.p-recruit dt {
  flex-basis: calc(15% - 4rem);
  padding: 2rem;
  background-color: #3b3655;
  border-bottom: 1px solid #1C1936;
  font-weight: 700;
}
.p-recruit dd {
  flex-basis: calc(85% - 4rem);
  padding: 2rem;
  background-color: transparent;
  border-bottom: 1px solid #484848;
}

.contact_c_form,
.event__form {
  margin: 2rem 0;
}
.contact_c_form dl,
.event__form dl {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  margin-bottom: 4rem;
}
.contact_c_form dt,
.event__form dt {
  flex-basis: calc(35% - 4rem);
  padding: 2rem;
  background-color: #3b3655;
  border-bottom: 1px solid #1C1936;
  font-weight: 700;
}
.contact_c_form dd,
.event__form dd {
  flex-basis: calc(65% - 4rem);
  padding: 2rem;
  background-color: transparent;
  border-bottom: 1px solid #484848;
}
.contact_c_form dd input[type=text],
.contact_c_form dd input[type=email],
.contact_c_form dd input[type=tel],
.contact_c_form dd textarea,
.event__form dd input[type=text],
.event__form dd input[type=email],
.event__form dd input[type=tel],
.event__form dd textarea {
  border: none;
  padding: 1rem;
  width: 100%;
  color: #1C1936;
  font-size: 1.4rem;
}

.ev_cf {
  font-size: 1.4rem;
  padding: 3rem 3rem;
  border: 1px dashed #3d3866;
  margin-top: 4rem;
}

form.sent .event__form dl,
form.sent .c_table,
form.sent input[type=submit] {
  display: none;
}

/*画面遷移アニメーション*/
.splashbg {
  display: none;
}

/*bodyにappearクラスがついたら出現*/
body.appear .splashbg {
  display: block;
  animation-name: PageAnime;
  animation-duration: 1.2s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  content: "";
  position: fixed;
  z-index: 999;
  width: 45%;
  height: 100vh;
  top: 0;
  left: 0;
  transform: translateX(-300%) skewX(-30deg);
  background-color: #EDE33C;
}

@keyframes PageAnime {
  0% {
    transform-origin: left;
    transform: translateX(-300%) skewX(-30deg);
  }
  100% {
    transform-origin: left;
    transform: translateX(500%) skewX(-30deg);
  }
}
.wrapper {
  opacity: 0;
}

body.appear .wrapper {
  animation-name: PageAnimeAppear;
  animation-duration: 1s;
  animation-delay: 0.6s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes PageAnimeAppear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.p-other-section {
  background: #DEDEE8;
}
.p-other-section .item__other {
  padding: 4rem 6rem;
  margin: 0 auto;
  max-width: 90rem;
}
.p-other-section .items__ttl {
  color: #1C1936;
  margin-bottom: 3rem;
}
.p-other-section .items__ttl .en {
  font-family: bai-jamjuree, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 5.4rem;
  line-height: 1.2;
}
.p-other-section .items__ttl .ttl-ja {
  line-height: 1.2;
  letter-spacing: 0.06em;
  font-size: 1.4rem;
  font-weight: 700;
}

@media (max-width: 1023px) {
  .p-other-section .item__other {
    padding: 4rem 2rem;
    margin-top: 4rem;
  }
}
@media (max-width: 1023px) {
  .p-single-section,
  .p-archive-section,
  .p-home-section {
    padding: 2rem;
    margin-top: 4rem;
  }
  .p-single-event__items .item__ttl,
  .p-archive-event__items .item__ttl,
  .p-home-event__items .item__ttl {
    font-size: 1.4rem;
  }
  .p-single-event__items .item__detail_body,
  .p-archive-event__items .item__detail_body,
  .p-home-event__items .item__detail_body {
    font-size: 1.2rem;
  }
  .header__nav {
    width: 30rem;
  }
  .header__navListFooter {
    padding: 1rem 0;
  }
  .header__navListFooter li:nth-child(1), .header__navListFooter li:nth-child(2) {
    width: 14rem;
  }
  #loading-main {
    width: 26rem;
  }
  .p-home-fv__logo {
    width: 26rem;
  }
  .p-home-fv__scroll .txt::before {
    bottom: 1rem;
  }
  .p-home-news__items {
    display: block;
  }
  .p-home-news__items .item {
    border-bottom: 0.5px solid #DEDEE8;
    border-right: none;
    padding-right: 0;
    flex-basis: 50%;
  }
  .p-home-news__items .item:last-child {
    border-bottom: none;
  }
  .m-contact__recruit,
  .m-contact__contact {
    aspect-ratio: 5/1;
    padding: 3rem 0;
    font-size: 3.6rem;
  }
  .m-contact__recruit {
    width: calc(100% - 4rem);
    padding: 3rem 0 2.8rem;
    margin: 2rem auto;
  }
  .breadcrumbs ul {
    overflow-x: scroll;
    word-break: keep-all;
    white-space: nowrap;
  }
  .p-archive-event__items .item a {
    display: block;
  }
  .p-archive-event__items .item a .item__img {
    width: 100%;
  }
  .p-archive-event__items .item a .item__detail {
    margin-top: 1rem;
    margin-left: 0;
  }
  .p-archive-event__items .item a .item__status {
    display: block;
  }
  .p-single-section__ttl .en {
    font-size: 3.6rem;
    line-height: 1.4;
  }
  .p-single-event__items .item .single__ttl {
    font-size: 2.6rem;
  }
  .p-single-event__items .item .p-point {
    grid-template-rows: 1fr;
    grid-template-columns: 7.5rem 1fr;
    align-items: center;
  }
  .p-single-event__items .item .p-point__img {
    grid-row: 1/2;
    grid-column: 1/3;
    width: 100%;
  }
  .p-single-event__items .item .p-point__num {
    margin-left: 0;
    height: auto;
    grid-row: 2;
    grid-column: 1/2;
  }
  .p-single-event__items .item .p-point__txt {
    grid-row: 2;
    grid-column: 2/3;
    margin-left: 1rem;
  }
  .p-archive-staff__items {
    flex-wrap: wrap;
    gap: 1rem;
  }
  .p-archive-staff__items .item {
    width: calc(50% - 1rem);
  }
  .p-archive-staff__items .item__detail {
    margin-top: 1rem;
  }
  .p-archive-staff__items .item__category {
    font-size: 1.2rem;
  }
  .p-archive-staff__items .item__ttl {
    font-size: 1.6rem;
  }
  .p-single-staff__items .item__introduction {
    font-size: 1.2rem;
    margin-top: 1rem;
    padding: 3rem;
  }
  .p-single-staff__items .item__works__txt {
    font-size: 1.2rem;
    line-height: 2;
    letter-spacing: 0.1em;
  }
  .p-single-staff__items .p-love__txt {
    font-size: 1.2rem;
    line-height: 2;
    letter-spacing: 0.1em;
  }
  .p-single-staff .p-select a .p-select__txt {
    font-size: 1.6rem;
  }
  .p-archive-works__items {
    gap: 2rem;
  }
  .p-archive-works__items .item__category {
    font-size: 1.2rem;
  }
  .p-archive-works__items .item__category li {
    padding: 0.3rem 0.7rem;
  }
  .p-archive-works__items .item__ttl {
    font-size: 1.6rem;
  }
  .p-archive-news .item a {
    flex-direction: column-reverse;
  }
  .p-archive-news .item a .item__detail {
    margin-bottom: 1rem;
    margin-left: 0;
  }
  .p-archive-news .item__detail_header {
    font-size: 1.2rem;
  }
  .p-archive-news .item__detail_body {
    margin-top: 0.5rem;
  }
  .p-single-news .item__post {
    font-size: 1.4rem;
  }
  .page-consultation .cons_txt {
    font-size: 1.2rem;
    margin-top: 1rem;
    padding: 3rem;
  }
  .page-consultation .cons_txt .separater {
    font-size: 1rem;
  }
  .page-consultation .cons iframe {
    aspect-ratio: 5/3;
  }
  .contact_c_form .c_table tr {
    margin-bottom: 2rem;
    flex-direction: column;
  }
  .contact_c_form .c_table th {
    margin-bottom: 0.5rem;
  }
  .wpcf7-not-valid-tip {
    margin-top: 1rem;
  }
  input[type=submit] {
    font-size: 1.6rem;
  }
  .bottomNav li {
    font-size: 1.2rem;
    height: 4.1rem;
  }
  .single__ttl {
    font-size: 2.8rem;
  }
  .header__footer__container {
    padding: 4rem 0 6.5rem;
  }
  .p-booking table tr {
    flex-direction: column;
  }
  .p-booking table th {
    margin-bottom: 0.5rem;
  }
  .p-booking #booking-confirm-fieldset td {
    margin-bottom: 2rem;
  }
  .p-privacypolicy h3 {
    font-size: 2rem;
  }
  .contact_c_form__section h3,
  .event__form__section h3,
  .p-recruit__section h3 {
    font-size: 2rem;
  }
  .contact_c_form__section.p-recruit__nav a,
  .event__form__section.p-recruit__nav a,
  .p-recruit__section.p-recruit__nav a {
    padding: 1rem;
    font-size: 1.2rem;
  }
  .contact_c_form dl,
  .event__form dl,
  .p-recruit dl {
    flex-flow: column;
  }
  .contact_c_form dt,
  .event__form dt,
  .p-recruit dt {
    padding: 1rem;
  }
  .contact_c_form dd,
  .event__form dd,
  .p-recruit dd {
    border-bottom: none;
  }
}