@charset "UTF-8";
/* font familyの定義*/
/* 色の定義*/
/* ブレークポイントの定義*/
/* common*/
html {
  font-size: 62.5%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  scroll-behavior: smooth;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}

body {
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, 4.37vw, 16px);
  font-weight: 400;
  color: #111;
  text-overflow: ellipsis;
}
@media screen and (min-width: 960px) {
  body {
    font-size: 1.6rem;
  }
}

section {
  padding-block: 80px;
}
@media screen and (min-width: 960px) {
  section {
    padding-block: 150px;
  }
}

.inner {
  padding-inline: min(5.3%, 38px);
}
@media screen and (min-width: 960px) {
  .inner {
    padding-inline: min(8.3%, 120px);
  }
}

.sectionTitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
  text-align: center;
  margin-bottom: 42px;
}
@media screen and (min-width: 960px) {
  .sectionTitle {
    padding-inline: 120px;
    margin-bottom: 60px;
  }
}
.sectionTitle .sectionTitle__main {
  font-family: "游明朝", "Yu Mincho", YuMincho, serif;
  font-size: clamp(30px, 8.6vw, 32px);
  font-weight: 800;
  text-transform: uppercase;
  position: relative;
}
@media screen and (min-width: 960px) {
  .sectionTitle .sectionTitle__main {
    bottom: 0;
    font-size: clamp(55px, 5.72vw, 64px);
  }
}
.sectionTitle .sectionTitle__main::first-letter {
  color: transparent;
  background: linear-gradient(118deg, #f95334 11.21%, #93311f 43.67%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.sectionTitle .sectionTitle__sub {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: normal;
}
@media screen and (min-width: 960px) {
  .sectionTitle .sectionTitle__sub {
    font-size: 1.6rem;
    font-weight: 500;
  }
}

.sectionExplanation {
  margin-bottom: 40px;
  padding-inline: 10.447761194%;
  font-size: 1.4rem;
  text-align: center;
  line-height: normal;
}
@media screen and (min-width: 960px) {
  .sectionExplanation {
    margin-bottom: 60px;
    font-size: 1.6rem;
    line-height: 1.2;
  }
}

.only-pc {
  display: none;
}
@media screen and (min-width: 960px) {
  .only-pc {
    display: block;
  }
}

.only-tb {
  display: none;
}
@media screen and (min-width:665px) and (max-width:959px) {
  .only-tb {
    display: block;
  }
}
@media screen and (min-width: 960px) {
  .only-tb {
    display: none;
  }
}

.only-sp {
  display: block;
}
@media screen and (min-width: 960px) {
  .only-sp {
    display: none;
  }
}

/*loading画面*/
.loader {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: #111;
  z-index: 555;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-animation: slideUp 1s forwards 5s;
          animation: slideUp 1s forwards 5s;
}
@-webkit-keyframes slideUp {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
@keyframes slideUp {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
.loader .loader__logo {
  width: 77.76%;
  max-width: 450px;
  height: 13.0133333333vw;
  max-height: 60px;
  margin-bottom: 8px;
  -webkit-animation: fadeIn 3s forwards;
          animation: fadeIn 3s forwards;
  opacity: 0;
}
.loader .loader__logo img {
  width: 100%;
  height: 100%;
  aspect-ratio: 291.6/48.8;
}

.loader__bar-box {
  width: 49.8666666667%;
  max-width: 230px;
  height: 25px;
  padding: 10px 0px;
  margin: 0px auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  -webkit-column-gap: 1.6042780749%;
     -moz-column-gap: 1.6042780749%;
          column-gap: 1.6042780749%;
  opacity: 0;
  -webkit-animation: fadeIn 3s ease forwards 1.5s;
          animation: fadeIn 3s ease forwards 1.5s;
}
@media screen and (min-width: 960px) {
  .loader__bar-box {
    width: 20.2430555556%;
  }
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.loader__bar {
  width: 100%;
  height: 3px;
  background-color: #f95334;
  display: inline-block;
  margin: 5px auto;
  border-radius: 2px;
  -webkit-animation: leftmove 1s infinite ease-in-out, rightmove 1s infinite ease-in-out;
  animation: leftmove 1s infinite ease-in-out, rightmove 1s infinite ease-in-out;
}
.loader__bar:nth-child(2) {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}
.loader__bar:nth-child(3) {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}
.loader__bar:nth-child(4) {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}
.loader__bar:nth-child(5) {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}
@media screen and (min-width: 960px) {
  .loader__bar {
    width: 40px;
  }
}

@-webkit-keyframes leftmove {
  0% {
    -webkit-transform: translate(30px);
    transform: translate(30px);
    opacity: 0;
  }
  25% {
    -webkit-transform: translate(0px);
    transform: translate(0px);
    background: #f95334;
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(0px);
    transform: translate(0px);
    opacity: 0;
  }
}

@keyframes leftmove {
  0% {
    -webkit-transform: translate(30px);
    transform: translate(30px);
    opacity: 0;
  }
  25% {
    -webkit-transform: translate(0px);
    transform: translate(0px);
    background: #f95334;
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(0px);
    transform: translate(0px);
    opacity: 0;
  }
}
@-webkit-keyframes rightmove {
  0% {
    -webkit-transform: translate(-30px);
    transform: translate(-30px);
    opacity: 0;
  }
  25% {
    -webkit-transform: translate(0px);
    transform: translate(0px);
    background: #f95334;
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(0px);
    transform: translate(0px);
    opacity: 0;
  }
}
@keyframes rightmove {
  0% {
    -webkit-transform: translate(-30px);
    transform: translate(-30px);
    opacity: 0;
  }
  25% {
    -webkit-transform: translate(0px);
    transform: translate(0px);
    background: #f95334;
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(0px);
    transform: translate(0px);
    opacity: 0;
  }
}
/*header*/
.header {
  width: 100%;
  height: 45px;
  background-color: transparent;
  position: relative;
  z-index: 50;
}
@media screen and (min-width: 960px) {
  .header {
    max-width: 1920px;
    height: 70px;
    padding-top: 17px;
    margin-inline: auto;
  }
}
.header .header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 100%;
  padding-left: 2.1333333333%;
  padding-right: 4.8%;
  padding-top: 15px;
}
@media screen and (min-width: 960px) {
  .header .header__inner {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 14.7916666667%;
    padding-inline: 4.8611111111%;
    padding-top: 0px;
  }
}
.header .header__logo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  width: 222px;
  height: 37px;
}
@media screen and (min-width: 960px) {
  .header .header__logo {
    width: 22.2307692308%;
    height: 100%;
  }
}
.header .header__logo img {
  width: 100%;
  height: 100%;
}
.header .header__nav {
  display: none;
}
@media screen and (min-width: 960px) {
  .header .header__nav {
    width: 62.6153846154%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 4.914004914%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.header .header__list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(8, auto);
  -webkit-column-gap: 4.914004914%;
     -moz-column-gap: 4.914004914%;
          column-gap: 4.914004914%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.header .header__link span {
  display: block;
  width: 47px;
  padding-left: 29px;
  padding-bottom: 5px;
  color: #fff;
  font-family: "游明朝", "Yu Mincho", YuMincho, serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
  position: relative;
}
.header .header__link span::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background-image: url(../img/header_icon_earth.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -4px;
  left: 0;
}
@media screen and (min-width: 960px) {
  .header .header__link:nth-child(5) .header__link-item {
    font-size: clamp(1.4rem, 1.45vw, 1.6rem);
  }
}
.header .header__link-item {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-bottom: 5px;
  color: #fff;
  font-family: "游明朝", "Yu Mincho", YuMincho, serif;
  font-weight: 400;
  line-height: 1.1;
}
.header .header__link-item::first-letter {
  text-transform: capitalize;
}
.header .header__link-item:hover {
  border-bottom: 1px solid #fff;
}
.header .header__btn {
  width: 14.8648648649%;
  height: 82.5%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  position: relative;
}
.header .header__btn::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../img/header_butoon1.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
}
.header .header__btn::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../img/header_button2.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
.header .header__btn:hover::before {
  opacity: 0;
}
.header .header__btn:hover::after {
  opacity: 1;
}

.drawerIcon {
  position: relative;
  top: 5px;
  right: 1.3333333333%;
  width: 26px;
  height: 20px;
  max-height: 20px;
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  z-index: 40;
}
@media screen and (min-width: 960px) {
  .drawerIcon {
    display: none;
  }
}
.drawerIcon .drawerIcon__bar {
  display: block;
  width: 100%;
  height: 1px;
  background: #fff;
  -webkit-transition: -webkit-transform 0.8 ease;
  transition: -webkit-transform 0.8 ease;
  transition: transform 0.8 ease;
  transition: transform 0.8 ease, -webkit-transform 0.8 ease;
}
@media screen and (min-width: 960px) {
  .drawerIcon .drawerIcon__bar {
    display: none;
  }
}

.drawerIcon.is-checked .drawerIcon__bar:nth-child(1) {
  rotate: 45deg;
  translate: 0 11px;
}
.drawerIcon.is-checked .drawerIcon__bar:nth-child(2) {
  display: none;
}
.drawerIcon.is-checked .drawerIcon__bar:nth-child(3) {
  rotate: -45deg;
  translate: 0 -9px;
}

.drawer {
  padding-top: 143px;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: calc(100vh + 47px);
  background-image: url(../img/header_bg_drawer.png);
  background-position: right top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  text-align: center;
  overflow-y: scroll;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  z-index: 30;
}
.drawer.is-checked {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.drawer .drawer__btn {
  width: 70.6666666667%;
  height: 13.3333333333vw;
  max-height: 50px;
  border: 1px solid #fff;
  color: #fff;
  font-size: 1.8rem;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 60px;
}

.drawerList {
  width: 57.6%;
  margin-inline: auto;
  margin-bottom: 36px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 36px;
  color: #fff;
  font-family: "游明朝", "Yu Mincho", YuMincho, serif;
  text-transform: capitalize;
}
.drawerList .drawerList__item:nth-child(1) a .drawerList__item-en {
  text-transform: uppercase;
}
.drawerList .drawerList__item:nth-child(6) a {
  gap: 15px;
}
.drawerList .drawerList__item:nth-child(7) .drawerList__item-en {
  padding-left: 14.3518518519%;
  position: relative;
  -moz-text-align-last: left;
       text-align-last: left;
}
.drawerList .drawerList__item:nth-child(7) .drawerList__item-en::before {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  background-image: url(../img/header_icon_earth.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -3px;
  left: 18px;
}
.drawerList .drawerList__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
.drawerList .drawerList__item a .drawerList__item-en {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.1;
}
.drawerList .drawerList__item a .drawerList__item-ja {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: normal;
}

/*fv*/
.fv {
  width: 100%;
  height: calc(100vh + 47px);
  padding-block: 0;
  position: absolute;
  top: -47px;
  left: 0;
  z-index: 10;
}
@media screen and (min-width: 960px) {
  .fv {
    height: calc(100vh + 70px);
    margin-bottom: 0;
    top: -70px;
  }
}
.fv .fv__text-box {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
  text-align: right;
  color: #fff;
  text-shadow: 0px 4.883px 4.883px rgba(0, 0, 0, 0.25);
  font-family: "游明朝", "Yu Mincho", YuMincho, serif;
  font-weight: 500;
  position: absolute;
  bottom: 16.2666666667vw;
  right: 3.4666666667%;
  z-index: 40;
  opacity: 0;
  -webkit-animation: taxtfadeIn 4s ease 1s 1 normal forwards;
          animation: taxtfadeIn 4s ease 1s 1 normal forwards;
}
@media screen and (min-width: 960px) {
  .fv .fv__text-box {
    gap: 17px;
    bottom: 21.4583333333vw;
    right: 8.1944444444%;
  }
}
@-webkit-keyframes taxtfadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes taxtfadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.fv .fv__title {
  font-size: 2.97rem;
  line-height: 1.4;
}
@media screen and (min-width: 960px) {
  .fv .fv__title {
    font-size: clamp(36px, 3.75vw, 50px);
  }
}
.fv .fv__text {
  font-size: 1.45rem;
  line-height: normal;
  font-weight: 500;
}
@media screen and (min-width: 960px) {
  .fv .fv__text {
    font-size: 2.4rem;
  }
}
.fv .fv__gallery {
  width: 100%;
  height: 100%;
}

.fvSwiper {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
@media screen and (min-width: 960px) {
  .fvSwiper {
    height: 100%;
  }
}
.fvSwiper .fvSwiper__slide {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  /*黒のフィルター*/
}
.fvSwiper .fvSwiper__slide::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(17, 17, 17, 0.2);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.fvSwiper .fvSwiper__slide.swiper-slide-active .fvSwiper__image {
  -webkit-animation: zoomOut 1.8s linear forwards;
          animation: zoomOut 1.8s linear forwards;
}
.fvSwiper .fvSwiper__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  overflow: hidden;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
@media screen and (min-width:665px) and (max-width:959px) {
  .fvSwiper .fvSwiper__image {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 55% -20%;
       object-position: 55% -20%;
  }
}
@media screen and (min-width: 960px) {
  .fvSwiper .fvSwiper__image {
    -o-object-fit: cover;
       object-fit: cover;
    aspect-ratio: auto;
    -o-object-position: center top;
       object-position: center top;
    aspect-ratio: 1600/1264;
  }
}

@-webkit-keyframes zoomOut {
  0% {
    -webkit-transform: scale(1.09);
            transform: scale(1.09);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes zoomOut {
  0% {
    -webkit-transform: scale(1.09);
            transform: scale(1.09);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
/*about*/
.about {
  padding: 25px 0 121px;
  margin-top: calc(100vh + 45px);
  text-align: center;
  background: url(../img/about_img_bg.jpg) no-repeat center center/cover;
  position: relative;
  overflow: visible;
  z-index: 1;
}
@media screen and (min-width: 960px) {
  .about {
    margin-top: calc(100vh + 70px);
    padding-top: 145px;
    padding-bottom: 256px;
  }
}
.about::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 0.7)), to(#fff));
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.7) 0%, #fff 100%);
  z-index: 1;
}
.about::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.7)), to(#fff));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.7) 0%, #fff 100%);
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  z-index: 1;
}
.about .about__inner {
  position: relative;
  z-index: 2;
}
.about .about__text {
  width: min(100%, 640px);
  margin-inline: auto;
  font-family: "游明朝", "Yu Mincho", YuMincho, serif;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 2.6;
  word-wrap: break-word;
  z-index: 3;
}
@media screen and (min-width: 960px) {
  .about .about__text {
    width: min(100%, 1000px);
    padding-inline: 2.8%;
    font-size: clamp(18px, 1.875vw, 20px);
  }
}

/*news*/
.news {
  padding-top: 88px;
  position: relative;
  overflow: hidden;
  /* 動画の上に暗いオーバーレイを追加*/
}
@media screen and (min-width: 960px) {
  .news {
    padding-top: 162px;
  }
}
.news::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(241, 241, 236, 0.8);
  z-index: 1;
}
.news .news__bg {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 960px) {
  .news .news__inner {
    padding-bottom: 20px;
  }
}
.news .news__content {
  width: 100%;
  padding-left: 10.447761194%;
  padding-right: 5.9701492537%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  position: relative;
  text-align: center;
  z-index: 2;
}
@media screen and (min-width: 960px) {
  .news .news__content {
    width: min(100%, 1200px);
    padding-inline: 8.3%;
    margin-inline: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 5%;
  }
}

@media screen and (min-width: 960px) {
  .newsTitle {
    padding-inline: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
  }
}

.newsList {
  width: min(100%, 640px);
  margin-inline: auto;
  height: 285px;
  overflow: auto;
  padding-right: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: left;
}
@media screen and (min-width: 960px) {
  .newsList {
    width: 75%;
    height: 214px;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
.newsList::-webkit-scrollbar {
  width: 6px;
  height: 0;
  background-color: transparent;
}
.newsList::-webkit-scrollbar-thumb {
  background: url(../img/news_icon_thumb.svg) no-repeat center top/contain;
}
.newsList .newsList__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-column-gap: 5.4px;
     -moz-column-gap: 5.4px;
          column-gap: 5.4px;
}
@media screen and (min-width: 960px) {
  .newsList .newsList__link {
    max-width: 715px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    justify-content: start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 4%;
  }
}
.newsList .newsList__item {
  padding-top: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ddd;
  font-size: 1.4rem;
}
@media screen and (min-width: 960px) {
  .newsList .newsList__item {
    padding-top: 20px;
    padding-bottom: 12px;
    font-size: clamp(12.8px, 1.3vw, 16px);
  }
  .newsList .newsList__item:first-child {
    padding-top: 0;
  }
  .newsList .newsList__item:nth-child(3) .newsList__label {
    font-size: clamp(8.6px, 0.89vw, 16px);
  }
}
@media screen and (min-width: 960px) {
  .newsList .newsList__item-head {
    width: max(27.5%, 212px);
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    text-align: left;
  }
}
.newsList .newsList__date {
  padding-right: 0.97rem;
  font-family: "游明朝", "Yu Mincho", YuMincho, serif;
  font-weight: 500;
  line-height: 2;
}
@media screen and (min-width: 960px) {
  .newsList .newsList__date {
    padding-top: 15px;
  }
}
.newsList .newsList__label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  padding-inline: 0.32rem;
  background-color: #111;
  color: #fff;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.06rem;
}
@media screen and (min-width: 960px) {
  .newsList .newsList__label {
    padding: 0.2rem 0.6rem;
    white-space: no-wrap;
  }
}
.newsList .newsList__text {
  line-height: 1.4;
}
@media screen and (min-width: 960px) {
  .newsList .newsList__text {
    white-space: no-wrap;
  }
}

/*service*/
.service {
  padding-block: 0;
  overflow: hidden;
}
.service .service__inner {
  padding-inline: min(5.3%, 120px);
  padding-top: 87px;
  padding-bottom: 80px;
  background-image: url(../img/service_bg_rectangle-sp.svg);
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (min-width: 960px) {
  .service .service__inner {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
    padding-inline: 8.3333333333%;
    padding-block: 150px;
    background-image: url(../img/service_bg_rectangle-pc.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 87% top;
  }
}
.service .serviceTitle {
  margin-bottom: 45px;
}
@media screen and (min-width: 960px) {
  .service .serviceTitle {
    margin-bottom: 53px;
  }
}
.service .service__explanation {
  padding-inline: 10.447761194%;
  text-align: center;
  line-height: normal;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 960px) {
  .service .service__explanation {
    padding-inline: 8.3333333333%;
    font-size: 1.6rem;
    margin-bottom: 62px;
  }
}
.service .service__list {
  width: min(100%, 640px);
  height: 136vw;
  max-height: 1011px;
  margin-inline: auto;
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .service .service__list {
    width: min(100%, 1200px);
    margin-inline: auto;
    height: 55.625vw;
    max-height: 801px;
    grid-template-rows: repeat(2, 1fr);
    row-gap: 61px;
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: 45px;
       -moz-column-gap: 45px;
            column-gap: 45px;
  }
}

.serviceTitle {
  margin-bottom: 33px;
}

.serviceItem {
  -webkit-box-shadow: 4px 4px 4px 0px rgba(17, 17, 17, 0.25);
          box-shadow: 4px 4px 4px 0px rgba(17, 17, 17, 0.25);
  padding-inline: 7px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
  position: relative;
  /*黒のフィルター*/
}
@media screen and (min-width: 960px) {
  .serviceItem {
    max-width: 370px;
    max-height: 370px;
  }
}
.serviceItem::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(17, 17, 17, 0.6);
  position: absolute;
  top: 0;
  left: 0;
}
.serviceItem .serviceItem__title {
  width: 100%;
  color: #fff;
  font-size: clamp(14px, 3.7vw, 18px);
  font-weight: 700;
  line-height: normal;
  z-index: 10;
  opacity: 1;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}
@media screen and (min-width: 960px) {
  .serviceItem .serviceItem__title {
    font-size: 2.4rem;
  }
}
.serviceItem .serviceItem__article {
  width: 100%;
  color: #fff;
  font-size: clamp(10px, 2.6vw, 18px);
  font-weight: 700;
  z-index: 10;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 0;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}
@media screen and (min-width: 960px) {
  .serviceItem .serviceItem__article {
    padding-inline: 11.8918918919%;
    font-size: clamp(14px, 1.45vw, 16px);
    text-overflow: ellipsis;
  }
}
.serviceItem .serviceItem__article span {
  display: block;
  margin-top: 10px;
}
@media screen and (min-width: 960px) {
  .serviceItem .serviceItem__article span {
    margin-top: 29px;
  }
}
.serviceItem:nth-child(1) {
  background: url(../img/service_img_private.jpg) no-repeat center center/cover;
}
.serviceItem:nth-child(2) {
  background: url(../img/service_img_meetings.jpg) no-repeat center center/cover;
}
.serviceItem:nth-child(3) {
  background: url(../img/service_img_\ support.jpg) no-repeat center center/cover;
}
.serviceItem:nth-child(4) {
  background: url(../img/service_img_\ wifi.jpg) no-repeat center center/cover;
}
.serviceItem:nth-child(5) {
  background: url(../img/service_img_\ amenity.jpg) no-repeat center center/cover;
}
.serviceItem:nth-child(6) {
  background: url(../img/service_img_\ security.jpg) no-repeat center center/cover;
}
@media screen and (min-width: 960px) {
  .serviceItem:nth-child(6) .serviceItem__article {
    padding-inline: 13.5135135135%;
  }
}
.serviceItem:hover .serviceItem__title {
  opacity: 0;
}
.serviceItem:hover .serviceItem__article {
  opacity: 1;
}

/*food*/
.food {
  padding-top: 85px;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 960px) {
  .food {
    padding-top: 158px;
    background: url(../img/food_bg_rectangle-pc.svg) no-repeat center top/cover;
  }
}
.food::before {
  content: "";
  display: block;
  width: 100%;
  height: 58.6397058824%;
  min-height: 957px;
  background-image: url(../img/food_bg_head-sp.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 960px) {
  .food::before {
    display: none;
  }
}
.food::after {
  content: "";
  display: block;
  width: 100%;
  height: 41.4215686275%;
  background-image: url(../img/food_bg_body-sp.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 58.6397058824%;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 960px) {
  .food::after {
    display: none;
  }
}

.menuArea {
  width: min(100%, 640px);
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media screen and (min-width: 960px) {
  .menuArea {
    width: min(100%, 1200px);
    height: 31.25vw;
    max-height: 450px;
    margin-bottom: 110px;
    padding-inline: 8.3333333333%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}
.menuArea .menuArea__img {
  width: 100%;
  height: 57.3333333333vw;
  max-height: 450px;
  background: url(../img/food_img_main-food-sp.jpg) no-repeat center center/cover;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(17, 17, 17, 0.25);
          box-shadow: 0px 4px 4px 0px rgba(17, 17, 17, 0.25);
  aspect-ratio: 450/450;
}
@media screen and (min-width: 960px) {
  .menuArea .menuArea__img {
    width: 46.5%;
    height: 100%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    background: url(../img/food_img_main-food-pc.jpg) no-repeat center center/cover;
  }
}

.menuDescription {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 20px;
}
@media screen and (min-width: 960px) {
  .menuDescription {
    width: 49.8%;
    height: 100%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
.menuDescription .menuDescription__text-box {
  padding-inline: 10.447761194%;
}
@media screen and (min-width:665px) and (max-width:959px) {
  .menuDescription .menuDescription__text-box {
    padding-inline: 0;
  }
}
@media screen and (min-width: 960px) {
  .menuDescription .menuDescription__text-box {
    height: 44.7%;
    max-height: 202px;
    padding-inline: 0;
    margin-bottom: 21.9%;
  }
}
.menuDescription .menuDescription__title {
  margin-bottom: 20px;
  font-family: "游明朝", "Yu Mincho", YuMincho, serif;
  font-size: 2.4rem;
  font-weight: 500;
  text-transform: uppercase;
}
@media screen and (min-width: 960px) {
  .menuDescription .menuDescription__title {
    margin-bottom: 1rem;
    padding-top: 0.5rem;
    font-size: clamp(24px, 2.5vw, 36px);
  }
}
.menuDescription .menuDescription__text {
  line-height: normal;
  margin-bottom: 40px;
  font-size: 1.4rem;
}
@media screen and (min-width: 960px) {
  .menuDescription .menuDescription__text {
    margin-bottom: 0;
    font-size: clamp(14px, 1.35vw, 16px);
  }
}
.menuDescription .menuDescription__text span {
  display: block;
  margin-top: 1.5em;
}
@media screen and (min-width: 960px) {
  .menuDescription .menuDescription__text span {
    margin-top: 1.3888888889vw;
    line-height: normal;
  }
}

@media screen and (min-width: 960px) {
  .menuGallery {
    width: 100%;
    height: 33.2%;
    max-height: 150px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
  }
}

.menuSwiper {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 960px) {
  .menuSwiper {
    height: 100%;
    -webkit-transition-timing-function: linear;
            transition-timing-function: linear;
  }
}
.menuSwiper:hover .menuSwiper-slide:not(:hover) {
  opacity: 0.3;
}
.menuSwiper .menuSwiper_wrapper {
  height: 100%;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.menuSwiper-slide {
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  -webkit-box-shadow: 4px 4px 4px 0px rgba(17, 17, 17, 0.25);
          box-shadow: 4px 4px 4px 0px rgba(17, 17, 17, 0.25);
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}
@media screen and (min-width: 960px) {
  .menuSwiper-slide {
    width: 100%;
    height: auto;
    margin-bottom: 4px;
  }
}
.menuSwiper-slide img {
  width: 100%;
  height: 100%;
}

.swiper:hover .menuSwiper-slide:not(:hover) {
  opacity: 0.3;
}

.chefArea {
  width: min(100%, 640px);
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 36px;
  position: relative;
}
@media screen and (min-width: 960px) {
  .chefArea {
    width: min(100%, 1200px);
    max-height: 550px;
    padding-inline: min(8.3%, 100px);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 48px;
  }
}
.chefArea .chefArea__img {
  width: min(100%, 640px);
  margin-inline: auto;
  height: 57.3333333333vw;
  max-height: 450px;
  background: url(../img/food_img_chef-sp.jpg) no-repeat center top/cover;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(17, 17, 17, 0.25);
          box-shadow: 0px 4px 4px 0px rgba(17, 17, 17, 0.25);
}
@media screen and (min-width: 960px) {
  .chefArea .chefArea__img {
    width: 35.0694444444%;
    height: 483px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    background: url(../img/food_img_chef.jpg) no-repeat center center/cover;
  }
}

@media screen and (min-width: 960px) {
  .chefDescription {
    width: 45.2%;
    height: 32.9166666667vw;
    padding-top: 40px;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.chefDescription .chefDescription__text {
  padding-inline: 10.447761194%;
  font-size: 1.4rem;
  line-height: normal;
}
@media screen and (min-width:665px) and (max-width:959px) {
  .chefDescription .chefDescription__text {
    padding-inline: 0;
  }
}
@media screen and (min-width: 960px) {
  .chefDescription .chefDescription__text {
    padding-inline: 0;
    font-size: clamp(14px, 1.5vw, 16px);
  }
}
.chefDescription .chefDescription__text span {
  display: block;
  margin: 1em 0 1.5em;
}
@media screen and (min-width: 960px) {
  .chefDescription .chefDescription__text span {
    margin: 1em 0 1.5em;
  }
}

.nameBox {
  width: 100%;
  padding-inline: 10.447761194%;
  margin-bottom: 35px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: normal;
  position: relative;
}
@media screen and (min-width: 960px) {
  .nameBox {
    padding-left: 14.3805309735%;
    padding-right: 0;
    font-size: 1.6rem;
  }
}
.nameBox::before {
  content: "";
  display: block;
  width: 7.4626865672%;
  height: 6.6666666667vw;
  background-image: url(../img/food_icon_chef.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 960px) {
  .nameBox::before {
    width: 13.0530973451%;
    height: 4.0972222222vw;
  }
}
.nameBox .nameBox__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 960px) {
  .nameBox .nameBox__name {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 8px;
  }
}
.nameBox .nameBox__name-japanese {
  font-size: 1.6rem;
}
@media screen and (min-width: 960px) {
  .nameBox .nameBox__name-japanese {
    font-size: clamp(12.8px, 1.33vw, 20px);
  }
}
.nameBox .nameBox__name-english {
  font-family: "游明朝", "Yu Mincho", YuMincho, serif;
  text-transform: capitalize;
}
@media screen and (min-width: 960px) {
  .nameBox .nameBox__name-english {
    padding-top: 4px;
    font-size: clamp(12px, 1.33vw, 16px);
  }
}
.nameBox .nameBox__post {
  font-size: clamp(12.9px, 3.48vw, 14px);
}
@media screen and (min-width: 960px) {
  .nameBox .nameBox__post {
    font-size: clamp(13.4px, 1.39vw, 16px);
  }
}
.nameBox .nameBox__post-shop {
  font-family: "游明朝", "Yu Mincho", YuMincho, serif;
  text-transform: capitalize;
}

.client {
  padding: 92px 0 72px;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 960px) {
  .client {
    padding: 160px 0 145px;
  }
}
.client .client__mv {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  z-index: -1;
  -o-object-fit: cover;
     object-fit: cover;
  /* 動画の上に暗いオーバーレイを追加 */
}
.client .client__mv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(241, 241, 236, 0.8);
  z-index: 0;
}
.client .client__inner {
  z-index: 2;
}
@media screen and (min-width: 960px) {
  .client .client__inner {
    position: relative;
    text-align: center;
  }
}
.client .client__explanation {
  margin-bottom: 20px;
}
@media screen and (min-width: 960px) {
  .client .client__explanation {
    margin-bottom: 55px;
  }
}

.clientTitle {
  margin-bottom: 22px;
  position: relative;
  z-index: 3;
}
@media screen and (min-width: 960px) {
  .clientTitle {
    margin-bottom: 60px;
  }
}

.clientList {
  width: min(100%, 640px);
  margin-inline: auto;
  height: auto;
  display: grid;
  grid-template-rows: repeat(2, 1fr);
  row-gap: 20px;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 17px;
     -moz-column-gap: 17px;
          column-gap: 17px;
}
@media screen and (min-width: 960px) {
  .clientList {
    width: min(100%, 1200px);
    margin-inline: auto;
    padding-inline: 8.3333333333%;
    -webkit-column-gap: 23px;
       -moz-column-gap: 23px;
            column-gap: 23px;
  }
}
.clientList .clientList__link img {
  width: 100%;
  height: 100%;
}

/*support*/
.support {
  padding: 90px 0 72px;
  background: url(../img/support__bg-sp.png) no-repeat center center/cover;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .support {
    padding: 160px 0 145px;
    background: url(../img/support__bg-pc.png) no-repeat center center/cover;
  }
}
.support .support__inner {
  width: 100%;
}
.support .support__title {
  color: #f4f4f4;
}
.support .support__explanation {
  color: #f4f4f4;
  padding-inline: 14.6666666667%;
  margin-bottom: 37px;
}
@media screen and (min-width: 960px) {
  .support .support__explanation {
    padding-inline: 16.3888888889%;
    margin-bottom: 75px;
  }
}
.support .support__card-area {
  width: min(100%, 640px);
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media screen and (min-width: 960px) {
  .support .support__card-area {
    width: 100%;
    min-width: 940px;
    max-width: 1200px;
    gap: 100px;
  }
}

.supportCard {
  width: 100%;
  height: 122.1333333333vw;
  max-height: 544px;
  min-height: 458px;
  position: relative;
}
@media screen and (min-width: 960px) {
  .supportCard {
    width: 100%;
    height: 373px;
    background-color: #fff;
    -webkit-box-shadow: 4px 4px 4px 0px rgba(17, 17, 17, 0.25);
            box-shadow: 4px 4px 4px 0px rgba(17, 17, 17, 0.25);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0;
  }
}
.supportCard:nth-child(1) .supportCard__image {
  background-image: url(../img/support_img_01.jpg);
}
@media screen and (min-width: 960px) {
  .supportCard:nth-child(1) .supportCard__text-head {
    margin-bottom: 28px;
  }
}
@media screen and (min-width: 960px) {
  .supportCard:nth-child(1) .supportCard__text-title {
    font-size: clamp(16px, 1.66vw, 24px);
  }
}
.supportCard:nth-child(2) {
  height: 130.6666666667vw;
  max-height: 576px;
  min-height: 490px;
}
.supportCard:nth-child(2) .supportCard__image {
  background-image: url(../img/support_img_02.jpg);
}
.supportCard:nth-child(2) .supportCard__textbox {
  padding-inline: 8.9552238806%;
  top: 34.4897959184%;
}
.supportCard:nth-child(2) .supportCard__text-head {
  margin-bottom: 30px;
}
.supportCard:nth-child(2) .supportCard__text span {
  margin-top: 1em;
  letter-spacing: 0.01em;
  line-height: 1.2;
}
@media screen and (min-width: 960px) {
  .supportCard:nth-child(2) .supportCard__text span {
    line-height: normal;
    margin-top: 1.1em;
    margin-bottom: 1.5em;
  }
}
@media screen and (min-width: 960px) {
  .supportCard:nth-child(2) .supportCard__text-title {
    font-size: clamp(16px, 1.66vw, 24px);
  }
}
.supportCard:nth-child(3) {
  height: 130.6666666667vw;
  max-height: 576px;
  min-height: 490px;
}
.supportCard:nth-child(3) .supportCard__image {
  background-image: url(../img/support_img_03.jpg);
}
@media screen and (min-width: 960px) {
  .supportCard:nth-child(3) .supportCard__text-head {
    margin-bottom: 38px;
  }
}
.supportCard:nth-child(3) .supportCard__textbox {
  padding-inline: 8.9552238806%;
  top: 35.1020408163%;
}
.supportCard:nth-child(3) .supportCard__text {
  letter-spacing: 0.01em;
  line-height: 1.2;
}
.supportCard:nth-child(3) .supportCard__text span {
  margin-block: 1em;
}
@media screen and (min-width: 960px) {
  .supportCard:nth-child(3) .supportCard__text span {
    margin-top: 2.1em;
    margin-bottom: 1.5em;
  }
}
.supportCard:nth-child(4) {
  height: 134.6666666667vw;
  max-height: 591px;
  min-height: 505px;
}
.supportCard:nth-child(4) .supportCard__image {
  background-image: url(../img/support_img_04.jpg);
  background-size: 100% 43.2%;
  background-position: center top;
}
@media screen and (min-width: 960px) {
  .supportCard:nth-child(4) .supportCard__image {
    background-image: url(../img/fv_img_swiper03-pc.jpg);
    background-size: cover;
  }
}
.supportCard:nth-child(4) .supportCard__textbox {
  top: 32.0792079208%;
}
@media screen and (min-width: 960px) {
  .supportCard:nth-child(4) .supportCard__text-head {
    margin-bottom: 33px;
  }
}
@media screen and (min-width: 960px) {
  .supportCard:nth-child(1), .supportCard:nth-child(3) {
    height: 373px;
    max-height: 373px;
    min-height: 373px;
  }
  .supportCard:nth-child(1) .supportCard__image, .supportCard:nth-child(3) .supportCard__image {
    -webkit-clip-path: polygon(0 0, 100% 0, 86.7% 100%, 0% 100%);
            clip-path: polygon(0 0, 100% 0, 86.7% 100%, 0% 100%);
  }
  .supportCard:nth-child(1) .supportCard__textbox, .supportCard:nth-child(3) .supportCard__textbox {
    padding-left: 3.9166666667%;
    padding-right: 8.1666666667%;
    top: 0;
    left: auto;
    right: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@media screen and (min-width: 960px) {
  .supportCard:nth-child(2), .supportCard:nth-child(4) {
    height: 373px;
    max-height: 373px;
    min-height: 373px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .supportCard:nth-child(2) .supportCard__image, .supportCard:nth-child(4) .supportCard__image {
    -webkit-clip-path: polygon(13.2% 0, 100% 0, 100% 100%, 0% 100%);
            clip-path: polygon(13.2% 0, 100% 0, 100% 100%, 0% 100%);
  }
  .supportCard:nth-child(2) .supportCard__textbox, .supportCard:nth-child(4) .supportCard__textbox {
    padding-right: 3.9166666667%;
    padding-left: 8.1666666667%;
    top: 0;
    right: auto;
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.supportCard .supportCard__image {
  width: 100%;
  height: 100%;
  background-image: url(../img/support_img_01.jpg);
  background-repeat: no-repeat;
  background-size: 100% 43.2%;
  background-position: center top;
}
@media screen and (min-width: 960px) {
  .supportCard .supportCard__image {
    width: 53.5%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.supportCard .supportCard__textbox {
  width: 89.3333333333%;
  padding-top: 29px;
  padding-bottom: 18px;
  padding-inline: 10.1492537313%;
  background-color: #fff;
  text-align: left;
  position: absolute;
  top: 37.5545851528%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 960px) {
  .supportCard .supportCard__textbox {
    width: 46.5%;
    height: 100%;
    padding-inline: 0;
    padding-block: 30px;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.supportCard .supportCard__text-head {
  width: 100%;
  margin-bottom: 28px;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 12.0754716981%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media screen and (min-width: 960px) {
  .supportCard .supportCard__text-head {
    margin-bottom: 22px;
    gap: 24px;
  }
}
.supportCard .supportCard__text-head::after {
  content: "";
  display: block;
  width: 6px;
  height: 55px;
  background-image: url(../img/support_icon_bar.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 56px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 960px) {
  .supportCard .supportCard__text-head::after {
    left: 18.401937046%;
  }
}
.supportCard .supportCard__text-number {
  width: 15.0943396226%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  font-size: 4rem;
  font-weight: 700;
}
@media screen and (min-width: 960px) {
  .supportCard .supportCard__text-number {
    font-size: clamp(44px, 4.58vw, 54px);
  }
}
.supportCard .supportCard__text-title {
  font-size: clamp(14px, 3.8vw, 18px);
  font-weight: 500;
  line-height: normal;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: left;
}
@media screen and (min-width: 960px) {
  .supportCard .supportCard__text-title {
    font-size: clamp(18px, 1.87vw, 24px);
  }
}
.supportCard .supportCard__text {
  font-size: 1.4rem;
  line-height: normal;
}
@media screen and (min-width: 960px) {
  .supportCard .supportCard__text {
    font-size: clamp(14px, 1.45vw, 16px);
    padding-bottom: 18px;
  }
}
.supportCard .supportCard__text span {
  display: block;
  line-height: 1.3;
  margin: 1em 0;
}
@media screen and (min-width: 960px) {
  .supportCard .supportCard__text span {
    line-height: normal;
    margin-top: 1.6em;
    margin-bottom: 1.5em;
  }
}

/*reserve*/
.reserve {
  padding: 85px 0 80px;
  position: relative;
  overflow: hidden;
  /* 動画の上に暗いオーバーレイを追加 */
}
@media screen and (min-width: 960px) {
  .reserve {
    padding: 158px 0 150px;
  }
}
.reserve::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(241, 241, 236, 0.8);
  z-index: 1;
}
.reserve .reserve__bg {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.reserve .reserve__inner {
  position: relative;
  text-align: center;
  z-index: 2;
}

.formArea {
  width: min(100%, 640px);
  max-height: 597px;
  margin-inline: auto;
  padding-inline: 10.447761194%;
  padding-block: 30.5px;
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
  text-align: center;
}
@media screen and (min-width: 960px) {
  .formArea {
    width: min(100%, 1200px);
    margin-inline: auto;
    padding-inline: 8.3333333333%;
    padding-block: 30px;
  }
}
.formArea .formArea__flight,
.formArea .formArea__check-in {
  border-bottom: 3px solid #111;
  -webkit-transition: border-bottom 0.6s ease;
  transition: border-bottom 0.6s ease;
}
.formArea .formArea__flight:hover,
.formArea .formArea__check-in:hover {
  border-bottom: 3px solid #f95334;
}
.formArea .formArea__reserve {
  border-bottom: 6px solid #f95334;
}

.reserveRadios {
  margin-bottom: 12px;
}
@media screen and (min-width: 960px) {
  .reserveRadios {
    margin-bottom: 20px;
  }
}
.reserveRadios .reserveRadios__radio {
  width: 134px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
@media screen and (min-width: 960px) {
  .reserveRadios .reserveRadios__radio {
    width: 187px;
    height: 40px;
    gap: 35px;
  }
}
.reserveRadios .reserveRadios__label {
  cursor: pointer;
  position: relative;
}
@media screen and (min-width: 960px) {
  .reserveRadios .reserveRadios__label {
    width: 76px;
    height: 100%;
  }
}
.reserveRadios .reserveRadios__input {
  position: absolute;
  width: 1px;
  height: 1px;
  clip: rect(0 0 0 0);
  overflow: hidden;
}
.reserveRadios .reserveRadios__text {
  display: block;
  width: 57.2px;
  padding-left: 23.2px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2;
  position: relative;
}
@media screen and (min-width: 960px) {
  .reserveRadios .reserveRadios__text {
    width: 100%;
    height: 100%;
    padding-left: 34px;
    font-size: 2rem;
  }
}
.reserveRadios .reserveRadios__text::before {
  content: "";
  width: 19.2px;
  height: 19.2px;
  border: 1px solid #f95334;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 960px) {
  .reserveRadios .reserveRadios__text::before {
    width: 24px;
    height: 24px;
  }
}
.reserveRadios .reserveRadios__text::after {
  content: "";
  width: 12.8px;
  height: 12.8px;
  border-radius: 50%;
  background: linear-gradient(139deg, #f95334 15.71%, #93311f 83.78%);
  position: absolute;
  left: 3.2px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 0;
}
@media screen and (min-width: 960px) {
  .reserveRadios .reserveRadios__text::after {
    width: 16px;
    height: 16px;
    left: 4px;
  }
}
.reserveRadios .reserveRadios__input:checked + .reserveRadios__text::after {
  opacity: 1;
}

.selectCountry-wrapper {
  width: 100%;
  margin-bottom: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  position: relative;
}
@media screen and (min-width: 960px) {
  .selectCountry-wrapper {
    margin-bottom: 22px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8.1%;
  }
}
.selectCountry-wrapper::after {
  content: "";
  display: block;
  width: 40px;
  height: 28px;
  background-image: url(../img/reserve_icon_arrow-sp.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: -30px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 960px) {
  .selectCountry-wrapper::after {
    width: 50px;
    height: 50px;
    background-image: url(../img/reserve_icon_arrow-pc.svg);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.selectLabel {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 1.28px;
}
@media screen and (min-width: 960px) {
  .selectLabel {
    font-size: 2rem;
    letter-spacing: 1.6px;
  }
}

.customSelect {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  position: relative;
}
@media screen and (min-width: 960px) {
  .customSelect {
    font-family: "Noto Sans JP", sans-serif;
    width: 46%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    background-color: #fff;
    border: none;
  }
}

.selected {
  width: 100%;
  height: 56px;
  background-color: #fff;
  border: 1px solid #777;
  border-radius: 10px;
  -webkit-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);
  padding-block: 12px;
  padding-left: 17.3333333333%;
  cursor: pointer;
  color: #ddd;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 1.28px;
  text-align: left;
}
@media screen and (min-width: 960px) {
  .selected {
    height: 7.2vw;
    max-height: 72px;
    padding-left: 58px;
    padding-right: 10px;
    padding-bottom: 18px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.selected.is-selected {
  padding-top: 0;
  color: #111;
  font-weight: 500;
}
.selected.is-selected > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

.selectedDeparture {
  width: 100%;
  position: relative;
}
.selectedDeparture::after {
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  background-image: url(../img/reserve_icon_plane-departure.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 12px;
  left: 4.1666666667%;
}
@media screen and (min-width: 960px) {
  .selectedDeparture::after {
    top: 50%;
    left: 2.1739130435%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

.selectedArrival {
  position: relative;
}
.selectedArrival::after {
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  background-image: url(../img/reserve_icon_plane-arrival.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 12px;
  left: 4.1666666667%;
}
@media screen and (min-width: 960px) {
  .selectedArrival::after {
    top: 50%;
    left: 2.1739130435%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

.selectItems {
  position: absolute;
  background-color: #fff;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 99;
  max-height: 432px;
  overflow-y: auto;
}
@media screen and (min-width: 960px) {
  .selectItems {
    max-height: 200px;
  }
}
.selectItems .selectItems__box {
  padding: 6px 10px;
  border-bottom: 1px solid #f5f5f5;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.selectItems .selectItems__city-text {
  font-size: 1.8rem;
  font-weight: 900;
  text-align: start;
}
.selectItems .selectItems__city-text span {
  color: #969696;
  font-family: "Noto Sans JP";
  font-size: 0.8rem;
  font-weight: 300;
}
@media screen and (min-width: 960px) {
  .selectItems .selectItems__city-text span {
    font-size: 1.2rem;
  }
}
.selectItems .selectItems__airport-text {
  font-family: "游明朝", "Yu Mincho", YuMincho, serif;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: right;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.selectItems .selectItems__airport-text span {
  color: #969696;
  font-family: "游明朝", "Yu Mincho", YuMincho, serif;
  font-size: 1rem;
  font-weight: 500;
}

.selectHide {
  display: none;
}

.dateSelect-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  -webkit-box-align: left;
      -ms-flex-align: left;
          align-items: left;
  margin-bottom: 40px;
}
@media screen and (min-width: 960px) {
  .dateSelect-wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-bottom: 46px;
  }
}

.dateSelect-box {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}
@media screen and (min-width: 960px) {
  .dateSelect-box {
    width: 83%;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 2.1686746988%;
  }
}

.dateSelect {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}
@media screen and (min-width: 960px) {
  .dateSelect {
    width: 48.1927710843%;
  }
}
.dateSelect .dateSelect__input {
  width: 100%;
  height: 56px;
  padding: 10px 0 10px 10px;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}
@media screen and (min-width: 960px) {
  .dateSelect .dateSelect__input {
    width: 100%;
    height: 7.2vw;
    max-height: 72px;
    border: 1px solid #777;
    border-radius: 10px;
  }
}
.dateSelect .dateSelect__input::before {
  content: "";
  display: block;
  width: 21px;
  height: 18px;
  background-image: url(../img/reserve_icon_calender.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 960px) {
  .dateSelect .dateSelect__input::before {
    width: 36px;
    height: 36px;
  }
}
.dateSelect .dateSelect__input.has-value::after {
  content: attr(data-selected-date) !important;
  color: #111 !important;
  font-weight: 500 !important;
  font-size: clamp(10px, 2.85vw, 16px) !important;
}

.formText {
  width: 100%;
  height: 100%;
  color: transparent;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 1.28px;
  text-align: right;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  position: relative;
}
@media screen and (min-width: 960px) {
  .formText {
    padding-left: 14.5%;
  }
}

.formText::-webkit-calendar-picker-indicator {
  opacity: 0;
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.departureDate {
  border: 1px solid #777;
  border-right: none;
  border-radius: 10px 0 0 10px;
  -webkit-box-shadow: 0 -4px 4px -4px rgba(0, 0, 0, 0.1), -4px 0 4px -4px rgba(0, 0, 0, 0.1), 0 4px 4px -4px rgba(0, 0, 0, 0.1);
          box-shadow: 0 -4px 4px -4px rgba(0, 0, 0, 0.1), -4px 0 4px -4px rgba(0, 0, 0, 0.1), 0 4px 4px -4px rgba(0, 0, 0, 0.1);
  position: relative;
}
.departureDate::after {
  content: "出発日";
  color: #ddd;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 1.28px;
  display: block;
  position: absolute;
  top: 50%;
  left: 31.8181818182%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 960px) {
  .departureDate::after {
    left: 15.75%;
  }
}

.arrivalDate {
  border: 1px solid #777;
  border-left: none;
  border-radius: 0 10px 10px 0;
  -webkit-box-shadow: 0 -4px 4px -4px rgba(0, 0, 0, 0.1), 4px 0 4px -4px rgba(0, 0, 0, 0.1), 0 4px 4px -4px rgba(0, 0, 0, 0.1);
          box-shadow: 0 -4px 4px -4px rgba(0, 0, 0, 0.1), 4px 0 4px -4px rgba(0, 0, 0, 0.1), 0 4px 4px -4px rgba(0, 0, 0, 0.1);
  position: relative;
}
.arrivalDate::after {
  content: "到着日";
  color: #ddd;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 1.28px;
  display: block;
  position: absolute;
  top: 50%;
  left: 31.8181818182%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 960px) {
  .arrivalDate::after {
    left: 15.75%;
  }
}

.numberSelect {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
.numberSelect .numberSelect__input {
  width: 50%;
  height: 56px;
  border: 1px solid #777;
  -webkit-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  padding-left: 12.5373134328%;
  position: relative;
}
@media screen and (min-width: 960px) {
  .numberSelect .numberSelect__input {
    width: 100%;
    height: 7.2vw;
    max-height: 72px;
    padding-block: 10px;
    padding-left: 6.2%;
  }
}
.numberSelect .numberSelect__input::after {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  background-image: url(../img/reserve_icon_number.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 7.5757575758%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 960px) {
  .numberSelect .numberSelect__input::after {
    width: 32px;
    height: 32px;
    left: 5.8823529412%;
  }
}

.numberText {
  width: 100%;
  height: 100%;
  border: transparent;
  font-size: 2rem;
  font-weight: 500;
  padding-left: 10px;
}
@media screen and (min-width: 960px) {
  .numberText {
    padding-left: 20px;
  }
}

.reserve__button {
  width: 100%;
  margin-inline: auto;
  padding-block: 18.5px;
  background-color: #111;
  border: 2px solid #111;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 1.6rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (min-width: 960px) {
  .reserve__button {
    width: 408px;
    height: 72px;
    padding-block: 24px;
    font-size: 2.4rem;
  }
}
.reserve__button:hover {
  background-color: #fff;
  color: #111;
}

/*qa*/
.qa {
  padding-block: 0;
  background: url(../img/qa_bg_rectangle-sp.svg) no-repeat center center/cover;
}
@media screen and (min-width: 960px) {
  .qa {
    background: url(../img/qa_bg_rectangle-pc.svg) no-repeat left center/cover;
  }
}
.qa .qa__inner {
  padding-block: 83px;
}
@media screen and (min-width: 960px) {
  .qa .qa__inner {
    padding-block: 158px;
  }
}
.qa .qa__title {
  margin-bottom: 38px;
}
.qa .qa__area {
  width: min(100%, 640px);
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 22px;
}
@media screen and (min-width: 960px) {
  .qa .qa__area {
    width: min(100%, 1200px);
    padding-inline: 8.3333333333%;
  }
}

.qaAccordion {
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.qaAccordion:nth-child(2) .qaAccordion__title, .qaAccordion:nth-child(4) .qaAccordion__title {
  height: 76px;
}
@media screen and (min-width: 960px) {
  .qaAccordion:nth-child(2) .qaAccordion__title, .qaAccordion:nth-child(4) .qaAccordion__title {
    height: 96px;
  }
}
.qaAccordion .qaAccordion__deco.show::before {
  opacity: 0;
}
.qaAccordion .qaAccordion__deco.show::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.qaAccordion .qaAccordion__title {
  display: block;
  width: 100%;
  height: 65px;
  padding-inline: 2.9850746269%;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -moz-text-align-last: left;
       text-align-last: left;
  gap: 0.8955223881%;
  -webkit-box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.1);
  position: relative;
}
@media screen and (min-width: 960px) {
  .qaAccordion .qaAccordion__title {
    height: 96px;
    padding-inline: 20px;
    gap: 20px;
  }
}
.qaAccordion .qaAccordion__title.show {
  -webkit-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.1);
}
.qaAccordion .qaAccordion__title.show .qaAccordion__deco {
  background-color: #333;
  border: none;
}
.qaAccordion .qaAccordion__title.show .qaAccordion__deco::before, .qaAccordion .qaAccordion__title.show .qaAccordion__deco::after {
  background-color: #fff;
}
.qaAccordion .qaAccordion__title.show .qaAccordion__deco::before {
  opacity: 0;
}
.qaAccordion .qaAccordion__title.show .qaAccordion__deco::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.qaAccordion .qaAccordion__title.show + .qaAccordion__content {
  display: block;
}
.qaAccordion .qaAccordion__icon {
  width: 7.1641791045%;
  font-family: "游明朝", "Yu Mincho", YuMincho, serif;
  font-size: 2rem;
  font-weight: 800;
  line-height: 2;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}
@media screen and (min-width: 960px) {
  .qaAccordion .qaAccordion__icon {
    width: 3.2291666667%;
    font-size: 2.8rem;
  }
}
.qaAccordion .qaAccordion__text {
  display: inline-block;
  width: 75.8208955224%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (min-width: 960px) {
  .qaAccordion .qaAccordion__text {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
  }
}
.qaAccordion .qaAccordion__deco {
  display: inline-block;
  width: 32px;
  height: 32px;
  border: 1px solid #777;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  position: relative;
}
@media screen and (min-width: 960px) {
  .qaAccordion .qaAccordion__deco {
    width: 56px;
    height: 56px;
  }
}
.qaAccordion .qaAccordion__deco::before {
  content: "";
  display: block;
  width: 16px;
  height: 2px;
  background-color: #777;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (min-width: 960px) {
  .qaAccordion .qaAccordion__deco::before {
    width: 28px;
  }
}
.qaAccordion .qaAccordion__deco::after {
  content: "";
  display: block;
  width: 2px;
  height: 16px;
  background-color: #777;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (min-width: 960px) {
  .qaAccordion .qaAccordion__deco::after {
    height: 28px;
  }
}
.qaAccordion .qaAccordion__content {
  width: 100%;
  height: 100%;
  padding-inline: 10px;
  padding-block: 10px;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.1);
  position: relative;
  display: none;
}
@media screen and (min-width: 960px) {
  .qaAccordion .qaAccordion__content {
    padding-inline: 20px;
    padding-top: 20px;
    padding-bottom: 30px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}
.qaAccordion .qaAccordion__content:nth-child(1) .qaAccordion__text-a {
  padding-top: 0;
}
.qaAccordion .qaAccordion__icon-a {
  font-size: 2rem;
  font-weight: 800;
  line-height: 2;
  font-family: "游明朝", "Yu Mincho", YuMincho, serif;
  color: transparent;
  background: linear-gradient(118deg, #f95334 11.21%, #93311f 43.67%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: absolute;
  top: 50%;
  left: 2.8268551237%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 960px) {
  .qaAccordion .qaAccordion__icon-a {
    font-size: 2.8rem;
    line-height: 2;
    left: 2%;
  }
}
.qaAccordion .qaAccordion__text-a {
  display: inline-block;
  padding-left: 9.8939929329%;
  width: 85.9701492537%;
  font-size: 1.3rem;
  font-weight: 300;
}
@media screen and (min-width: 960px) {
  .qaAccordion .qaAccordion__text-a {
    padding-left: 5.1041666667%;
    font-size: 1.6rem;
    line-height: 2;
  }
}

/*flightMap*/
.flightMap {
  padding-top: 87px;
}
@media screen and (min-width: 960px) {
  .flightMap {
    padding: 155px 0;
  }
}

.container {
  width: min(100%, 640px);
  height: 49.3333333333vw;
  max-height: 353.7px;
  margin-inline: auto;
  background: url(../img/flightMap_img_map-sp.png) no-repeat center center/contain;
  cursor: pointer;
  position: relative;
}
@media screen and (min-width: 960px) {
  .container {
    width: 920px;
    height: 549px;
    max-height: 549px;
    background: url(../img/flightMap_img_map-pc.png) no-repeat center center/cover;
  }
}
.container::after {
  content: "";
  display: block;
  width: 68.3582089552%;
  height: 18.6666666667vw;
  background-image: url(../img/flightMap_img_line-sp.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 20%;
  left: 16.1194029851%;
  display: none;
}
@media screen and (min-width: 960px) {
  .container::after {
    display: none;
  }
}
.container:hover::after {
  display: block;
}
@media screen and (min-width: 960px) {
  .container:hover::after {
    display: none;
  }
}

.ball {
  display: none;
}
@media screen and (min-width: 960px) {
  .ball {
    display: block;
    position: absolute;
    top: 232px;
    left: 412px;
    width: 20px;
    height: 20px;
    -webkit-animation: parabola 5s linear forwards;
            animation: parabola 5s linear forwards;
  }
}

@-webkit-keyframes parabola1 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(11.5px, -39px);
            transform: translate(11.5px, -39px);
  }
  20% {
    -webkit-transform: translate(33px, -47px);
            transform: translate(33px, -47px);
  }
  30% {
    -webkit-transform: translate(54.5px, -61px);
            transform: translate(54.5px, -61px);
  }
  40% {
    -webkit-transform: translate(76px, -71px);
            transform: translate(76px, -71px);
  }
  50% {
    -webkit-transform: translate(97.5px, -78px);
            transform: translate(97.5px, -78px);
  }
  60% {
    -webkit-transform: translate(119px, -85px);
            transform: translate(119px, -85px);
  }
  70% {
    -webkit-transform: translate(145.5px, -77px);
            transform: translate(145.5px, -77px);
  }
  80% {
    -webkit-transform: translate(183px, -57px);
            transform: translate(183px, -57px);
  }
  90% {
    -webkit-transform: translate(198.5px, -40px);
            transform: translate(198.5px, -40px);
  }
  100% {
    -webkit-transform: translate(220px, 9px);
            transform: translate(220px, 9px);
  }
}

@keyframes parabola1 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(11.5px, -39px);
            transform: translate(11.5px, -39px);
  }
  20% {
    -webkit-transform: translate(33px, -47px);
            transform: translate(33px, -47px);
  }
  30% {
    -webkit-transform: translate(54.5px, -61px);
            transform: translate(54.5px, -61px);
  }
  40% {
    -webkit-transform: translate(76px, -71px);
            transform: translate(76px, -71px);
  }
  50% {
    -webkit-transform: translate(97.5px, -78px);
            transform: translate(97.5px, -78px);
  }
  60% {
    -webkit-transform: translate(119px, -85px);
            transform: translate(119px, -85px);
  }
  70% {
    -webkit-transform: translate(145.5px, -77px);
            transform: translate(145.5px, -77px);
  }
  80% {
    -webkit-transform: translate(183px, -57px);
            transform: translate(183px, -57px);
  }
  90% {
    -webkit-transform: translate(198.5px, -40px);
            transform: translate(198.5px, -40px);
  }
  100% {
    -webkit-transform: translate(220px, 9px);
            transform: translate(220px, 9px);
  }
}
@-webkit-keyframes parabola2 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(19.4px, -38px);
            transform: translate(19.4px, -38px);
  }
  20% {
    -webkit-transform: translate(48.8px, -71px);
            transform: translate(48.8px, -71px);
  }
  30% {
    -webkit-transform: translate(78.2px, -89px);
            transform: translate(78.2px, -89px);
  }
  40% {
    -webkit-transform: translate(107.6px, -100px);
            transform: translate(107.6px, -100px);
  }
  50% {
    -webkit-transform: translate(137px, -105px);
            transform: translate(137px, -105px);
  }
  60% {
    -webkit-transform: translate(166.4px, -107px);
            transform: translate(166.4px, -107px);
  }
  70% {
    -webkit-transform: translate(195.8px, -104px);
            transform: translate(195.8px, -104px);
  }
  80% {
    -webkit-transform: translate(225.2px, -91px);
            transform: translate(225.2px, -91px);
  }
  90% {
    -webkit-transform: translate(254.6px, -70px);
            transform: translate(254.6px, -70px);
  }
  95% {
    -webkit-transform: translate(284px, -50px);
            transform: translate(284px, -50px);
  }
  100% {
    -webkit-transform: translate(286px, -32px);
            transform: translate(286px, -32px);
  }
}
@keyframes parabola2 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(19.4px, -38px);
            transform: translate(19.4px, -38px);
  }
  20% {
    -webkit-transform: translate(48.8px, -71px);
            transform: translate(48.8px, -71px);
  }
  30% {
    -webkit-transform: translate(78.2px, -89px);
            transform: translate(78.2px, -89px);
  }
  40% {
    -webkit-transform: translate(107.6px, -100px);
            transform: translate(107.6px, -100px);
  }
  50% {
    -webkit-transform: translate(137px, -105px);
            transform: translate(137px, -105px);
  }
  60% {
    -webkit-transform: translate(166.4px, -107px);
            transform: translate(166.4px, -107px);
  }
  70% {
    -webkit-transform: translate(195.8px, -104px);
            transform: translate(195.8px, -104px);
  }
  80% {
    -webkit-transform: translate(225.2px, -91px);
            transform: translate(225.2px, -91px);
  }
  90% {
    -webkit-transform: translate(254.6px, -70px);
            transform: translate(254.6px, -70px);
  }
  95% {
    -webkit-transform: translate(284px, -50px);
            transform: translate(284px, -50px);
  }
  100% {
    -webkit-transform: translate(286px, -32px);
            transform: translate(286px, -32px);
  }
}
@-webkit-keyframes parabola3 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(23.1px, -55px);
            transform: translate(23.1px, -55px);
  }
  20% {
    -webkit-transform: translate(56.2px, -80px);
            transform: translate(56.2px, -80px);
  }
  30% {
    -webkit-transform: translate(89.3px, -101px);
            transform: translate(89.3px, -101px);
  }
  40% {
    -webkit-transform: translate(122.4px, -115px);
            transform: translate(122.4px, -115px);
  }
  50% {
    -webkit-transform: translate(155.5px, -125px);
            transform: translate(155.5px, -125px);
  }
  60% {
    -webkit-transform: translate(188.6px, -128px);
            transform: translate(188.6px, -128px);
  }
  70% {
    -webkit-transform: translate(221.7px, -130px);
            transform: translate(221.7px, -130px);
  }
  80% {
    -webkit-transform: translate(254.8px, -120px);
            transform: translate(254.8px, -120px);
  }
  90% {
    -webkit-transform: translate(287.9px, -86px);
            transform: translate(287.9px, -86px);
  }
  100% {
    -webkit-transform: translate(333px, -30px);
            transform: translate(333px, -30px);
  }
}
@keyframes parabola3 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(23.1px, -55px);
            transform: translate(23.1px, -55px);
  }
  20% {
    -webkit-transform: translate(56.2px, -80px);
            transform: translate(56.2px, -80px);
  }
  30% {
    -webkit-transform: translate(89.3px, -101px);
            transform: translate(89.3px, -101px);
  }
  40% {
    -webkit-transform: translate(122.4px, -115px);
            transform: translate(122.4px, -115px);
  }
  50% {
    -webkit-transform: translate(155.5px, -125px);
            transform: translate(155.5px, -125px);
  }
  60% {
    -webkit-transform: translate(188.6px, -128px);
            transform: translate(188.6px, -128px);
  }
  70% {
    -webkit-transform: translate(221.7px, -130px);
            transform: translate(221.7px, -130px);
  }
  80% {
    -webkit-transform: translate(254.8px, -120px);
            transform: translate(254.8px, -120px);
  }
  90% {
    -webkit-transform: translate(287.9px, -86px);
            transform: translate(287.9px, -86px);
  }
  100% {
    -webkit-transform: translate(333px, -30px);
            transform: translate(333px, -30px);
  }
}
@-webkit-keyframes parabola4 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(-33px, -54px);
            transform: translate(-33px, -54px);
  }
  20% {
    -webkit-transform: translate(-66px, -96px);
            transform: translate(-66px, -96px);
  }
  30% {
    -webkit-transform: translate(-99px, -111px);
            transform: translate(-99px, -111px);
  }
  40% {
    -webkit-transform: translate(-132px, -125px);
            transform: translate(-132px, -125px);
  }
  50% {
    -webkit-transform: translate(-165px, -131px);
            transform: translate(-165px, -131px);
  }
  60% {
    -webkit-transform: translate(-198px, -129px);
            transform: translate(-198px, -129px);
  }
  70% {
    -webkit-transform: translate(-231px, -119px);
            transform: translate(-231px, -119px);
  }
  80% {
    -webkit-transform: translate(-264px, -105px);
            transform: translate(-264px, -105px);
  }
  90% {
    -webkit-transform: translate(-297px, -85px);
            transform: translate(-297px, -85px);
  }
  100% {
    -webkit-transform: translate(-330px, -60px);
            transform: translate(-330px, -60px);
  }
}
@keyframes parabola4 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(-33px, -54px);
            transform: translate(-33px, -54px);
  }
  20% {
    -webkit-transform: translate(-66px, -96px);
            transform: translate(-66px, -96px);
  }
  30% {
    -webkit-transform: translate(-99px, -111px);
            transform: translate(-99px, -111px);
  }
  40% {
    -webkit-transform: translate(-132px, -125px);
            transform: translate(-132px, -125px);
  }
  50% {
    -webkit-transform: translate(-165px, -131px);
            transform: translate(-165px, -131px);
  }
  60% {
    -webkit-transform: translate(-198px, -129px);
            transform: translate(-198px, -129px);
  }
  70% {
    -webkit-transform: translate(-231px, -119px);
            transform: translate(-231px, -119px);
  }
  80% {
    -webkit-transform: translate(-264px, -105px);
            transform: translate(-264px, -105px);
  }
  90% {
    -webkit-transform: translate(-297px, -85px);
            transform: translate(-297px, -85px);
  }
  100% {
    -webkit-transform: translate(-330px, -60px);
            transform: translate(-330px, -60px);
  }
}
@-webkit-keyframes parabola5 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(-31.1px, -53px);
            transform: translate(-31.1px, -53px);
  }
  20% {
    -webkit-transform: translate(-62.2px, -77px);
            transform: translate(-62.2px, -77px);
  }
  30% {
    -webkit-transform: translate(-93.3px, -97px);
            transform: translate(-93.3px, -97px);
  }
  40% {
    -webkit-transform: translate(-124.4px, -109px);
            transform: translate(-124.4px, -109px);
  }
  50% {
    -webkit-transform: translate(-155.5px, -114px);
            transform: translate(-155.5px, -114px);
  }
  60% {
    -webkit-transform: translate(-186.6px, -112px);
            transform: translate(-186.6px, -112px);
  }
  70% {
    -webkit-transform: translate(-217.7px, -107px);
            transform: translate(-217.7px, -107px);
  }
  80% {
    -webkit-transform: translate(-248.8px, -97px);
            transform: translate(-248.8px, -97px);
  }
  90% {
    -webkit-transform: translate(-279.9px, -81px);
            transform: translate(-279.9px, -81px);
  }
  100% {
    -webkit-transform: translate(-311px, -54px);
            transform: translate(-311px, -54px);
  }
}
@keyframes parabola5 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(-31.1px, -53px);
            transform: translate(-31.1px, -53px);
  }
  20% {
    -webkit-transform: translate(-62.2px, -77px);
            transform: translate(-62.2px, -77px);
  }
  30% {
    -webkit-transform: translate(-93.3px, -97px);
            transform: translate(-93.3px, -97px);
  }
  40% {
    -webkit-transform: translate(-124.4px, -109px);
            transform: translate(-124.4px, -109px);
  }
  50% {
    -webkit-transform: translate(-155.5px, -114px);
            transform: translate(-155.5px, -114px);
  }
  60% {
    -webkit-transform: translate(-186.6px, -112px);
            transform: translate(-186.6px, -112px);
  }
  70% {
    -webkit-transform: translate(-217.7px, -107px);
            transform: translate(-217.7px, -107px);
  }
  80% {
    -webkit-transform: translate(-248.8px, -97px);
            transform: translate(-248.8px, -97px);
  }
  90% {
    -webkit-transform: translate(-279.9px, -81px);
            transform: translate(-279.9px, -81px);
  }
  100% {
    -webkit-transform: translate(-311px, -54px);
            transform: translate(-311px, -54px);
  }
}
@-webkit-keyframes parabola6 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(-32.3px, -47px);
            transform: translate(-32.3px, -47px);
  }
  20% {
    -webkit-transform: translate(-64.6px, -73px);
            transform: translate(-64.6px, -73px);
  }
  30% {
    -webkit-transform: translate(-96.9px, -99px);
            transform: translate(-96.9px, -99px);
  }
  40% {
    -webkit-transform: translate(-129.2px, -112px);
            transform: translate(-129.2px, -112px);
  }
  50% {
    -webkit-transform: translate(-161.5px, -114px);
            transform: translate(-161.5px, -114px);
  }
  60% {
    -webkit-transform: translate(-193.8px, -110px);
            transform: translate(-193.8px, -110px);
  }
  70% {
    -webkit-transform: translate(-226.1px, -99px);
            transform: translate(-226.1px, -99px);
  }
  80% {
    -webkit-transform: translate(-258.4px, -82px);
            transform: translate(-258.4px, -82px);
  }
  90% {
    -webkit-transform: translate(-290.7px, -55px);
            transform: translate(-290.7px, -55px);
  }
  100% {
    -webkit-transform: translate(-323px, -24px);
            transform: translate(-323px, -24px);
  }
}
@keyframes parabola6 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(-32.3px, -47px);
            transform: translate(-32.3px, -47px);
  }
  20% {
    -webkit-transform: translate(-64.6px, -73px);
            transform: translate(-64.6px, -73px);
  }
  30% {
    -webkit-transform: translate(-96.9px, -99px);
            transform: translate(-96.9px, -99px);
  }
  40% {
    -webkit-transform: translate(-129.2px, -112px);
            transform: translate(-129.2px, -112px);
  }
  50% {
    -webkit-transform: translate(-161.5px, -114px);
            transform: translate(-161.5px, -114px);
  }
  60% {
    -webkit-transform: translate(-193.8px, -110px);
            transform: translate(-193.8px, -110px);
  }
  70% {
    -webkit-transform: translate(-226.1px, -99px);
            transform: translate(-226.1px, -99px);
  }
  80% {
    -webkit-transform: translate(-258.4px, -82px);
            transform: translate(-258.4px, -82px);
  }
  90% {
    -webkit-transform: translate(-290.7px, -55px);
            transform: translate(-290.7px, -55px);
  }
  100% {
    -webkit-transform: translate(-323px, -24px);
            transform: translate(-323px, -24px);
  }
}
@-webkit-keyframes parabola7 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(-29.9px, -31px);
            transform: translate(-29.9px, -31px);
  }
  20% {
    -webkit-transform: translate(-59.8px, -48px);
            transform: translate(-59.8px, -48px);
  }
  30% {
    -webkit-transform: translate(-89.7px, -67px);
            transform: translate(-89.7px, -67px);
  }
  40% {
    -webkit-transform: translate(-119.6px, -78px);
            transform: translate(-119.6px, -78px);
  }
  50% {
    -webkit-transform: translate(-149.5px, -84px);
            transform: translate(-149.5px, -84px);
  }
  60% {
    -webkit-transform: translate(-179.4px, -80px);
            transform: translate(-179.4px, -80px);
  }
  70% {
    -webkit-transform: translate(-209.3px, -75px);
            transform: translate(-209.3px, -75px);
  }
  80% {
    -webkit-transform: translate(-239.2px, -69px);
            transform: translate(-239.2px, -69px);
  }
  90% {
    -webkit-transform: translate(-269.1px, -52px);
            transform: translate(-269.1px, -52px);
  }
  100% {
    -webkit-transform: translate(-299px, -29px);
            transform: translate(-299px, -29px);
  }
}
@keyframes parabola7 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(-29.9px, -31px);
            transform: translate(-29.9px, -31px);
  }
  20% {
    -webkit-transform: translate(-59.8px, -48px);
            transform: translate(-59.8px, -48px);
  }
  30% {
    -webkit-transform: translate(-89.7px, -67px);
            transform: translate(-89.7px, -67px);
  }
  40% {
    -webkit-transform: translate(-119.6px, -78px);
            transform: translate(-119.6px, -78px);
  }
  50% {
    -webkit-transform: translate(-149.5px, -84px);
            transform: translate(-149.5px, -84px);
  }
  60% {
    -webkit-transform: translate(-179.4px, -80px);
            transform: translate(-179.4px, -80px);
  }
  70% {
    -webkit-transform: translate(-209.3px, -75px);
            transform: translate(-209.3px, -75px);
  }
  80% {
    -webkit-transform: translate(-239.2px, -69px);
            transform: translate(-239.2px, -69px);
  }
  90% {
    -webkit-transform: translate(-269.1px, -52px);
            transform: translate(-269.1px, -52px);
  }
  100% {
    -webkit-transform: translate(-299px, -29px);
            transform: translate(-299px, -29px);
  }
}
@-webkit-keyframes parabola8 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(-20.1px, -17px);
            transform: translate(-20.1px, -17px);
  }
  20% {
    -webkit-transform: translate(-40.2px, -30px);
            transform: translate(-40.2px, -30px);
  }
  30% {
    -webkit-transform: translate(-60.3px, -37px);
            transform: translate(-60.3px, -37px);
  }
  40% {
    -webkit-transform: translate(-80.4px, -42px);
            transform: translate(-80.4px, -42px);
  }
  50% {
    -webkit-transform: translate(-100.5px, -41px);
            transform: translate(-100.5px, -41px);
  }
  60% {
    -webkit-transform: translate(-120.6px, -39px);
            transform: translate(-120.6px, -39px);
  }
  70% {
    -webkit-transform: translate(-140.7px, -30px);
            transform: translate(-140.7px, -30px);
  }
  80% {
    -webkit-transform: translate(-160.8px, -12px);
            transform: translate(-160.8px, -12px);
  }
  90% {
    -webkit-transform: translate(-180.9px, 14px);
            transform: translate(-180.9px, 14px);
  }
  100% {
    -webkit-transform: translate(-194px, 25px);
            transform: translate(-194px, 25px);
  }
}
@keyframes parabola8 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(-20.1px, -17px);
            transform: translate(-20.1px, -17px);
  }
  20% {
    -webkit-transform: translate(-40.2px, -30px);
            transform: translate(-40.2px, -30px);
  }
  30% {
    -webkit-transform: translate(-60.3px, -37px);
            transform: translate(-60.3px, -37px);
  }
  40% {
    -webkit-transform: translate(-80.4px, -42px);
            transform: translate(-80.4px, -42px);
  }
  50% {
    -webkit-transform: translate(-100.5px, -41px);
            transform: translate(-100.5px, -41px);
  }
  60% {
    -webkit-transform: translate(-120.6px, -39px);
            transform: translate(-120.6px, -39px);
  }
  70% {
    -webkit-transform: translate(-140.7px, -30px);
            transform: translate(-140.7px, -30px);
  }
  80% {
    -webkit-transform: translate(-160.8px, -12px);
            transform: translate(-160.8px, -12px);
  }
  90% {
    -webkit-transform: translate(-180.9px, 14px);
            transform: translate(-180.9px, 14px);
  }
  100% {
    -webkit-transform: translate(-194px, 25px);
            transform: translate(-194px, 25px);
  }
}
@-webkit-keyframes parabola9 {
  0% {
    -webkit-transform: translate(45.2%, 42.9%);
            transform: translate(45.2%, 42.9%);
  }
  20% {
    -webkit-transform: translate(-17.2px, -5px);
            transform: translate(-17.2px, -5px);
  }
  40% {
    -webkit-transform: translate(-40.4px, -4px);
            transform: translate(-40.4px, -4px);
  }
  50% {
    -webkit-transform: translate(-48.4px, -2px);
            transform: translate(-48.4px, -2px);
  }
  60% {
    -webkit-transform: translate(-51.6px, 0);
            transform: translate(-51.6px, 0);
  }
  70% {
    -webkit-transform: translate(-60px, 5px);
            transform: translate(-60px, 5px);
  }
  80% {
    -webkit-transform: translate(-68.8px, 11px);
            transform: translate(-68.8px, 11px);
  }
  90% {
    -webkit-transform: translate(-91px, 48px);
            transform: translate(-91px, 48px);
  }
  100% {
    -webkit-transform: translate(-86px, 83px);
            transform: translate(-86px, 83px);
  }
}
@keyframes parabola9 {
  0% {
    -webkit-transform: translate(45.2%, 42.9%);
            transform: translate(45.2%, 42.9%);
  }
  20% {
    -webkit-transform: translate(-17.2px, -5px);
            transform: translate(-17.2px, -5px);
  }
  40% {
    -webkit-transform: translate(-40.4px, -4px);
            transform: translate(-40.4px, -4px);
  }
  50% {
    -webkit-transform: translate(-48.4px, -2px);
            transform: translate(-48.4px, -2px);
  }
  60% {
    -webkit-transform: translate(-51.6px, 0);
            transform: translate(-51.6px, 0);
  }
  70% {
    -webkit-transform: translate(-60px, 5px);
            transform: translate(-60px, 5px);
  }
  80% {
    -webkit-transform: translate(-68.8px, 11px);
            transform: translate(-68.8px, 11px);
  }
  90% {
    -webkit-transform: translate(-91px, 48px);
            transform: translate(-91px, 48px);
  }
  100% {
    -webkit-transform: translate(-86px, 83px);
            transform: translate(-86px, 83px);
  }
}
@-webkit-keyframes parabola10 {
  0% {
    -webkit-transform: translate(45.2%, 42.9%);
            transform: translate(45.2%, 42.9%);
  }
  20% {
    -webkit-transform: translate(-12.6px, -6px);
            transform: translate(-12.6px, -6px);
  }
  40% {
    -webkit-transform: translate(-25.2px, -10px);
            transform: translate(-25.2px, -10px);
  }
  60% {
    -webkit-transform: translate(-37.8px, -5px);
            transform: translate(-37.8px, -5px);
  }
  80% {
    -webkit-transform: translate(-50.4px, 16px);
            transform: translate(-50.4px, 16px);
  }
  100% {
    -webkit-transform: translate(-69px, 37px);
            transform: translate(-69px, 37px);
  }
}
@keyframes parabola10 {
  0% {
    -webkit-transform: translate(45.2%, 42.9%);
            transform: translate(45.2%, 42.9%);
  }
  20% {
    -webkit-transform: translate(-12.6px, -6px);
            transform: translate(-12.6px, -6px);
  }
  40% {
    -webkit-transform: translate(-25.2px, -10px);
            transform: translate(-25.2px, -10px);
  }
  60% {
    -webkit-transform: translate(-37.8px, -5px);
            transform: translate(-37.8px, -5px);
  }
  80% {
    -webkit-transform: translate(-50.4px, 16px);
            transform: translate(-50.4px, 16px);
  }
  100% {
    -webkit-transform: translate(-69px, 37px);
            transform: translate(-69px, 37px);
  }
}
@-webkit-keyframes parabola11 {
  0% {
    -webkit-transform: translate(45.2%, 42.9%);
            transform: translate(45.2%, 42.9%);
  }
  20% {
    -webkit-transform: translate(-9.8px, -8px);
            transform: translate(-9.8px, -8px);
  }
  40% {
    -webkit-transform: translate(-25.6px, -14px);
            transform: translate(-25.6px, -14px);
  }
  60% {
    -webkit-transform: translate(-33.4px, -13px);
            transform: translate(-33.4px, -13px);
  }
  80% {
    -webkit-transform: translate(-39.3px, -5px);
            transform: translate(-39.3px, -5px);
  }
  100% {
    -webkit-transform: translate(-48px, 2px);
            transform: translate(-48px, 2px);
  }
}
@keyframes parabola11 {
  0% {
    -webkit-transform: translate(45.2%, 42.9%);
            transform: translate(45.2%, 42.9%);
  }
  20% {
    -webkit-transform: translate(-9.8px, -8px);
            transform: translate(-9.8px, -8px);
  }
  40% {
    -webkit-transform: translate(-25.6px, -14px);
            transform: translate(-25.6px, -14px);
  }
  60% {
    -webkit-transform: translate(-33.4px, -13px);
            transform: translate(-33.4px, -13px);
  }
  80% {
    -webkit-transform: translate(-39.3px, -5px);
            transform: translate(-39.3px, -5px);
  }
  100% {
    -webkit-transform: translate(-48px, 2px);
            transform: translate(-48px, 2px);
  }
}
/* 軌跡のスタイル */
.dot {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  pointer-events: none; /* ポインタ操作を無効に */
  z-index: 1;
}

.dot1,
.dot2,
.dot3,
.dot4,
.dot5,
.dot6,
.dot7,
.dot8,
.dot9,
.dot10,
.dot11 {
  background-color: transparent;
}

.plane-icon {
  position: absolute;
  width: 25px;
  height: 25px;
  pointer-events: none;
  z-index: 2;
}

/*footer*/
.footer {
  padding: 42px 0 30px;
  background-color: #111;
  color: #fff;
  font-family: "游明朝", "Yu Mincho", YuMincho, serif;
}
@media screen and (min-width: 960px) {
  .footer {
    padding: 75px 0 63px;
  }
}
.footer .footer__inner {
  padding-inline: 8.5333333333%;
}
@media screen and (min-width: 960px) {
  .footer .footer__inner {
    padding-inline: 8.3333333333%;
  }
}

.footerContents {
  width: min(100%, 640px);
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .footerContents {
    width: min(100%, 1200px);
  }
}

.footerContents-head {
  width: 100%;
  border-bottom: 0.5px solid #777;
  position: relative;
}
@media screen and (min-width: 960px) {
  .footerContents-head {
    width: 100%;
    padding-bottom: 62px;
  }
}
.footerContents-head .footerContents-head__link-area {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 34px;
}
@media screen and (min-width: 960px) {
  .footerContents-head .footerContents-head__link-area {
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.footerContents-head .footerContents-head__logo {
  width: 222px;
  height: 38px;
}
@media screen and (min-width: 960px) {
  .footerContents-head .footerContents-head__logo {
    width: 23.55%;
    height: 3.2291666667%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
  }
}
.footerContents-head .footerContents-head__logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 265/37;
}
.footerContents-head .footerContents-head__site-map {
  width: 100%;
  display: grid;
  grid-template-columns: 32.1% 49.9%;
  grid-template-rows: repeat(5, auto);
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  row-gap: 17px;
  -webkit-column-gap: 18%;
     -moz-column-gap: 18%;
          column-gap: 18%;
}
@media screen and (min-width: 960px) {
  .footerContents-head .footerContents-head__site-map {
    width: 397px;
    grid-template-columns: 98px 225px;
    row-gap: 10px;
    -webkit-column-gap: 74px;
       -moz-column-gap: 74px;
            column-gap: 74px;
    overflow: hidden;
  }
}
.footerContents-head .footerContents-head__link-item {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.3;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.footerContents-head .footerContents-head__link-item:hover {
  opacity: 0.6;
}
.footerContents-head .footerContents-head__link-item:nth-child(1) {
  text-transform: uppercase;
}

.footerSns {
  width: 34.0836012862%;
  height: 5.8666666667vw;
  max-width: 150px;
  max-height: 45px;
  margin: 25px 0 23px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
}
@media screen and (min-width: 960px) {
  .footerSns {
    width: 137px;
    height: 28px;
    -webkit-column-gap: 26.2px;
       -moz-column-gap: 26.2px;
            column-gap: 26.2px;
    position: absolute;
    top: 5.2777777778vw;
    left: 0;
    margin-block: 0;
  }
}
.footerSns .footerSns__logo {
  display: block;
  width: 22px;
  height: 22px;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 960px) {
  .footerSns .footerSns__logo {
    width: 28px;
    height: 28px;
  }
}
.footerSns .footerSns__logo:hover {
  opacity: 0.6;
}
.footerSns img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.footerContents-bottom {
  width: min(100%, 640px);
  margin-inline: auto;
  padding-top: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
@media screen and (min-width: 960px) {
  .footerContents-bottom {
    width: min(100%, 1200px);
    padding-top: 20px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.footerContents-bottom .footerContents-bottom__link-list {
  width: 100%;
  padding-inline: 7.3954983923%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 1rem;
  font-weight: 500;
  line-height: normal;
}
@media screen and (min-width: 960px) {
  .footerContents-bottom .footerContents-bottom__link-list {
    width: 320px;
    padding-inline: 0;
    font-size: 1.2rem;
  }
}
.footerContents-bottom .footerContents-bottom__link-item {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.footerContents-bottom .footerContents-bottom__link-item:hover {
  opacity: 0.6;
}

.footer__small {
  font-size: 1rem;
  line-height: normal;
  text-transform: uppercase;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .footer__small {
    font-size: 1.2rem;
    text-align: left;
  }
}

/*topへ戻るボタン*/
.pageTop {
  display: block;
  width: 40px;
  height: 110px;
  position: fixed;
  bottom: 25px;
  right: 0;
  z-index: 999;
}
@media screen and (min-width: 960px) {
  .pageTop {
    width: 5%;
    min-width: 72px;
    height: 227px;
    bottom: 66px;
    right: 0;
  }
}
.pageTop .pageTop__img-white,
.pageTop .pageTop__img-black {
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.pageTop .pageTop__img-white {
  position: absolute;
  opacity: 1;
}
.pageTop .pageTop__img-black {
  position: absolute;
  opacity: 0;
}
.pageTop.is-black .pageTop__img-white {
  opacity: 1;
}
.pageTop.is-black .pageTop__img-black {
  opacity: 0;
}
.pageTop.is-white .pageTop__img-white {
  opacity: 0;
}
.pageTop.is-white .pageTop__img-black {
  opacity: 1;
}