@charset "UTF-8";
@font-face {
  font-family: "Zen Maru Gothic";
  src: url("../fonts/ZenMaruGothic-Regular.woff2") format("woff2"), url("../fonts/ZenMaruGothic-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Maru Gothic";
  src: url("../fonts/ZenMaruGothic-Medium.woff2") format("woff2"), url("../fonts/ZenMaruGothic-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Maru Gothic";
  src: url("../fonts/ZenMaruGothic-Bold.woff2") format("woff2"), url("../fonts/ZenMaruGothic-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Maru Gothic";
  src: url("../fonts/ZenMaruGothic-Black.woff2") format("woff2"), url("../fonts/ZenMaruGothic-Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Medium.woff2") format("woff2"), url("../fonts/Poppins-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SN Pro";
  src: url("../fonts/SNPro-Regular.woff2") format("woff2"), url("../fonts/SNPro-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SN Pro";
  src: url("../fonts/SNPro-SemiBold.woff2") format("woff2"), url("../fonts/SNPro-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
:root {
  --yellow: #ffdc23;
  --yellow2: #fed720;
  --yellow3: #fff9b1;
  --yellow4: #ffe665;
  --blue: #2dc3f0;
  --blue2: #0068b6;
  --orange: #e95504;
  --red: #e60012;
}

.pagetop {
  z-index: 4;
}

.cookie {
  z-index: 5;
}

.contents {
  background-color: var(--yellow3);
  color: #000;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  font-size: 1.4rem;
  letter-spacing: 0.01em;
}
@media (max-width: 1024px) {
  .contents {
    font-size: 1.2rem;
  }
}
body.lang_zh-CHT .contents, body.lang_zh-CHS .contents {
  font-family: "Zen Maru Gothic", "Yuanti SC", "Microsoft Yahei", "微软雅黑", sans-serif;
}
.contents.loading {
  position: relative;
}
.contents.loading::before {
  content: "";
  position: fixed;
  inset: 0;
  background: var(--yellow3);
  z-index: 9999;
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  transition: opacity 1s ease, visibility 0s linear 1s;
}
.contents.loading.done::before {
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
}
.contents .btn {
  display: inline-flex;
  margin: 24px auto 0 0;
}
@media (max-width: 1024px) {
  .contents .btn {
    margin: 0 auto 0 0;
  }
}
.contents .btn a {
  background: var(--orange);
  color: #fff;
  border-radius: 28px;
  font-size: 1.8rem;
  letter-spacing: 0.025em;
  width: auto;
  min-width: 260px;
  height: 56px;
  padding-block: 4px 5px;
  padding-inline: 1.5em 12px;
  gap: 0 12px;
  justify-content: space-between;
  text-align: center;
}
@media (max-width: 1024px) {
  .contents .btn a {
    min-width: 156px;
    max-width: 100%;
    border-radius: 17px;
    font-size: 1.1rem;
    height: 34px;
    gap: 0 8px;
    padding-inline: 1.5em 8px;
  }
}
.contents .btn a .btnText {
  max-width: calc(100% - 36px - 12px);
  flex-grow: 1;
  flex-shrink: 0;
}
@media (max-width: 1024px) {
  .contents .btn a .btnText {
    max-width: calc(100% - 22px - 8px);
  }
}
.contents .btn a .circle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: #fff;
  border-radius: 50%;
  flex-shrink: 0;
}
@media (max-width: 1024px) {
  .contents .btn a .circle {
    width: 22px;
    height: 22px;
  }
}
.contents .btn a .circle img {
  width: 17px;
  height: auto;
}
@media (max-width: 1024px) {
  .contents .btn a .circle img {
    width: 10px;
  }
}
.contents .btnList {
  display: flex;
  justify-content: space-between;
  max-width: 826px;
  margin: 114px auto 0;
}
@media (max-width: 1024px) {
  .contents .btnList {
    display: block;
    max-width: 100%;
    margin: 60px auto 0;
  }
}
.contents .btnList .btn {
  margin: 0;
}
.contents .btnList .btn a {
  width: 383px;
}
@media (max-width: 1024px) {
  .contents .btnList .btn a {
    width: 100%;
  }
}
@media (max-width: 1024px) {
  .contents .btnList .btn + .btn {
    margin-top: 24px;
  }
}
@media (max-width: 1024px) {
  .contents.detailPage .btn {
    width: 100%;
  }
}
.contents.detailPage .btn a {
  min-width: 315px;
  height: 74px;
  border-radius: 37px;
  font-size: 2.4rem;
}
@media (max-width: 1024px) {
  .contents.detailPage .btn a {
    min-width: auto;
    width: 88%;
    height: 60px;
    border-radius: 30px;
    font-size: 2rem;
    padding-right: 12px;
  }
}
.contents.detailPage .btn a .btnText {
  max-width: calc(100% - 42px - 12px);
}
@media (max-width: 1024px) {
  .contents.detailPage .btn a .btnText {
    max-width: calc(100% - 33px - 8px);
  }
}
.contents.detailPage .btn a .circle {
  width: 42px;
  height: 42px;
}
@media (max-width: 1024px) {
  .contents.detailPage .btn a .circle {
    width: 33px;
    height: 33px;
  }
}
.contents.detailPage .btn a .circle img {
  width: 19px;
}
@media (max-width: 1024px) {
  .contents.detailPage .btn a .circle img {
    width: 15px;
  }
}
@media (max-width: 767px) {
  body.lang_de .contents.detailPage .btn:not(.large) a, body.lang_it .contents.detailPage .btn:not(.large) a {
    line-height: 1;
  }
}
body.lang_ru .contents.detailPage .btn:not(.large) a {
  line-height: 1;
}
@media (max-width: 1024px) {
  .contents.detailPage .btnList .btn a {
    font-size: 1.8rem;
  }
}
.contents.detailPage .btn.large {
  margin-top: 60px;
}
@media (max-width: 1024px) {
  .contents.detailPage .btn.large {
    margin-top: 50px;
  }
}
.contents.detailPage .btn.large a {
  width: 361px;
  height: 106px;
  border-radius: 53px;
  font-size: 2.4rem;
}
@media (min-width: 1025px) {
  .contents.detailPage .btn.large a {
    padding-right: 24px;
  }
}
@media (max-width: 1024px) {
  .contents.detailPage .btn.large a {
    width: 89%;
    height: 60px;
    border-radius: 30px;
    font-size: 2rem;
    padding-left: 2em;
  }
}
@media (max-width: 767px) {
  body.lang_ru .contents.detailPage .btn.large a {
    line-height: 1;
  }
}
@media (min-width: 1025px) {
  .contents.detailPage .btn.large a .btnText {
    max-width: calc(100% - 50px - 12px);
  }
  .contents.detailPage .btn.large a .circle {
    width: 50px;
    height: 50px;
  }
  .contents.detailPage .btn.large a .circle img {
    width: 21px;
    height: auto;
  }
}
.contents.detailPage .btn.center {
  width: 100%;
}
.contents.detailPage .btn.center a {
  margin-inline: auto;
}

.wrapper {
  width: auto;
}

.bg_yellow {
  background: var(--yellow);
}

.bg_blue {
  background: var(--blue);
}

.photo {
  margin: 0;
}

.round {
  overflow: hidden;
  border-radius: 20px;
}

.marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-bottom: -24px;
  z-index: 1;
}
.marqueeInner {
  display: flex;
  align-items: center;
  width: fit-content;
  animation: marquee 30s linear infinite;
}
.marqueeInner span {
  white-space: nowrap;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0;
  font-size: 12rem;
  color: var(--yellow2);
  padding-right: 1.5em;
}
@media (max-width: 1024px) {
  .marqueeInner span {
    font-size: 5rem;
  }
}
.marquee .illust {
  display: inline-block;
  flex: 0 0 auto;
  margin: 0.5% 1.5em 0 -3em;
}
.marquee .illust img {
  width: 152px !important;
  height: auto;
  flex-shrink: 0;
}
@media (max-width: 1024px) {
  .marquee .illust img {
    width: 62px !important;
  }
}

@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.hide {
  transform: translateX(155%);
  transition: transform 0.8s ease;
}
@media (max-width: 1024px) {
  .hide {
    transform: translateX(130%);
  }
}

.slidein {
  transform: translateX(0);
}

.fade {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  transition-delay: 0.5s;
}

.fadein {
  opacity: 1;
  visibility: visible;
}

.bg_stars {
  position: absolute;
  inset: 0;
  max-width: 1500px;
  margin-inline: auto;
}
@media screen and (max-width: 1500px) {
  .bg_stars {
    max-width: 100%;
  }
}
.bg_stars img {
  object-fit: cover;
  width: 100%;
  height: auto;
}
section:has(.bg_stars) {
  overflow: hidden;
}
.bg_stars02 {
  bottom: auto;
  top: 100%;
}
section:has(.bg_stars02) {
  overflow: visible;
}

.character {
  position: absolute;
  z-index: 1;
}
.character img {
  width: 100%;
  height: auto;
}

.bg_block {
  padding: 40px 80px 70px;
  border-radius: 35px;
  background: var(--yellow3);
  margin-block: 70px;
}
@media (max-width: 1024px) {
  .bg_block {
    padding: 40px 17px 40px;
    margin-block: 40px;
  }
}
.bg_block.white {
  background: #fff;
}

body.lang_en .contents h2,
body.lang_en .contents h3,
body.lang_en .contents h4,
body.lang_fr .contents h2,
body.lang_fr .contents h3,
body.lang_fr .contents h4,
body.lang_de .contents h2,
body.lang_de .contents h3,
body.lang_de .contents h4,
body.lang_es .contents h2,
body.lang_es .contents h3,
body.lang_es .contents h4,
body.lang_it .contents h2,
body.lang_it .contents h3,
body.lang_it .contents h4,
body.lang_id .contents h2,
body.lang_id .contents h3,
body.lang_id .contents h4,
body.lang_ms .contents h2,
body.lang_ms .contents h3,
body.lang_ms .contents h4,
body.lang_vi .contents h2,
body.lang_vi .contents h3,
body.lang_vi .contents h4 {
  text-transform: capitalize;
}

/* ::::::::::  まちがいさがし  :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* =========================================================
fv
========================================================= */
.fv {
  position: relative;
}
.fv .wrapper {
  padding-block: 90px 90px;
  z-index: 1;
}
@media (max-width: 1024px) {
  .fv .wrapper {
    padding-block: 56px 100px;
    max-width: 84%;
  }
}
@media (max-width: 767px) {
  .fv .wrapper {
    padding-block: 32px 100px;
  }
}
.fv .wrapper02 {
  max-width: 990px;
  margin-inline: auto;
}
@media (max-width: 1024px) {
  .fv .wrapper02 {
    max-width: none;
  }
}
.fv .collaboLogo {
  text-align: center;
  margin: 0 0 64px;
}
@media (max-width: 1024px) {
  .fv .collaboLogo {
    margin: 0 0 40px;
  }
}
.fv .collaboLogo img {
  width: 954px;
  height: auto;
}
@media (max-width: 1024px) {
  .fv .collaboLogo img {
    width: 87.6%;
  }
}
.fv .illust {
  display: block;
  background: #fff;
}
.fv .illust img {
  object-fit: cover;
  aspect-ratio: 1;
  width: 100%;
  height: auto;
  scale: 0.8;
}
.fv .illustSlideWrap {
  position: relative;
  max-width: 635px;
  margin-inline: auto;
}
@media (max-width: 1024px) {
  .fv .illustSlideWrap {
    max-width: calc(75% + 32px);
  }
}
.fv .mainSwiper {
  max-width: 580px;
  margin-inline: auto;
  overflow: visible;
}
@media (max-width: 1024px) {
  .fv .mainSwiper {
    max-width: 100%;
  }
}
@media (min-width: 1025px) {
  .fv .mainSwiper .illust {
    text-align: center;
  }
  .fv .mainSwiper .illust img {
    aspect-ratio: unset;
    max-width: 558px;
    max-height: 552px;
    width: calc((100vh - 95px) * 580 / 850);
    height: calc((100vh - 95px) * 552 / 850);
  }
}
.fv .mainSwiper .hotelName {
  font-size: 2.4rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  padding-block: 28px 32px;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
  margin-inline: calc(50% - 50vw);
}
@media (max-width: 1024px) {
  .fv .mainSwiper .hotelName {
    font-size: 1.5rem;
    padding-block: 10px 20px;
  }
}
.fv .mainSwiper .swiper-slide-active .hotelName {
  opacity: 1;
  visibility: visible;
  transition: all 0s;
}
.fv .mainSwiper:not(.swiper-initialized) .swiper-slide:not(:first-child) {
  display: none;
}
.fv .thumbSwiper:not(.swiper-initialized) .swiper-slide:not(:first-child) {
  display: none;
}
.fv .thumbSwiper .illustGrid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px 18px;
}
@media (max-width: 767px) {
  .fv .thumbSwiper .illustGrid {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px 12px;
  }
}
.fv .thumbSwiper .listItem {
  cursor: pointer;
}
.fv .thumbSwiper .listItem .illust {
  border: 5px solid #fff;
}
.fv .thumbSwiper .listItem.is-active .illust {
  border-color: var(--orange);
}
.fv .swiper-button-prev,
.fv .swiper-button-next {
  top: 50%;
  transform: translateY(calc(-50% - 55px));
  width: 55px;
  height: 55px;
  margin-top: 0;
  border-radius: 50%;
  background: var(--orange) url("../img/machigaisagashi/icon_arrow.svg") no-repeat calc(50% + 2px) center/15px auto;
  color: #fff;
  z-index: 1;
}
@media (max-width: 1024px) {
  .fv .swiper-button-prev,
  .fv .swiper-button-next {
    transform: translateY(calc(-50% - 32px));
    width: 32px;
    height: 32px;
    background-size: 8px auto;
  }
}
.fv .swiper-button-prev::after,
.fv .swiper-button-next::after {
  content: none !important;
}
.fv .swiper-button-prev {
  left: 0;
  transform: translateY(calc(-50% - 55px)) rotate(180deg);
}
@media (max-width: 1024px) {
  .fv .swiper-button-prev {
    left: -16px;
    transform: translateY(calc(-50% - 32px)) rotate(180deg);
  }
}
.fv .swiper-button-next {
  right: 0;
}
@media (max-width: 1024px) {
  .fv .swiper-button-next {
    right: -16px;
  }
}
.fv .swiper-pagination {
  position: static;
  margin: 20px 0 0;
}
@media (max-width: 1024px) {
  .fv .swiper-pagination {
    margin: 10px 0 0;
  }
}
.fv .swiper-pagination-bullet {
  width: 13px;
  height: 13px;
  margin: 0 7px !important;
  font-size: 1.3rem;
}
@media (max-width: 1024px) {
  .fv .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
  }
}
.fv .swiper-pagination-bullet-active {
  position: relative;
  background: var(--orange);
}
.fv .swiper-pagination-bullet-active::before {
  content: "";
  position: absolute;
  inset: -3.5px;
  margin: auto;
  width: 20px;
  height: 20px;
  background: var(--orange);
  border-radius: 50%;
  transition: all 0.3s;
}
@media (max-width: 1024px) {
  .fv .swiper-pagination-bullet-active::before {
    width: 10px;
    height: 10px;
  }
}
.fv .pop01 {
  position: absolute;
  bottom: calc(375px + (100vh - 95px) * 552 / 850 - 160px);
  left: 107px;
  display: grid;
  place-items: center;
  z-index: 2;
}
@media screen and (max-width: 1250px) {
  .fv .pop01 {
    left: calc((100vw - 580px) / 2 - 210px);
  }
}
@media (max-width: 1024px) {
  .fv .pop01 {
    bottom: auto;
    top: calc(76px + 11.6vw - 15px);
    left: calc((100vw - 84%) / 2 - 130px);
  }
}
@media (max-width: 767px) {
  .fv .pop01 {
    top: calc(32px + 29.6vw + 15px);
    left: calc((100vw - 84%) / 2 - 100px);
  }
}
.fv .pop01 .popBg {
  grid-area: 1/1;
}
.fv .pop01 .popBg img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 1024px) {
  .fv .pop01 .popBg img {
    width: 87px;
  }
}
.fv .pop01 .text {
  grid-area: 1/1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 340px;
  height: 100%;
  padding: 16px;
  text-align: center;
  color: #fff;
  font-size: 2.3rem;
  letter-spacing: 0.025em;
  font-weight: 700;
}
@media (max-width: 1024px) {
  .fv .pop01 .text {
    min-width: 170px;
    padding: 8px;
    font-size: 1.1rem;
  }
}
.fv .pop01 .text .number {
  display: inline-block;
  margin-right: 4px;
  margin-bottom: 4px;
  vertical-align: baseline;
  width: 49px;
  height: auto;
}
@media (max-width: 1024px) {
  .fv .pop01 .text .number {
    margin-right: 1px;
    margin-bottom: 2px;
    width: 23px;
  }
}
.fv .pop01 .text_flex {
  display: flex;
  align-items: flex-end;
}
.fv .pop01 .text p {
  display: inline-block;
}
.fv .pop01 .text p.text_second {
  max-width: 64%;
}
body.lang_fr .fv .pop01 .text, body.lang_de .fv .pop01 .text, body.lang_es .fv .pop01 .text, body.lang_vi .fv .pop01 .text, body.lang_ms .fv .pop01 .text, body.lang_ru .fv .pop01 .text {
  scale: 0.9;
}
@media (max-width: 1024px) {
  body.lang_fr .fv .pop01 .text, body.lang_de .fv .pop01 .text, body.lang_es .fv .pop01 .text, body.lang_vi .fv .pop01 .text, body.lang_ms .fv .pop01 .text, body.lang_ru .fv .pop01 .text {
    scale: 0.7;
  }
}
@media (max-width: 1024px) {
  body.lang_it .fv .pop01 .text {
    scale: 0.7;
  }
}
@media (max-width: 1024px) {
  body.lang_id .fv .pop01 .text {
    scale: 0.8;
  }
}
body.lang_th .fv .pop01 .text {
  scale: 0.7;
}
body.lang_th .fv .pop01 .text .text_flex {
  width: 84%;
  justify-content: center;
  flex-wrap: wrap;
}
.fv .fukidashi {
  position: absolute;
  bottom: 520px;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--yellow);
  padding: 17px 32px;
  border-radius: 50%;
  width: 270px;
  min-height: 91px;
  overflow: visible;
  font-size: 2rem;
  line-height: 1.4;
  z-index: 2;
  text-align: center;
}
@media (min-width: 1025px) {
  body.lang_fr .fv .fukidashi {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 1250px) {
  .fv .fukidashi {
    right: 2%;
  }
}
@media (min-width: 1025px) and (max-width: 1171px) {
  .fv .fukidashi {
    width: 200px;
    font-size: 1.8rem;
    right: 1%;
  }
  body.lang_fr .fv .fukidashi, body.lang_ru .fv .fukidashi {
    font-size: 1.4rem;
  }
  body.lang_it .fv .fukidashi {
    font-size: 1.6rem;
  }
}
@media (max-width: 1024px) {
  .fv .fukidashi {
    right: auto;
    left: calc((100vw - 84%) / 2 + 170px + 20px);
    bottom: 0;
    font-size: 1.2rem;
    width: 200px;
    max-width: 62.5%;
    min-height: 60px;
    padding: 16px 20px;
  }
}
@media (max-width: 767px) {
  .fv .fukidashi {
    left: calc((100vw - 84%) / 2 - 40px + 24.8% + 20px);
  }
}
.fv .fukidashi::before {
  content: "";
  position: absolute;
  left: 6%;
  bottom: -10%;
  rotate: 45deg;
  border-width: 48px 12px 0px 12px;
  border-style: solid;
  border-color: var(--yellow) transparent transparent transparent;
  z-index: -1;
}
@media (max-width: 1024px) {
  .fv .fukidashi::before {
    left: auto;
    right: 100%;
    bottom: calc(50% - 10px);
    border-width: 20px 5px 0px 5px;
    rotate: 90deg;
  }
}
.fv .fukidashi br.tab {
  display: none;
}
@media (min-width: 1025px) and (max-width: 1171px) {
  .fv .fukidashi br.tab {
    display: block;
  }
}
.fv .character01 {
  width: 170px;
  top: 190px;
  right: -73px;
  transform: translateY(-200%);
}
@media screen and (max-width: 1250px) {
  .fv .character01 {
    right: 2%;
  }
}
.fv .character01.is_ready {
  transition: transform 0.8s ease;
}
.fv .character01.slidein_down {
  transform: translateY(0);
}
.fv .character02 {
  width: 164px;
  bottom: 192px;
  left: -94px;
}
@media screen and (max-width: 1250px) {
  .fv .character02 {
    bottom: 252px;
    left: 2%;
  }
}
.fv .character03 {
  width: 170px;
  bottom: 376px;
  right: 197px;
}
@media screen and (max-width: 1250px) {
  .fv .character03 {
    right: calc((100vw - 580px) / 2 - 120px);
  }
}
@media (max-width: 1024px) {
  .fv .character03 {
    right: auto;
    left: calc((100vw - 84%) / 2);
    bottom: -20px;
    width: 170px;
  }
}
@media (max-width: 767px) {
  .fv .character03 {
    left: calc((100vw - 84%) / 2 - 40px);
    bottom: 0;
    width: 24.8%;
  }
}
.fv .character04 {
  width: 154px;
  bottom: 40px;
  right: -30px;
}
@media screen and (max-width: 1250px) {
  .fv .character04 {
    bottom: 0;
    right: 2%;
  }
}
@media (max-width: 1024px) {
  .fv .marquee {
    margin: 0 0 20px;
  }
}
.detailPage .fv .wrapper {
  max-width: 1240px;
}
@media screen and (max-width: 1250px) {
  .detailPage .fv .wrapper {
    max-width: 84%;
    padding-bottom: 20px;
  }
}
@media (min-width: 1025px) {
  .detailPage .fv .collaboLogo img {
    width: 632px;
  }
}
.detailPage .fvInner {
  position: relative;
}
.detailPage .fv .pop01 {
  top: 0;
  bottom: 0;
  left: 0;
  margin-block: auto;
}
@media screen and (max-width: 1250px) {
  .detailPage .fv .pop01 {
    left: -16.5%;
  }
}
@media (max-width: 1024px) {
  .detailPage .fv .pop01 {
    top: calc(100% + 28px);
    bottom: auto;
    left: -13%;
    margin: 0;
  }
}
.detailPage .fv .character01 {
  transform: none;
  transition: none;
  top: auto;
  right: auto;
  left: 0;
  bottom: 7%;
  width: 127px;
}
@media (max-width: 1024px) {
  .detailPage .fv .character01 {
    left: -5%;
    bottom: 5%;
    width: 24.3%;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .detailPage .fv .character01 {
    left: -4%;
    bottom: -8%;
  }
  :lang(ja) .detailPage .fv .character01 {
    bottom: 12%;
  }
}
.detailPage .fv .character09 {
  right: 3%;
  bottom: -23%;
  width: 146px;
  rotate: -7deg;
}
@media (max-width: 1024px) {
  .detailPage .fv .character09 {
    right: 0;
    bottom: -23%;
    width: 28%;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .detailPage .fv .character09 {
    right: -4%;
    bottom: -36%;
  }
  :lang(ja) .detailPage .fv .character09 {
    bottom: 12%;
  }
}
.detailPage .fv .character04 {
  width: 143px;
  bottom: auto;
  top: 74%;
  right: 4%;
  z-index: -1;
  transform: translateY(150%);
}
@media screen and (max-width: 1250px) {
  .detailPage .fv .character04 {
    right: -4%;
  }
}
.detailPage .fv .character04.is_ready {
  transition: transform 0.8s ease;
}
.detailPage .fv .character04.slidein_up {
  transform: translateY(0);
}
.detailPage .fv .marquee {
  margin-block: 33px 63px;
}
@media (max-width: 1024px) {
  .detailPage .fv .marquee {
    margin-block: 30px 25px;
  }
}
.detailPage .fv .marquee .illust {
  background: none;
}
.detailPage .fv .marquee .illust img {
  object-fit: unset;
  aspect-ratio: unset;
  scale: 1;
}
@media (min-width: 1025px) {
  .detailPage .fv .bg_stars02 {
    top: calc(100% - 30px);
  }
}

/* =========================================================
introduce
========================================================= */
.introduce .wrapper {
  padding: 70px 0 96px;
  text-align: center;
}
@media (max-width: 1024px) {
  .introduce .wrapper {
    padding-block: 56px 56px;
  }
}
.introduce .catch {
  position: relative;
  display: inline-block;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  margin: 0 0 30px;
}
@media (max-width: 1024px) {
  .introduce .catch {
    font-size: 1.4rem;
    margin: 0 0 20px;
    max-width: calc(100% - 80px);
  }
}
.introduce .catch::before, .introduce .catch::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin-block: auto;
  width: 74px;
  height: 3px;
  background: #000;
}
@media (max-width: 1024px) {
  .introduce .catch::before, .introduce .catch::after {
    width: 45px;
    height: 2px;
  }
}
.introduce .catch::before {
  left: -60px;
  rotate: 60deg;
}
@media (max-width: 1024px) {
  .introduce .catch::before {
    left: -40px;
  }
}
.introduce .catch::after {
  right: -60px;
  rotate: -60deg;
}
@media (max-width: 1024px) {
  .introduce .catch::after {
    right: -40px;
  }
}
.introduceLogo {
  font-size: 5.6rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--orange);
  margin: 0 0 20px;
}
@media (max-width: 1024px) {
  .introduceLogo {
    font-size: 2.7rem;
  }
}
.introduceLogo img {
  width: 434px;
  height: auto;
  margin-bottom: -4px;
  vertical-align: baseline;
}
@media (max-width: 1024px) {
  .introduceLogo img {
    width: 70%;
    max-width: 434px;
  }
}
.introduceLogo span {
  font-size: 6.4rem;
  font-weight: 900;
}
@media (max-width: 1024px) {
  .introduceLogo span {
    font-size: 3.1rem;
  }
}
body.lang_en .introduceLogo span, body.lang_fr .introduceLogo span, body.lang_de .introduceLogo span, body.lang_es .introduceLogo span, body.lang_it .introduceLogo span, body.lang_th .introduceLogo span, body.lang_vi .introduceLogo span, body.lang_id .introduceLogo span, body.lang_ms .introduceLogo span, body.lang_ru .introduceLogo span, body.lang_ar .introduceLogo span {
  margin-right: 0.25em;
}
@media screen and (max-width: 1250px) {
  :lang(ja) .introduceLogo br.sp {
    display: block;
  }
}
body.lang_en .introduceLogo br.sp, body.lang_fr .introduceLogo br.sp, body.lang_de .introduceLogo br.sp, body.lang_es .introduceLogo br.sp, body.lang_it .introduceLogo br.sp, body.lang_th .introduceLogo br.sp, body.lang_vi .introduceLogo br.sp, body.lang_id .introduceLogo br.sp, body.lang_ms .introduceLogo br.sp, body.lang_ru .introduceLogo br.sp, body.lang_ar .introduceLogo br.sp {
  display: block;
}
.introduceLogo.jaExc {
  font-size: 4.8rem;
}
@media (max-width: 1024px) {
  .introduceLogo.jaExc {
    font-size: 2.3rem;
  }
}
.introduce .lead {
  font-size: 2.4rem;
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .introduce .lead {
    font-size: 1.4rem;
  }
}
.introduce .trgsLogo,
.introduce .trgsText {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
}
.introduce .trgsLogo small,
.introduce .trgsText small {
  font-size: 1.7rem;
  line-height: 1.6;
  height: 27px;
  margin: 0 0 2px;
}
@media (max-width: 1024px) {
  .introduce .trgsLogo small,
  .introduce .trgsText small {
    font-size: 1.1rem;
    height: 17px;
  }
}
.introduce .trgsText {
  height: 57px;
}
@media (max-width: 1024px) {
  .introduce .trgsText {
    height: 36px;
  }
  .introduce .trgsText:first-child {
    display: block;
    height: auto !important;
    margin-bottom: -32px;
  }
}
:not(:lang(ja)) .introduce .trgsText {
  height: auto !important;
}
@media (max-width: 1024px) {
  :not(:lang(ja)) .introduce .trgsText {
    margin-bottom: 0;
  }
}
.introduce .trgsLogo {
  transform: translateY(4px);
}
.introduce .trgsLogo small {
  display: block;
}
.introduce .trgsLogo img {
  width: auto;
  height: 28px;
  margin-inline: 0.5em;
  vertical-align: baseline;
}
@media (max-width: 1024px) {
  .introduce .trgsLogo img {
    height: 17px;
    max-height: 28px;
  }
}
@media screen and (max-width: 1250px) {
  .detailPage .fv .introduce {
    margin-inline: calc(50% - 50vw);
  }
}
.detailPage .fv .introduceInner {
  display: flex;
  align-items: center;
  gap: 40px 40px;
  padding: 84px 44px;
}
@media (max-width: 1024px) {
  .detailPage .fv .introduceInner {
    flex-direction: column;
    padding: 40px 8% 80px;
  }
}
@media (max-width: 767px) {
  .detailPage .fv .introduceInner {
    padding: 40px 5% 80px;
  }
}
.detailPage .fv .introduce .illust {
  width: 34.7%;
  background: none;
  flex-shrink: 0;
}
@media (max-width: 1024px) {
  .detailPage .fv .introduce .illust {
    width: 67.9%;
  }
}
.detailPage .fv .introduce .illust img {
  scale: 1.08;
}
.detailPage .fv .introduceBlock {
  position: relative;
  flex-grow: 1;
}
@media (max-width: 1024px) {
  .detailPage .fv .introduceBlock {
    width: 100%;
    text-align: center;
  }
}
.detailPage .fv .introduce .catch {
  font-size: 2.1rem;
  text-align: center;
  padding-left: 60px;
}
@media (max-width: 1024px) {
  .detailPage .fv .introduce .catch {
    font-size: 1.4rem;
    padding-left: 0;
    max-width: 100%;
  }
}
.detailPage .fv .introduce .catch::before, .detailPage .fv .introduce .catch::after {
  width: 66px;
}
@media (max-width: 1024px) {
  .detailPage .fv .introduce .catch::before, .detailPage .fv .introduce .catch::after {
    width: 45px;
  }
}
@media (min-width: 1025px) {
  .detailPage .fv .introduce .catch::before {
    left: 0;
  }
}
@media (min-width: 1025px) {
  .detailPage .fv .introduceLogo {
    font-size: 3.7rem;
  }
  .detailPage .fv .introduceLogo span {
    font-size: 4.9rem;
  }
  .detailPage .fv .introduceLogo img {
    width: 262px;
  }
  .detailPage .fv .introduce .lead {
    font-size: 1.8rem;
    line-height: 1.9;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1250px) {
  :lang(ja) .detailPage .fv .introduce .trgsText small.pc {
    display: none;
  }
  :lang(ja) .detailPage .fv .introduce .trgsText:first-child {
    height: auto;
  }
  :lang(ja) .detailPage .fv .introduce .trgsText:first-child + br.sp {
    display: block !important;
  }
}
@media (min-width: 1025px) {
  .detailPage .fv .introduce .trgsLogo small,
  .detailPage .fv .introduce .trgsText small {
    font-size: 1.6rem;
    height: 25px;
    text-align: center;
  }
}
@media (min-width: 1025px) and (min-width: 1025px) {
  .detailPage .fv .introduce .trgsLogo img {
    height: 27px;
  }
}

/* =========================================================
profile
========================================================= */
.profile {
  position: relative;
}
@media (max-width: 1024px) {
  .profile {
    overflow: visible !important;
  }
}
.profile .wrapper {
  max-width: 708px;
  padding-block: 170px 130px;
  z-index: 1;
}
@media (max-width: 1024px) {
  .profile .wrapper {
    max-width: 84%;
    padding-block: 56px 56px;
  }
}
.profileWrap {
  display: flex;
}
@media (max-width: 1024px) {
  .profileWrap {
    display: block;
  }
}
.profileWrap .illust {
  display: block;
  width: 38%;
  flex-shrink: 0;
  padding-right: 40px;
}
@media (max-width: 1024px) {
  .profileWrap .illust {
    width: 100%;
    padding-right: 0;
    margin-bottom: 30px;
    text-align: center;
  }
}
.profileWrap .illust img {
  width: 234px;
  height: auto;
}
@media (max-width: 1024px) {
  .profileWrap .illust img {
    width: 42%;
  }
}
.profileText {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
@media (max-width: 1024px) {
  .profileText {
    display: block;
    width: 100%;
  }
}
.profileText .fukidashi {
  display: inline-block;
  position: relative;
  background: var(--blue2);
  color: #fff;
  line-height: 1.7;
  border-radius: 14px;
  padding: 2px 1.5em;
  margin-bottom: 9px;
}
@media (max-width: 1024px) {
  .profileText .fukidashi {
    border-radius: 10px;
    margin-bottom: 7px;
  }
}
.profileText .fukidashi::before {
  content: "";
  position: absolute;
  left: calc(50% - 3px);
  top: 100%;
  border-width: 7px 3px 0 3px;
  border-style: solid;
  border-color: var(--blue2) transparent transparent transparent;
}
@media (max-width: 1024px) {
  .profileText .fukidashi::before {
    left: calc(50% - 2px);
    border-width: 5px 2px 0 2px;
  }
}
.profileText .name {
  display: flex;
  flex-direction: column;
}
.profileText .name span {
  font-family: "SN Pro", sans-serif;
  letter-spacing: 0.025em;
  font-weight: 400;
  font-size: 3.2rem;
}
@media (max-width: 1024px) {
  .profileText .name span {
    font-size: 2.4rem;
  }
}
.profileText .name small {
  display: block;
  font-size: 1.7rem;
  margin: -5px 0 0;
}
@media (max-width: 1024px) {
  .profileText .name small {
    font-size: 1.4rem;
  }
}
.profileText .title {
  font-family: "SN Pro", sans-serif;
  letter-spacing: 0.025em;
  font-weight: 400;
  font-weight: 600;
  color: var(--blue2);
  margin: auto 0 0;
}
@media (max-width: 1024px) {
  .profileText .title {
    font-size: 1.1rem;
    margin: 20px 0 0;
  }
}
.profileText .text {
  font-size: 1.3rem;
  line-height: 1.7;
}
@media (max-width: 1024px) {
  .profileText .text {
    font-size: 1.2rem;
    line-height: 1.58;
  }
}
:lang(ja) .profileText .text {
  margin-right: -1em;
}
@media (max-width: 767px) {
  :lang(ja) .profileText .text {
    letter-spacing: -0.01em;
  }
}
.profileText .officialSite {
  color: var(--blue2);
  margin: 4px 0 0;
  font-size: 1.5rem;
  line-height: 1.7;
}
@media (max-width: 1024px) {
  .profileText .officialSite {
    font-size: 1.3rem;
    line-height: 1.58;
  }
}
.profileText .officialSite a {
  display: inline-block;
  text-decoration: none;
  margin-left: 1em;
  color: var(--blue2);
}
.profile .comment {
  position: relative;
  background: #fff;
  color: var(--blue2);
  padding: 22px 48px;
  margin: 40px 0 0;
  border: 4px solid var(--blue2);
  overflow: visible;
  font-size: 1.8rem;
  line-height: 1.9;
}
@media (max-width: 1024px) {
  .profile .comment {
    padding: 20px 22px;
    font-size: 1.2rem;
    line-height: 1.6;
    margin: 30px -2px 0;
    border-radius: 10px;
  }
}
@media (max-width: 767px) {
  :lang(ja) .profile .comment {
    letter-spacing: -0.01em;
  }
}
.profile .comment::before {
  content: "";
  position: absolute;
  left: 17%;
  bottom: 100%;
  border-width: 0 13px 20px 13px;
  border-style: solid;
  border-color: transparent transparent var(--blue2) transparent;
}
@media (max-width: 1024px) {
  .profile .comment::before {
    left: 13%;
    border-width: 0 8px 15px 8px;
  }
}
.profile .comment::after {
  content: "";
  position: absolute;
  left: calc(17% + 4px);
  bottom: calc(100% - 2px);
  border-width: 0 9px 16px 9px;
  border-style: solid;
  border-color: transparent transparent #fff transparent;
}
@media (max-width: 1024px) {
  .profile .comment::after {
    left: calc(13% + 4px);
    border-width: 0 4px 11px 4px;
  }
}
.profile .character05 {
  width: 174px;
  z-index: -1;
  bottom: 30%;
  right: -30%;
}
@media screen and (max-width: 1250px) {
  .profile .character05 {
    right: -25%;
  }
}
@media (max-width: 1024px) {
  .profile .character05 {
    bottom: auto;
    top: -4%;
    right: 3%;
    width: 27%;
  }
}
.profile .character06 {
  width: 154px;
  bottom: 37.5%;
  right: -30%;
  rotate: 10deg;
}
@media screen and (max-width: 1250px) {
  .profile .character06 {
    right: -25%;
  }
}
@media (max-width: 1024px) {
  .profile .character06 {
    bottom: auto;
    top: 21%;
    right: auto;
    left: 74%;
    width: 20.5%;
    rotate: 7deg;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .profile .character06 {
    top: 30%;
  }
}
.profile .character14 {
  width: 178px;
  top: 13.5%;
  left: -34%;
  rotate: -21deg;
}
@media screen and (max-width: 1250px) {
  .profile .character14 {
    left: -24%;
  }
}
@media (max-width: 1024px) {
  .profile .character14 {
    left: 4%;
    top: 22%;
    width: 26.5%;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .profile .character14 {
    top: 30%;
  }
}
.detailPage .profile {
  margin-bottom: -130px;
}
@media (max-width: 1024px) {
  .detailPage .profile {
    margin-bottom: -56px;
  }
}

/* =========================================================
hotels
========================================================= */
.hotels {
  position: relative;
  overflow: hidden;
}
.hotels::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 202vw;
  height: 202vw;
  background: var(--yellow);
  border-radius: 50%;
  z-index: 1;
}
@media (max-width: 1024px) {
  .hotels::before {
    width: 266vw;
    height: 266vw;
  }
}
.hotels::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: var(--yellow);
}
@media (max-width: 1024px) {
  .hotels::after {
    height: 75%;
  }
}
.hotels .wrapper {
  max-width: 1060px;
  padding-block: 110px 90px;
  z-index: 1;
  text-align: center;
}
@media (max-width: 1024px) {
  .hotels .wrapper {
    max-width: 84%;
    padding-block: 56px 56px;
  }
}
@media (max-width: 767px) {
  .hotels .wrapper {
    padding-block: 50px 50px;
  }
}
.hotels .catch {
  position: relative;
  display: inline-block;
  font-size: 2.4rem;
  letter-spacing: 0.025em;
  font-weight: 700;
}
@media (max-width: 1024px) {
  .hotels .catch {
    font-size: 1.4rem;
    margin: 0 0 10px;
    max-width: calc(100% - 64px);
  }
}
.hotels .catch::before, .hotels .catch::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin-block: auto;
  width: 36px;
  height: 3px;
  background: #000;
}
@media (max-width: 1024px) {
  .hotels .catch::before, .hotels .catch::after {
    width: 22px;
    height: 2px;
  }
}
.hotels .catch::before {
  left: -48px;
  rotate: 60deg;
}
@media (max-width: 1024px) {
  .hotels .catch::before {
    left: -32px;
  }
}
.hotels .catch::after {
  right: -48px;
  rotate: -60deg;
}
@media (max-width: 1024px) {
  .hotels .catch::after {
    right: -32px;
  }
}
.hotelsTitle {
  font-size: 5.6rem;
  font-weight: 700;
  color: #000;
  margin: 0 0 30px;
}
@media (max-width: 1024px) {
  .hotelsTitle {
    font-size: 2.4rem;
    margin: 0 0 20px;
  }
}
.hotels .lead {
  font-size: 1.8rem;
  line-height: 2;
  margin: 0 0 110px;
}
@media (max-width: 1024px) {
  .hotels .lead {
    font-size: 1.2rem;
    margin: 0 0 70px;
  }
}
.hotelsList {
  display: flex;
  flex-direction: column;
  gap: 190px 0;
  margin: 0 0 200px;
}
@media (max-width: 1024px) {
  .hotelsList {
    gap: 80px 0;
    margin: 0 0 90px;
    max-width: 88%;
    margin-inline: auto;
  }
}
.hotelsList .listItem {
  display: flex;
  gap: 24px 30px;
}
@media (max-width: 1024px) {
  .hotelsList .listItem {
    position: relative;
    flex-direction: column;
    gap: 17px 30px;
  }
}
@media (min-width: 1025px) {
  .hotelsList .listItem:nth-child(even) {
    position: relative;
  }
  .hotelsList .listItem:nth-child(even) .textBlock {
    position: static;
  }
}
.hotelsList .listItem:nth-child(even) .photo {
  margin-left: 23%;
}
@media screen and (max-width: 1250px) {
  .hotelsList .listItem:nth-child(even) .photo {
    margin-left: 11.5%;
  }
}
@media (max-width: 1024px) {
  .hotelsList .listItem:nth-child(even) .photo {
    margin-left: 0;
  }
}
@media (min-width: 1025px) {
  .hotelsList .btn a {
    max-width: 334px;
  }
}
.hotelsList .photo {
  position: relative;
  width: 42.6%;
  overflow: visible;
}
@media (max-width: 1024px) {
  .hotelsList .photo {
    width: 100%;
  }
}
.hotelsList .photo.round {
  border-radius: 10px;
}
.hotelsList .photo.round img {
  border-radius: inherit;
}
.hotelsList .photo::after {
  content: "";
  position: absolute;
  top: calc(100% - 247px);
  left: calc(100% - 122px);
  width: 372px;
  height: 372px;
  background: var(--yellow4);
  border-radius: 50%;
  z-index: -1;
}
@media (max-width: 1024px) {
  .hotelsList .photo::after {
    top: 50%;
    left: 52%;
    width: 59vw;
    height: 59vw;
  }
}
.hotelsList .photo img {
  object-fit: cover;
  aspect-ratio: 45/30;
  width: 100%;
  height: auto;
}
.hotelsList .textBlock {
  position: relative;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  text-align: left;
}
@media (max-width: 1024px) {
  .hotelsList .textBlock {
    display: contents;
  }
}
.hotelsList .hotelName {
  font-size: 3rem;
  letter-spacing: 0.025em;
  line-height: 1.46;
  margin-top: auto;
  margin-right: -1em;
}
@media (max-width: 1024px) {
  .hotelsList .hotelName {
    font-size: 1.8rem;
  }
  :not(:lang(ja)) .hotelsList .hotelName {
    margin-right: -2em;
  }
}
.hotels .character .number {
  position: absolute;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2;
  rotate: 18deg;
  width: max-content;
  white-space: nowrap;
}
@media (max-width: 1024px) {
  .hotels .character .number {
    font-size: 1rem;
    line-height: 1.8;
  }
}
.hotels .character .number::before, .hotels .character .number::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin-block: auto;
  width: 18px;
  height: 2px;
  background: #000;
}
@media (max-width: 1024px) {
  .hotels .character .number::before, .hotels .character .number::after {
    width: 13px;
    height: 1px;
  }
}
.hotels .character .number::before {
  left: -20px;
  rotate: 60deg;
}
@media (max-width: 1024px) {
  .hotels .character .number::before {
    left: -16px;
  }
}
.hotels .character .number::after {
  right: -20px;
  rotate: -60deg;
}
@media (max-width: 1024px) {
  .hotels .character .number::after {
    right: -16px;
  }
}
.hotels .character07 {
  width: 188px;
  top: -30px;
  left: -9px;
  z-index: 0;
}
@media (max-width: 1024px) {
  .hotels .character07 {
    width: 30.4%;
    top: -40px;
    left: 82%;
  }
}
.hotels .character07 .number {
  top: -15px;
  right: -15px;
}
@media (max-width: 1024px) {
  .hotels .character07 .number {
    top: -20px;
    left: 50px;
  }
}
.hotels .character08 {
  width: 167px;
  top: -6px;
  left: 45px;
}
@media (max-width: 1024px) {
  .hotels .character08 {
    width: 27.1%;
    top: -40px;
    left: 82%;
  }
}
.hotels .character08 .number {
  top: -20px;
  left: -20px;
  rotate: -18deg;
}
@media (max-width: 1024px) {
  .hotels .character08 .number {
    top: -8px;
    left: -8px;
  }
}
.hotels .character09 {
  width: 185px;
  top: 15px;
  left: 37%;
  rotate: 12deg;
}
@media (max-width: 1024px) {
  .hotels .character09 {
    width: 26%;
    top: -30px;
    left: 88%;
  }
}
@media (min-width: 1025px) {
  :not(:lang(ja)) .hotels .character09 {
    top: -25px;
  }
}
.hotels .character09 .number {
  top: -45px;
  right: 35px;
  rotate: 3deg;
}
@media (max-width: 1024px) {
  .hotels .character09 .number {
    top: -25px;
    left: 25px;
  }
}
.detailPage .hotels .wrapper {
  max-width: 1240px;
}
@media (max-width: 1024px) {
  .detailPage .hotels .wrapper {
    max-width: 84%;
    padding-block: 72px 56px;
  }
}
.detailPage .hotelsTitle {
  position: relative;
  font-size: 5rem;
  margin: 0 0 56px;
}
@media (max-width: 1024px) {
  .detailPage .hotelsTitle {
    font-size: 2.5rem;
    margin: 0 0 20px;
  }
}
.detailPage .hotelsTitle .fukidashi {
  position: absolute;
  left: 36%;
  bottom: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  min-height: 65px;
  background: #fff;
  border-radius: 50%;
  padding: 0.5em 1em;
  font-size: 1.8rem;
  letter-spacing: 0.025em;
  line-height: 2;
  text-align: center;
  margin-left: auto;
}
@media (max-width: 1024px) {
  .detailPage .hotelsTitle .fukidashi {
    left: 24%;
    min-width: 112px;
    max-width: 36%;
    min-height: 40px;
    font-size: 1.1rem;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .detailPage .hotelsTitle .fukidashi {
    left: 36%;
  }
}
.detailPage .hotelsTitle .fukidashi::before {
  content: "";
  position: absolute;
  left: 8%;
  bottom: 2%;
  rotate: 125deg;
  border-width: 5px 0 5px 24px;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
}
@media (max-width: 1024px) {
  .detailPage .hotelsTitle .fukidashi::before {
    bottom: 1%;
    left: 13%;
    border-width: 5px 0 5px 24px;
  }
}
body.lang_zh-CHT .detailPage .hotelsTitle .fukidashi::before, body.lang_zh-CHS .detailPage .hotelsTitle .fukidashi::before, body.lang_ko .detailPage .hotelsTitle .fukidashi::before {
  rotate: 55deg;
  left: 12%;
}
@media (min-width: 768px) {
  body.lang_ar .detailPage .hotelsTitle .fukidashi::before {
    rotate: 55deg;
    left: 12%;
  }
}
.detailPage .hotelsTitle .fukidashi p:not([class]) {
  z-index: 1;
}
.detailPage .hotelsTitle img {
  margin-right: 0.25em;
}
@media (max-width: 1024px) {
  .detailPage .hotelsTitle img {
    width: 40px;
    height: auto;
  }
}
.detailPage .hotels .hotelInfo {
  display: flex;
  align-items: flex-start;
  gap: 20px 52px;
  max-width: 1060px;
  margin-inline: auto;
  text-align: left;
}
@media (max-width: 1024px) {
  .detailPage .hotels .hotelInfo {
    flex-direction: column;
    max-width: 89%;
  }
}
.detailPage .hotels .hotelInfo > a.js-modal-open {
  display: block;
  width: 50%;
  flex-shrink: 0;
  border-radius: 10px;
}
@media (max-width: 1024px) {
  .detailPage .hotels .hotelInfo > a.js-modal-open {
    width: 100%;
  }
}
.detailPage .hotels .hotelInfo .photo {
  position: relative;
  border-radius: inherit;
}
.detailPage .hotels .hotelInfo .photo img {
  object-fit: cover;
  aspect-ratio: 528/352;
  width: 100%;
  height: auto;
}
.detailPage .hotels .hotelInfo .photo .note {
  position: absolute;
  left: 20px;
  bottom: 20px;
  color: #fff;
}
.detailPage .hotels .hotelInfo .textBlock {
  flex-grow: 1;
}
@media (max-width: 1024px) {
  .detailPage .hotels .hotelInfo .textBlock {
    width: 100%;
  }
}
.detailPage .hotels .hotelInfo .textBlock .roomDetail {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 60px;
  margin-block: 0 24px;
  font-size: 1.7rem;
}
@media (max-width: 1024px) {
  .detailPage .hotels .hotelInfo .textBlock .roomDetail {
    gap: 12px 28px;
    margin-block: 0 20px;
    font-size: 1.4rem;
  }
}
.detailPage .hotels .hotelInfo .textBlock .roomDetail dt {
  position: relative;
  font-weight: 700;
  line-height: 1.9;
}
.detailPage .hotels .hotelInfo .textBlock .roomDetail dt::before {
  content: "★";
  color: var(--orange);
  margin-right: 0.5em;
}
.detailPage .hotels .hotelInfo .textBlock .roomDetail dd {
  margin-left: 1.5em;
  line-height: 1.58;
}
.detailPage .hotels .hotelInfo .textBlock .roomDetail .detailWrap.bed {
  width: 100%;
}
.detailPage .hotels .hotelInfo .textBlock .link {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 12px;
}
@media (max-width: 1024px) {
  .detailPage .hotels .hotelInfo .textBlock .link {
    gap: 12px 20px;
  }
}
.detailPage .hotels .hotelInfo .textBlock .link a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #000;
  min-width: calc((100% - 24px) / 3);
  border-radius: 18px;
  font-size: 1.4rem;
  padding: 6px 1.5em;
  text-decoration: none;
  text-align: center;
}
@media (max-width: 1024px) {
  .detailPage .hotels .hotelInfo .textBlock .link a {
    min-width: calc(50% - 10px);
    border-radius: 14.8px;
    font-size: 1.2rem;
    padding: 4px 1.5em;
  }
}
body.lang_en .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_fr .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_de .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_es .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_it .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_th .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_vi .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_id .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_ms .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_ru .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_ar .detailPage .hotels .hotelInfo .textBlock .link a {
  min-width: 31%;
}
@media (max-width: 1024px) {
  body.lang_en .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_fr .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_de .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_es .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_it .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_th .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_vi .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_id .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_ms .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_ru .detailPage .hotels .hotelInfo .textBlock .link a, body.lang_ar .detailPage .hotels .hotelInfo .textBlock .link a {
    min-width: 44%;
  }
}
.detailPage .hotels .hotelInfo .textBlock .link a svg {
  display: none;
}
.detailPage .hotels .hotelInfo .textBlock .link a:hover {
  border-color: #AB8D4B;
}
.detailPage .hotels .hotelInfo .textBlock .btn {
  margin-top: 32px;
}
@media (max-width: 1024px) {
  .detailPage .hotels .hotelInfo .textBlock .btn a {
    width: 100%;
  }
}

.howtoTitle {
  font-size: 3.6rem;
  font-weight: 700;
  margin: 0 0 30px;
}
@media (max-width: 1024px) {
  .howtoTitle {
    font-size: 2.1rem;
    margin: 0 0 20px;
  }
}
.howtoTitle:has(svg) {
  margin: 0;
}
@media (max-width: 1024px) {
  .howtoTitle:has(svg) {
    overflow: hidden;
    scale: 2;
  }
}
@media (max-width: 767px) {
  .howtoTitle:has(svg) {
    scale: 2.4;
  }
}
.howtoList {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .howtoList {
    display: block;
    max-width: 72%;
    margin-inline: auto;
  }
}
.howtoList .listItem {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 21px 0;
  background: #fff;
  padding: 25px 15px;
  border-radius: 15px;
  width: 22.22%;
}
@media (max-width: 1024px) {
  .howtoList .listItem {
    gap: 12px 0;
    padding: 19px 22px;
    border-radius: 12px;
    width: 100%;
  }
  .howtoList .listItem + .listItem {
    margin-top: 48px;
  }
}
.howtoList .listItem.color {
  background: var(--orange);
  color: #fff;
}
@media (min-width: 1025px) {
  .howtoList .listItem.color {
    padding: 58px 15px 48px;
    width: 36%;
    gap: 41px 0;
  }
}
.howtoList .listItem.color .illust img {
  width: 150px;
}
@media (max-width: 1024px) {
  .howtoList .listItem.color .illust img {
    width: 80px;
    margin-block: 13px;
  }
}
@media (min-width: 1025px) {
  .howtoList .listItem.color > p:not([class]) {
    font-size: 1.7rem;
  }
}
.howtoList .listItem > p:not([class]) {
  font-size: 1.6rem;
}
@media (max-width: 1024px) {
  .howtoList .listItem > p:not([class]) {
    font-size: 1.2rem;
  }
}
.howtoList .listItem::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  transform: translateX(50%);
  margin-block: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  background: var(--orange) url("../img/machigaisagashi/icon_arrow03.svg") no-repeat calc(50% + 2px) center/10px auto;
  border-radius: 50%;
}
@media (max-width: 1024px) {
  .howtoList .listItem::after {
    left: 0;
    right: 0;
    top: calc(100% + 12px);
    bottom: auto;
    transform: none;
    margin-inline: auto;
    rotate: 90deg;
    width: 24px;
    height: 24px;
    background-size: 6px auto;
    background-position: center;
  }
}
.howtoList .listItem:last-child::after {
  content: none;
}
.howtoList .fukidashi {
  display: inline-block;
  position: relative;
  background: var(--orange);
  color: #fff;
  border-radius: 10px;
  padding: 10px 1.5em 11px;
  margin-bottom: 5px;
  line-height: 1.7;
  width: 100%;
}
@media (max-width: 1024px) {
  .howtoList .fukidashi {
    border-radius: 7px;
    padding: 6px 1.5em;
    line-height: 1.45;
    font-size: 1.1rem;
    width: auto;
  }
}
.howtoList .fukidashi::before {
  content: "";
  position: absolute;
  left: calc(50% - 5px);
  top: 100%;
  border-width: 9px 5px 0 5px;
  border-style: solid;
  border-color: var(--orange) transparent transparent transparent;
}
@media (max-width: 1024px) {
  .howtoList .fukidashi::before {
    left: calc(50% - 3px);
    border-width: 7px 3px 0 3px;
  }
}
.howtoList .illust img {
  width: 120px;
  height: auto;
}
@media (max-width: 1024px) {
  .howtoList .illust img {
    width: 76px;
  }
}
.detailPage .howto {
  position: relative;
}
@media (min-width: 1025px) {
  .detailPage .howto {
    padding: 50px 64px 50px;
    margin-top: 130px;
  }
}
@media (max-width: 1024px) {
  .detailPage .howto {
    padding-bottom: 32px;
  }
}
@media (min-width: 1025px) {
  :not(:lang(ja)) .detailPage .howtoTitle {
    height: 113px;
    line-height: 113px;
    margin-right: 22%;
  }
}
@media (min-width: 1025px) {
  body.lang_de .detailPage .howtoTitle {
    margin-right: 28%;
  }
}
@media (min-width: 1025px) {
  .detailPage .howtoList .listItem {
    width: 17%;
    gap: 10px 0;
  }
  .detailPage .howtoList .listItem.color {
    width: 28%;
    gap: 21px 0;
  }
  .detailPage .howtoList .listItem:has(.presentBlock) {
    width: 22%;
  }
  .detailPage .howtoList .listItem > p:not([class]) {
    font-size: 1.7rem;
  }
}
.detailPage .howtoList .listItem:has(.presentBlock) {
  padding: 0;
  background: none;
  margin-left: -4%;
  margin-right: -1%;
}
@media (max-width: 1024px) {
  .detailPage .howtoList .listItem:has(.presentBlock) {
    margin-inline: 0;
  }
}
@media (max-width: 1024px) {
  .detailPage .howtoList .listItem:has(.presentBlock) .inner {
    margin-inline: calc(-14% - 17px);
  }
}
.detailPage .howtoList .presentBlock {
  display: block;
}
.detailPage .howtoList .presentBlock .illust {
  width: 100%;
  margin: 0;
}
.detailPage .howtoList .presentBlock .note {
  position: static;
  width: 80%;
  max-width: none !important;
  margin: 16px 0 0 auto;
  text-align: right;
}
@media (max-width: 1024px) {
  .detailPage .howtoList .presentBlock .note {
    width: 97%;
    margin: 16px 3% 0 auto;
  }
}
.detailPage .howto .fukidashi02 {
  position: absolute;
  bottom: 106%;
  left: -10%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: var(--blue2);
  padding: 1.5em 1.5em;
  border: 4px solid var(--blue2);
  border-radius: 50%;
  min-width: 262px;
  min-height: 160px;
  overflow: visible;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.33;
}
@media (max-width: 1024px) {
  .detailPage .howto .fukidashi02 {
    position: relative;
    top: auto;
    left: 50%;
    transform: translateX(-50%);
    padding: 20px 22px;
    font-size: 1.3rem;
    line-height: 1.38;
    margin: 16px 0;
    color: #fff;
    background: var(--orange);
    border: none;
    border-radius: 50%;
    min-width: 200px;
    max-width: 62.5%;
    min-height: 120px;
  }
}
body.lang_de .detailPage .howto .fukidashi02 {
  font-size: 1.4rem;
  padding-inline: 10px;
}
@media (min-width: 1025px) {
  body.lang_de .detailPage .howto .fukidashi02 {
    left: auto;
    right: -10%;
  }
}
@media (max-width: 1024px) {
  body.lang_de .detailPage .howto .fukidashi02 {
    font-size: 1rem;
  }
}
.detailPage .howto .fukidashi02::before {
  content: "";
  position: absolute;
  left: calc(50% - 9px);
  top: 100%;
  border-width: 17px 9px 0 9px;
  border-style: solid;
  border-color: var(--blue2) transparent transparent transparent;
}
@media (max-width: 1024px) {
  .detailPage .howto .fukidashi02::before {
    left: calc(50% - 4px);
    border-width: 8px 4px 0 4px;
    border-color: var(--orange) transparent transparent transparent;
  }
}
.detailPage .howto .fukidashi02::after {
  content: "";
  position: absolute;
  left: calc(50% - 5px);
  top: calc(100% - 2px);
  border-width: 9px 5px 0 5px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
}
@media (max-width: 1024px) {
  .detailPage .howto .fukidashi02::after {
    content: none;
  }
}

.missionBlock {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
}
@media (max-width: 1024px) {
  .missionBlock {
    gap: 8px 0;
  }
}
@media (max-width: 1024px) {
  .missionBlock.pc {
    display: none;
  }
}
@media (min-width: 1025px) {
  .missionBlock.sp {
    display: none;
  }
}
.missionBlock .illust.englishOnly img, .missionBlock .illust.zh-CHSOnly img, .missionBlock .illust.zh-CHTOnly img, .missionBlock .illust.koOnly img {
  object-fit: contain;
  width: auto;
  height: 189px;
}
@media (max-width: 1024px) {
  .missionBlock .illust.englishOnly img, .missionBlock .illust.zh-CHSOnly img, .missionBlock .illust.zh-CHTOnly img, .missionBlock .illust.koOnly img {
    height: 194px;
  }
}
@media (max-width: 1024px) {
  .missionBlock .illust.englishOnly {
    margin-inline: -3%;
  }
}
@media (min-width: 1025px) {
  .missionBlock .illust.englishOnly img {
    height: 300px;
  }
}
.mission .sentence {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 0.5em;
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 0.875;
}
@media (max-width: 1024px) {
  .mission .sentence {
    font-size: 1.5rem;
  }
}
.mission .sentence .fukidashi {
  display: inline-block;
  position: relative;
  background: #fff;
  border-radius: 24px;
  padding: 13px 1.5em 14px;
  font-weight: 700;
  line-height: 0.875;
}
@media (max-width: 1024px) {
  .mission .sentence .fukidashi {
    border-radius: 16px;
    padding: 9px 1em;
    line-height: 0.85;
  }
}
.mission .sentence .fukidashi::before {
  content: "";
  position: absolute;
  right: 100%;
  top: calc(50% - 3px);
  border-width: 3px 7px 3px 0;
  border-style: solid;
  border-color: transparent #fff transparent transparent;
}
@media (max-width: 1024px) {
  .mission .sentence .fukidashi::before {
    top: calc(50% - 2px);
    border-width: 2px 6px 2px 0;
  }
}
.mission .sentence .fukidashi.right::before {
  position: absolute;
  right: auto;
  left: 100%;
  top: calc(50% - 3px);
  border-width: 3px 0 3px 7px;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
}
@media (max-width: 1024px) {
  .mission .sentence .fukidashi.right::before {
    top: calc(50% - 2px);
    border-width: 2px 0 2px 6px;
  }
}
.mission .sentence img {
  width: 76px;
  height: auto;
}
@media (max-width: 1024px) {
  .mission .sentence img {
    width: 50px;
  }
}

/* =========================================================
point
========================================================= */
.point {
  position: relative;
}
.point .wrapper {
  max-width: 940px;
  padding-block: 0 140px;
  z-index: 1;
}
@media (max-width: 1024px) {
  .point .wrapper {
    max-width: 84%;
    padding-block: 0 70px;
  }
}
.pointBlock {
  padding-block: 70px 70px;
  margin: 0;
}
@media (max-width: 1024px) {
  .pointBlock {
    padding-block: 50px 70px;
    padding-inline: 12px;
  }
}
.pointBlockInner {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 664px;
  margin-inline: auto;
}
@media (max-width: 1024px) {
  .pointBlockInner {
    max-width: 80%;
  }
}
@media (max-width: 767px) {
  .pointBlockInner {
    max-width: 100%;
  }
}
.point .catch {
  position: relative;
  display: inline-block;
  font-size: 3.6rem;
  font-weight: 700;
  margin: 0 0 30px;
}
@media (max-width: 1024px) {
  .point .catch {
    font-size: 2.1rem;
    max-width: calc(100% - 64px);
  }
}
.point .catch::before, .point .catch::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin-block: auto;
  width: 43px;
  height: 3px;
  background: #000;
}
@media (max-width: 1024px) {
  .point .catch::before, .point .catch::after {
    width: 27px;
    height: 2px;
  }
}
.point .catch::before {
  left: -48px;
  rotate: 60deg;
}
@media (max-width: 1024px) {
  .point .catch::before {
    left: -32px;
  }
}
.point .catch::after {
  right: -48px;
  rotate: -60deg;
}
@media (max-width: 1024px) {
  .point .catch::after {
    right: -32px;
  }
}
.pointList {
  display: flex;
  flex-direction: column;
  gap: 40px 0;
}
@media (min-width: 1025px) {
  .pointList {
    width: 100%;
  }
}
@media (max-width: 1024px) {
  .pointList {
    gap: 20px 0;
  }
}
.pointList .listItem {
  display: flex;
  gap: 0 27px;
}
@media (max-width: 1024px) {
  .pointList .listItem {
    gap: 0 15px;
  }
}
.pointNumber {
  background: #fff;
  border: 2px dotted var(--red);
  color: var(--red);
  border-radius: 50%;
  padding: 12px 10px 10px;
  font-family: "SN Pro", sans-serif;
  letter-spacing: 0.025em;
  font-weight: 400;
  font-weight: 600;
  font-size: 1.2rem;
  width: 84px;
  height: 84px;
  text-align: center;
  flex-shrink: 0;
}
@media (max-width: 1024px) {
  .pointNumber {
    padding: 6px 5px 6px;
    font-size: 0.65rem;
    width: 46px;
    height: 46px;
  }
}
.pointNumber .number {
  width: 30px;
  height: auto;
  margin-top: 4px;
}
@media (max-width: 1024px) {
  .pointNumber .number {
    width: 15px;
    margin-top: 2px;
  }
}
.pointText {
  font-size: 3rem;
  font-weight: 700;
  line-height: 2;
}
@media (max-width: 1024px) {
  .pointText {
    font-size: 1.7rem;
    line-height: 1.3;
    margin-bottom: 4px;
  }
}
@media (min-width: 1025px) {
  :not(:lang(ja)) .pointText {
    line-height: 1.6;
    margin-bottom: 12px;
  }
}
.point p:not([class]) {
  font-size: 1.6rem;
}
@media (max-width: 1024px) {
  .point p:not([class]) {
    font-size: 1.1rem;
  }
}
.point .snsText {
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 2.3;
  margin: 4px 0 0;
}
@media (max-width: 1024px) {
  .point .snsText {
    font-size: 1.3rem;
    line-height: 1.5;
  }
}
.point .snsText .red {
  color: var(--red);
  padding-right: 0.5em;
}
@media (min-width: 1025px) {
  :not(:lang(ja)) .point .snsText {
    line-height: 1.5;
    margin-block: 4px;
  }
}
.point .marquee {
  margin-block: 33px -63px;
  z-index: 2;
}
@media (max-width: 1024px) {
  .point .marquee {
    margin-block: 30px -25px;
  }
}
.point .character10 {
  width: 159px;
  top: 10%;
  right: -8.5%;
}
@media (max-width: 1024px) {
  .point .character10 {
    width: 20%;
    top: 5%;
    right: -6%;
  }
}
.point .character11 {
  width: 135px;
  bottom: 28%;
  left: -16.8%;
}
@media screen and (max-width: 1250px) {
  .point .character11 {
    left: -8.4%;
  }
}
@media (max-width: 1024px) {
  .point .character11 {
    width: 18.4%;
    bottom: 20%;
    left: -3%;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  :not(:lang(ja)) .point .character11 {
    bottom: 7%;
  }
}
.point .character12 {
  width: 125px;
  bottom: 15%;
  left: 5.3%;
}
@media (max-width: 1024px) {
  .point .character12 {
    width: 17%;
    bottom: 10%;
    left: 22%;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .point .character12 {
    bottom: 7%;
  }
}

/* =========================================================
present
========================================================= */
.present .wrapper {
  max-width: 1010px;
  margin-inline: auto;
  padding-block: 80px 60px;
}
@media (max-width: 1024px) {
  .present .wrapper {
    max-width: 84%;
    padding-block: 56px 56px;
  }
}
@media (max-width: 767px) {
  .present .wrapper {
    padding-block: 32px 32px;
  }
}
.presentBlock {
  display: flex;
  align-items: center;
  gap: 30px 20px;
}
@media (max-width: 1024px) {
  .presentBlock {
    flex-direction: column;
  }
}
.presentBlock .illust {
  display: block;
  position: relative;
  width: 64%;
  flex-shrink: 0;
  margin: 0 0 24px;
}
@media (max-width: 1024px) {
  .presentBlock .illust {
    width: 88%;
    text-align: center;
    margin: 0;
  }
}
.presentBlock .illust img {
  width: 100%;
  height: auto;
  filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.5));
}
.presentBlock .illust .note {
  position: absolute;
  right: 12%;
  top: 84%;
  letter-spacing: 0;
  line-height: 1.7;
}
@media (max-width: 1024px) {
  .presentBlock .illust .note {
    font-size: 1.1rem;
    right: auto !important;
    left: 0 !important;
    top: 88%;
  }
}
body.lang_en .presentBlock .illust .note, body.lang_fr .presentBlock .illust .note, body.lang_de .presentBlock .illust .note, body.lang_es .presentBlock .illust .note, body.lang_it .presentBlock .illust .note, body.lang_th .presentBlock .illust .note, body.lang_vi .presentBlock .illust .note, body.lang_id .presentBlock .illust .note, body.lang_ms .presentBlock .illust .note, body.lang_ru .presentBlock .illust .note, body.lang_ar .presentBlock .illust .note {
  max-width: 34%;
  line-height: 1.6;
  right: 0;
}
@media (max-width: 1024px) {
  body.lang_en .presentBlock .illust .note, body.lang_fr .presentBlock .illust .note, body.lang_de .presentBlock .illust .note, body.lang_es .presentBlock .illust .note, body.lang_it .presentBlock .illust .note, body.lang_th .presentBlock .illust .note, body.lang_vi .presentBlock .illust .note, body.lang_id .presentBlock .illust .note, body.lang_ms .presentBlock .illust .note, body.lang_ru .presentBlock .illust .note, body.lang_ar .presentBlock .illust .note {
    max-width: 32%;
  }
}
@media (max-width: 767px) {
  body.lang_en .presentBlock .illust .note, body.lang_fr .presentBlock .illust .note, body.lang_de .presentBlock .illust .note, body.lang_es .presentBlock .illust .note, body.lang_it .presentBlock .illust .note, body.lang_th .presentBlock .illust .note, body.lang_vi .presentBlock .illust .note, body.lang_id .presentBlock .illust .note, body.lang_ms .presentBlock .illust .note, body.lang_ru .presentBlock .illust .note, body.lang_ar .presentBlock .illust .note {
    max-width: 40%;
  }
}
body.lang_th .presentBlock .illust .note, body.lang_ar .presentBlock .illust .note {
  right: 4%;
}
.presentBlock .textBlock {
  position: relative;
  flex-grow: 1;
  margin: 24px 0 0;
}
@media (max-width: 1024px) {
  .presentBlock .textBlock {
    width: 100%;
    margin: 0;
  }
}
.presentBlock .textBlock .pop03 {
  position: absolute;
  top: -10%;
  left: -40%;
  display: grid;
  place-items: center;
  z-index: 2;
}
@media (max-width: 1024px) {
  .presentBlock .textBlock .pop03 {
    top: 2px;
    left: auto;
    right: 8%;
  }
  body.lang_en .presentBlock .textBlock .pop03, body.lang_fr .presentBlock .textBlock .pop03, body.lang_de .presentBlock .textBlock .pop03, body.lang_es .presentBlock .textBlock .pop03, body.lang_it .presentBlock .textBlock .pop03, body.lang_th .presentBlock .textBlock .pop03, body.lang_vi .presentBlock .textBlock .pop03, body.lang_id .presentBlock .textBlock .pop03, body.lang_ms .presentBlock .textBlock .pop03, body.lang_ru .presentBlock .textBlock .pop03, body.lang_ar .presentBlock .textBlock .pop03 {
    top: -22px;
  }
}
.presentBlock .textBlock .pop03 .popBg {
  grid-area: 1/1;
}
.presentBlock .textBlock .pop03 .popBg img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 1024px) {
  .presentBlock .textBlock .pop03 .popBg img {
    width: 69px;
  }
}
.presentBlock .textBlock .pop03 .text {
  grid-area: 1/1;
  text-align: center;
  color: #fff;
  font-size: 2rem;
  letter-spacing: 0;
  font-weight: 400;
}
@media (max-width: 1024px) {
  .presentBlock .textBlock .pop03 .text {
    font-size: 1.2rem;
  }
}
.presentBlock .textBlock .pop03 .text .number {
  display: inline-block;
  margin-bottom: -4px;
  vertical-align: baseline;
  width: 49px;
  height: auto;
}
@media (max-width: 1024px) {
  .presentBlock .textBlock .pop03 .text .number {
    width: 29px;
    margin-bottom: -2px;
  }
}
.presentBlock .textBlock .pop03 .text p {
  display: inline-block;
}
body.lang_en .presentBlock .textBlock .pop03 .text, body.lang_fr .presentBlock .textBlock .pop03 .text, body.lang_de .presentBlock .textBlock .pop03 .text, body.lang_es .presentBlock .textBlock .pop03 .text, body.lang_it .presentBlock .textBlock .pop03 .text, body.lang_th .presentBlock .textBlock .pop03 .text, body.lang_vi .presentBlock .textBlock .pop03 .text, body.lang_id .presentBlock .textBlock .pop03 .text, body.lang_ms .presentBlock .textBlock .pop03 .text, body.lang_ru .presentBlock .textBlock .pop03 .text, body.lang_ar .presentBlock .textBlock .pop03 .text {
  scale: 0.9;
}
.presentBlock .textBlock .fukidashi {
  position: relative;
  right: -10%;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 336px;
  min-height: 127px;
  background: #fff;
  border-radius: 50%;
  padding: 1.5em 1.5em;
  font-size: 2rem;
  text-align: center;
  margin-left: auto;
}
@media (max-width: 1024px) {
  .presentBlock .textBlock .fukidashi {
    right: 0;
    min-width: 201px;
    max-width: 64%;
    min-height: 81px;
    font-size: 1.2rem;
  }
}
.presentBlock .textBlock .fukidashi::before {
  content: "";
  position: absolute;
  left: 6%;
  top: 2%;
  rotate: -40deg;
  border-width: 0px 7px 35px 7px;
  border-style: solid;
  border-color: transparent transparent #fff transparent;
}
@media (max-width: 1024px) {
  .presentBlock .textBlock .fukidashi::before {
    top: -8%;
    left: 24%;
    rotate: -48deg;
    border-width: 0px 5px 20px 5px;
  }
}
.presentBlock .textBlock .fukidashi p:not([class]) {
  z-index: 1;
}
.presentTitle {
  font-size: 3rem;
  line-height: 1.9;
  margin: 0 0 30px;
}
@media (max-width: 1024px) {
  .presentTitle {
    font-size: 1.8rem;
    margin: 0 0 10px;
  }
  body.lang_en .presentTitle, body.lang_fr .presentTitle, body.lang_de .presentTitle, body.lang_es .presentTitle, body.lang_it .presentTitle, body.lang_th .presentTitle, body.lang_vi .presentTitle, body.lang_id .presentTitle, body.lang_ms .presentTitle, body.lang_ru .presentTitle, body.lang_ar .presentTitle {
    margin-top: 40px;
  }
}
body.lang_zh-CHT .presentTitle.zh-cnExc, body.lang_zh-CHS .presentTitle.zh-cnExc {
  display: none !important;
}
.presentTitle .wave_line {
  display: inline-block;
  position: relative;
  background-image: url("../img/machigaisagashi/wave_line01.svg");
  background-repeat: repeat-y;
  background-position: left bottom;
  background-size: auto 58px;
  color: #000;
}
@media (max-width: 1024px) {
  .presentTitle .wave_line {
    background-image: url("../img/machigaisagashi/wave_line01_sp.svg");
    background-size: auto 35px;
  }
}
.presentTitle .white {
  color: #fff;
  font-weight: 700;
}
.present .noteList {
  margin: 20px 0 40px;
}
@media (max-width: 1024px) {
  .present .noteList {
    margin: 10px 0;
  }
}
.present .noteList li {
  position: relative;
  text-indent: -1.2em;
  padding-left: 1.2em;
  letter-spacing: 0;
  line-height: 1.7;
}
@media (max-width: 1024px) {
  .present .noteList li {
    font-size: 1.1rem;
  }
}
.present .noteList li::before {
  content: "※";
  margin-right: 0.2em;
}

/* =========================================================
snsSec
========================================================= */
.snsSec {
  position: relative;
}
.snsSec .wrapper {
  padding-block: 195px 130px;
  z-index: 1;
}
@media (max-width: 1024px) {
  .snsSec .wrapper {
    padding-block: 195px 80px;
  }
}
@media (max-width: 767px) {
  .snsSec .wrapper {
    padding-block: 25vw 80px;
  }
}
.snsSecBlock02 {
  position: relative;
  max-width: 630px;
  margin-inline: auto;
  text-align: center;
}
@media (max-width: 767px) {
  .snsSecBlock02 {
    max-width: 94%;
  }
}
.snsSecBlock02 .inner {
  position: relative;
  padding: 10px 10px;
  max-width: calc(100% - 38px);
  margin-inline: auto;
  background: var(--yellow);
  z-index: 1;
}
@media (min-width: 768px) and (max-width: 1024px) {
  .snsSecBlock02 .inner {
    padding: 24px 10px;
  }
}
@media (max-width: 767px) {
  .snsSecBlock02 .inner {
    padding: 12px 0 4px;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .snsSecBlock02 .bg_circle.pc {
    display: none;
  }
}
.snsSecBlock02 .bg_circle.tab {
  display: block;
}
@media (min-width: 1025px) {
  .snsSecBlock02 .bg_circle.tab {
    display: none;
  }
}
@media (max-width: 767px) {
  .snsSecBlock02 .bg_circle.tab {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .snsSecBlock02 .bg_circle.sp {
    display: none;
  }
}
.snsSecBlock02 .bg_circle .bg {
  position: absolute;
  z-index: 0;
}
.snsSecBlock02 .bg_circle .bg.top, .snsSecBlock02 .bg_circle .bg.bottom {
  left: 0;
  right: 0;
  margin-inline: auto;
  width: 100%;
  height: auto;
}
.snsSecBlock02 .bg_circle .bg.top {
  top: -40px;
}
@media (max-width: 767px) {
  .snsSecBlock02 .bg_circle .bg.top {
    top: -8vw;
  }
}
.snsSecBlock02 .bg_circle .bg.bottom {
  bottom: -40px;
}
@media (max-width: 767px) {
  .snsSecBlock02 .bg_circle .bg.bottom {
    bottom: -8vw;
  }
}
.snsSecBlock02 .bg_circle .bg.left, .snsSecBlock02 .bg_circle .bg.right {
  height: calc(100% + 80px);
  width: auto;
  top: -40px;
}
@media (max-width: 767px) {
  .snsSecBlock02 .bg_circle .bg.left, .snsSecBlock02 .bg_circle .bg.right {
    height: calc(100% + 16vw);
    top: -8vw;
  }
}
body.lang_fr .snsSecBlock02 .bg_circle .bg.left, body.lang_fr .snsSecBlock02 .bg_circle .bg.right {
  height: calc(100% + 20px);
}
@media (max-width: 767px) {
  body.lang_fr .snsSecBlock02 .bg_circle .bg.left, body.lang_it .snsSecBlock02 .bg_circle .bg.left, body.lang_ru .snsSecBlock02 .bg_circle .bg.left, body.lang_fr .snsSecBlock02 .bg_circle .bg.right, body.lang_it .snsSecBlock02 .bg_circle .bg.right, body.lang_ru .snsSecBlock02 .bg_circle .bg.right {
    height: calc(100% + 6dvw);
  }
}
.snsSecBlock02 .bg_circle .bg.left {
  left: 0;
}
.snsSecBlock02 .bg_circle .bg.right {
  right: 0;
}
.wrapper:has(.snsSecBlock02) {
  padding-top: 235px;
}
@media (max-width: 767px) {
  .wrapper:has(.snsSecBlock02) {
    padding-top: 33vw;
  }
}
.wrapper:has(.snsSecBlock02) .btnList {
  margin-top: 154px;
}
@media (max-width: 767px) {
  .wrapper:has(.snsSecBlock02) .btnList {
    margin-top: calc(60px + 8vw);
  }
}
.snsSec .subTitle {
  display: inline-block;
  background: #fff;
  padding: 6px 1em;
  border-radius: 21px;
  margin: 0 0 16px;
  font-size: 2rem;
  font-weight: 700;
}
@media (max-width: 1024px) {
  .snsSec .subTitle {
    padding: 3px 1em;
    border-radius: 11px;
    font-size: 1.2rem;
    line-height: 1.2;
    margin: 0 0 10px;
  }
}
.snsSecTitle {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.6;
  margin: 0 0 20px;
}
@media (max-width: 1024px) {
  .snsSecTitle {
    font-size: 1.5rem;
    line-height: 1.3;
    margin: 0 0 10px;
  }
}
.snsSec .text {
  font-size: 2rem;
  margin: 0 0 30px;
}
@media (max-width: 1024px) {
  .snsSec .text {
    font-size: 1.1rem;
    line-height: 1.45;
    margin: 0 0 10px;
  }
}
.snsSec .snsList {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 25px;
  margin-bottom: 0;
}
@media (max-width: 1024px) {
  .snsSec .snsList {
    gap: 0 10px;
  }
}
.snsSec .snsList > li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 50%;
  padding: 10px;
  width: 70px;
  height: 70px;
}
@media (max-width: 1024px) {
  .snsSec .snsList > li {
    width: 34px;
    height: 34px;
  }
}
.snsSec .snsList > li img {
  filter: invert(1);
}
.snsSec .snsList > li.x img {
  width: 34px;
  height: auto;
}
@media (max-width: 1024px) {
  .snsSec .snsList > li.x img {
    width: 18px;
  }
}
.snsSec .snsList > li.insta img {
  width: 37px;
  height: auto;
}
.snsSec .character13 {
  width: 512px;
  top: 95px;
  left: 0;
  right: 0;
  margin-inline: auto;
  transform: translateY(-175%);
}
.snsSec .character13.slidein_down {
  transform: translateY(0);
  transition: transform 0.8s ease;
}
@media (max-width: 1024px) {
  .snsSec .character13 {
    top: 95px;
  }
}
@media (max-width: 767px) {
  .snsSec .character13 {
    width: 70vw;
    top: 13.75vw;
  }
}/*# sourceMappingURL=machigaisagashi.css.map */