@charset "UTF-8";

/* ユーティリティー */
a {
  text-decoration: none;
  color: #333;
  transition: opacity 0.7s;
  display: block;
  cursor: pointer;
}

a:hover {
  opacity: 0.8;
}

.ilblk {
  display: inline-block;
}

img {
  width: 100%;
  height: auto;
  display: block;
}

.sp {
  display: none;
}

img[src*="_sp"] {
  display: none;
}
.hover--opacity {
  transition: opacity 0.3s;
}
.hover--opacity:hover {
  opacity: 0.7;
}
body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #333;
  font-size: 16px;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  overflow-wrap: break-word;
}
.font01 {
  font-family: zen-maru-gothic, sans-serif;
  font-weight: 700;
  font-style: normal;
}
.font02 {
  font-family: "bebas-neue-pro", sans-serif;
  font-weight: 600;
  font-style: normal;
}

/* -------------------------------------
common
------------------------------------- */
.wrap {
  max-width: 1700px;
  display: flex;
  justify-content: space-between;
  margin: 0px auto;
}

.tour_btnLink {
  display: none;
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 100%;
  max-width: 307px;
  padding: 15px 15px 15px 15px;
  border-radius: 25px 25px 0 0;
  /* border: 4px solid #dc2300; */
  margin-bottom: 0;
  background: #fff;
  border-bottom: none;
  font-size: 19px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  background: #dc0000;
  z-index: 97;
  transition: 0.6s;
}
.tour_btnLink span {
  position: relative;
}
.tour_btnLink span::after {
  content: "";
  width: 20px;
  height: 17px;
  background: url(../imgs/arrow_white02.png) center center / cover no-repeat;
  position: absolute;
  top: 56%;
  right: -29px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transition: 0.7s;
}

/* .tour_btnLink:hover {
  opacity: 1;
  color: #fff;
  background: #dc2300;
  border-color: #fff;
} */
/* .tour_btnLink:hover.tour_btnLink span::after {
  background: url(../imgs/arrow_white.png) center center / cover no-repeat;
} */
.btn__link {
  display: block;
  width: 100%;
  max-width: 273px;
  margin: 0 auto;
}
.btn__link.mt-28 {
  margin-top: 28px;
}
.fv {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0px;
  left: 0px;
  background: url(../imgs/fv.jpg) center center / cover;
}

.madal_relative {
  position: relative;
}
.madal_relative.mt-20 {
  margin-top: 20px;
}
.modal_flex {
  padding: 0 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 26px 2%;
  justify-content: space-between;
}
.modal_wrapper {
  width: calc(50% - 2%);
}
.modal_wrapper02 {
  width: 100%;
  margin-bottom: 40px;
}

/*モーダルを開くボタン*/
.modal-open {
  width: 100%;
  cursor: pointer;
  position: relative;
  transition: 0.7s;
}
.modal-open.know_open {
  width: 100%;
  margin: 41px auto 0;
}

.modal-open::before {
  content: "";
  width: 110px;
  height: 25px;
  background: url(../imgs/click.png) center center / cover no-repeat;
  position: absolute;
  bottom: -6%;
  left: 50%;
  transform: translate(-50%, -6%);
  -webkit-transform: translate(-50%, -6%);
  -ms-transform: translate(-50%, -6%);
}
.modal-open.no-click::before {
  display: none;
}
.modal-open:hover {
  opacity: 0.6;
}

/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container {
  background: rgba(0, 0, 0, 80%);
  /* background: #fff; */
  padding: 0px 20px 60px;
  overflow: auto;
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  transition: 0.3s;
  z-index: 999;
  visibility: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.modal-container::-webkit-scrollbar {
  display: none;
}

/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active {
  width: 100%;
  max-width: 374px;
  height: 100vh;
  padding-top: 44px;
  opacity: 1;
  /* position: absolute; */
  /* display: flex;
  align-items: center;
  justify-content: center; */
  /* top: 76%;
  left: 50%;
  transform: translate(-50%,-50%); */
  z-index: 100;
  position: fixed;
  top: 0;
  left: calc((100% - 374px) / 2);
  visibility: visible;

  /* animationプロパティ設定 */
  animation-name: fadeIn;
  animation-fill-mode: forwards;
  animation-duration: 0.1s;
}

/*フェードインアニメ*/
@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/*モーダル枠の指定*/
/* .modal-body-all {
  width: 100%;
  height: 100%;
} */
.modal-body {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 100%;
  padding: 0 11px;
  background: #fff;
  border-radius: 35px;
  /* min-height: 575px;
  overflow-y: scroll; */
  /* -ms-overflow-style: none;
  scrollbar-width: none; */
}

/*モーダルを閉じるボタンの指定*/
.modal-close {
  width: 36px;
  margin: 0 auto 90px;
  cursor: pointer;
  transition: 0.7s;
}
.modal-close:hover {
  opacity: 0.6;
}
/*モーダル内のコンテンツの指定*/
.modal-content {
  margin-top: 45px;
  background: #fff;
  /* text-align: left;
	padding: 5px 5px 62px 5px;
  border-radius: 30px; */
}
.modal_innerImg {
  /* border-radius: 30px 30px 0 0; */
}
.modal_ttl {
  margin: 15px 0px 2px;
  font-size: 21px;
  font-weight: 500;
  /* letter-spacing: 0.04em; */
  line-height: 1.3;
  font-weight: 500;
  color: #dc2300;
  text-align: center;
}
.modal_ttlSpan {
  margin-bottom: 22px;
  font-size: 9px;
  letter-spacing: 0.04em;
  text-align: center;
}
.modal_txt {
  max-width: 92%;
  margin: 0 auto 18px;
  font-size: 13px;
  font-weight: 500;
  line-height: 2;
  text-align: center;
}

.ttl_span {
  display: block;
  margin-bottom: -4px;
  font-size: 37px;
  font-weight: 900;
  line-height: 1.25;
  /* letter-spacing: 0.06em; */
  text-align: center;
  color: #dc0000;
}
.ttl {
  padding-bottom: 37px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-align: center;
  color: #dc0000;
}
.guide .ttl_span,
.guide .ttl {
  color: #333;
}
/* .about .ttl,
.guide .ttl {
  color: #fff;
} */
/* .schedule .ttl,
.freeTime .ttl {
  color: #dc0000;
} */
/* .about .ttl_span,
.guide .ttl_span {
  padding-top: 61px;
  color: #fff;
} */
/* .schedule .ttl_span,
.freeTime .ttl_span {
  color: #dc0000;
} */
.fadeIn {
  opacity: 0;
  transition: 2s;
}
.fadeIn.is-show {
  opacity: 1;
}
.bg {
  width: 100%;
}

/* --------------------------------
left_blk
--------------------------------- */

.left_blk {
  width: calc((100% - 374px) / 2);
  height: 100vh;

  order: 1;
}
.left_fix {
  width: calc((100% - 374px) / 2);
  height: 100%;
  background: url(../imgs/left_bg.jpg) center center / cover no-repeat;
  position: fixed;
  top: 0;
  left: 0;
  /* z-index: -1; */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.left_container {
  width: 312px;
  height: 312px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.left_logo {
  width: 71px;
  margin: 0 auto 14px;
}
.left_btn {
  max-width: 185px;
  margin: 0 auto;
}
.left_btn + .left_btn {
  margin-top: 16px;
}
.left_btnBox {
  margin-bottom: 21px;
}
.left__txt {
  width: 90%;
  padding: 5px 10px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
  font-size: 10px;
  letter-spacing: 0.1em;
  color: #ce2a1b;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.sns {
  width: 158px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.footer .sns {
  margin-bottom: 64px;
}
.sns_box {
  width: 26px;
  height: 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.sns_box:nth-child(1) {
  width: 23px;
  height: 23px;
}
.sns_box:nth-child(2) {
  width: 23px;
  height: 23px;
}
.sns_box:nth-child(3) {
  width: 13px;
  height: 24px;
}
.sns_box:nth-child(4) {
  width: 26px;
  height: 28px;
}
.sns_link {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.sns_link:hover {
  opacity: 0.3;
}

.left_blk .fix_wrap {
  z-index: 2;
}

/* --------------------------------
.right_blk
--------------------------------- */
.right_blk {
  width: calc((100% - 374px) / 2);
  height: 100vh;

  order: 3;
}
.right_fix {
  width: calc((100% - 374px) / 2);
  height: 100%;
  background: url(../imgs/right_bg.jpg) center center / cover no-repeat;
  position: fixed;
  top: 0;
  right: 0;
  /* z-index: -1; */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.right_container {
  width: 312px;
  height: 312px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.nav_gnavNav {
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: center;
  gap: 21px;
}

.nav_gnavList {
  /* width: 49%; */
}
.nav_gnavLink {
  position: relative;
  width: fit-content;
  margin: 0 auto;
  /* padding-left: 30px; */
  font-size: 14px;
  font-weight: 900;
  line-height: 1.5;
  color: #dc0000;
  text-align: center;
  transition: 0.7s;
}
/* .nav_gnavLink::before {
  content: "";
  width: 10px;
  height: 15px;
  background: url(../imgs/arrow_red.png) center center / cover no-repeat;
  position: absolute;
  top: 20%;
  left: 13px;
  transition: 0.7s;
} */
/* .nav_gnavLink:hover {
  color: #dc2300;
  opacity: 1;
}
.nav_gnavLink:hover.nav_gnavLink::before {
  background: url(../imgs/arrow_black.png) center center / cover no-repeat;
} */
.nav_gnavSpan {
  display: block;
  font-size: 8px;
  font-weight: 400;
}

/* --------------------------------
center_blk
--------------------------------- */

.center_blk {
  order: 2;
  width: 374px;
  box-shadow: 0 0 8px gray;
  background: #fff;
  position: relative;
  z-index: 1;
}

.mask {
  width: 374px;
  height: 100vh;
  background: url(../imgs/mask.png) center center / cover no-repeat;
  position: fixed;
  top: 0;
  left: calc((100% - 374px) / 2);
  z-index: 8;
  pointer-events: none;
}

.center_blk header {
  width: 100%;
}

.mv {
  height: 100vh;
  min-height: 664px;
  /* background: url(../imgs/mv_bg_02.jpg) center center / cover no-repeat; */
  position: relative;
}
.mv_inner {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.mv_woman {
  content: "";
  width: 374px;
  height: 121px;
  background: url(../imgs/mv_icon02.png) center center / cover no-repeat;
  position: fixed;
  top: 0;
  left: calc((100% - 374px) / 2);
  pointer-events: none;
  z-index: 9;
}

.mv_ttl {
  width: 325px;
  width: 83%;
  padding-top: 56px;
  margin: 0 auto 0px;
  transform: translate(5px, -22px);
  position: relative;
}
.mv_freeBox {
  /* display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 16px; */
  margin-top: -10px;
  margin-left: 13px;
  margin-bottom: 15px;
}
.mv_freePic {
  width: 30%;
  max-width: 114px;
  margin-left: 50px;
  position: relative;
  animation-name: tenmetsu;
  animation-duration: 0.7s;
  animation-direction: alternate;
  animation-iteration-count: infinite;
}
.mv_freePic02 {
  width: 48%;
  margin-left: 132px;
  max-width: 181px;
  position: relative;
  animation-name: tenmetsu;
  animation-duration: 0.7s;
  animation-direction: alternate;
  animation-iteration-count: infinite;
}
.mv_freePic::before {
  content: "";
  display: block;
  width: 38%;
  padding-top: 39%;
  background: url(../imgs/mv_deco01.png) center center / cover no-repeat;
  position: absolute;
  left: -21%;
  top: -4%;

  /*animationプロパティここから*/
  animation-name: tenmetsu;
  animation-duration: 0.7s;
  animation-direction: alternate;
  animation-iteration-count: infinite;
}
.mv_freePic02::before {
  content: "";
  display: block;
  width: 25%;
  padding-top: 24%;
  background: url(../imgs/mv_deco01.png) center center / cover no-repeat;
  position: absolute;
  left: -14%;
  top: 7%;

  /*animationプロパティここから*/
  animation-name: tenmetsu;
  animation-duration: 0.7s;
  animation-direction: alternate;
  animation-iteration-count: infinite;
}
@keyframes tenmetsu {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.mv_people {
  width: 68%;
  margin: 0 auto 11px;
  transform: translate(24px, 0px);
}
.workation__btnLink {
  max-width: 300px;
  padding: 3px 20px 4px 5px;
  margin: 0 auto;
  border-radius: 16px;
  background: #22b573;
  font-weight: 900;
  font-size: 17px;
  letter-spacing: 0.02em;
  color: #fff;
  text-align: center;
  position: relative;
}
.workation__btnLink::before {
  display: block;
  content: "";
  width: 74px;
  height: 85px;
  background: url(../imgs/check_icon.png) center center / cover no-repeat;
  position: absolute;
  top: -82px;
  left: -5px;
}
.workation__btnLink::after {
  display: block;
  content: "";
  width: 11px;
  height: 19px;
  background: url(../imgs/arrow_w.png) center center / cover no-repeat;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
}

/* ====== sp MENU ======= */
.ham {
  width: 40px;
  height: 40px;
  margin-left: 19px;
  background: #dc0000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  cursor: pointer;
  z-index: 99;
  /* display: none; */
  position: fixed;
  top: 19px;
  left: calc((100% - 374px) / 2);
}

.ham__lineWrapper {
  position: relative;
  width: 14px;
  height: 10px;
}

.ham__lineWrapper span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fff;
  position: absolute;
  left: 50%;
  transition: 0.3s;
}

.ham__lineWrapper span:nth-child(1) {
  transform: translateX(-50%);
  top: 0px;
}

.ham__lineWrapper span:nth-child(2) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.ham__lineWrapper span:nth-child(3) {
  transform: translateX(-50%);
  bottom: 0px;
}

.ham.open {
  background: #fff;
}
.ham.open .ham__lineWrapper span {
  background: #dc0000;
}
.ham.open .ham__lineWrapper span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(33deg);
  top: 50%;
}

.ham.open .ham__lineWrapper span:nth-child(2) {
  opacity: 0;
}
.ham.open .ham__lineWrapper span:nth-child(3) {
  transform: translate(-50%, -50%) rotate(-33deg);
  top: 50%;
}

.header__inner {
  width: 100%;
}

.header__logo {
  width: 79px;
  position: absolute;
  top: 45px;
  right: 32px;
}

/* .header__nav-list:last-of-type {
  padding-bottom: 16px;
} */
.header__nav-list + .header__nav-list {
  padding-top: 40px;
  border-top: 2px solid #fff;
}
.header__nav-listItem {
  margin-bottom: 17px;
}
.header__nav-listLink {
  display: block;
  width: fit-content;
  padding: 5px 5px 0 5px;
  font-size: 19px;
  font-weight: 900;
  /* letter-spacing: 0.03em; */
  color: #fff;
  transition: 0.4s;
  text-decoration: none;
}
.header__nav-listLink .ja {
  display: block;
  font-size: 11px;
  font-weight: 400;
}
.header__nav-btnBox {
  margin-bottom: 13px;
}
.header__nav-btn {
  width: 192px;
}
.header__nav-btn + .header__nav-btn {
  margin-top: 8px;
}
.header__nav-txt {
  margin-top: 13px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.68;
  color: #fff;
}
.header__spWrap {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header__navWrap {
  /* width: 100%; */
  width: 374px;
  /* max-width: 100%; */
  height: 100vh;
  padding-top: 67px;
  background-color: #dc0000;
  position: fixed;
  top: 0;
  left: calc((100% - 374px) / 2);
  z-index: -99;
  opacity: 0;
  transition: all 0.3s;
  pointer-events: none;
}
.header__navWrap.panelactive {
  opacity: 1;
  pointer-events: all;
  z-index: 98;
}
/*ナビゲーションの縦スクロール*/
.header__navWrap.panelactive .header__navScroll {
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 98;
  width: 100%;
  max-width: 374px;
  height: 100vh; /*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.header__navInner {
  flex-direction: column;
  align-items: flex-start;
  /* max-width: 290px; */
  /* max-width: 700px; */
  width: 92%;
  min-height: 350px;
  padding-top: 27px;
  padding-right: 10px;
  padding-left: 10px;
  padding-bottom: 250px;
  margin: 0 auto;
}
.header__menu .sns {
  margin-left: 14px;
}

/* --------------------------------
know
--------------------------------- */
.know {
  padding: 41px 0px 57px;
}
.know_inner {
  padding: 0 15px;
}
.know_pic {
  width: 72%;
  /* margin-left: 76px; */
  transform: translateX(77px);
  margin-bottom: 18px;
}
.know_ttl {
  margin-bottom: 13px;
  font-size: 22px;
  line-height: 1.48;
  /* letter-spacing: 0.04em; */
  text-align: center;
  color: #dc0000;
}
.know_txt {
  margin-bottom: 28px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 2;
  text-align: center;
}
.know_illust {
  width: 87%;
  margin: 0 auto 40px;
}

/* --------------------------------
about
--------------------------------- */

.about_pic {
  max-width: 65px;
  margin: 0 auto 32px;
}
.about_wrap {
  padding: 56px 15px 50px;
  background: #fed32b;
}
.about_whiteTtl {
  width: 89%;
  padding: 2px 0;
  margin: 0 auto 8px;
  background: #fff;
  border-radius: 30px;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.14em;
  line-height: 1.87;
  text-align: center;
}

.about_txt {
  margin-bottom: 27px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.77;
  /* color: #fff; */
  text-align: center;
  letter-spacing: 0.04em;
}
.about_txt02 {
  font-size: 23px;
  /* color: #fff; */
  text-align: center;
}
.about_txt03 {
  font-size: 15px;
}
.about_txt04 {
  margin-bottom: 20px;
  font-size: 28px;
  font-weight: 700;
  color: #dc0000;
  text-align: center;
}
.about_txtSpan {
  width: 87%;
  /* max-width: 297px; */
  display: block;
  margin: 0 auto;
  padding-left: 1.2em;
  text-indent: -1.2em;
  font-size: 12px;
  text-align: left;
  letter-spacing: 0.04em;
  /* color: #fff; */
}
.about_container .about_txtSpan {
  width: 90%;
}
.about_txtSpan.u-white {
  color: #fff;
}
.about_txtSpan02 {
  font-size: 26px;
}
.about_txtSpan03 {
  max-width: 297px;
  display: block;
  margin: 0 auto;
  padding-left: 1.4em;
  text-indent: -1.4em;
  font-size: 12px;
  text-align-last: left;
}
.about_mb35 {
  margin-bottom: 35px;
}
.about_capaPic {
  width: 116px;
  margin: 0 auto 5px;
  transform: translate(9px, 0px);
}
.about_free {
  width: 183px;
  margin: 0 auto 0px;
  transform: translate(22px, -20px);
}
.about_container {
  /* max-width: 350px; */
  /* display: flex; */

  width: 89%;
  padding-bottom: 15px;
  margin: 22px auto 47px;
  background: #fff;
  border-radius: 20px;
}
.about_leftBox {
  /* display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; */
  /* width: 100px; */
  width: 90%;
  margin: 0 auto;
  padding: 10px 5px;
  border-bottom: 1px solid #4d4d4d;
  margin-bottom: 5px;
  /* background: #fff; */
  /* border-radius: 13px; */
  /* margin-left: 20px; */
  font-size: 16px;
  font-weight: bold;
  /* color: #DC2300; */
  line-height: 1.55;
  text-align: center;
}
.about_rightBox {
  /* width: calc(100% - 113px); */
  width: 90%;
  margin: 0 auto 10px;
}
.about_rightTxt {
  padding-left: 1.5em;
  text-indent: -1.5em;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.about_hr {
  width: 89%;
  height: 2px;
  margin-top: 35px;
  margin-bottom: 40px;
  background-color: #fff;
  border: none;
}
.about_more {
  padding: 106px 0 121px;
  font-size: 23px;
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.3;
  /* color: #fff; */
  text-align: center;
  position: relative;
}
.about_more::before {
  content: "";
  width: 85px;
  height: 90px;
  background: url(../imgs/about_more.png) center center / cover no-repeat;
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.about_more::after {
  content: "";
  width: 72px;
  height: 69px;
  background: url(../imgs/about_plane.png) center center / cover no-repeat;
  position: absolute;
  top: 77%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.about_btn {
  margin-bottom: 14px;
}
.about_btn:last-of-type {
  margin-bottom: 0;
}
.about_btnLink {
  display: block;
  max-width: 297px;
  padding: 12px 12px 12px 14px;
  border: 2px solid #4d4d4d;
  border-radius: 12px;
  margin: 0 auto;
  background: #fff;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 1.26;
  position: relative;
  transition: 0.7s;
}
.about_btnLink::before {
  content: "";
  width: 17px;
  height: 15px;
  background: url(../imgs/arrow_black.png) center center / contain no-repeat;
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transition: 0.7s;
}
.about_btnLink:hover {
  border: 2px solid #fff;
  background: #4d4d4d;
  color: #fff;
  opacity: 1;
}
.about_btnLink:hover::before {
  background: url(../imgs/arrow_white02.png) center center / cover no-repeat;
}
.about_btnSpan {
  font-size: 14px;
}
.about_recordPic {
  width: 90%;
  margin: 44px auto 17px;
}
.about_recordContainer {
  max-width: 290px;
  margin: 0 auto;
}
.about_recordBox {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 5px;
  margin-bottom: 15px;
}
.about_recordLeft {
  width: 46px;
  padding: 9px 0;
  background: #fff;
  border-radius: 7px;
}
.about_recordNum {
  display: inline-block;
  width: 100%;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}
.about_recordRight {
  flex: 1;
}
.about_recordTxt {
  /* color: #fff; */
  font-size: 14px;
  font-weight: 500;
}
.about_recordTxt .bold {
  display: inline-block;
  font-weight: 700;
}
.about_recordTxt .num {
  display: inline-block;
  padding: 0 2px;
  font-size: 25px;
  font-weight: 700;
  line-height: 1;
}
.about_recordIzyu {
  width: 100%;
  padding: 7px 0 4px;
  margin-top: 8px;
  background: #fff;
  border-radius: 7px;
  font-size: 17px;
  font-weight: 700;
  text-align: center;
}
.about_recordIzyu .big {
  display: inline-block;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
}

/* --------------------------------
schedule
--------------------------------- */
.schedule {
  padding: 49px 15px 70px;
}
.schedule .btn {
  margin-bottom: 30px;
}
.schedule_container {
  padding: 0px 10px 20px;
}
.schedule_day {
  max-width: 500px;
  margin: 15px auto 20px;
}
.schedule_listBox {
  margin-bottom: 25px;
}
.schedule_listItem {
  margin-left: 14px;
  margin-bottom: 3px;
  padding-left: 1.3em;
  text-indent: -1.3em;
  font-size: 16px;
  font-weight: bold;
  /* letter-spacing: 0.04em; */
  line-height: 1.7;
}
.schedule_listItem.mt-55 {
  margin-top: 55px;
}
.schedule_listItem.mb-14 {
  margin-bottom: 14px;
}
.schedule_listItem .small {
  display: block;
  margin-bottom: 7px;
  padding-left: 21px;
  font-size: 13px;
}
.schedule_txt {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 2;
}
.schedule_txt01 {
  width: 84%;
  margin: 0 auto;
}
.schedule_txt.center {
  text-align: center;
}
.key {
  position: relative;
}
.key::before {
  content: "";
  width: 67px;
  height: 87px;
  background: url(../imgs/schedule_checkin.png) center center / cover no-repeat;
  position: absolute;
  top: 25px;
  right: 20px;
}
.schedule_span01 {
  display: block;
  margin-bottom: 45px;
  margin-left: 10px;
  padding-left: 1.2em;
  text-indent: -1.2em;
  font-size: 12px;
  text-align: left;
}
.schedule_span02 {
  display: block;
  margin-bottom: 30px;
  font-size: 12px;
  text-align: center;
}
.schedule_picDay1 {
  width: 93%;
  margin: 0 auto 17px;
}
.schedule_pic {
  width: 60%;
  margin: 0 auto 23px;
}
.schedule_pic02 {
  width: 84%;
  margin: 29px auto 24px;
}
.schedule_pic03 {
  width: 85%;
  margin: 0 auto 18px;
}
.schedule_pic04 {
  width: 93%;
  margin: 38px auto 41px;
}
.schedule_pic06 {
  width: 91%;
  margin: 10px auto 30px;
}
.schedule_pic07 {
  margin-bottom: 20px;
}
.schedule_pic08 {
  margin-bottom: 19px;
}
.schedule_pic09 {
  width: 90%;
  margin: 0 auto 22px;
}
.schedule_pic11 {
  width: 75%;
  margin: 0 auto 40px;
}
.schedule_pic12 {
  width: 47%;
  margin: 0 auto 40px;
}
.schedule_pic13 {
  width: 83%;
  margin: 50px auto 40px;
}
.schedule_w-81 {
  width: 81%;
  margin: 0 auto;
}
.schedule_arrow {
  width: 39px;
  margin: 47px auto 20px;
}
.schedule_finish {
  width: 94%;
  margin: 0 auto;
}
.schedule_hr {
  margin-bottom: 30px;
}
.schedule_itemTxt {
  width: 50%;
  display: block;
}
.schedule_itemBox {
  width: 100%;
}
.schedule_modal {
  width: 100%;
  margin-top: -212px;
  margin-bottom: 100px;
}
.schedule_modal .modal_wrapper {
  width: 40%;
  margin-left: auto;
}
.schedule_line {
  width: 91%;
  margin: 0 auto 16px;
}
.schedule_line02 {
  width: 91%;
  margin: 20px auto 10px;
}
.schedule_spotTtl {
  padding-left: 15px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.schedule_spotTxt {
  padding-left: 15px;
  margin-bottom: 19px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.58;
}
.schedule_cruise {
  margin-bottom: 30px;
}
.schedule_group + .schedule_group {
  margin-top: 45px;
}
.schedule_groupPic {
  width: 92%;
  margin: 20px auto 0;
}

/* --------------------------------
freeTime
--------------------------------- */
.freeTime_wrap {
  padding: 60px 10px 65px;
  background: #fed32b;
}
.freeTime_ttl {
  width: 90%;
  margin: 0 auto;
  padding: 5px;
  margin-bottom: 15px;
  background: #dc0000;
  border-radius: 999px;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.24em;
  color: #fff;
  text-align: center;
}
.freeTime_container {
  margin-bottom: 53px;
}

/* --------------------------------
guide
--------------------------------- */
/* .guide {
  margin-bottom: 83px;
} */

.guide_wrap {
  padding: 60px 10px 65px;
  background: #81c0e9;
  /* box-shadow: 0 1px 0 #132B51; */
}
.guide_pic {
  width: 58%;
  margin: 15px auto 43px;
}
.guide_whiteTtl {
  width: 89%;
  padding: 2px 5px;
  margin: 0 auto 5px;
  background: #fff;
  border-radius: 30px;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.14em;
  line-height: 1.87;
  color: #132b51;
  text-align: center;
}
.guide_txt {
  margin-bottom: 34px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.77;
  /* color: #333; */
  text-align: center;
  letter-spacing: 0.04em;
}
.guide_hr {
  width: 85%;
  padding-bottom: 13px;
  margin: 0 auto 17px;
  border-bottom: 2px solid #fff;
}
.guide_container {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  gap: 4%;
}
.guide_pic02 {
  width: 27%;
  /* margin-left: 28px; */
}
.guide_box {
  width: calc(100% - 40%);
}
.guide_box {
  margin-bottom: 33px;
}
.guide_box:last-of-type {
  margin-bottom: 0;
}
.guide_txt01 {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.56;
  color: #fff;
}
.guide_txt02 {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.56;
  /* color: #333; */
}
.guide_txt02:nth-last-child() {
  margin-bottom: 100px;
}
.guide_btnLink {
  display: block;
  max-width: 296px;
  padding: 48px 0 9px;
  margin: 0 auto;
  background: #fff;
  border-radius: 15px;
  border: 2px solid #132b51;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.26;
  text-align: center;
  position: relative;
}
.guide_btnLink::before {
  content: "";
  width: 19px;
  height: 17px;
  background: url(../imgs/arrow_black.png) center center / cover no-repeat;
  position: absolute;
  top: 76%;
  right: 24px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transition: 0.7s;
}
.guide_btnLink::after {
  content: "";
  width: 35px;
  height: 27px;
  background: url(../imgs/mail.png) center center / cover no-repeat;
  position: absolute;
  top: 33%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transition: 0.7s;
}
.guide_btnLink02 {
  margin: 0 auto;
}

.guide_mail {
  display: block;
  width: 35px;
  height: 27px;
  margin: 0 auto 9px;
}
.guide_group {
  margin-bottom: 33px;
}
.guide_group02 {
  margin-top: 52px;
  /* padding-bottom: 30px; */
  margin-left: 30px;
}
.guide_group02 + .guide_group02 {
  margin-top: 8px;
}
.guide_group03 {
  margin-bottom: 42px;
}
.guide_bgBottom {
  width: 100%;
  height: 180px;
  border-radius: 50% / 0 0 100% 100%;
  background: #1eb1dc;
  position: relative;
}
.guide_bgBottom::before {
  content: "";
  width: 183px;
  height: 186px;
  background: url(../imgs/guide_img03.png) center center / cover no-repeat;
  position: absolute;
  top: -285px;
  right: 67px;
}
.guide_staff {
  position: relative;
  width: 59%;
  margin-left: auto;
}
.guide_staffPic {
  width: 91%;
  position: absolute;
  bottom: -6px;
  left: -101px;
}

/* --------------------------------
info
--------------------------------- */
.info {
  padding: 60px 0px 0px;
}
.info__container {
  width: 92%;
  padding: 48px 0 53px;
  margin: 0 auto;
}
.info__container02 {
  padding-bottom: 0;
}
.info .bg-yellow {
  background: #fed32b;
}

.info__box {
  margin-left: 15px;
}
.info__box + .info__box {
  margin-top: 12px;
}
.info__box02 {
  margin-left: 15px;
}
.info__box02 + .info__box02 {
  margin-top: 29px;
}
.info__group + .info__group {
  margin-top: 8px;
}

.info__heading {
  width: 98%;
  padding: 3px 5px;
  margin: 0 auto 14px;
  background: #dc0000;
  border-radius: 19px;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.24em;
  text-align: center;
}
.info__heading02 {
  padding-left: 21px;
  margin-bottom: 5px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.04em;
  position: relative;
}
.info__heading03 {
  max-width: 285px;
  margin: 0 auto;
  padding: 2px 5px;
  border-radius: 5px;
  background: #333;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #fff;
}
.info__heading04 {
  margin-bottom: 15px;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-align: center;
}
.info__heading02::before {
  display: block;
  content: "";
  width: 12px;
  height: 12px;
  background: #dc0000;
  position: absolute;
  top: 7px;
  left: 7px;
}
.info__txt {
  padding-left: 22px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.64;
}
.info__cap {
  padding-left: 19px;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.06em;
}
.info__benefits {
  padding-left: 21px;
  font-size: 15px;
  font-weight: 700;
}
.info__benefits .red {
  display: inline-block;
  padding: 0 8px 0 10px;
  margin-top: 10px;
  border-radius: 5px;
  background: #dc0000;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.3em;
  color: #fff;
}
.info .btn {
  margin-top: 28px;
}
.info .btn__link {
  max-width: 293px;
}
.info__flex {
  width: 90%;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  /* gap: 4px; */
}
.info__flex.reverse {
  flex-direction: row-reverse;
}
.info__flex + .info__flex {
  margin-top: 20px;
}
.info__itemTxt {
  width: 48%;
}
.info__itemTxt .info__txt {
  padding-left: 0;
}
.info__pic {
  width: 48%;
}
.info__hr {
  max-width: 302px;
  margin: 49px auto 0;
  height: 2px;
  background: #333;
}
/* --------------------------------
footer
--------------------------------- */

.footer_wrap {
  padding-bottom: 80px;
}
.footer_logo {
  width: 45%;
  margin: 0 auto 56px;
}
.footer_txt01 {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.77;
  /* color: #fff; */
  text-align: center;
}
.footer_txt02 {
  padding-bottom: 9px;
  border-bottom: 1px solid #4d4d4d;
  margin-bottom: 2px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.7;
  /* color: #fff; */
  text-align: center;
}
.footer_copy {
  padding-bottom: 25px;
  font-size: 9px;
  line-height: 2;
  letter-spacing: 0.04em;
  font-weight: 500;
  /* color: #fff; */
  text-align: center;
}

@media screen and (max-width: 810px) {
  .tour_btnLink {
    display: block;
  }
  .left_wrap {
    display: none;
  }
  .right_wrap {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  img[src*="_pc"] {
    display: none;
  }

  img[src*="_sp"] {
    display: block;
  }

  .spbr {
    display: block;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }
}

@media screen and (max-width: 430px) {
  .mask {
    width: 100%;
    left: 0;
  }
  .modal-container.active {
    width: 100%;
    max-width: none;
    left: 0;
  }
  .mv_woman {
    width: 100%;
    /* height: 100%; */
    height: 0;
    padding-top: 32%;
    left: 0;
  }
  /* .mv_people {
    display: none;
  } */
  .left_blk {
    display: none;
  }
  .right_blk {
    display: none;
  }
  .center_blk {
    width: 100%;
    border: none;
    max-width: none;
  }
  .mv_mask {
    width: 100%;
    min-width: auto;
  }
  .mv_freeBox::before {
    display: none;
  }
  .ham {
    left: 0;
  }
  .header__navWrap {
    width: 100%;
    left: 0;
  }
}

@media screen and (max-width: 420px) {
  body {
    font-size: 14px;
  }
  .about_leftBox {
    margin-left: 0 !important;
  }
}

@media screen and (max-width: 375px) {
  .mv {
    min-height: none;
  }
  .key::before {
    display: none;
  }
  .guide_btnLink::before {
    right: 10px;
  }
  .guide_bgBottom::before {
    right: 29px;
  }
}
@media screen and (max-width: 350px) {
  .header__navInner {
    width: 100%;
  }
}
