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

body {
  width: 100%;
  padding: 0;
  margin: 0;
  position: relative;
}

/* all */
h1, h2, h3, h4, h5, p, dt, dd, li, th, td, address, strong, em, table, dl, ul, ol, img,
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  padding: 0;
  margin: 0;
  background: transparent;
}

/* font */
h1, h2, h3, h4, h5, p, dt, dd, li, th, td, a, address, strong, em, form, input, textarea, select, submit,
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  color: inherit;
  line-height: inherit;
  font-family: inherit;
  font-size: inherit;
}

/* indivisual */
a {
  border: none;
  color: inherit;
  word-wrap: break-word;
  text-decoration: underline;
  position: relative;
}
a:hover {
  opacity: 1;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

address, em {
  font-style: normal;
}

ul, ol {
  list-style: none none outside;
}

img {
  display: block;
  border: none;
}

html {
  scroll-behavior: smooth;
}

body {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: 1;
  letter-spacing: 0.04em;
  text-align: justify;
  background-color: #fff;
  position: relative;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

.cm_flex {
  display: flex;
}
@media only screen and (max-width: 999px) {
  .cm_flex {
    flex-direction: column;
  }
}

@keyframes a_scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.blurIn {
  transition: 0.75s linear;
  opacity: 0;
  filter: blur(16px);
}
.blurIn.play {
  opacity: 1;
  filter: blur(0);
}

.fadeIn {
  transition: 0.75s linear;
  opacity: 0;
}
.fadeIn.play {
  opacity: 1;
}

.slideUp {
  transition: transform 0.75s cubic-bezier(0.25, 1, 0.5, 1), opacity 1s linear;
  transform: translateY(2rem);
  opacity: 0;
}
.slideUp.play {
  transform: translateY(0);
  opacity: 1;
}

.slideLeft {
  transition: transform 0.75s cubic-bezier(0.25, 1, 0.5, 1), opacity 1s linear;
  opacity: 0;
}
.slideLeft.play {
  transform: translate(0);
  opacity: 1;
}
@media only screen and (min-width: 1000px) {
  .slideLeft {
    transform: translateX(2rem);
  }
}
@media only screen and (max-width: 999px) {
  .slideLeft {
    transform: translateY(2rem);
  }
}

.slideRight {
  transition: transform 0.75s cubic-bezier(0.25, 1, 0.5, 1), opacity 1s linear;
  opacity: 0;
}
.slideRight.play {
  transform: translate(0);
  opacity: 1;
}
@media only screen and (min-width: 1000px) {
  .slideRight {
    transform: translateX(-2rem);
  }
}
@media only screen and (max-width: 999px) {
  .slideRight {
    transform: translateY(2rem);
  }
}

@media only screen and (min-width: 1000px) {
  .slideUp.delay,
  .slideLeft.delay,
  .slideRight.delay {
    transition-delay: 0.125s;
  }
  .slideUp.delay2,
  .slideLeft.delay2,
  .slideRight.delay2 {
    transition-delay: 0.25s;
  }
  .slideUp.delay3,
  .slideLeft.delay3,
  .slideRight.delay3 {
    transition-delay: 0.375s;
  }
  .slideUp.delay4,
  .slideLeft.delay4,
  .slideRight.delay4 {
    transition-delay: 0.5s;
  }
  .slideUp.delay5,
  .slideLeft.delay5,
  .slideRight.delay5 {
    transition-delay: 0.625s;
  }
}

@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.subPage {
  overflow: hidden;
  background-color: #fde4d8;
}
.subPage .contents {
  padding: 3.75rem 0 6.25rem;
  position: relative;
}
@media only screen and (max-width: 999px) {
  .subPage .contents {
    padding: 0rem 0 5rem;
  }
}
.subPage .contents::before {
  width: 58.5625vw;
  height: 38rem;
  background: #FFFFFF;
  opacity: 0.75;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
}
.subPage .contents .w770 {
  max-width: 48.125rem;
  width: calc(100% - 4rem);
  margin: 3.125rem auto 0;
}
.subPage .contents .conversation {
  display: flex;
  align-items: flex-start;
  gap: 2.4375rem;
  margin-top: 1.25rem;
}
@media only screen and (max-width: 999px) {
  .subPage .contents .conversation {
    gap: 2.1875rem;
  }
}
.subPage .contents .conversation:first-child {
  margin: 0;
}
.subPage .contents .conversation.re {
  justify-content: flex-end;
}
.subPage .contents .conversation.re .comment {
  background: #FFFFFF;
}
.subPage .contents .conversation.re .comment::after {
  right: auto;
  left: 100%;
  background: #FFFFFF;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}
.subPage .contents .conversation.re .photo span {
  font-size: 0.8125rem;
  color: #BF2F0F;
  line-height: 1.25;
  white-space: nowrap;
  letter-spacing: -0.08em;
}
.subPage .contents .conversation .photo {
  width: 4.0625rem;
}
.subPage .contents .conversation .photo img {
  margin: 0 auto 0.5rem;
}
.subPage .contents .conversation .photo span {
  display: block;
  color: #6F5900;
  text-align: center;
}
.subPage .contents .conversation .comment {
  max-width: 32.8125rem;
  background: #fffeee;
  min-height: 6.6875rem;
  display: flex;
  align-items: center;
  padding: 1.375rem 2rem;
  position: relative;
}
@media only screen and (max-width: 999px) {
  .subPage .contents .conversation .comment {
    width: calc(100% - 6.25rem);
    padding: 1.25rem 1.5rem;
  }
}
.subPage .contents .conversation .comment::after {
  width: 1.375rem;
  aspect-ratio: 22/26;
  content: "";
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
  background: #fffeee;
  position: absolute;
  right: 100%;
  top: 1.4375rem;
}
.subPage .contents .conversation .comment p {
  line-height: 2;
}
.subPage .contents .profile {
  display: flex;
  gap: 2.25rem;
  justify-content: center;
  max-width: 62.5rem;
  margin: 0 auto 0;
  padding: 3.875rem 2rem 2.6875rem;
  position: relative;
  background: #FFFFFF;
  border-top: 1px solid #595757;
  border-bottom: 1px solid #595757;
}
@media only screen and (max-width: 999px) {
  .subPage .contents .profile {
    flex-direction: column;
  }
}
.subPage .contents .profile .title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 12.0625rem;
  height: 3.0625rem;
  background: #FFFFFF;
  font-size: 1.125rem;
  position: absolute;
  top: 0;
  left: calc(50% - 13.125rem);
  transform: translate(0, -50%);
}
@media only screen and (max-width: 999px) {
  .subPage .contents .profile .title {
    left: 2rem;
  }
}
.subPage .contents .profile .title span {
  display: block;
  position: relative;
  z-index: 1;
}
.subPage .contents .profile .title::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border: 1px solid #595757;
  position: absolute;
  left: 0;
  top: 0;
}
.subPage .contents .profile .title::after {
  content: "";
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border: 1px solid #595757;
  position: absolute;
  right: -0.5rem;
  top: 0.5rem;
  z-index: -1;
}
.subPage .contents .profile .cm_flex {
  align-items: center;
  gap: 1.125rem;
}
@media only screen and (max-width: 999px) {
  .subPage .contents .profile .cm_flex {
    flex-direction: row;
  }
}
.subPage .contents .profile .cm_flex:last-child dl {
  color: #BF2F0F;
}
.subPage .contents .profile .cm_flex:last-child dl dd {
  letter-spacing: 0.1em;
}
.subPage .contents .profile .cm_flex img {
  width: 8.5625rem;
}
.subPage .contents .profile .cm_flex dl {
  width: 16.875rem;
  color: #6F5900;
  font-feature-settings: "palt" 1;
}
@media only screen and (max-width: 999px) {
  .subPage .contents .profile .cm_flex dl {
    width: calc(100% - 9.6875rem);
  }
}
.subPage .contents .profile .cm_flex dl dt {
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  font-weight: bold;
}
.subPage .contents .profile .cm_flex dl dd {
  font-weight: 300;
  line-height: 2;
  margin: calc(1.25rem - 0.5em) 0 -0.5em;
  letter-spacing: 0;
}
.subPage .contents .profile + h2 {
  margin-top: 0;
}
.subPage .contents h2 {
  font-size: 2.125rem;
  font-weight: normal;
  text-align: center;
  line-height: 1.6;
  padding-top: 7.5rem;
  margin-top: 3.8125rem;
  position: relative;
}
.subPage .contents h2::after {
  content: "";
  width: 1px;
  height: 4.8125rem;
  background-color: #595757;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
.subPage .contents h2 span {
  display: inline;
  position: relative;
  z-index: 1;
}
.subPage .contents h2 span::after {
  content: "";
  height: 1.0625rem;
  width: 100%;
  background: #FFB57D;
  position: absolute;
  left: 50%;
  bottom: 0rem;
  transform: translateX(-50%);
  z-index: -1;
}
.subPage .contents h3 {
  color: #ed6400;
  font-size: 1.125rem;
  font-weight: 500;
  text-align: center;
  margin-top: 3.625rem;
}
.subPage .contents #fv {
  height: 29rem;
  max-width: 62.5rem;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 999px) {
  .subPage .contents #fv {
    height: 20rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.subPage .contents #fv.status h1 {
  transition-delay: 0.125s;
}
@media only screen and (min-width: 1000px) {
  .subPage .contents #fv.status h1 {
    transform: translate(0, -50%);
    opacity: 1;
  }
}
@media only screen and (max-width: 999px) {
  .subPage .contents #fv.status h1 {
    transform: translate(0, 0);
    opacity: 1;
  }
}
.subPage .contents #fv.status .img {
  transform: translateY(0);
  opacity: 1;
}
.subPage .contents #fv h1 {
  transition: 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  opacity: 0;
}
@media only screen and (min-width: 1000px) {
  .subPage .contents #fv h1 {
    position: absolute;
    top: 50%;
    left: 10rem;
    transform: translate(1.5rem, -50%);
  }
}
@media only screen and (max-width: 999px) {
  .subPage .contents #fv h1 {
    transform: translate(1.5rem, 0);
  }
}
.subPage .contents #fv h1 img {
  max-width: fit-content;
  width: auto;
  height: 8.5625rem;
}
@media only screen and (max-width: 999px) {
  .subPage .contents #fv h1 img {
    height: 6rem;
  }
}
.subPage .contents #fv .img {
  transition: 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateY(1.5rem);
  opacity: 0;
}
@media only screen and (max-width: 999px) {
  .subPage .contents #fv .img {
    width: 35%;
  }
}
.subPage .contents #fv .img img {
  margin-left: auto;
}
.subPage .contents .container {
  transition: 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateY(1.5rem);
  opacity: 0;
}
.subPage .contents .container.status {
  transition-delay: 0.625s;
  transform: translateY(0);
  opacity: 1;
}
.subPage .contents .schedule {
  max-width: 66.8125rem;
  margin: 5.4375rem auto 0;
}
@media only screen and (max-width: 999px) {
  .subPage .contents .schedule {
    margin-left: 2rem;
    overflow-x: scroll;
  }
  .subPage .contents .schedule img {
    max-width: none;
    width: 40rem;
  }
  .subPage .contents .schedule::-webkit-scrollbar {
    height: 1rem;
  }
  .subPage .contents .schedule::-webkit-scrollbar-track {
    background-color: #fff;
  }
  .subPage .contents .schedule::-webkit-scrollbar-thumb {
    background-color: #ed6400;
  }
}
.subPage .contents .schedule a {
  display: block;
}
.subPage .contents .w628 {
  max-width: 39.25rem;
  width: calc(100% - 4rem);
  margin: 1.25rem auto 0;
}
.subPage .contents .link {
  margin-top: 1.5rem;
  text-align: center;
}
.subPage .contents .link a {
  color: #ed6400;
  font-size: 1.125rem;
  font-weight: 500;
  text-decoration: underline;
}
.subPage .contents .link a:hover {
  text-decoration: none;
}
.subPage .contents .mgt92 {
  margin-top: 5.75rem;
}
.subPage .contents .mgt80 {
  margin-top: 5rem;
}
.subPage .contents .back {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 14.75rem;
  height: 4.75rem;
  background: #FFFFFF;
  margin: 9.0625rem auto 0;
  position: relative;
  transition: 0.35s ease;
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  .subPage .contents .back {
    margin: 5rem auto 0;
  }
}
.subPage .contents .back span {
  display: block;
  font-size: 1.125rem;
  position: relative;
}
.subPage .contents .back::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border: 1px solid #595757;
  position: absolute;
  left: 0;
  top: 0;
}
.subPage .contents .back::after {
  content: "";
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border: 1px solid #595757;
  position: absolute;
  right: -0.5rem;
  top: 0.5rem;
  z-index: -1;
  transition: 0.35s ease;
}
.subPage .contents .back:hover {
  color: #FFF;
  background: #000;
}
.subPage .contents .back:hover::before {
  background: #000;
}
.subPage .contents .back:hover::after {
  right: 0;
  top: 0;
}

#index {
  overflow: hidden;
  position: relative;
  padding: 17.6875rem 0;
  background: linear-gradient(to right, #D9F5C6 0%, #D9F5C6 50%, #fde4d8 50%, #fde4d8 100%);
}
@media only screen and (max-width: 999px) {
  #index {
    padding: 5.75rem 0;
  }
}
#index .contents {
  max-width: 80.125rem;
  width: calc(100% - 4rem);
  padding: 11.75rem 3.5rem 7.25rem;
  margin: 0 auto;
  background: #FFFFFF;
  border: 1px solid #595757;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  #index .contents {
    padding: 15rem 2rem 5rem;
  }
}
#index .contents #fv.status .img1 {
  transition-delay: 0.5s;
  transform: translateY(0);
  opacity: 1;
}
@media only screen and (max-width: 1300px) {
  #index .contents #fv.status .img1 {
    transform: translateY(-50%);
  }
}
@media only screen and (max-width: 999px) {
  #index .contents #fv.status .img1 {
    transform: translateY(0);
  }
}
#index .contents #fv.status .img2 {
  transition-delay: 0.625s;
  transform: translateY(0);
  opacity: 1;
}
@media only screen and (max-width: 1300px) {
  #index .contents #fv.status .img2 {
    transform: translateY(-50%);
  }
}
@media only screen and (max-width: 999px) {
  #index .contents #fv.status .img2 {
    transform: translateY(0);
  }
}
#index .contents #fv .img1 {
  width: 35.647425897%;
  max-width: 28.5625rem;
  position: absolute;
  left: -1.875rem;
  top: -12.875rem;
  z-index: 2;
  transition: 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateY(1.5rem);
  opacity: 0;
}
@media only screen and (max-width: 1300px) {
  #index .contents #fv .img1 {
    width: 30%;
    left: -4rem;
    top: 0;
    transform: translateY(calc(1.5rem - 50%));
  }
}
@media only screen and (max-width: 999px) {
  #index .contents #fv .img1 {
    width: 45.1171875vw;
    left: -4.6875vw;
    top: 9.765625vw;
    transform: translateY(1.5rem);
  }
}
#index .contents #fv .img2 {
  width: 41.0296411856%;
  max-width: 32.875rem;
  position: absolute;
  right: -3.3125rem;
  top: -14.25rem;
  z-index: 2;
  transition: 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateY(1.5rem);
  opacity: 0;
}
@media only screen and (max-width: 1300px) {
  #index .contents #fv .img2 {
    right: -7.5rem;
    top: 0;
    transform: translateY(calc(1.5rem - 50%));
  }
}
@media only screen and (max-width: 999px) {
  #index .contents #fv .img2 {
    width: 61.71875vw;
    right: -23.046875vw;
    top: 7.6171875vw;
    transform: translateY(1.5rem);
  }
}
#index .contents #fv.status h1::before {
  transform: scale(1);
  opacity: 1;
}
#index .contents #fv.status h1::after {
  right: -0.9375rem;
  top: 0.75rem;
  transition-delay: 0.25s;
  transform: scale(1);
  opacity: 1;
}
@media only screen and (max-width: 999px) {
  #index .contents #fv.status h1::after {
    right: -0.625rem;
    top: 0.625rem;
  }
}
#index .contents #fv.status h1 img {
  transition-delay: 0.375s;
  opacity: 1;
}
@media only screen and (min-width: 1000px) {
  #index .contents #fv.status h1 img {
    transform: translate(-50%, 0%) scale(1);
  }
}
#index .contents #fv h1 {
  display: block;
  width: 43.375rem;
  height: 15.875rem;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  #index .contents #fv h1 {
    width: calc(100% - 4rem);
    height: 10rem;
    top: -2.5rem;
    transform: translate(-50%, 0%);
  }
}
#index .contents #fv h1::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border: 1px solid #595757;
  position: absolute;
  left: 0;
  top: 0;
  transition: 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  transform: scale(0.9375);
  opacity: 0;
}
#index .contents #fv h1::after {
  content: "";
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border: 1px solid #595757;
  position: absolute;
  right: 0rem;
  top: 0rem;
  z-index: -1;
  transition: 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  transform: scale(0.9375);
  opacity: 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #fv h1::after {
    right: 0rem;
    top: 0rem;
  }
}
#index .contents #fv h1 img {
  width: 27.0625rem;
  position: absolute;
  left: 50%;
  top: 5rem;
  z-index: 1;
  transition: 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  opacity: 0;
}
@media only screen and (min-width: 1000px) {
  #index .contents #fv h1 img {
    transform: translate(-50%, 0%) scale(0.9375);
  }
}
@media only screen and (max-width: 999px) {
  #index .contents #fv h1 img {
    width: 16.875rem;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
#index .contents .fs20 {
  font-size: 1.25rem;
  line-height: 2;
  text-align: center;
  margin: -0.5em 0;
  transition: 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateY(1.5rem);
  opacity: 0;
}
#index .contents .fs20.status {
  transition-delay: 0.75s;
  transform: translateY(0);
  opacity: 1;
}
#index .contents .list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4.8125rem 3.625rem;
  margin: 3.75rem auto 0;
  max-width: 66.125rem;
}
@media only screen and (max-width: 999px) {
  #index .contents .list {
    flex-direction: column;
    gap: 3.5rem;
  }
}
@media only screen and (min-width: 1000px) {
  #index .contents .list li {
    width: calc((100% - 3.625rem) / 2);
  }
}
@media only screen and (max-width: 999px) {
  #index .contents .list li {
    width: 100%;
  }
}
#index .contents .list li a {
  display: block;
}
#index .contents .list li a .mask {
  width: 100%;
  aspect-ratio: 500/300;
  overflow: hidden;
  position: relative;
}
#index .contents .list li a .mask::after {
  content: "";
  width: 100%;
  height: 100%;
  border: 1px solid #595757;
  position: absolute;
  left: 0;
  top: 0;
}
#index .contents .list li a:hover .mask::after {
  border-width: 2px;
}
#index .contents .list li .vol {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1.75rem;
}
#index .contents .list li .vol dt {
  width: 5rem;
  color: #FFF;
  text-align: center;
  font-size: 1.125rem;
  background: #595757;
  padding: 0.5rem 0 0.625rem;
  position: relative;
}
#index .contents .list li .vol dd {
  font-size: 1.125rem;
}
#index .contents .list li .txt {
  line-height: 1.75;
  margin: calc(1.75rem - 0.375em) 0 -0.375em;
}
#index .contents .list .cs {
  aspect-ratio: 500/436;
  border: 1px solid #999;
  position: relative;
}
#index .contents .list .cs::after {
  width: 15.5rem;
  aspect-ratio: 248/43;
  content: "";
  background: url(../img/comingsoon.svg) center/contain no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media screen and (min-width: 1000px) {
  .pcNone {
    display: none !important;
  }
  html {
    width: 100%;
    height: 100%;
    font-size: 16px;
  }
  body {
    width: 100%;
    height: 100%;
    font-size: 1rem;
  }
  img {
    display: block;
    height: auto;
  }
}
@media screen and (max-width: 999px) {
  .spNone {
    display: none !important;
  }
  html {
    width: 100%;
    height: 100%;
    font-size: 3.125vw;
  }
  body {
    width: 100%;
    height: 100%;
    font-size: 1rem;
    overflow-x: hidden;
  }
  img {
    display: block;
    max-width: 100%;
    width: 100%;
  }
}/*# sourceMappingURL=layout.css.map */