@charset "UTF-8";
:root {
  --vh: var(--tw-win-vh, 100dvh);
  --vw: var(--tw-win-vw, 100vw);
  --content-max-width: 1210px;
  --content-bg-01: #f7f5f0;
  --content-bg-02: #f1ede5;
  --content-margin: 30px;
  --hotel-bg-color: #eee9df;
  --hotel-main-color: #9f8046;
  --hotel-nav-bg-color: #f6f4ef;
  --hotel-visual-font-color: #b09666;
  --tour-border-color: #ebe7da;
  --tour-tab-color: #c8c8c8;
  --tour-tab-active-color: #444;
  --tour-attention-bg-color: #feeced;
  --tour-btn-color: #9f8046;
  --benefit-bg-color: #fefdfb;
  --order-bg-color: #e0f4f4;
  --order-main-color: #00a8a8;
  --font-def: "Roboto", "Noto Sans JP", sans-serif;
  --font-def-en: "Roboto", sans-serif;
  --font-jp: "Noto Serif JP", serif;
  --font-en: "Cormorant Garamond", serif;
  --font-color: #444;
  --font-color-dgray: #464646;
  --font-color-gray: #787878;
  --font-color-red: #ff404c;
  --border-color: #c8c8c8;
  --hover-opacity: 0.65;
}

#tw_wrapper {
  font-family: var(--font-def);
  font-weight: 400;
}

#tw_content .page_head,
#tw_content .page_content {
  color: var(--font-color);
  font-family: var(--font-jp);
}
#tw_content .page_head a,
#tw_content .page_content a {
  color: var(--font-color);
}
#tw_content .section {
  padding: clamp(4rem, 4.96vw, 6rem) var(--content-margin) clamp(6rem, 8.26vw, 10rem);
}
#tw_content .section .sec_inner {
  margin: 0 auto;
  max-width: var(--content-max-width);
  width: 100%;
}
#tw_content .section .sec_head {
  margin-bottom: clamp(3rem, 3.72vw, 4.5rem);
}
#tw_content .section .sec_head .head_title_en {
  align-items: center;
  display: flex;
  gap: 0 clamp(1rem, 1.65vw, 2rem);
  justify-content: center;
  margin-bottom: 11px;
  text-align: center;
}
#tw_content .section .sec_head .head_title_en span {
  color: var(--font-color);
  font-family: var(--font-en);
  font-size: clamp(1.2rem, 1.98vw, 2.4rem);
  font-weight: 400;
  letter-spacing: 0.11em;
  line-height: 1;
  text-transform: uppercase;
}
#tw_content .section .sec_head .head_title_en::after, #tw_content .section .sec_head .head_title_en::before {
  background-color: var(--font-color);
  content: "";
  display: block;
  height: 1px;
  width: clamp(4rem, 6.61vw, 8rem);
}
#tw_content .section .sec_head .head_title {
  margin-bottom: 20px;
  text-align: center;
}
#tw_content .section .sec_head .head_title span {
  font-family: var(--font-jp);
  font-size: clamp(2.3rem, 3.8vw, 4.6rem);
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.61;
}
#tw_content .section .sec_head .head_desc {
  font-family: var(--font-jp);
  font-feature-settings: "palt" 1;
  font-size: clamp(1.3rem, 1.65vw, 2rem);
  letter-spacing: 0.15em;
  line-height: 1.6;
  text-align: center;
}
#tw_content #ai-search-embed .ai-embed-title {
  font-family: var(--font-jp);
}

#tw_content .page_head .sec_hero {
  background-color: var(--content-bg-01);
  position: relative;
}
#tw_content .page_head .sec_hero .hero_title {
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  text-align: center;
  top: 0;
  transition: opacity 0.6s ease;
  width: 100%;
  z-index: 2;
}
#tw_content .page_head .sec_hero .hero_title img {
  -o-object-fit: cover;
  height: 100%;
     object-fit: cover;
  width: auto;
}
#tw_content .page_head .sec_hero .hero_logo img {
  height: 100%;
  width: auto;
}
#tw_content .page_head .sec_hero .hero_visual {
  height: 100%;
  opacity: 0;
  position: relative;
  transition: opacity 0.3s ease;
  z-index: 1;
}
#tw_content .page_head .sec_hero .hero_visual.swiper-initialized {
  opacity: 1;
}
#tw_content .page_head .sec_hero .hero_visual.swiper {
  position: relative;
}
#tw_content .page_head .sec_hero .hero_visual .swiper-slide {
  backface-visibility: hidden;
  overflow: hidden;
}
#tw_content .page_head .sec_hero .hero_visual .swiper-slide-active .swiper-img,
#tw_content .page_head .sec_hero .hero_visual .swiper-slide-duplicate-active .swiper-img,
#tw_content .page_head .sec_hero .hero_visual .swiper-slide-prev .swiper-img {
  animation: slideZoomOut 8s linear 0s;
  animation-fill-mode: both;
}
#tw_content .page_head .sec_hero .hero_visual .swiper-img {
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
#tw_content .page_head .sec_hero .hero_visual .swiper-img img {
  -o-object-fit: cover;
  left: 50%;
     object-fit: cover;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
#tw_content .page_head .sec_hero:has(.swiper-initialized) .hero_title,
#tw_content .page_head .sec_hero:has(.swiper-initialized) .hero_logo {
  opacity: 1;
}

@keyframes slideZoomOut {
  0% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
#tw_content .page_content .sec_benefits {
  background-color: var(--content-bg-02);
}
#tw_content .page_content .sec_benefits .benefit_item {
  background-color: var(--benefit-bg-color);
  border-radius: 15px;
  position: relative;
}
#tw_content .page_content .sec_benefits .benefit_item + .benefit_item {
  margin-top: clamp(1.5rem, 1.65vw, 2rem);
}
#tw_content .page_content .sec_benefits .benefit_item.haraveli {
  --benefit-bg-color: #fefdfb;
}
#tw_content .page_content .sec_benefits .benefit_item.moofushi {
  --benefit-bg-color: #f7f9f9;
}
#tw_content .page_content .sec_benefits .benefit_item.moofushi .body_wrap .txt_02 {
  letter-spacing: 0.03em;
}
#tw_content .page_content .sec_benefits .benefit_item .img_wrap {
  overflow: hidden;
  width: 48.26%;
}
#tw_content .page_content .sec_benefits .benefit_item .img_wrap img {
  height: 100%;
  position: absolute;
  top: 50%;
  width: 100%;
  -o-object-fit: cover;
  left: 0;
     object-fit: cover;
  transform: translateY(-50%);
  z-index: 10;
}
#tw_content .page_content .sec_benefits .benefit_item .img_wrap .caption {
  bottom: 10px;
  color: #fff;
  font-family: var(--font-def);
  font-size: clamp(0.8rem, 0.91vw, 1.1rem);
  position: absolute;
  right: 10px;
  z-index: 20;
}
#tw_content .page_content .sec_benefits .benefit_item .txt_wrap {
  display: flex;
  flex-wrap: wrap;
  width: 53.72%;
}
#tw_content .page_content .sec_benefits .benefit_item .limited_label {
  margin-left: 20px;
  width: 24.92%;
}
#tw_content .page_content .sec_benefits .benefit_item .head_wrap {
  align-items: center;
  display: grid;
  flex: 1;
  gap: 0 5%;
  grid-template-columns: 21.82% 1fr;
}
#tw_content .page_content .sec_benefits .benefit_item .head_wrap .hotel_logo {
  grid-column: 1/2;
  grid-row: 1/2;
}
#tw_content .page_content .sec_benefits .benefit_item .head_wrap .hotel_name {
  font-size: clamp(1.4rem, 2.15vw, 2.6rem);
  font-weight: 400;
  grid-column: 2/3;
  grid-row: 1/2;
  line-height: 1.5;
}
#tw_content .page_content .sec_benefits .benefit_item .head_wrap .benefit_title {
  border-top: 1px solid var(--border-color);
  font-size: clamp(1.7rem, 2.73vw, 3.3rem);
  font-weight: 500;
  grid-column: 1/3;
  grid-row: 2/3;
  letter-spacing: 0.06em;
  line-height: 1.42;
  margin-top: 12px;
  padding-top: 10px;
}
#tw_content .page_content .sec_benefits .benefit_item .body_wrap {
  padding-left: 7.69%;
  width: 100%;
}
#tw_content .page_content .sec_benefits .benefit_item .body_wrap .txt_01 {
  font-size: clamp(1.2rem, 1.49vw, 1.8rem);
  font-weight: 500;
  line-height: 1.67;
  margin-bottom: -10px;
}
#tw_content .page_content .sec_benefits .benefit_item .body_wrap .txt_02 {
  font-feature-settings: "palt" 1;
  font-size: clamp(1.1rem, 1.32vw, 1.6rem);
  letter-spacing: 0.06em;
  line-height: 1.56;
  margin: 12px calc(16.67% * -1) 0 0;
  text-align: justify;
  text-shadow: 0 0 10px #fff;
}

#tw_content .page_content .sec_hotels {
  background-color: #fff;
}
#tw_content .page_content .sec_hotels .sec_head {
  display: flex;
  flex-direction: column;
}
#tw_content .page_content .sec_hotels .sec_head .head_title {
  margin-bottom: 0;
  order: 3;
}
#tw_content .page_content .sec_hotels .sec_head .head_title_en {
  order: 1;
}
#tw_content .page_content .sec_hotels .sec_head .head_desc {
  margin: 11px 0 8px;
  order: 2;
}
#tw_content .page_content .sec_hotels .nav_wrap {
  display: grid;
  gap: clamp(2rem, 2.15vw, 2.6rem);
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: clamp(6rem, 8.26vw, 10rem);
}
#tw_content .page_content .sec_hotels .nav_item {
  background-color: var(--hotel-nav-bg-color);
  overflow: hidden;
}
#tw_content .page_content .sec_hotels .nav_item.haraveli {
  --hotel-nav-bg-color: #f6f4ef;
  --hotel-main-color: #9f8046;
}
#tw_content .page_content .sec_hotels .nav_item.moofushi {
  --hotel-nav-bg-color: #f0f4f8;
  --hotel-main-color: #4782a7;
}
#tw_content .page_content .sec_hotels .nav_item .img_wrap {
  aspect-ratio: 1/1;
  overflow: hidden;
  overflow: hidden;
  position: relative;
  width: 100%;
}
#tw_content .page_content .sec_hotels .nav_item .img_wrap img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#tw_content .page_content .sec_hotels .nav_item .txt_wrap .catch {
  color: var(--hotel-main-color);
  font-family: var(--font-en);
  font-size: clamp(1.1rem, 1.49vw, 1.8rem);
  font-weight: 400;
  letter-spacing: 0.16em;
  margin-bottom: 10px;
  text-transform: uppercase;
}
#tw_content .page_content .sec_hotels .nav_item .txt_wrap .desc {
  font-feature-settings: "palt" 1;
  font-size: clamp(1.4rem, 1.82vw, 2.2rem);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.27;
  text-align: justify;
}
#tw_content .page_content .sec_hotels .nav_item .txt_wrap .name {
  border-top: 1px solid var(--border-color);
}
#tw_content .page_content .sec_hotels .nav_item .txt_wrap .name span {
  font-size: clamp(1.2rem, 1.49vw, 1.8rem);
  font-weight: 500;
  padding-top: 0;
}
#tw_content .page_content .sec_hotels .nav_item .txt_wrap .more {
  align-items: center;
  display: flex;
  font-family: var(--font-en);
  font-size: clamp(1rem, 1.16vw, 1.4rem);
  justify-content: center;
  letter-spacing: 0.16em;
  line-height: 1;
  margin-top: auto;
  text-transform: uppercase;
}
#tw_content .page_content .sec_hotels .nav_item .txt_wrap .more::after {
  aspect-ratio: 2/1;
  background: url(../img/arr_btm_02_black.svg) center center/100% auto no-repeat;
  content: "";
  margin-left: 10px;
  width: 8px;
}
#tw_content .page_content .sec_hotels .hotel_item + .hotel_item {
  margin-top: clamp(3rem, 6.61vw, 8rem);
}
#tw_content .page_content .sec_hotels .hotel_item.haraveli {
  --hotel-visual-font-color: #b09666;
  --hotel-bg-color: #f6f4ef;
}
#tw_content .page_content .sec_hotels .hotel_item.moofushi {
  --hotel-visual-font-color: #93b6cc;
  --hotel-bg-color: #f0f4f8;
}
#tw_content .page_content .sec_hotels .hotel_item .item_head {
  height: 500px;
  margin-bottom: clamp(3rem, 4.96vw, 6rem);
  padding-top: 200px;
  position: relative;
}
#tw_content .page_content .sec_hotels .hotel_item .item_head > *:not(.hotel_visual) {
  color: #fff;
  position: relative;
  z-index: 2;
}
#tw_content .page_content .sec_hotels .hotel_item .item_head .catch {
  color: var(--hotel-visual-font-color);
  font-family: var(--font-en);
  font-size: clamp(1.4rem, 2.31vw, 2.8rem);
  letter-spacing: 0.12em;
  line-height: 1;
  margin-bottom: clamp(1rem, 1.65vw, 2rem);
  text-transform: uppercase;
}
#tw_content .page_content .sec_hotels .hotel_item .item_head .name {
  margin-bottom: clamp(2rem, 3.14vw, 3.8rem);
}
#tw_content .page_content .sec_hotels .hotel_item .item_head .name span {
  display: inline-block;
  font-size: clamp(2.8rem, 4.63vw, 5.6rem);
  font-weight: 400;
  line-height: 1.14;
  position: relative;
}
#tw_content .page_content .sec_hotels .hotel_item .item_head .name span::after {
  background-color: rgba(255, 255, 255, 0.6);
  content: "";
  display: inline-block;
  height: 1px;
  left: 0;
  position: absolute;
  top: calc(100% + 3px);
  width: 100%;
}
#tw_content .page_content .sec_hotels .hotel_item .item_head .desc_01 {
  font-size: clamp(1.6rem, 2.31vw, 2.8rem);
  margin-bottom: clamp(0.5rem, 1.82vw, 2.2rem);
}
#tw_content .page_content .sec_hotels .hotel_item .item_head .desc_01 br {
  display: none;
}
#tw_content .page_content .sec_hotels .hotel_item .item_head .desc_02 {
  font-size: clamp(1.3rem, 1.49vw, 1.8rem);
  line-height: 18, 29;
}
#tw_content .page_content .sec_hotels .hotel_item .item_head .visual {
  height: 100%;
  left: 50%;
  overflow: hidden;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: var(--vw);
  z-index: 1;
}
#tw_content .page_content .sec_hotels .hotel_item .item_head .visual img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#tw_content .page_content .sec_hotels .hotel_item .item_body.swiper {
  overflow: visible;
}
#tw_content .page_content .sec_hotels .hotel_item .item_body.swiper .intro_slide {
  margin-right: 4.13%;
  width: 34.71%;
}
#tw_content .page_content .sec_hotels .hotel_item .item_body.swiper .intro_slide:last-of-type {
  margin-right: 0;
}
#tw_content .page_content .sec_hotels .hotel_item .item_body.swiper .intro_slide .img {
  aspect-ratio: 420/280;
  background-color: var(--hotel-bg-color);
  border-radius: 15px;
  margin-bottom: clamp(1.2rem, 1.82vw, 2.2rem);
  overflow: hidden;
  width: 100%;
}
#tw_content .page_content .sec_hotels .hotel_item .item_body.swiper .intro_slide .img img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#tw_content .page_content .sec_hotels .hotel_item .item_body.swiper .intro_slide .title {
  font-size: clamp(1.4rem, 1.49vw, 1.8rem);
  line-height: 1.67;
  margin-bottom: clamp(1rem, 1.32vw, 1.6rem);
}
#tw_content .page_content .sec_hotels .hotel_item .item_body.swiper .intro_slide .desc {
  font-feature-settings: "palt" 1;
  font-size: clamp(1.4rem, 1.32vw, 1.6rem);
  letter-spacing: 0.06em;
  line-height: 1.59;
  text-align: justify;
}
#tw_content .page_content .sec_hotels .hotel_item .item_body .hotel_more_link {
  display: inline-flex;
  font-size: clamp(1.2rem, 1.16vw, 1.4rem);
  font-weight: 500;
  line-height: 1.71;
  position: relative;
}
#tw_content .page_content .sec_hotels .hotel_item .item_body .hotel_more_link::after {
  aspect-ratio: 12/8;
  background: url(../img/arr_01_black.svg) center center/100% auto no-repeat;
  content: "";
  margin-left: 9px;
  width: 12px;
}
#tw_content .page_content .sec_hotels .hotel_item .item_body .hotel_more_link::before {
  background-color: var(--font-color);
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: calc(100% + 5px);
  width: 100%;
}
#tw_content .page_content .sec_hotels .hotel_item .swiper_arr {
  align-items: center;
  border: 1px solid var(--border-color);
  display: flex;
  height: 38px;
  margin: 25px 0 0 auto;
  position: relative;
  width: 114px;
}
#tw_content .page_content .sec_hotels .hotel_item .swiper_arr::after {
  background-color: var(--border-color);
  content: "";
  height: 42.11%;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1px;
}
#tw_content .page_content .sec_hotels .hotel_item .swiper_arr .arr_prev,
#tw_content .page_content .sec_hotels .hotel_item .swiper_arr .arr_next {
  background: url(../img/slide_arr_black.svg) center center/auto 33.33% no-repeat;
  cursor: pointer;
  height: 100%;
  transition: opacity 0.3s ease;
  width: 50%;
}
#tw_content .page_content .sec_hotels .hotel_item .swiper_arr .arr_prev:disabled,
#tw_content .page_content .sec_hotels .hotel_item .swiper_arr .arr_next:disabled {
  background-image: url(../img/slide_arr_gray.svg);
  pointer-events: none;
}
#tw_content .page_content .sec_hotels .hotel_item .swiper_arr .arr_prev {
  transform: scale(-1, 1);
}

#tw_content .page_content .sec_note {
  background-color: var(--content-bg-02);
}
#tw_content .page_content .sec_note .sec_inner {
  max-width: 780px;
}
#tw_content .page_content .sec_note .note_title {
  font-feature-settings: "palt" 1;
  font-size: clamp(1.7rem, 2.73vw, 3.3rem);
  letter-spacing: 0.06em;
  letter-spacing: 0.12em;
  margin-bottom: clamp(1.5rem, 3.22vw, 3.9rem);
  text-align: center;
}
#tw_content .page_content .sec_note .note_dl {
  border-bottom: 1px solid var(--font-color);
  border-top: 1px solid var(--font-color);
  font-feature-settings: "palt" 1;
  font-size: clamp(1.1rem, 1.49vw, 1.8rem);
  letter-spacing: 0.08em;
  line-height: 1.61;
  padding: clamp(1rem, 1.24vw, 1.5rem) 0 clamp(1.3rem, 1.98vw, 2.4rem);
  text-align: justify;
}
#tw_content .page_content .sec_note .note_dl dt {
  margin-top: 10px;
}

#tw_content .page_content .sec_order {
  --order-font-color-blue: #2b588a;
  --order-font-color-blue-d: #012c4f;
  --order-font-color-red: #f34b76;
  background-color: var(--order-bg-color);
  padding: 0;
  position: relative;
}
#tw_content .page_content .sec_order .loop_imgs {
  margin: 0 calc((var(--vw) - 100%) / 2 * -1);
  overflow: visible;
  width: 100vw;
}
#tw_content .page_content .sec_order .loop_imgs .swiper-wrapper {
  transition-timing-function: linear !important;
}
#tw_content .page_content .sec_order .loop_imgs .swiper-slide {
  width: clamp(22.5rem, 37.19vw, 45rem);
}
#tw_content .page_content .sec_order .loop_imgs .swiper-slide .img_wrap {
  aspect-ratio: 450/300;
  overflow: hidden;
  width: 100%;
  width: 100%;
}
#tw_content .page_content .sec_order .loop_imgs .swiper-slide .img_wrap img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#tw_content .page_content .sec_order .txt_wrap {
  margin: clamp(4rem, 4.13vw, 5rem) auto 0;
  max-width: 780px;
  text-align: center;
  width: 100%;
}
#tw_content .page_content .sec_order .txt_wrap .txt_01 {
  font-size: clamp(1.8rem, 2.73vw, 3.3rem);
  letter-spacing: 0.06em;
  line-height: 1.42;
  margin-bottom: clamp(2.3rem, 2.48vw, 3rem);
  text-align: center;
}
#tw_content .page_content .sec_order .txt_wrap .txt_02 {
  font-feature-settings: "palt" 1;
  font-size: clamp(1.4rem, 1.49vw, 1.8rem);
  letter-spacing: 0.06em;
  line-height: 1.61;
}
#tw_content .page_content .sec_order .txt_wrap .txt_02 b {
  color: var(--order-main-color);
  font-weight: 700;
}
#tw_content .page_content .sec_order .txt_wrap .txt_03 {
  align-items: center;
  background-color: var(--order-main-color);
  border-radius: 30px 30px 0 0;
  color: #fff;
  display: flex;
  font-size: clamp(1.4rem, 2.07vw, 2.5rem);
  font-weight: 500;
  height: clamp(6.7rem, 7.6vw, 9.2rem);
  justify-content: center;
  line-height: 1.32;
  margin: clamp(3.3rem, 3.72vw, 4.5rem) auto 0;
  width: clamp(31rem, 49.42vw, 59.8rem);
}
#tw_content .page_content .sec_order .btm_wrap {
  align-items: center;
  background-color: #444;
  display: flex;
  height: clamp(7.8rem, 8.26vw, 10rem);
  justify-content: center;
  position: relative;
  width: 100vw;
}
#tw_content .page_content .sec_order .btm_wrap b {
  color: #e5d16c;
}
#tw_content .page_content .sec_order .btm_wrap p {
  color: #fff;
  font-family: var(--font-def);
  font-feature-settings: "palt" 1;
  font-size: clamp(1.3rem, 1.57vw, 1.9rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: justify;
}
#tw_content .page_content .sec_order .btm_wrap .arr {
  aspect-ratio: 43/12;
  bottom: clamp(0.7rem, 0.83vw, 1rem);
  display: block;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: clamp(3.1rem, 3.55vw, 4.3rem);
}

#tw_content .sec_search {
  background: #f3f3f3;
  border-bottom: 1px solid #c8c8c8;
  padding: 70px 15px 64px;
}
#tw_content .sec_search .sec_inner {
  margin: 0 auto;
  max-width: 1210px;
  width: 100%;
}
#tw_content .sec_search .sec_head {
  margin-bottom: 35px;
}
#tw_content .sec_search .sec_head .head_title {
  font-size: 2.7rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-bottom: 18px;
}
#tw_content .sec_search .sec_head .head_sbtitle {
  align-items: center;
  display: inline-flex;
}
#tw_content .sec_search .sec_head .head_sbtitle span {
  display: inline-block;
}
#tw_content .sec_search .sec_head .head_sbtitle .en {
  background: var(--tw-base-color);
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  height: 16px;
  letter-spacing: 0.04em;
  line-height: 16px;
  padding: 0 8px;
  white-space: nowrap;
}
#tw_content .sec_search .sec_head .head_sbtitle .ja {
  font-size: 1.5rem;
  letter-spacing: 0.24em;
  line-height: 1;
  padding-left: 28px;
  position: relative;
  white-space: nowrap;
}
#tw_content .sec_search .sec_head .head_sbtitle .ja::before {
  background: var(--tw-base-color);
  content: "";
  height: 14px;
  left: 14px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
}

#tw_content .page_content .sec_tour {
  background-color: var(--content-bg-01);
}
#tw_content .page_content .sec_tour .hotel_item.haraveli {
  --hotel-main-color: #9f8046;
  --hotel-bg-color: #eee9df;
  --tour-btn-color: #9f8046;
}
#tw_content .page_content .sec_tour .hotel_item.moofushi {
  --hotel-main-color: #4782a7;
  --hotel-bg-color: #e1e8ef;
  --tour-btn-color: #4782a7;
}
#tw_content .page_content .sec_tour .hotel_item .item_head {
  align-items: center;
  background-color: var(--hotel-bg-color);
  border-bottom: 2px solid var(--hotel-main-color);
  display: grid;
  gap: 0 5.75%;
  grid-template-columns: 17.24% 1fr;
  height: clamp(5rem, 6.61vw, 8rem);
  margin-bottom: clamp(1.5rem, 1.65vw, 2rem);
  padding: 0 0 0 clamp(0.8rem, 1.24vw, 1.5rem);
}
#tw_content .page_content .sec_tour .hotel_item .item_head .hotel_name {
  font-size: clamp(1.5rem, 1.98vw, 2.4rem);
  font-weight: 400;
  line-height: 1.75;
}
#tw_content .page_content .sec_tour .hotel_item .item_link {
  align-items: center;
  border: 1px solid var(--font-color);
  border-radius: 100vmax;
  display: flex;
  font-size: clamp(1.2rem, 1.16vw, 1.4rem);
  font-weight: 500;
  height: 44px;
  justify-content: center;
  line-height: 1;
  margin: 24px auto 0;
  max-width: 330px;
  padding-right: 5px;
  position: relative;
  width: 68.12%;
}
#tw_content .page_content .sec_tour .hotel_item .item_link::after {
  aspect-ratio: 12/8;
  background: url(../img/arr_01_black.svg) center center/100% auto no-repeat;
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
}
#tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper {
  display: flex;
  padding-left: 91px;
  position: relative;
}
#tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper::before {
  align-items: center;
  background: #fff;
  border: 1px solid var(--font-color);
  color: var(--font-color);
  content: "旅行日数";
  display: flex;
  justify-content: center;
  left: 0;
  line-height: 1.2;
  position: absolute;
  top: 0;
}
#tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn {
  align-items: center;
  background: var(--tour-tab-color);
  color: #fff;
  display: flex;
  justify-content: center;
}
#tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn {
  cursor: pointer;
  transition: opacity 0.3s ease;
}
#tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn span {
  align-items: flex-end;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
}
#tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn b {
  display: inline-block;
  font-weight: 600;
  line-height: 1;
}
#tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn small {
  display: inline-block;
  line-height: 1;
}
#tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn.active {
  background: var(--tour-tab-active-color);
  border-color: var(--tour-tab-active-color);
  color: #fff;
}
#tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn.active::after {
  background: var(--tour-tab-active-color);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  height: 7px;
  left: calc(50% - 8px);
  position: absolute;
  top: calc(100% - 1px);
  width: 16px;
}
#tw_content .page_content .sec_tour .tab2_container .tab2_content_wrapper .tab2_content {
  display: none;
  position: relative;
}
#tw_content .page_content .sec_tour .tab2_container .tab2_content_wrapper .tab2_content.active {
  animation: fadeIn 0.6s ease forwards;
  display: block;
}
#tw_content .page_content .sec_tour .tour_box {
  background: #fff;
  border: 3px solid var(--tour-border-color);
  border-radius: 12px;
  display: grid;
  font-family: var(--font-def);
  gap: 0 4.55%;
  grid-template-columns: 34.16% 1fr;
  margin: 0 auto;
  padding: 12px 23px 15px 12px;
  position: relative;
}
#tw_content .page_content .sec_tour .tour_box .tour_img {
  border-radius: 8px;
  overflow: hidden;
  position: relative;
}
#tw_content .page_content .sec_tour .tour_box .tour_img img {
  -o-object-fit: cover;
  height: 100%;
  left: 50%;
     object-fit: cover;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
#tw_content .page_content .sec_tour .tour_box .tour_desc {
  color: var(--font-color);
  font-feature-settings: "palt" 1;
  font-size: clamp(1.3rem, 1.32vw, 1.6rem);
  font-weight: 600;
  grid-column: 2/3;
  grid-row: 1/2;
  letter-spacing: 0.06em;
  line-height: 1.44;
  text-align: justify;
}
#tw_content .page_content .sec_tour .tour_box .tour_price .per {
  color: var(--font-color-gray);
  font-size: 1.1rem;
  line-height: 1;
}
#tw_content .page_content .sec_tour .tour_box .tour_price .price {
  color: var(--font-color-red);
  line-height: 1;
}
#tw_content .page_content .sec_tour .tour_box .tour_price .price .price_min,
#tw_content .page_content .sec_tour .tour_box .tour_price .price .price_max {
  font-family: var(--font-def-en);
  font-size: 169.23%;
  font-weight: 500;
}
#tw_content .page_content .sec_tour .tour_box .tour_price .att .att_01 {
  background: var(--tour-attention-bg-color);
  color: var(--font-color-red);
  display: inline-block;
  padding: 0 6px;
}
#tw_content .page_content .sec_tour .tour_box .tour_price .att .att_02 {
  color: var(--font-color-gray);
  margin-left: 4px;
}
#tw_content .page_content .sec_tour .tour_box .tour_price .att .att_03 {
  color: var(--font-color-dgray);
}
#tw_content .page_content .sec_tour .tour_box .tour_btn {
  align-items: center;
  background: var(--tour-btn-color);
  border-radius: 100vmax;
  color: #fff;
  display: flex;
  font-size: 1.25rem;
  height: 38px;
  justify-content: center;
  line-height: 1.5;
  padding-right: 5px;
  position: relative;
  width: 155px;
}
#tw_content .page_content .sec_tour .tour_box .tour_btn::after {
  aspect-ratio: 2/1;
  background: url(../img/arr_01_white.svg) center center/100% auto no-repeat;
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
}
#tw_content .page_content .sec_tour .tour_box.soldout {
  display: none;
}
#tw_content .page_content .sec_tour p.tour_notfound {
  color: var(--font-color-gray);
  text-align: center;
}
@media screen and (max-width: 1210px) and (min-width: 961px){
  #tw_content .page_content .sec_tour .tour_box .tour_price .att .att_02 {
    display: inline-block;
  }
}
@media screen and (max-width: 1210px) and (min-width: 601px){
  #tw_content .page_head .sec_hero {
    aspect-ratio: 1360/620;
  }
}
@media screen and (max-width: 1210px){
  #tw_content .page_content .sec_tour .hotel_item .item_head {
    gap: 0 3.59%;
  }
}
@media screen and (max-width: 960px){
  #tw_wrapper .vpc960 {
    display: none;
  }
  #tw_content .page_content .sec_benefits .benefit_item .img_wrap {
    width: 51.24%;
  }
  #tw_content .page_content .sec_benefits .benefit_item .txt_wrap {
    width: 59.5%;
  }
  #tw_content .page_content .sec_benefits .benefit_item .limited_label {
    width: 93px;
  }
  #tw_content .page_content .sec_benefits .benefit_item .head_wrap {
    grid-template-columns: 18.18% 1fr;
  }
  #tw_content .page_content .sec_benefits .benefit_item .head_wrap .benefit_title {
    font-size: 17px;
  }
  #tw_content .page_content .sec_benefits .benefit_item .body_wrap .txt_02 {
    margin-right: 0;
  }
  #tw_content .page_content .sec_benefits .benefit_item .body_wrap .txt_02 br {
    display: none;
  }
  #tw_content .page_content .sec_hotels .hotel_item .item_head {
    height: 280px;
    padding-top: 80px;
  }
  #tw_content .page_content .sec_hotels .hotel_item .item_body.swiper .intro_slide {
    margin-right: var(--content-margin);
  }
  #tw_content .page_content .sec_hotels .hotel_item .item_body.swiper .intro_slide .img {
    border-radius: 7.5px;
  }
  #tw_content .page_content .sec_order .txt_wrap .txt_03 {
    border-radius: 15px 15px 0 0;
  }
  #tw_content .sec_search .sec_head .head_title {
    font-size: 2.2rem;
    line-height: 1.35;
  }
  #tw_content .sec_search .sec_head .head_title em {
    display: inline-block;
    font-size: 75.56%;
  }
  #tw_content .page_content .sec_tour .hotel_wrap {
    gap: 0 clamp(2rem, 3.31vw, 4rem);
  }
  #tw_content .page_content .sec_tour .tour_box .tour_img {
    aspect-ratio: 260/195;
    border-radius: 5px;
    grid-column: 1/2;
    grid-row: 1/2;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_tab {
    grid-column: 1/3;
    grid-row: 2/3;
    margin-top: 9px;
  }
}
@media screen and (max-width: 600px){
  :root {
    --content-margin: 4vw;
  }
  #tw_wrapper .vpc600 {
    display: none;
  }
  #tw_content .section {
    padding-bottom: 16vw;
    padding-top: 10.67vw;
  }
  #tw_content .section .sec_head {
    margin-bottom: 6.67vw;
  }
  #tw_content .section .sec_head .head_title_en {
    gap: 0 2.67vw;
    margin-bottom: 2.67vw;
  }
  #tw_content .section .sec_head .head_title_en span {
    font-size: 3.2vw;
    line-height: 0.67;
  }
  #tw_content .section .sec_head .head_title_en::after, #tw_content .section .sec_head .head_title_en::before {
    width: 10.67vw;
  }
  #tw_content .section .sec_head .head_title {
    margin-bottom: 2.67vw;
  }
  #tw_content .section .sec_head .head_title span {
    font-size: 6.13vw;
  }
  #tw_content .section .sec_head .head_desc {
    font-size: 3.33vw;
  }
  #tw_content #ai-search-embed {
    margin-bottom: 9.33vw;
  }
  #tw_content #ai-search-embed .ai-embed-title {
    margin-bottom: 3.33vw;
  }
  #tw_content #ai-search-embed .ai-embed-lead {
    line-height: 1.5;
    margin-bottom: 8.67vw;
  }
  #tw_content .page_head .sec_hero {
    height: 173.33vw;
  }
  #tw_content .page_head .sec_hero .hero_logo {
    left: 0;
    max-height: 21.38%;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity 0.6s ease;
    width: 100%;
    z-index: 3;
  }
  #tw_content .page_head .sec_hero .hero_visual .swiper-img img {
    height: 100%;
    width: 100%;
  }
  #tw_content .page_content .sec_benefits .benefit_item {
    border-radius: 10px;
    padding: 2vw 2vw 4vw;
  }
  #tw_content .page_content .sec_benefits .benefit_item + .benefit_item {
    margin-top: 4vw;
  }
  #tw_content .page_content .sec_benefits .benefit_item .img_wrap {
    aspect-ratio: 660/290;
    border-radius: 5px;
    margin-bottom: 2.27vw;
    position: relative;
    width: 100%;
  }
  #tw_content .page_content .sec_benefits .benefit_item .img_wrap img {
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #tw_content .page_content .sec_benefits .benefit_item .img_wrap .caption {
    bottom: 1.07vw;
    font-size: 2.27vw;
    right: 1.07vw;
  }
  #tw_content .page_content .sec_benefits .benefit_item .txt_wrap {
    gap: 4vw 2vw;
    width: 100%;
  }
  #tw_content .page_content .sec_benefits .benefit_item .limited_label {
    margin-left: 0.4vw;
    width: 24.8vw;
  }
  #tw_content .page_content .sec_benefits .benefit_item .head_wrap {
    gap: 0 3.73vw;
    grid-template-columns: 23.26% 1fr;
  }
  #tw_content .page_content .sec_benefits .benefit_item .head_wrap .hotel_name {
    font-size: 3.6vw;
  }
  #tw_content .page_content .sec_benefits .benefit_item .head_wrap .benefit_title {
    font-size: 4.53vw;
    line-height: 1.44;
    margin-top: 2vw;
    padding-top: 2vw;
  }
  #tw_content .page_content .sec_benefits .benefit_item .body_wrap {
    padding: 0 3.33vw;
  }
  #tw_content .page_content .sec_benefits .benefit_item .body_wrap .txt_01 {
    font-size: 3.2vw;
    line-height: 1.44;
    margin-bottom: 2vw;
  }
  #tw_content .page_content .sec_benefits .benefit_item .body_wrap .txt_02 {
    font-size: 2.93vw;
    line-height: 1.59;
    margin: 1.33vw 0 0;
  }
  #tw_content .page_content .sec_hotels .sec_head {
    margin-bottom: 6vw;
  }
  #tw_content .page_content .sec_hotels .sec_head .head_desc {
    margin: 1.47vw 0 1.07vw;
  }
  #tw_content .page_content .sec_hotels .nav_wrap {
    gap: 0.8vw;
    margin-bottom: 16vw;
  }
  #tw_content .page_content .sec_hotels .nav_item {
    border-radius: 2vw;
  }
  #tw_content .page_content .sec_hotels .nav_item .txt_wrap {
    padding: 5.33vw 3.2vw 6.4vw;
  }
  #tw_content .page_content .sec_hotels .nav_item .txt_wrap .catch {
    font-size: 3.2vw;
    margin: 0 -8% 2.67vw;
    text-align: center;
  }
  #tw_content .page_content .sec_hotels .nav_item .txt_wrap .desc {
    font-size: 4vw;
    letter-spacing: 0;
    line-height: 1.3;
    text-align: center;
  }
  #tw_content .page_content .sec_hotels .nav_item .txt_wrap .name {
    margin-top: 3.33vw;
    padding-top: 4.8vw;
    text-align: center;
  }
  #tw_content .page_content .sec_hotels .nav_item .txt_wrap .name img {
    margin: 0 auto;
    width: 17.33vw;
  }
  #tw_content .page_content .sec_hotels .nav_item .txt_wrap .name span {
    display: block;
    font-size: 3.33vw;
    line-height: 1.44;
    margin-top: 1.33vw;
  }
  #tw_content .page_content .sec_hotels .nav_item .txt_wrap .more {
    font-size: 2.67vw;
    margin-top: 3.33vw;
  }
  #tw_content .page_content .sec_hotels .nav_item .txt_wrap .more::after {
    margin-left: 1.73vw;
    width: 1.6vw;
  }
  #tw_content .page_content .sec_hotels .hotel_item + .hotel_item {
    margin-top: 17.33vw;
  }
  #tw_content .page_content .sec_hotels .hotel_item .item_head {
    height: 74.67vw;
    margin-bottom: 8vw;
    padding-top: 26.67vw;
  }
  #tw_content .page_content .sec_hotels .hotel_item .item_head .catch {
    font-size: 3.73vw;
    margin-bottom: 2.67vw;
  }
  #tw_content .page_content .sec_hotels .hotel_item .item_head .name {
    margin-bottom: 5.33vw;
  }
  #tw_content .page_content .sec_hotels .hotel_item .item_head .name span {
    font-size: 7.47vw;
  }
  #tw_content .page_content .sec_hotels .hotel_item .item_head .desc_01 {
    font-size: 4.27vw;
    margin-bottom: 2.67vw;
  }
  #tw_content .page_content .sec_hotels .hotel_item .item_head .desc_02 {
    font-size: 3.33vw;
    line-height: 1.6;
  }
  #tw_content .page_content .sec_hotels .hotel_item .item_body.swiper .intro_slide {
    margin-right: 6.67vw;
    width: 56vw;
  }
  #tw_content .page_content .sec_hotels .hotel_item .item_body.swiper .intro_slide .img {
    border-radius: 2vw;
    margin-bottom: 2.67vw;
  }
  #tw_content .page_content .sec_hotels .hotel_item .item_body.swiper .intro_slide .title {
    font-size: 2.93vw;
    margin-bottom: 2vw;
  }
  #tw_content .page_content .sec_hotels .hotel_item .item_body.swiper .intro_slide .desc {
    font-size: 2.93vw;
    line-height: 1.59;
  }
  #tw_content .page_content .sec_hotels .hotel_item .item_body .hotel_more {
    margin: 8.67vw auto 0;
    text-align: center;
  }
  #tw_content .page_content .sec_hotels .hotel_item .item_body .hotel_more_link {
    font-size: 3.07vw;
  }
  #tw_content .page_content .sec_hotels .hotel_item .item_body .hotel_more_link::before {
    top: calc(100% + 1.2vw);
  }
  #tw_content .page_content .sec_hotels .hotel_item .swiper_arr {
    display: none;
  }
  #tw_content .page_content .sec_note {
    padding-top: 8vw;
  }
  #tw_content .page_content .sec_note .note_title {
    font-size: 4.53vw;
    margin-bottom: 5.07vw;
  }
  #tw_content .page_content .sec_note .note_dl {
    font-size: 2.93vw;
    line-height: 1.59;
    padding: 0.27vw 0 3.33vw;
  }
  #tw_content .page_content .sec_note .note_dl dt {
    margin-top: 3.07vw;
  }
  #tw_content .page_content .sec_order .loop_imgs .swiper-slide {
    width: clamp(114px, 60vw, 225px);
  }
  #tw_content .page_content .sec_order .txt_wrap {
    margin-top: 10.67vw;
    padding: 0 var(--content-margin);
  }
  #tw_content .page_content .sec_order .txt_wrap .txt_01 {
    font-size: 4.8vw;
    line-height: 1.44;
    margin-bottom: 6vw;
  }
  #tw_content .page_content .sec_order .txt_wrap .txt_02 {
    font-size: 3.6vw;
    line-height: 1.61;
  }
  #tw_content .page_content .sec_order .txt_wrap .txt_03 {
    font-size: 4.93vw;
    height: 17.87vw;
    margin: 10vw auto 0;
    width: 82.67vw;
  }
  #tw_content .page_content .sec_order .btm_wrap {
    height: 20.8vw;
    padding-bottom: 1.6vw;
  }
  #tw_content .page_content .sec_order .btm_wrap p {
    font-size: 3.33vw;
    line-height: 1.52;
    margin: 0 auto;
    width: 82.67vw;
  }
  #tw_content .page_content .sec_order .btm_wrap .arr {
    bottom: 1.87vw;
    width: 8.27vw;
  }
  #tw_content .sec_search {
    padding: clamp(25px, 13.33vw, 50px) 5vw clamp(20px, 11.33vw, 42.5px);
  }
  #tw_content .sec_search .sec_head {
    margin-bottom: clamp(12.5px, 6.67vw, 25px);
  }
  #tw_content .sec_search .sec_head .head_title {
    font-size: 6vw;
    margin-bottom: 1.33vw;
  }
  #tw_content .sec_search .sec_head .head_sbtitle .en {
    font-size: 3.2vw;
    height: 3.73vw;
    line-height: 3.73vw;
    padding: 0 1.07vw;
  }
  #tw_content .sec_search .sec_head .head_sbtitle .ja {
    font-size: 2.93vw;
    padding-left: 9.87vw;
  }
  #tw_content .sec_search .sec_head .head_sbtitle .ja::before {
    height: 3.73vw;
    left: 5.33vw;
  }
  #tw_content .page_content .sec_tour .hotel_wrap {
    display: block;
  }
  #tw_content .page_content .sec_tour .hotel_item + .hotel_item {
    margin-top: 8vw;
  }
  #tw_content .page_content .sec_tour .hotel_item .item_head {
    gap: 0 3.7%;
    grid-template-columns: 17.78% 1fr;
    height: 13.33vw;
    margin-bottom: 3.73vw;
    padding-left: 2vw;
  }
  #tw_content .page_content .sec_tour .hotel_item .item_head .hotel_name {
    font-size: 4vw;
  }
  #tw_content .page_content .sec_tour .hotel_item .item_link {
    font-size: 3.07vw;
    height: 11.2vw;
    margin-top: 4vw;
    padding-right: 0.67vw;
  }
  #tw_content .page_content .sec_tour .hotel_item .item_link::after {
    right: 4vw;
    width: 3.2vw;
  }
  #tw_content .page_content .sec_tour .tab2_container.is-overflow:not(.is-last) .tab2_next_btn {
    display: block;
  }
  #tw_content .page_content .sec_tour .tab2_container.is-overflow:not(.is-first) .tab2_prev_btn {
    display: block;
  }
  #tw_content .page_content .sec_tour .tab2_container.is-last .tab2_next_btn {
    display: none;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper {
    padding-left: 14.93vw;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper::-webkit-scrollbar {
    display: none;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper::before {
    border-radius: 1.33vw;
    font-size: 2.93vw;
    height: 6.93vw;
    width: 14.93vw;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_list {
    display: inline-flex;
    overflow-x: auto;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 1.33vw;
    scroll-behavior: smooth;
    scrollbar-width: none;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn {
    border-radius: 1.33vw;
    flex: auto;
    font-size: 4vw;
    height: 6.93vw;
    margin-left: 1.07vw;
    min-width: 8.8vw;
    position: relative;
    width: 100%;
    z-index: 1;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn small {
    display: none;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn.active::after {
    height: 5px;
    left: calc(50% - 5px);
    width: 10px;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_arr {
    background: #fff;
    display: none;
    height: calc(100% - 2px);
    position: absolute;
    top: -2px;
    width: 4vw;
    z-index: 2;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_arr::after {
    background: url(../img/arr_02_black.svg) center center/23.53% auto no-repeat;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_arr.tab2_next_btn {
    border-left: 1px solid var(--tour-border-color);
    right: 0;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_arr.tab2_prev_btn {
    border-right: 1px solid var(--tour-border-color);
    left: 14.93vw;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_arr.tab2_prev_btn::after {
    transform: scale(-1, 1);
  }
  #tw_content .page_content .sec_tour .tour_box {
    border-radius: 3.33vw;
    border-width: 2px;
    gap: 0 4.35%;
    grid-template-columns: 41.38% 1fr;
    margin: 0 auto 4vw;
    padding: 3.47vw 3.47vw 4.67vw;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_desc {
    font-size: 3.47vw;
    line-height: 1.54;
    margin-top: calc((3.47vw * 1.54 - 3.47vw) / 2 * -1);
  }
  #tw_content .page_content .sec_tour .tour_box .tour_tab {
    margin-top: 2.4vw;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_price {
    padding-right: 32.67vw;
    padding-top: 1.33vw;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_price .per {
    font-size: 2.53vw;
    margin-bottom: 0.53vw;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_price .price {
    display: inline-block;
    font-size: 2.93vw;
    margin-bottom: 0;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_price .price .price_min,
  #tw_content .page_content .sec_tour .tour_box .tour_price .price .price_max {
    font-size: 172.73%;
    letter-spacing: -0.02em;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_price .att {
    line-height: 4vw;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_price .att .att_01 {
    font-size: 2.53vw;
    padding: 0 1.33vw;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_price .att .att_02 {
    font-size: 2.27vw;
    letter-spacing: -0.04em;
    margin-left: 0.53vw;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_price .att .att_03 {
    font-size: 2.53vw;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_btn {
    bottom: 0;
    font-size: 3.2vw;
    height: 9.33vw;
    line-height: 9.07vw;
    padding-right: 4vw;
    position: absolute;
    right: 0;
    width: 32.67vw;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_btn::after {
    border-radius: 100vmax;
    right: 3.2vw;
    width: 2.27vw;
  }
}
@media not screen, screen and (min-width: 601px){
  #tw_wrapper .vsp600 {
    display: none;
  }
}
@media not screen, screen and (min-width: 961px){
  #tw_wrapper .vsp960 {
    display: none;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover){
  #tw_content .page_content .sec_hotels .hotel_item .swiper_arr .arr_prev:hover,
  #tw_content .page_content .sec_hotels .hotel_item .swiper_arr .arr_next:hover {
    opacity: 0.65;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn:hover {
    opacity: 0.65;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn:hover {
    background: var(--tour-tab-color);
    border-color: var(--tour-tab-color);
    color: #fff;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_btn:hover {
    opacity: var(--hover-opacity);
  }
}
@media (hover: none){
  #tw_content .page_content .sec_hotels .hotel_item .swiper_arr .arr_prev,
  #tw_content .page_content .sec_hotels .hotel_item .swiper_arr .arr_next {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  #tw_content .page_content .sec_hotels .hotel_item .swiper_arr .arr_prev:active,
  #tw_content .page_content .sec_hotels .hotel_item .swiper_arr .arr_next:active {
    opacity: 0.65;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn:active {
    opacity: 0.65;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn:active {
    background: var(--tour-tab-color);
    border-color: var(--tour-tab-color);
    color: #fff;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_btn {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  #tw_content .page_content .sec_tour .tour_box .tour_btn:active {
    opacity: var(--hover-opacity);
  }
}
@media screen and (min-width: 1211px), print{
  #tw_content .page_head .sec_hero {
    height: 620px;
  }
}
@media screen and (min-width: 601px), print{
  #tw_content #ai-search-embed .ai-embed-title {
    margin-bottom: 40px;
  }
  #tw_content #ai-search-embed .ai-embed-lead {
    margin-bottom: 30px;
  }
  #tw_content .page_head .sec_hero .hero_logo {
    display: none;
  }
  #tw_content .page_head .sec_hero .hero_visual .swiper-img img {
    height: 100%;
    width: auto;
  }
  #tw_content .page_content .sec_benefits .benefit_item .img_wrap {
    border-radius: 0 8px 8px 0;
    height: calc(100% - 20px);
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 1;
  }
  #tw_content .page_content .sec_benefits .benefit_item .txt_wrap {
    align-items: flex-start;
    gap: clamp(1rem, 1.82vw, 2.2rem) clamp(1rem, 2.48vw, 3rem);
    padding: clamp(1rem, 1.65vw, 2rem) 0;
    position: relative;
    z-index: 2;
  }
  #tw_content .page_content .sec_hotels {
    padding-bottom: clamp(6rem, 6.61vw, 8rem);
  }
  #tw_content .page_content .sec_hotels .sec_head {
    margin-bottom: clamp(3rem, 2.98vw, 3.6rem);
  }
  #tw_content .page_content .sec_hotels .nav_item {
    border-radius: 10px;
    display: flex;
    gap: 0 4.56%;
  }
  #tw_content .page_content .sec_hotels .nav_item .img_wrap {
    width: 30.41%;
  }
  #tw_content .page_content .sec_hotels .nav_item .txt_wrap {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: clamp(1rem, 1.16vw, 1.4rem) clamp(1rem, 1.65vw, 2rem) 15px 0;
  }
  #tw_content .page_content .sec_hotels .nav_item .txt_wrap .desc br {
    display: none;
  }
  #tw_content .page_content .sec_hotels .nav_item .txt_wrap .name {
    display: grid;
    gap: 0 8.74%;
    grid-template-columns: 23.5% 1fr;
    margin: 13px 0 5px;
    padding-top: 12px;
  }
  #tw_content .page_content .sec_hotels .hotel_item .item_body .hotel_more {
    bottom: 5px;
    left: 0;
    position: absolute;
  }
  #tw_content .sec_search .sec_head {
    text-align: center;
  }
  #tw_content .page_content .sec_tour .hotel_wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  #tw_content .page_content .sec_tour .tab2_container {
    border-top: 0;
    padding-top: 0;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper::before {
    border-radius: 6px;
    font-size: 1.4rem;
    height: 26px;
    padding-top: 2px;
    width: 85px;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_list {
    display: flex;
    gap: 0 6px;
    overflow-x: visible;
    padding-bottom: 0;
    width: 100%;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_list:has(> .tab2_btn:nth-child(8)) .tab2_btn small {
    font-size: 69.23%;
    line-height: 1.1;
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn {
    border-radius: 6px;
    flex: auto;
    font-size: 1.4rem;
    font-weight: 600;
    height: 26px;
    margin: 0;
    width: calc(100% - 3px);
  }
  #tw_content .page_content .sec_tour .tab2_container .tab2_scroll_wrapper .tab2_btn.active {
    cursor: default;
    pointer-events: none;
    position: relative;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_price {
    padding-left: 91px;
    padding-top: clamp(0.5rem, 0.83vw, 1rem);
  }
  #tw_content .page_content .sec_tour .tour_box .tour_price .per {
    display: none;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_price .price {
    font-size: 1.3rem;
    margin: 2px 0 5px 0;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_price .att {
    font-size: 1rem;
    line-height: 16px;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_btn {
    margin: 10px 0 0 auto;
  }
}
@media screen and (min-width: 961px), print{
  #tw_content .page_content .sec_hotels .hotel_item .item_head .desc_02 {
    width: 55.37%;
  }
  #tw_content .page_content .sec_tour .hotel_wrap {
    gap: 0 clamp(3.3rem, 5.45vw, 6.6rem);
  }
  #tw_content .page_content .sec_tour .tour_box .tour_img {
    grid-column: 1/2;
    grid-row: 1/3;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_desc {
    border-bottom: 1px solid var(--tour-border-color);
    margin-bottom: 8px;
    padding-bottom: 13px;
  }
  #tw_content .page_content .sec_tour .tour_box .tour_tab {
    grid-column: 2/3;
    grid-row: 2/3;
  }
}