﻿:root {
  --vh: 100vh;
  --vw: 100vw;
  --vh1: 1vh;
  --win-vh: calc(var(--vh1, 1vh) * 100);
  --win-vw: 100vw;
  --color-primary: #ff535e;
  --color-primary-bg-1: #ffd4d6;
  --color-primary-bg-2: #ffe8e9;
  --color-primary-line: #ff8ea1;
  --color-search-primary: #ff535e;
  --color-search-title: #333;
  --color-search-submit: #ff535e;
  --color-tour-main: #ff535e;
  --color-tour-main-bg: #f3efd6;
  --color-nav-bg-1: #ffe8e9;
  --color-nav-bg-2: #d9f6d9;
  --color-nav-bg-3: #d2f8ff;
  --color-nav-current-bg-1: #ff535e;
  --color-nav-current-bg-2: #54bb32;
  --color-nav-current-bg-3: #00b2cf;
}
#bali {
  --color-primary: #ff535e;
  --color-primary-bg-1: #ffd4d6;
  --color-primary-bg-2: #ffe8e9;
  --color-primary-line: #ff8ea1;
  --color-tour-tab1-active: #ff535e;
  --color-tour-tab2: #ffe8e9;
  --color-tour-tab2-txt: #ff535e;
  --color-tour-tab2-active: #ff535e;
}
#indonesia {
  --color-primary: #54bb32;
  --color-primary-bg-1: #cdeecd;
  --color-primary-bg-2: #d9f6d9;
  --color-primary-line: #abe1ab;
  --color-tour-tab1-active: #54bb32;
  --color-tour-tab2: #d9f6d9;
  --color-tour-tab2-txt: #54bb32;
  --color-tour-tab2-active: #54bb32;
}
/* ▼ フィジー内分泊 ブルー */
#fiji {
  --color-primary: #009beb;
  --color-primary-bg-1: #77caf5;
  --color-primary-bg-2: #d6f5fd;
  --color-primary-line: #77caf5;
  --color-tour-tab1-active: #009beb;
  --color-tour-tab2: #d6f5fd;
  --color-tour-tab2-txt: #009beb;
  --color-tour-tab2-active: #009beb;
}
/* ▼ 周遊セクション全体 (共通ベース) */
#round {
  --color-primary: #ec6ab7;
  --color-primary-bg-1: #f3a8d7;
  --color-primary-bg-2: #fbe4f3;
  --color-primary-line: #f9d4ea;
  --color-tour-tab1-active: #ec6ab7;
  --color-tour-tab2: #fbe4f3;
  --color-tour-tab2-txt: #ec6ab7;
  --color-tour-tab2-active: #ec6ab7;
}
/* ▼ 周遊 NC ピンク */
#round_ncal {
  scroll-margin-top: 100px;
  --color-primary: #ec6ab7;
  --color-primary-bg-1: #f3a8d7;
  --color-primary-bg-2: #fbe4f3;
  --color-primary-line: #f9d4ea;
  --color-tour-tab1-active: #ec6ab7;
  --color-tour-tab2: #fbe4f3;
  --color-tour-tab2-txt: #ec6ab7;
  --color-tour-tab2-active: #ec6ab7;
}
/* ▼ 周遊 AUS 黄緑 */
#round_aus {
  --color-primary: #54bb32;
  --color-primary-bg-1: #ace1ac;
  --color-primary-bg-2: #d9f6d9;
  --color-primary-line: #ace1ac;
  --color-tour-tab1-active: #54bb32;
  --color-tour-tab2: #d9f6d9;
  --color-tour-tab2-txt: #54bb32;
  --color-tour-tab2-active: #54bb32;
}
/* ▼ 周遊 NZ オレンジ */
#round_nz {
  --color-primary: #e6811c;
  --color-primary-bg-1: #f5cb69;
  --color-primary-bg-2: #fcf3d2;
  --color-primary-line: #f5cb69;
  --color-tour-tab1-active: #e6811c;
  --color-tour-tab2: #fcf3d2;
  --color-tour-tab2-txt: #e6811c;
  --color-tour-tab2-active: #e6811c;
}
body.is_fixed {
  height: 100%;
  left: 0;
  position: fixed;
  width: 100%;
}
.contents {
  background-color: var(--color-primary-bg);
  color: #333;
}
.contents img {
  border: 0;
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}
.contents i,
.contents em {
  font-style: normal;
}
.contents a {
  color: #333;
  cursor: pointer;
  -webkit-tap-highlight-color: rgb(0 0 0 / 0.2);
}
.contents .content_body {
  background: #fff;
}
.contents .content_body .section .sec_inner {
  margin: 0 auto;
  max-width: 1100px;
  width: 100%;
}
.contents .sec_trip .sec_head {
  padding: 0 20px;
  text-align: center;
}
.contents .sec_trip .sec_head .sec_title {
  margin-bottom: 30px;
  position: relative;
  text-align: center;
}
.contents .sec_trip .sec_head .sec_title::before {
  background: #333;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  top: 50%;
  width: 100%;
  z-index: 1;
}
.contents .sec_trip .sec_head .sec_title .title_img {
  background: #fff;
  display: inline-block;
  padding: 0 30px;
  position: relative;
  z-index: 2;
}
.contents .sec_trip .sec_head .sec_title img {
  width: 267px;
  height: auto;
}
.contents .sec_trip.trip_round .sec_head {
  padding: 0;
}
.contents .sec_trip.trip_round .sec_head .sec_title .title_img {
  padding: 0 50px;
}
.contents .sec_trip.trip_round .sec_head .sec_title::before {
  background: #ec6ab7;
}
.contents .sec_trip .sec_head .sec_desc {
  font-size: 1.4rem;
  line-height: 1.7;
  margin: 0 auto 20px;
  max-width: 860px;
  text-align: center;
}
.contents .sec_trip .sec_head .sec_map {
  margin: 0 auto;
  max-width: 960px;
}
.contents .sec_trip .sec_head .sec_map img {
  width: 100%;
}
.contents .lazyload.fade_in,
.contents .lazyloading.fade_in {
  opacity: 0;
}
.contents .lazyloaded {
  opacity: 1;
  transition: opacity 0.6s ease-in-out;
}
.contents .section p {
  hanging-punctuation: allow-end;
  line-break: strict;
  overflow-wrap: break-word;
  word-wrap: break-word;
}
@keyframes loader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes loader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.contents .location_nav {
  position: fixed;
  transition: all 0.3s ease;
  z-index: 100;
}
.contents .location_nav li a {
  align-items: center;
  background: var(--color-nav-bg-1);
  display: flex;
  font-size: 1.2rem;
  font-weight: 700;
  justify-content: center;
  overflow: hidden;
}
.contents .location_nav li a.is_current {
  color: #fff;
}
.contents .location_nav li.nav_bali a {
  background: var(--color-nav-bg-1);
}
.contents .location_nav li.nav_bali a.is_current {
  background: var(--color-nav-current-bg-1);
}
.contents .location_nav li.nav_indonesia a {
  background: var(--color-nav-bg-2);
}
.contents .location_nav li.nav_indonesia a.is_current {
  background: var(--color-nav-current-bg-2);
}
.contents .location_nav li.nav_round a {
  background: var(--color-nav-bg-3);
}
.contents .location_nav li.nav_round a.is_current {
  background: var(--color-nav-current-bg-3);
}
.contents .anchor_nav {
  border-bottom: 3px solid var(--color-primary);
  margin-bottom: 60px;
  padding: 0 20px;
  width: 100%;
}
.contents .anchor_nav ul {
  align-items: center;
  display: flex;
  justify-content: center;
  gap: 12px;
  margin: 0 auto;
  max-width: 1100px;
  width: 100%;
}
.contents .anchor_nav li a {
  align-items: center;
  border-radius: 8px 8px 0 0;
  display: flex;
  font-size: 2rem;
  font-weight: bold;
  height: 55px;
  justify-content: center;
  position: relative;
}
.contents .anchor_nav li a span {
  font-size: 2rem;
  font-weight: bold;
}
.contents .anchor_nav li a::after {
  background: url(../img/arr_02_black.svg) center center/cover no-repeat;
  content: "";
  display: block;
  height: 10px;
  margin-top: -5px;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  width: 10px;
}
.contents .anchor_nav li.nav_fiji a {
  background: #b9e8fb;
}
.contents .anchor_nav li.nav_round a {
  background: #f9d4ea;
}
.contents .anchor_nav li.current a {
  background: var(--color-primary);
  color: #fff;
  pointer-events: none;
}
.contents .anchor_nav li.nav_round.current a {
  background: #ec6ab7;
}
.contents .anchor_nav li.current a::after {
  display: none;
}
.contents .anchor_nav li.arrow_up a::after {
  margin-top: 0;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
.contents .sec_hero .visual_wrap {
  overflow: hidden;
  position: relative;
}
.contents .sec_hero .txt_wrap {
  background: #fff;
  padding: 32px 20px 42px;
}
.contents .sec_hero .txt_wrap .hero_txt {
  margin: 0 auto;
  max-width: 1100px;
  text-align: center;
  width: 100%;
}
.contents .sec_trip .trip_title {
  margin-bottom: 30px;
  position: relative;
  text-align: center;
}
.contents .sec_trip .trip_title::before {
  background: #333;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  top: 50%;
  width: 100%;
  z-index: 1;
}
.contents .sec_trip .trip_title picture {
  background: #fff;
  display: inline-block;
  padding: 0 30px;
  position: relative;
  z-index: 2;
}
.contents .sec_trip.trip_fiji .trip_title img {
  height: 50px;
  width: auto;
}
.contents .sec_trip .trip_area {
  margin-bottom: 40px;
  position: relative;
}
.contents .sec_trip .trip_area .area_map {
  margin: 0 auto;
  max-width: 890px;
}
.contents .sec_trip .trip_area .area_map .map_title {
  align-items: center;
  background: var(--color-primary);
  border-radius: 10px 10px 0 0;
  color: #fff;
  display: flex;
  font-size: 1.2rem;
  font-weight: bold;
  height: 30px;
  justify-content: center;
}
.contents .sec_trip .trip_area .area_map .map_img {
  background: var(--color-primary-bg-1);
}
.contents .sec_trip .trip_area .area_info {
  position: relative;
}
.contents .sec_trip .trip_area .area_info .box {
  background: #fff;
  border: 3px solid #fff;
  border-radius: 10px;
  box-shadow: 0 0 0 3px var(--color-primary-line);
  overflow: hidden;
}
.contents .sec_trip .trip_area .area_info .box_inner {
  display: block;
}
.contents .sec_trip .trip_area .area_info .box_img {
  aspect-ratio: 191/127;
  overflow: hidden;
}
.contents .sec_trip .trip_area .area_info .box_img img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}
.contents .sec_trip .trip_area .area_info .box_txt {
  padding: 10px 7px;
}
.contents .sec_trip .trip_area .area_info .box_txt .title {
  color: var(--color-primary);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.31;
  margin-bottom: 6px;
}
.contents .sec_trip .trip_area .area_info .box_txt p {
  font-size: 1.3rem;
  line-height: 1.4;
}
.contents .sec_trip .trip_area .area_info .swiper_loading {
  background: var(--color-primary-bg-1);
  height: calc(100% + 6px);
  left: 0;
  opacity: 1;
  position: absolute;
  top: -6px;
  transition: all 0.4s ease;
  width: 100%;
  z-index: 2;
}
.contents .sec_trip .trip_area .area_info .swiper_loading .loading_anim,
.contents .sec_trip .trip_area .area_info .swiper_loading .loading_anim::after {
  border-radius: 50%;
  height: 40px;
  width: 40px;
}
.contents .sec_trip .trip_area .area_info .swiper_loading .loading_anim {
  -webkit-animation: loader 1.2s infinite linear;
  animation: loader 1.2s infinite linear;
  border-bottom: 3px solid var(--color-primary-line);
  border-left: 3px solid var(--color-primary-bg-1);
  border-right: 3px solid var(--color-primary-line);
  border-top: 3px solid var(--color-primary-line);
  left: 50%;
  margin: -20px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.contents .sec_trip .trip_area .area_info .swiper_nav .nav_arrow {
  background: var(--color-primary) url(../img/arr_03_white.svg) center center/auto 32.5% no-repeat;
  border-radius: 5px;
  height: 40px;
  position: absolute;
  top: 42.6667vw;
  width: 40px;
  z-index: 2;
}
.contents .sec_trip .trip_area .area_info .swiper_nav .nav_arrow.swiper_prev {
  left: 40px;
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
.contents .sec_trip .trip_area .area_info .swiper_nav .nav_arrow.swiper_next {
  right: 40px;
}
.contents .sec_trip .trip_plans .plans_title picture {
  display: block;
  text-align: center;
}
.contents .sec_trip .trip_plans .plans_nav {
  margin: 18px auto 52px;
}
.contents .sec_trip .trip_plans .plans_nav ul {
  align-items: center;
  display: flex;
  justify-content: center;
  width: 100%;
}
.contents .sec_trip .trip_plans .plans_nav li {
  margin: 0 22px;
}
.contents .sec_trip .trip_plans .plans_nav li a {
  align-items: center;
  background: var(--color-primary-bg-2);
  border-radius: 8px;
  display: flex;
  font-size: 1.4rem;
  font-weight: bold;
  height: 40px;
  justify-content: center;
  padding: 0 1.3333vw 0 0;
  position: relative;
}
.contents .sec_trip .trip_plans .plans_nav li a::after {
  background: url(../img/arr_02_black.svg) center center/cover no-repeat;
  content: "";
  display: block;
  height: 10px;
  margin-top: -7px;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  width: 10px;
}
.contents .sec_trip .trip_plans .plans_cnt {
  background: var(--color-primary-bg-2);
}
.contents .sec_trip .trip_plans .plans_cnt .cnt_head {
  position: relative;
  padding: 16px 0;
}
.contents .sec_trip .trip_plans .plans_cnt .cnt_head .head_title .title_img {
  display: block;
}
.contents .sec_trip .trip_plans .plans_cnt .cnt_head .head_title .title_img img {
  height: 91px;
  width: auto;
}
.contents .sec_trip .trip_hotels .hotel_name {
  align-items: center;
  display: flex;
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 32px;
}
.contents .sec_trip .trip_hotels .hotel_name::before {
  background: url(../img/label_recom.svg) center center/cover no-repeat;
  content: "";
  height: 80px;
  width: 80px;
}
.contents .sec_trip .trip_hotels .hotel_name span {
  flex: 1;
  padding-left: 16px;
}
.contents .sec_trip .trip_hotels .hotel_photos .wrap {
  position: relative;
}
.contents .sec_trip .trip_hotels .hotel_photos .wrap_01 .hotel_img {
  position: relative;
}
.contents .sec_trip .trip_hotels .hotel_photos .wrap_02 .hotel_desc {
  z-index: 1;
}
.contents .sec_trip .trip_hotels .hotel_photos .wrap_02 .hotel_img {
  position: relative;
  z-index: 2;
}
.contents .sec_trip .trip_hotels .hotel_photos .wrap_04 .hotel_desc {
  z-index: 1;
}
.contents .sec_trip .trip_hotels .hotel_photos .wrap_04 .hotel_img {
  position: relative;
  z-index: 2;
}
.contents .sec_trip .trip_hotels .hotel_photos .wrap_03 .hotel_img {
  position: relative;
}
.contents .sec_trip .trip_hotels .hotel_photos .hotel_img {
  aspect-ratio: 579/386;
  border-radius: 10px;
  overflow: hidden;
}
.contents .sec_trip .trip_hotels .hotel_photos .hotel_img img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}
.contents .sec_trip .trip_hotels .hotel_photos .hotel_desc {
  background: #fff;
  border-radius: 10px;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  font-size: 1.4rem;
  line-height: 1.57;
  padding: 20px 30px;
  text-align: justify;
}
.contents .sec_trip.trip_fiji .trip_area .area_info .box:nth-of-type(1) {
  margin-bottom: 65px;
}
.contents .sec_trip.trip_fiji .trip_area .area_info .box:nth-of-type(2) {
  margin-bottom: 65px;
}
.contents .sec_trip.trip_fiji .trip_hotels .hotel_name::before {
  background-image: url(../img/label_recom.png);
}
.contents .sec_trip.trip_fiji_sub .trip_hotels .hotel_name::before {
  background-image: url(../img/label_recom.png);
}
.contents .sec_trip.trip_round .trip_area .area_info .box:nth-of-type(1) {
  margin-bottom: 42px;
}
.contents .sec_trip.trip_round .trip_area .area_info .box:nth-of-type(2) {
  margin-bottom: 42px;
}
.contents .sec_trip.trip_round .trip_hotels .hotel_name::before {
  background-image: url(../img/round_label_recom.svg);
}
/* 周遊 国別バッジ色 */
#round_ncal .trip_hotels .hotel_name::before {
  background-image: url(../img/round_01_label_recom.png);
}
#round_aus .trip_hotels .hotel_name::before {
  background-image: url(../img/round_02_label_recom.png);
}
#round_nz .trip_hotels .hotel_name::before {
  background-image: url(../img/round_03_label_recom.png);
}
.contents .sec_trip .trip_tours {
  margin-top: 160px;
}
.contents .sec_trip .trip_tours .tour_tab ul {
  display: flex;
  width: 100%;
}
.contents .sec_trip .trip_tours .tour_tab li {
  align-items: center;
  background: #fff;
  color: var(--color-primary);
  cursor: pointer;
  display: flex;
  justify-content: center;
  transition: opacity 0.3s ease;
  width: 100%;
}
.contents .sec_trip .trip_tours .tour_tab li.selected {
  background: var(--color-primary);
  color: #fff;
  position: relative;
}
.contents .sec_trip .trip_tours .tour_tab li span {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}
.contents .sec_trip .trip_tours .tour_panel:not(.selected) {
  display: none;
}
.contents .sec_trip .trip_tours .tour_panel .panel_tours {
  background: #fff;
  border-radius: 0 0 8px 8px;
  padding: 24px;
}
.contents .sec_trip .trip_tours .tour_panel .panel_btns {
  margin-top: 30px;
  text-align: center;
}
.contents .sec_trip .trip_tours .tour_panel .panel_btns .link_btn {
  align-items: center;
  background: #fff;
  border-radius: 8px;
  color: var(--color-primary);
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  margin: 0 auto;
  position: relative;
}
.contents .sec_trip .trip_tours .tour_panel .panel_btns .link_btn::after {
  background: url(../img/arr_01_pink.svg) center center/auto 100% no-repeat;
  content: "";
  height: 14px;
  position: absolute;
  right: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 14px;
}
.contents .sec_trip .trip_tours .tour_img {
  aspect-ratio: 286/190;
  display: block;
}
.contents .sec_trip .trip_tours .tour_img img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}
.contents .sec_trip .trip_tours .tour_name {
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.58;
  margin-bottom: 14px;
}
.contents .sec_trip .trip_tours .tour_info_tab_nav {
  border-bottom: 1px solid var(--color-primary-bg-2);
  display: flex;
  width: 100%;
}
.contents .sec_trip .trip_tours .tour_info_tab_nav li {
  align-items: center;
  background: var(--color-primary-bg-2);
  border-radius: 5px 5px 0 0;
  color: var(--color-primary);
  cursor: pointer;
  display: flex;
  font-size: 1.5rem;
  font-weight: 700;
  height: 30px;
  justify-content: center;
  line-height: 1;
  margin-right: 10px;
  transition: opacity 0.3s ease;
  width: 100px;
}
.contents .sec_trip .trip_tours .tour_info_tab_nav li.is_active {
  background: var(--color-primary);
  color: #fff;
  pointer-events: none;
}
.contents .sec_trip .trip_tours .tour_info_tab_nav li small {
  font-size: 100%;
  font-weight: 700;
}
.contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt {
  display: none;
  padding: 12px 0 0;
}
.contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt.is_show {
  display: flex;
}
.contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt .tour_price {
  flex: 1;
}
.contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt .tour_price .fee {
  color: #ff0707;
  font-size: 2rem;
  font-weight: 700;
}
.contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt .tour_price .fee .min_price,
.contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt .tour_price .fee .max_price {
  font-size: 150%;
  line-height: 1;
}
.contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt .tour_price .att {
  font-size: 1.1rem;
  margin-top: 5px;
}
.contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt .tour_btn {
  align-items: center;
  background: var(--color-primary);
  border-radius: 8px;
  color: #fff;
  display: flex;
  font-size: 1.4rem;
  font-weight: 700;
  height: 50px;
  justify-content: center;
  padding-right: 7px;
  position: relative;
  width: 184px;
}
.contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt .tour_btn::after {
  background: url(../img/arr_01_white.svg) center center/auto 100% no-repeat;
  content: "";
  height: 14px;
  position: absolute;
  right: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 14px;
}
.contents .sec_trip.trip_fiji .trip_tours .tour_panel .link_btn::after {
  background-image: url(../img/arr_01_blue.svg);
}
.contents .sec_trip.trip_fiji_sub .trip_tours .tour_panel .link_btn::after {
  background-image: url(../img/arr_01_green.svg);
}
#round_ncal .trip_tours .tour_panel .link_btn::after {
  background-image: url(../img/arr_01_pink.svg);
}
#round_aus .trip_tours .tour_panel .link_btn::after {
  background-image: url(../img/arr_01_green.svg);
}
#round_nz .trip_tours .tour_panel .link_btn::after {
  background-image: url(../img/arr_01_orange.svg);
}
@media screen and (min-width: 601px), print {
  .contents .content_body .section {
    margin-bottom: 90px;
  }
  .contents .location_nav {
    bottom: 54px;
    right: -135px;
    width: 135px;
  }
  .contents .location_nav li {
    background: #fff;
    border-radius: 5px 0 0 5px;
    margin-top: 7px;
    overflow: hidden;
  }
  .contents .location_nav li a {
    height: 50px;
  }
  .contents .location_nav.nav_fixed {
    right: 0;
  }
  .contents .anchor_nav li {
    width: 280px;
  }
  .contents .sec_hero .visual_wrap {
    background: url(../img/hero_visual_pc.jpg) center center/cover no-repeat;
  }
  .contents .sec_hero .visual_wrap .hero_title {
    left: 0;
    padding: 0 20px;
    position: absolute;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
  }
  .contents .sec_hero .visual_wrap .hero_title img {
    max-width: 800px;
    width: 75%;
  }
  .contents .sec_trip .trip_area .area_info .swiper_loading {
    display: none;
  }
  .contents .sec_trip .trip_plans .plans_nav li {
    width: 285px;
  }
  .contents .sec_trip .trip_plans .plans_cnt .cnt_head {
    margin-bottom: 20px;
    padding-bottom: 27px;
  }
  .contents .sec_trip .trip_plans .plans_cnt .cnt_head::after {
    background-image: linear-gradient(to right, var(--color-primary), var(--color-primary) 3px, transparent 3px, transparent 6px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 6px 1px;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
  }
  .contents .sec_trip .trip_plans .plans_cnt .cnt_head .head_desc {
    font-size: 1.4rem;
    line-height: 1.57;
  }
  .contents .sec_trip.trip_fiji #fiji_plan_01 .trip_hotels .hotel_photos .wrap_03 {
    top: -40px;
  }
  .contents .sec_trip.trip_fiji #fiji_plan_02 .trip_hotels .hotel_photos .wrap_03 {
    top: -40px;
  }
  .contents .sec_trip.trip_fiji #fiji_plan_02 .trip_hotels .hotel_photos .wrap_04 {
    top: 20px;
  }
  .contents .sec_trip.trip_fiji_sub .trip_area .area_info .box:nth-of-type(1),
  .contents .sec_trip.trip_fiji_sub .trip_area .area_info .box:nth-of-type(2) {
    margin-bottom: 0;
  }
  .contents .sec_trip.trip_fiji_sub #fiji_plan_02 .trip_hotels .hotel_photos .wrap_03 {
    top: -30px;
  }
  .contents .sec_trip.trip_fiji_sub #fiji_plan_02 .trip_hotels .hotel_photos .wrap_04 {
    margin-bottom: 0;
  }
  .contents .sec_trip.trip_round .trip_area {
    margin-bottom: 0;
  }
  .contents .sec_trip.trip_round #round_plan_01 .trip_hotels .hotel_photos .wrap_03 {
    top: -20px;
  }
  .contents .sec_trip.trip_round #round_plan_02 .trip_hotels .hotel_photos {
    margin-bottom: 120px;
  }
  .contents .sec_trip.trip_round #round_plan_02 .trip_hotels .hotel_photos .wrap_03 {
    top: -40px;
  }
  .contents .sec_trip.trip_round #round_plan_02 .trip_hotels .hotel_photos .wrap_04 {
    top: 85px;
  }
  .contents .sec_trip.trip_round #round_plan_03 .trip_hotels .hotel_photos .wrap_04 {
    top: 20px;
  }
  .contents .sec_trip .trip_tours .tour_tab {
    border-bottom: 3px solid var(--color-primary);
  }
  .contents .sec_trip .trip_tours .tour_tab li {
    border-radius: 8px 8px 0 0;
    height: 45px;
    margin-right: 10px;
    max-width: 160px;
  }
  .contents .sec_trip .trip_tours .tour_panel .panel_btns .link_btn {
    font-size: 1.7rem;
    height: 50px;
    min-width: 425px;
    padding: 0 37px 0 20px;
  }
  .contents .sec_trip .trip_tours .tour_cnt {
    display: flex;
    justify-content: space-between;
  }
  .contents .sec_trip .trip_tours .tour_cnt_01 {
    width: 29.3%;
  }
  .contents .sec_trip .trip_tours .tour_cnt_02 {
    flex: 1;
    padding-left: 30px;
  }
  .contents .sec_trip .trip_tours .tour_cnt_02 .tour_img {
    display: none;
  }
  .contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt.is_show {
    align-items: center;
  }
  .contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt .tour_price {
    padding-right: 10px;
  }
}
@media not screen, screen and (min-width: 601px) {
  .contents .vsp600 {
    display: none;
  }
}
@media not screen, screen and (min-width: 961px) {
  .contents .vsp960 {
    display: none;
  }
}
@media screen and (min-width: 961px), print {
  .contents .sec_trip .trip_area .area_map {
    left: 50%;
    position: absolute;
    top: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 80.91%;
    z-index: 1;
  }
  .contents .sec_trip .trip_area .area_map .map_img {
    border: 3px solid var(--color-primary-line);
    border-radius: 0 0 10px 10px;
    border-top: 0;
    overflow: hidden;
  }
  .contents .sec_trip .trip_area .area_info {
    padding-top: 50px;
    z-index: 2;
  }
  .contents .sec_trip .trip_area .area_info .box_wrap {
    display: flex;
    flex-wrap: wrap;
    height: auto;
    justify-content: space-between;
    margin: 0 -12px;
    position: static;
    width: calc(100% + 24px);
  }
  .contents .sec_trip .trip_area .area_info .box {
    margin: 0 12px;
    width: calc(20% - 24px);
  }
  .contents .sec_trip .trip_area .area_info .box:nth-of-type(1) {
    margin-bottom: 65px;
    margin-right: calc(60% + 12px);
  }
  .contents .sec_trip .trip_area .area_info .box:nth-of-type(2) {
    margin-bottom: 65px;
  }
  .contents .sec_trip.trip_fiji .trip_area .area_info .box_wrap {
    justify-content: flex-start;
  }
  .contents .sec_trip.trip_fiji .trip_area .area_info .box:nth-of-type(3) {
    margin-left: calc(13% - 7px);
    margin-top: 17px;
  }
  .contents .sec_trip.trip_fiji .trip_area .area_info .box:nth-of-type(4) {
    margin-left: calc(37% + 18px);
    margin-top: 17px;
  }
  .contents .sec_trip:not(.trip_fiji) .trip_area .area_info .box:nth-of-type(4) {
    margin-top: 60px;
  }
  .contents .sec_trip .trip_area .area_info .box:nth-of-type(5) {
    margin-top: 180px;
  }
  .contents .sec_trip .trip_area .area_info .box:nth-of-type(6) {
    margin-top: 180px;
  }
  .contents .sec_trip .trip_area .area_info .swiper_nav {
    display: none;
  }
  .contents .sec_trip .trip_plans .plans_cnt {
    border-radius: 10px;
    margin-top: 40px;
    padding: 26px 40px 40px;
  }
  .contents .sec_trip .trip_plans .plans_cnt .cnt_head {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
  .contents .sec_trip .trip_plans .plans_cnt .cnt_head .head_desc {
    flex: 1;
    margin-left: 4.9%;
    margin-right: 4.9%;
  }
  .contents .sec_trip .trip_hotels .hotel_photos {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 160px;
    padding: 0 10px;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_01 {
    width: 58%;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_01 .hotel_desc {
    left: calc(100% - 30px);
    top: -23px;
    width: 64.42%;
    z-index: 2;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_01 .hotel_img {
    z-index: 1;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_02 {
    margin-bottom: 20px;
    width: 32.5%;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_02 .hotel_desc {
    padding-top: 55px;
    right: 20px;
    top: 180px;
    width: 109.85%;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_04 {
    margin-bottom: 20px;
    margin-left: 38px;
    order: 1;
    width: 31.1%;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_04 .hotel_desc {
    bottom: calc(100% - 30px);
    left: -38px;
    padding-bottom: 45px;
    width: 100%;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_03 {
    order: 2;
    width: 58%;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_03 .hotel_desc {
    right: -20px;
    top: calc(100% - 22px);
    width: 92.57%;
    z-index: 2;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_03 .hotel_img {
    z-index: 1;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .hotel_desc {
    position: absolute;
  }
}
@media screen and (min-width: 1101px), print {
  .contents .sec_hero .visual_wrap {
    height: 590px;
  }
}
@media screen and (max-width: 960px) {
  .contents .vpc960 {
    display: none;
  }
  .contents .sec_trip .trip_area {
    margin-bottom: 10px;
  }
  .contents .sec_trip .trip_area .area_map {
    width: 100%;
  }
  .contents .sec_trip .trip_area .area_map .map_title {
    border-radius: 5px;
    margin: 0 auto -15px;
    position: relative;
    width: 80.91%;
    z-index: 2;
  }
  .contents .sec_trip .trip_area .area_map .map_img {
    position: relative;
    z-index: 1;
  }
  .contents .sec_trip .trip_area .area_info {
    background: var(--color-primary-bg-1);
    padding: 0 90px 30px;
  }
  .contents .sec_trip .trip_area .area_info .box_wrap {
    position: relative;
    z-index: 1;
  }
  .contents .sec_trip .trip_area .area_info .box_img {
    aspect-ratio: 285/165;
  }
  .contents .sec_trip .trip_area .area_info .box_txt {
    padding: 10px;
  }
  .contents .sec_trip .trip_area .area_info .box_txt p {
    font-size: 1.4rem;
  }
  .contents .sec_trip .trip_plans .plans_nav {
    margin: 20px 20px 25px;
  }
  .contents .sec_trip .trip_plans .plans_cnt {
    border-top: 3px solid var(--color-primary);
    padding: 20px 20px 40px;
  }
  .contents .sec_trip .trip_plans .plans_cnt .cnt_head .head_title {
    margin-bottom: 10px;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap {
    margin-bottom: 24px;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_01 .hotel_desc {
    margin: -5.3333vw 0 0 5.3333vw;
    padding-top: 9.0667vw;
    position: relative;
    width: 85.3333vw;
    z-index: 1;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_01 .hotel_img {
    width: 83.2vw;
    z-index: 2;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_02 .hotel_desc {
    margin-top: -28.8vw;
    overflow: hidden;
    position: relative;
    width: 61.8667vw;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_02 .hotel_desc::before {
    content: "";
    float: right;
    height: 16vw;
    width: 18.6667vw;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_02 .hotel_img {
    margin-left: auto;
    width: 51.4667vw;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_04 .hotel_desc {
    margin-top: -4vw;
    padding-top: 8.5333vw;
    position: relative;
    width: 85.3333vw;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_04 .hotel_img {
    margin-left: auto;
    width: 80vw;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_03 .hotel_desc {
    margin-left: auto;
    margin-top: -31.2vw;
    overflow: hidden;
    position: relative;
    width: 61.8667vw;
    z-index: 1;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_03 .hotel_desc::before {
    content: "";
    float: left;
    height: 10.6667vw;
    width: 18.6667vw;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_03 .hotel_img {
    width: 51.4667vw;
    z-index: 2;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .hotel_img {
    aspect-ratio: 312/208;
  }
  .contents .sec_trip .trip_tours {
    margin-top: 50px;
  }
}
@media screen and (max-width: 600px) {
  .tw_pagetop {
    opacity: 1;
  }
  .tw_pagetop.hide,
  body.popup_is_open .tw_pagetop {
    opacity: 0;
  }
  .contents .vpc600 {
    display: none;
  }
  .contents .location_nav {
    border: 1px solid #333;
    border-top: 3px solid #333;
    bottom: -16vw;
    left: 0;
    width: 100%;
  }
  .contents .location_nav ul {
    display: flex;
    width: 100%;
  }
  .contents .location_nav li {
    border-left: 1px solid #333;
    width: 100%;
  }
  .contents .location_nav li:first-child {
    border-left: 0;
  }
  .contents .location_nav li a {
    font-size: 3.4667vw;
    height: 13.0667vw;
    letter-spacing: -0.04em;
  }
  .contents .location_nav li.nav_bali {
    width: 32%;
  }
  .contents .location_nav li.nav_indonesia {
    width: 36%;
  }
  .contents .location_nav li.nav_round {
    width: 32%;
  }
  .contents .location_nav.nav_fixed {
    bottom: 0;
  }
  .contents .anchor_nav {
    border-bottom-width: 3px;
    margin-bottom: 6.6667vw;
    padding: 0 3.7vw;
  }
  .contents .anchor_nav li a {
    border-radius: 2.1333vw 2.1333vw 0 0;
    font-size: 3.4667vw;
    height: 9.6vw;
    padding-right: 2.6667vw;
  }
  .contents .anchor_nav li a span {
    font-size: 3.4667vw;
    line-height: 1;
  }
  .contents .anchor_nav li a::after {
    height: 2.1333vw;
    margin-top: -1.0667vw;
    right: 1.3333vw;
    width: 2.1333vw;
  }
  .contents .anchor_nav li.nav_fiji {
    width: 42vw;
  }
  .contents .anchor_nav li.nav_round {
    width: 42vw;
  }
  .contents .anchor_nav li.current a {
    padding-right: 0;
  }
  .contents .sec_hero .txt_wrap {
    padding: 4.5333vw 3.7vw 0;
  }
  .contents .sec_trip {
    padding-top: 6.6667vw;
  }
  .contents .sec_trip .trip_title {
    margin-bottom: 6.1333vw;
  }
  .contents .sec_trip .trip_title::before {
    height: 1px;
  }
  .contents .sec_trip .trip_title picture {
    padding: 0 5.3333vw;
  }
  .contents .sec_trip .trip_area .area_map .map_title {
    border-radius: 1.3333vw;
    font-size: 2.9333vw;
    height: 6.4vw;
    margin-bottom: -3.2vw;
    width: 92%;
  }
  .contents .sec_trip .trip_area .area_info {
    margin: 0 -3px;
    padding: 0 48px 6.4vw;
    width: calc(100% + 6px);
  }
  .contents .sec_trip .trip_area .area_info .box_txt .title {
    font-size: 4.2667vw;
    margin-bottom: 2.6667vw;
  }
  .contents .sec_trip .trip_area .area_info .box_txt p {
    font-size: 3.7333vw;
  }
  .contents .sec_trip .trip_area .area_info.swiper-initialized::after,
  .contents .sec_trip .trip_area .area_info.swiper-initialized::before,
  .contents .sec_trip .trip_area .area_info.swiper-initialized .swiper_loading {
    opacity: 0;
    z-index: -1;
  }
  .contents .sec_trip .trip_area .area_info .swiper_nav .nav_arrow {
    background-image: url(../img/arr_02_white.svg);
    background-size: 47.5%;
    height: 10.6667vw;
    margin-top: 0;
    top: 38.6667vw;
    width: 10.6667vw;
  }
  .contents .sec_trip .trip_area .area_info .swiper_nav .nav_arrow.swiper_prev {
    left: 0;
  }
  .contents .sec_trip .trip_area .area_info .swiper_nav .nav_arrow.swiper_next {
    right: 0;
  }
  .contents .sec_trip .trip_plans .plans_title {
    margin: 2.6667vw 3.7vw 3.2vw;
  }
  .contents .sec_trip .trip_plans .plans_nav {
    margin: 3.2vw 3.7vw;
  }
  .contents .sec_trip .trip_plans .plans_nav ul {
    flex-wrap: wrap;
    margin: 0 -1.0667vw;
    width: calc(100% + 2.1333vw);
  }
  .contents .sec_trip .trip_plans .plans_nav li {
    margin: 0 1.0667vw 3.4667vw;
    width: calc(50% - 2.1333vw);
  }
  .contents .sec_trip .trip_plans .plans_nav li a {
    border-radius: 2.1333vw;
    font-size: 3.4667vw;
    height: auto;
    min-height: 10.6667vw;
    padding-top: 2vw;
    padding-bottom: 2vw;
    line-height: 1.3;
    text-align: center;
  }
  .contents .sec_trip .trip_plans .plans_nav li a::after {
    background-image: url(../img/arr_03_black.svg);
    height: 2.6667vw;
    margin-top: -1.6vw;
    right: 2.4vw;
    width: 2.6667vw;
  }
  .contents .sec_trip .trip_plans .plans_cnt {
    padding: 4.2667vw 3.7vw 7.2vw;
  }
  .contents .sec_trip .trip_plans .plans_cnt .cnt_head {
    padding-bottom: 4.5333vw;
  }
  .contents .sec_trip .trip_plans .plans_cnt .cnt_head .head_title .title_img img {
    height: 12vw;
    width: auto;
  }
  .contents .sec_trip .trip_plans .plans_cnt .cnt_head .head_title {
    margin-bottom: 2.6667vw;
  }
  .contents .sec_trip .trip_plans .plans_cnt .cnt_head .head_desc {
    font-size: 3.7333vw;
    line-height: 1.57;
  }
  .contents .sec_trip .trip_hotels .hotel_wrap {
    margin-bottom: 11.2vw;
    padding-top: 2.6667vw;
    position: relative;
  }
  .contents .sec_trip .trip_hotels .hotel_wrap::after {
    background-image: linear-gradient(to right, var(--color-primary), var(--color-primary) 3px, transparent 3px, transparent 6px);
    background-position: left top;
    background-repeat: repeat-x;
    background-size: 6px 1px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
  .contents .sec_trip .trip_hotels .hotel_name {
    font-size: 4.2667vw;
    margin-bottom: 8vw;
  }

  .contents .sec_trip .trip_hotels .hotel_name::before {
    height: 14.4vw;
    width: 14.4vw;
  }
  .contents .sec_trip .trip_hotels .hotel_name span {
    padding-left: 2.6667vw;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap {
    margin-bottom: 6.4vw;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_02 .hotel_desc::before {
    height: 26.6667vw;
    width: 18.6667vw;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_03 .hotel_desc::before {
    height: 24vw;
    width: 18.6667vw;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .hotel_desc {
    font-size: 3.7333vw;
    padding: 5.3333vw;
  }
  .contents .sec_trip.trip_fiji .trip_title img {
    width: 62.9333vw;
    height: auto;
  }
  .contents .sec_trip.trip_fiji_sub .trip_title img {
    width: 73.0667vw;
    height: auto;
  }
  .contents .sec_trip.trip_round .trip_title img {
    width: 51.2vw;
    height: auto;
  }
  .contents .sec_trip.trip_round .trip_plans .plans_nav li:last-child {
    width: calc(60% - 2.1333vw);
  }
  .contents .sec_trip .trip_tours {
    margin-top: 10.6667vw;
  }
  .contents .sec_trip .trip_tours .tour_tab {
    margin-bottom: 3.7333vw;
  }
  .contents .sec_trip .trip_tours .tour_tab ul {
    margin: 0 -0.8vw 0 -1.0667vw;
    width: calc(100% + 1.8667vw);
  }
  .contents .sec_trip .trip_tours .tour_tab li {
    border-radius: 5px;
    cursor: pointer;
    height: 8vw;
    margin: 0 0.8vw 0 1.0667vw;
    -webkit-tap-highlight-color: rgb(0 0 0 / 0.2);
  }
  .contents .sec_trip .trip_tours .tour_tab li.selected::after {
    border-color: var(--color-primary) transparent transparent transparent;
    border-style: solid;
    border-width: 4px 4px 0;
    bottom: -4px;
    content: "";
    display: block;
    height: 0;
    left: 50%;
    margin-left: -4px;
    position: absolute;
    width: 0;
  }
  .contents .sec_trip .trip_tours .tour_tab li span {
    font-size: 3.2vw;
  }
  .contents .sec_trip .trip_tours .tour_panel .panel_tours {
    border-radius: 10px;
    padding: 3.7vw;
  }
  .contents .sec_trip .trip_tours .tour_panel .panel_btns {
    margin-top: 5.3333vw;
  }
  .contents .sec_trip .trip_tours .tour_panel .panel_btns .link_btn {
    font-size: 3.4667vw;
    height: auto;
    min-height: 13.3333vw;
    padding: 2.6667vw 7.4667vw 2.6667vw 2.6667vw;
    width: 100%;
  }
  .contents .sec_trip .trip_tours .tour_panel .panel_btns .link_btn::after {
    height: 3.7333vw;
    right: 2.1333vw;
    width: 3.7333vw;
  }
  .contents .sec_trip .trip_tours .tour_cnt_01 {
    display: none;
  }
  .contents .sec_trip .trip_tours .tour_cnt_02 .tour_img {
    aspect-ratio: 120/80;
    width: 32vw;
  }
  .contents .sec_trip .trip_tours .tour_name {
    font-size: 3.7333vw;
    margin-bottom: 2.1333vw;
  }
  .contents .sec_trip .trip_tours .tour_info_tab {
    overflow: hidden;
  }
  .contents .sec_trip .trip_tours .tour_info_tab_nav {
    border-bottom-color: var(--color-primary-line);
    margin: 0 -0.8vw;
    width: calc(100% + 1.6vw);
  }
  .contents .sec_trip .trip_tours .tour_info_tab_nav li {
    font-size: 3.2vw;
    height: 8.8vw;
    margin: 0 0.8vw;
    width: calc(100% - 6px);
  }
  .contents .sec_trip .trip_tours .tour_info_tab_nav li span {
    line-height: 1.15;
    text-align: center;
  }
  .contents .sec_trip .trip_tours .tour_info_tab_nav li small {
    display: block;
    font-size: 76.92%;
  }
  .contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt {
    padding-top: 12px;
  }
  .contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt.is_show {
    flex-wrap: wrap;
  }
  .contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt .tour_price {
    padding: 0 0 0 2.1333vw;
  }
  .contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt .tour_price .fee {
    font-size: 3.2vw;
    margin-right: -3.7vw;
  }
  .contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt .tour_price .fee .min_price,
  .contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt .tour_price .fee .max_price {
    font-size: 125%;
  }
  .contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt .tour_price .att {
    font-size: 2.9333vw;
    margin-top: 1.3333vw;
  }
  .contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt .tour_btn {
    border-radius: 5px;
    font-size: 4.5333vw;
    height: 12.8vw;
    margin-top: 4vw;
    padding-right: 2.6667vw;
    width: 100%;
  }
  .contents .sec_trip .trip_tours .tour_info_tab_panel .panel_cnt .tour_btn::after {
    height: 3.7333vw;
    right: 2.1333vw;
    width: 3.7333vw;
  }
}
@media screen and (max-width: 1100px) and (min-width: 601px) {
  .contents .sec_hero .visual_wrap {
    aspect-ratio: 1100/590;
  }
}
@media screen and (max-width: 960px) and (min-width: 601px) {
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_02 .hotel_desc {
    margin-top: -16vw;
  }
  .contents .sec_trip .trip_hotels .hotel_photos .wrap_03 .hotel_desc {
    margin-top: -10.6667vw;
  }
  .contents .sec_trip .trip_plans .plans_nav ul {
    flex-wrap: wrap;
  }
}
@media (hover: none) {
  .contents a {
    -webkit-tap-highlight-color: rgb(0 0 0 / 0);
  }
  .contents a:active {
    opacity: 0.65;
  }
  .contents .sec_trip .trip_tours .tour_tab li {
    -webkit-tap-highlight-color: rgb(0 0 0 / 0);
  }
  .contents .sec_trip .trip_tours .tour_tab li:active {
    opacity: 0.65;
  }
  .contents .sec_trip .trip_tours .tour_info_tab_nav li {
    -webkit-tap-highlight-color: rgb(0 0 0 / 0);
  }
  .contents .sec_trip .trip_tours .tour_info_tab_nav li:active {
    opacity: 0.65;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .contents a:hover {
    opacity: 0.65;
  }
  .contents .sec_trip .trip_tours .tour_tab li:hover {
    opacity: 0.65;
  }
  .contents .sec_trip .trip_tours .tour_info_tab_nav li:hover {
    opacity: 0.65;
  }
}
@media print {
  body {
    min-width: 1100px !important;
    position: relative !important;
    -webkit-print-color-adjust: exact;
    -webkit-transform: scale(0.94);
    transform: scale(0.94);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    width: 100%;
  }
}

/* ===== フィジー追加: 国レベルタブナビ ===== */
.country_nav {
    margin: 40px auto 0;
    max-width: 900px;
}
.country_nav ul {
    display: flex;
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0;
    justify-content: center;
    flex-wrap: wrap;
}
.country_nav ul li a {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 12px 20px;
    background: #fbe4f3;
    border: none;
    border-radius: 6px;
    color: #333;
    font-weight: 700;
    font-size: 15px;
    text-align: center;
    text-decoration: none;
    line-height: 1.4;
    white-space: nowrap;
    transition: background 0.2s, color 0.2s;
}
.country_nav ul li.nav_aus a { background: #d9f6d9; }
.country_nav ul li.nav_nz a  { background: #fcf3d2; }
.country_nav ul li a br { display: none; }
.country_nav ul li a::after {
    content: "∨";
    font-size: 12px;
    color: #333;
}
.country_nav ul li a:hover {
    background: #ec6ab7;
    color: #fff;
}
.country_nav ul li a:hover::after {
    color: #fff;
}
.round_country {
    margin-top: 40px;
    padding-top: 30px;
}
.round_country .country_head {
    margin-bottom: 32px;
}
.round_country .country_title .round_num {
    background: var(--color-primary);
    border-radius: 20px;
    color: #fff;
    font-size: 1.3rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding: 4px 14px;
    white-space: nowrap;
}
.round_country .country_title {
    margin-bottom: 16px;
    text-align: center;
}
.round_country .country_title img {
    max-width: 100%;
    height: auto;
    width: auto;
    width: auto;
}
@media (max-width: 600px) {
    .country_nav ul { flex-wrap: wrap; justify-content: center; gap: 8px; }
    .country_nav ul li { width: calc(50% - 4px); }
    .country_nav ul li a { font-size: 3.5vw; padding: 6px 18px; white-space: normal; text-align: center; width: 100%; }
    .country_nav ul li a br { display: inline; }
    .round_country .country_title { font-size: 18px; }
}

/* ===== 周遊エリアカード: 国別ボーダー色 ===== */
.contents .sec_trip.trip_round .round_trip_area .area_info .box_ncal_noumea,
.contents .sec_trip.trip_round .round_trip_area .area_info .box_ncal_metru {
  box-shadow: 0 0 0 3px #f3a8d7;
}
.contents .sec_trip.trip_round .round_trip_area .area_info .box_ncal_noumea .box_txt .title,
.contents .sec_trip.trip_round .round_trip_area .area_info .box_ncal_metru .box_txt .title {
  color: #ec6ab7;
}
.contents .sec_trip.trip_round .round_trip_area .area_info .box_aus_sydney,
.contents .sec_trip.trip_round .round_trip_area .area_info .box_aus_cairns,
.contents .sec_trip.trip_round .round_trip_area .area_info .box_aus_gc,
.contents .sec_trip.trip_round .round_trip_area .area_info .box_aus_melb {
  box-shadow: 0 0 0 3px #ace1ac;
}
.contents .sec_trip.trip_round .round_trip_area .area_info .box_aus_sydney .box_txt .title,
.contents .sec_trip.trip_round .round_trip_area .area_info .box_aus_cairns .box_txt .title,
.contents .sec_trip.trip_round .round_trip_area .area_info .box_aus_gc .box_txt .title,
.contents .sec_trip.trip_round .round_trip_area .area_info .box_aus_melb .box_txt .title {
  color: #54bb32;
}
.contents .sec_trip.trip_round .round_trip_area .area_info .box_nz_auckland,
.contents .sec_trip.trip_round .round_trip_area .area_info .box_nz_chch {
  box-shadow: 0 0 0 3px #f5cb69;
}
.contents .sec_trip.trip_round .round_trip_area .area_info .box_nz_auckland .box_txt .title,
.contents .sec_trip.trip_round .round_trip_area .area_info .box_nz_chch .box_txt .title {
  color: #e6811c;
}
/* マップタイトルバー */
.contents .sec_trip.trip_round .round_trip_area .area_map .map_title {
  background: #ec6ab7;
}
/* SP幅スワイパー背景色・カード枠色 */
@media screen and (max-width: 600px) {
  .contents .sec_trip.trip_fiji .trip_area .area_info {
    background: #b9e8fb;
  }
  .contents .sec_trip.trip_fiji .trip_area .area_info .box {
    box-shadow: 0 0 0 3px #77caf5;
  }
  .contents .sec_trip.trip_round .round_trip_area .area_info {
    background: #f9d4ea;
  }
}
@media screen and (max-width: 960px) and (min-width: 601px) {
  .contents .sec_trip.trip_round .round_trip_area .area_info {
    background: #f9d4ea;
  }
}
/* SP幅 round_country セクション間隔 */
@media screen and (max-width: 960px) {
  .contents .sec_trip .round_country {
    margin-top: 24px;
    padding-top: 16px;
  }
  .contents .sec_trip .round_country .plans_cnt {
    padding-bottom: 40px;
  }
}

/* 601px以上では plans_nav の <br> を非表示 */
@media screen and (min-width: 601px) {
  .contents .sec_trip .trip_plans .plans_nav li a span br {
    display: none;
  }
}
/* SP幅 plans_nav: 横並び＋小文字 */
@media screen and (max-width: 600px) {
  .contents .sec_trip .round_country .plans_nav ul {
    flex-wrap: nowrap;
    gap: 4px;
    justify-content: center;
  }
  .contents .sec_trip .round_country .plans_nav li {
    margin: 0;
    width: auto;
  }
  .contents .sec_trip .round_country .plans_nav li a {
    font-size: 3.2vw;
    padding: 5px 18px;
    width: auto;
    min-width: 0;
  }
  .contents .sec_trip .round_country .plans_nav li a::after {
    right: 3px;
    font-size: 0.7em;
  }
}
/* SP幅(スワイパー時)は国別カラーを元のスタイルにリセット */
@media screen and (max-width: 600px) {
  .contents .sec_trip.trip_round .round_trip_area .area_info .box_ncal_noumea,
  .contents .sec_trip.trip_round .round_trip_area .area_info .box_ncal_metru,
  .contents .sec_trip.trip_round .round_trip_area .area_info .box_aus_sydney,
  .contents .sec_trip.trip_round .round_trip_area .area_info .box_aus_cairns,
  .contents .sec_trip.trip_round .round_trip_area .area_info .box_aus_gc,
  .contents .sec_trip.trip_round .round_trip_area .area_info .box_aus_melb,
  .contents .sec_trip.trip_round .round_trip_area .area_info .box_nz_auckland,
  .contents .sec_trip.trip_round .round_trip_area .area_info .box_nz_chch {
    box-shadow: 0 0 0 3px var(--color-primary-line);
  }
  .contents .sec_trip.trip_round .round_trip_area .area_info .box_ncal_noumea .box_txt .title,
  .contents .sec_trip.trip_round .round_trip_area .area_info .box_ncal_metru .box_txt .title,
  .contents .sec_trip.trip_round .round_trip_area .area_info .box_aus_sydney .box_txt .title,
  .contents .sec_trip.trip_round .round_trip_area .area_info .box_aus_cairns .box_txt .title,
  .contents .sec_trip.trip_round .round_trip_area .area_info .box_aus_gc .box_txt .title,
  .contents .sec_trip.trip_round .round_trip_area .area_info .box_aus_melb .box_txt .title,
  .contents .sec_trip.trip_round .round_trip_area .area_info .box_nz_auckland .box_txt .title,
  .contents .sec_trip.trip_round .round_trip_area .area_info .box_nz_chch .box_txt .title {
    color: var(--color-primary);
  }
}

/* ===== 周遊セクション: 世界マップ エリアカードグリッド ===== */
.contents .sec_trip.trip_round .round_trip_area {
  margin: 24px auto 0;
  max-width: 1100px;
}
.contents .sec_trip.trip_round .round_trip_area .area_info .box {
  background: #fff;
}
/* PC: オーバーレイ方式 — 左右2枚ずつ + 下段4枚 */
@media screen and (min-width: 961px), print {
  /* box: 左右は 20% 幅をそのまま使う */
  .contents .sec_trip.trip_round .round_trip_area .area_info .box {
    margin: 0 12px;
    width: calc(20% - 24px);
  }
  /* box1 (シドニー) → 左列上 */
  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(1) {
    margin-bottom: 16px;
    margin-right: calc(60% + 12px);
  }
  /* box2 (ヌメア) → 右列上 (box1の右に並ぶ) */
  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(2) {
    margin-bottom: 16px;
  }
  /* box3 (ケアンズ) → 左列下 */
  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(3) {
    margin-bottom: 20px;
    margin-right: calc(60% + 12px);
    margin-top: 0;
    align-self: flex-start;
  }
  /* box4 (メトル島) → 右列下 */
  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(4) {
    margin-bottom: 20px;
    margin-top: 0;
    align-self: flex-start;
  }
  /* box5–8 (下段4枚) → 上段と同幅・4列並び */
  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(n+5) {
    width: calc(20% - 24px);
    margin: 115px 12px 0;
  }
  /* box5 (ゴールドコースト) のみ上に50px */
  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(5) {
    margin-top: 65px;
  }
  /* box6 (メルボルン) 左65px・box7 (オークランド) 右65px */
  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(6) {
    position: relative;
    left: -75px;
  }
  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(7) {
    position: relative;
    left: 75px;
  }
  .contents .sec_trip.trip_round .round_trip_area .area_info .swiper_nav {
    display: none;
  }
}

/* ===== 周遊セクション: round_country内をtrip_plansと同等スタイルに ===== */
.contents .sec_trip .round_country .country_head {
  padding: 0 20px;
}
.contents .sec_trip .round_country .country_desc {
  font-size: 1.4rem;
  line-height: 1.7;
  text-align: center;
}
.contents .sec_trip .round_country .plans_nav {
  margin: 18px auto 32px;
}
.contents .sec_trip .round_country .plans_nav ul {
  align-items: center;
  display: flex;
  justify-content: center;
  width: 100%;
}
.contents .sec_trip .round_country .plans_nav li {
  margin: 0 12px;
}
.contents .sec_trip .round_country .plans_nav li a {
  align-items: center;
  background: none;
  display: flex;
  font-size: 1.4rem;
  font-weight: bold;
  height: auto;
  min-height: 40px;
  justify-content: center;
  padding: 6px 24px;
  position: relative;
  color: #333;
  text-decoration: none;
  min-width: 80px;
  word-break: keep-all;
  text-align: center;
}
.contents .sec_trip .round_country .plans_nav li a::after {
  content: "▼";
  display: block;
  font-size: 0.75em;
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  color: #333;
}
/* セクション別 ▼ カラー */
.contents .sec_trip .round_country.country_ncal .plans_nav li a::after {
  color: #c44d9a;
}
.contents .sec_trip .round_country.country_aus .plans_nav li a::after {
  color: #2d7d2d;
}
.contents .sec_trip .round_country.country_nz .plans_nav li a::after {
  color: #8b6914;
}
.contents .sec_trip .round_country .plans_cnt {
  background: var(--color-primary-bg-2);
  border-radius: 10px;
  margin-top: 20px;
  padding: 36px 20px 48px;
}
.contents .sec_trip .round_country .plans_cnt .cnt_head {
  position: relative;
  margin-bottom: 36px;
  padding: 16px 0;
}
.contents .sec_trip .round_country .plans_cnt .cnt_head .head_title .title_img {
  display: block;
}
.contents .sec_trip .round_country .plans_cnt .cnt_head .head_title .title_img img {
  height: 32px;
  width: auto;
}
.contents .sec_trip .round_country .plans_cnt .cnt_head .head_desc {
  font-size: 1.4rem;
  line-height: 1.7;
  margin-top: 10px;
}

.contents .sec_trip.trip_round .round_plan_title_img {
  display: block;
  margin-top: 50px;
  margin-bottom: 20px;
}
.contents .sec_trip.trip_round .round_plan_title_img img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (min-width: 961px), print {
  .contents .sec_trip.trip_round .sec_inner {
    padding: 0 40px;
  }
}
@media screen and (min-width: 601px), print {
  .contents .sec_trip .round_country .country_head {
    padding: 0;
  }
  .contents .sec_trip.trip_round .round_country .plans_cnt {
    border-radius: 10px;
    padding: 26px 40px 40px;
  }
}
@media screen and (min-width: 961px), print {
  .contents .sec_trip.trip_round .round_country .plans_cnt {
    margin-left: -40px;
    margin-right: -40px;
  }
  .contents .sec_trip .round_country .plans_cnt .cnt_head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 36px;
    padding-bottom: 27px;
  }
  .contents .sec_trip .round_country .plans_cnt .cnt_head::after {
    background-image: linear-gradient(to right, var(--color-primary), var(--color-primary) 3px, transparent 3px, transparent 6px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 6px 1px;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
  }
  .contents .sec_trip .round_country .plans_cnt .cnt_head .head_desc {
    flex: 1;
    font-size: 1.5rem;
    margin-left: 4.9%;
    margin-top: 0;
  }
}
@media screen and (max-width: 960px) and (min-width: 601px) {
  .contents .anchor_nav li.nav_fiji,
  .contents .anchor_nav li.nav_round {
    width: calc(50% - 6px);
  }
  .contents .anchor_nav li a span {
    font-size: 2rem;
  }
}
@media screen and (max-width: 600px) {
  .contents .sec_trip.trip_round .round_country .plans_cnt {
    border-radius: 0;
    margin-top: 0;
    padding-top: 4.2667vw;
    position: relative;
  }
  .contents .sec_trip.trip_round .round_country .plans_cnt + .plans_cnt::before {
    background: var(--color-primary);
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
  .contents .sec_trip .round_country .plans_cnt .cnt_head {
    display: block !important;
  }
  .contents .sec_trip .round_country .plans_cnt .cnt_head .head_desc {
    font-size: 1.4rem;
    margin-left: 0;
    margin-top: 12px;
  }
}



/* SP: Australia plan nav 2x2 compact layout */
@media screen and (max-width: 600px) {
  .contents .sec_trip .round_country.country_aus .plans_nav ul {
    flex-wrap: wrap;
    gap: 2.1333vw 0;
    justify-content: center;
  }

  .contents .sec_trip .round_country.country_aus .plans_nav li {
    box-sizing: border-box;
    margin: 0;
    width: 50%;
  }

  .contents .sec_trip .round_country.country_aus .plans_nav li a {
    box-sizing: border-box;
    font-size: 3.15vw;
    justify-content: center;
    line-height: 1.2;
    min-height: 5.8667vw;
    padding: 0 5.3333vw 0 0;
    white-space: nowrap;
    width: 100%;
  }

  .contents .sec_trip .round_country.country_aus .plans_nav li a::after {
    right: 1.8667vw;
  }
}

/* SP: add top separator to round plan blocks */
@media screen and (max-width: 600px) {
  .contents .sec_trip.trip_round .round_country .plans_cnt::before {
    background: var(--color-primary);
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
}

/* SP: country nav arrow alignment */
@media screen and (max-width: 600px) {
  .country_nav ul li a {
    box-sizing: border-box;
    justify-content: center;
    padding-left: 4vw;
    padding-right: 8vw;
    position: relative;
  }

  .country_nav ul li a::after {
    position: absolute;
    right: 3.2vw;
    top: 50%;
    transform: translateY(-50%);
  }
}

/* SP: New Caledonia plan nav single-line compact layout */
@media screen and (max-width: 600px) {
  .contents .sec_trip .round_country.country_ncal .plans_nav ul {
    flex-wrap: nowrap;
    gap: 0;
    justify-content: center;
  }

  .contents .sec_trip .round_country.country_ncal .plans_nav li {
    box-sizing: border-box;
    margin: 0;
    width: 50%;
  }

  .contents .sec_trip .round_country.country_ncal .plans_nav li a {
    box-sizing: border-box;
    font-size: 2.7vw;
    justify-content: center;
    line-height: 1.2;
    min-height: 5.8667vw;
    padding: 0 5.3333vw 0 0;
    white-space: nowrap;
    width: 100%;
  }

  .contents .sec_trip .round_country.country_ncal .plans_nav li a::after {
    right: 1.8667vw;
  }
}

/* SP: country nav side spacing */
@media screen and (max-width: 600px) {
  .country_nav {
    box-sizing: border-box;
    padding-left: 5.3333vw;
    padding-right: 5.3333vw;
  }

  .country_nav ul {
    gap: 2.6667vw;
  }

  .country_nav ul li {
    width: calc(50% - 1.3333vw);
  }

  .country_nav ul li:nth-child(3) {
    width: 58vw;
  }
}

/* SP: New Caledonia plan nav size and arrow spacing */
@media screen and (max-width: 600px) {
  .contents .sec_trip .round_country.country_ncal .plans_nav li a {
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 3.15vw;
    padding: 0 3.2vw 0 0;
    width: auto;
  }

  .contents .sec_trip .round_country.country_ncal .plans_nav li a::after {
    right: 0;
  }
}

/* SP: center New Caledonia plan nav items */
@media screen and (max-width: 600px) {
  .contents .sec_trip .round_country.country_ncal .plans_nav li {
    display: flex;
    justify-content: center;
  }
}

/* SP: Australia plan nav arrow close to text */
@media screen and (max-width: 600px) {
  .contents .sec_trip .round_country.country_aus .plans_nav li {
    display: flex;
    justify-content: center;
  }

  .contents .sec_trip .round_country.country_aus .plans_nav li a {
    display: inline-flex;
    flex: 0 0 auto;
    padding: 0 3.2vw 0 0;
    width: auto;
  }

  .contents .sec_trip .round_country.country_aus .plans_nav li a::after {
    right: 0;
  }
}

/* SP: New Zealand plan nav single-line compact layout */
@media screen and (max-width: 600px) {
  .contents .sec_trip .round_country.country_nz .plans_nav ul {
    flex-wrap: nowrap;
    gap: 0;
    justify-content: center;
  }

  .contents .sec_trip .round_country.country_nz .plans_nav li {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    margin: 0;
    width: 50%;
  }

  .contents .sec_trip .round_country.country_nz .plans_nav li a {
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 3.15vw;
    justify-content: center;
    line-height: 1.2;
    min-height: 5.8667vw;
    padding: 0 3.2vw 0 0;
    white-space: nowrap;
    width: auto;
  }

  .contents .sec_trip .round_country.country_nz .plans_nav li a::after {
    right: 0;
  }
}

/* SP: make third country nav same width as upper buttons */
@media screen and (max-width: 600px) {
  .country_nav ul li:nth-child(3) {
    width: calc(50% - 1.3333vw);
  }
}

/* SP: New Zealand plan nav balanced side spacing */
@media screen and (max-width: 600px) {
  .contents .sec_trip .round_country.country_nz .plans_nav {
    box-sizing: border-box;
    padding-left: 3.7vw;
    padding-right: 3.7vw;
  }

  .contents .sec_trip .round_country.country_nz .plans_nav li a {
    font-size: 2.9vw;
    padding-right: 2.6667vw;
  }
}

/* SP: New Zealand plan nav equal outside spacing */
@media screen and (max-width: 600px) {
  .contents .sec_trip .round_country.country_nz .plans_nav ul {
    justify-content: space-between;
  }

  .contents .sec_trip .round_country.country_nz .plans_nav li {
    width: auto;
  }

  .contents .sec_trip .round_country.country_nz .plans_nav li:first-child {
    justify-content: flex-start;
  }

  .contents .sec_trip .round_country.country_nz .plans_nav li:last-child {
    justify-content: flex-end;
  }
}

/* SP: New Zealand plan nav centered as a pair */
@media screen and (max-width: 600px) {
  .contents .sec_trip .round_country.country_nz .plans_nav ul {
    display: flex;
    gap: 7.2vw;
    justify-content: center;
  }

  .contents .sec_trip .round_country.country_nz .plans_nav li,
  .contents .sec_trip .round_country.country_nz .plans_nav li:first-child,
  .contents .sec_trip .round_country.country_nz .plans_nav li:last-child {
    display: flex;
    justify-content: center;
    width: auto;
  }
}

/* Country nav active colors */
.country_nav ul li.nav_ncal a:hover,
.country_nav ul li.nav_ncal a:focus,
.country_nav ul li.nav_ncal a:active,
.country_nav ul li.nav_ncal.current a,
.country_nav ul li.nav_ncal a.is_current {
  background: #ec6ab7;
  color: #fff;
}
.country_nav ul li.nav_aus a:hover,
.country_nav ul li.nav_aus a:focus,
.country_nav ul li.nav_aus a:active,
.country_nav ul li.nav_aus.current a,
.country_nav ul li.nav_aus a.is_current {
  background: #54bb32;
  color: #fff;
}
.country_nav ul li.nav_nz a:hover,
.country_nav ul li.nav_nz a:focus,
.country_nav ul li.nav_nz a:active,
.country_nav ul li.nav_nz.current a,
.country_nav ul li.nav_nz a.is_current {
  background: #e6811c;
  color: #fff;
}
.country_nav ul li.nav_ncal a:hover::after,
.country_nav ul li.nav_ncal a:focus::after,
.country_nav ul li.nav_ncal a:active::after,
.country_nav ul li.nav_ncal.current a::after,
.country_nav ul li.nav_ncal a.is_current::after,
.country_nav ul li.nav_aus a:hover::after,
.country_nav ul li.nav_aus a:focus::after,
.country_nav ul li.nav_aus a:active::after,
.country_nav ul li.nav_aus.current a::after,
.country_nav ul li.nav_aus a.is_current::after,
.country_nav ul li.nav_nz a:hover::after,
.country_nav ul li.nav_nz a:focus::after,
.country_nav ul li.nav_nz a:active::after,
.country_nav ul li.nav_nz.current a::after,
.country_nav ul li.nav_nz a.is_current::after {
  color: #fff;
}

/* PC: make round section title match Fiji title rule */
@media screen and (min-width: 601px), print {
  .contents .sec_trip.trip_round .sec_head .sec_title::before {
    background: #333;
    height: 2px;
  }

  .contents .sec_trip.trip_round .sec_head .sec_title .title_img {
    padding: 0 30px;
  }

  .contents .sec_trip.trip_round .sec_head .sec_title img {
    height: 50px;
    width: auto;
  }
}

/* PC: force round title line thickness to match Fiji */
@media screen and (min-width: 601px), print {
  .contents .sec_trip.trip_round .sec_head .sec_title::before {
    background: #333 !important;
    height: 2px !important;
    top: 50% !important;
  }
}

/* PC: visually match round title line thickness */
@media screen and (min-width: 601px), print {
  .contents .sec_trip.trip_round .sec_head .sec_title::before {
    height: 3px !important;
  }
}


/* PC: increase round country inner tab font size */
@media screen and (min-width: 601px), print {
  .contents .sec_trip .round_country.country_ncal .plans_nav li a,
  .contents .sec_trip .round_country.country_aus .plans_nav li a,
  .contents .sec_trip .round_country.country_nz .plans_nav li a {
    font-size: 1.6rem;
  }
}

/* PC: add space above Fiji plan city tabs */
@media screen and (min-width: 601px), print {
  .contents .sec_trip.trip_fiji .trip_plans .plans_nav {
    margin-top: 20px;
  }
}

/* SP: add space above Fiji plan city tabs */
@media screen and (max-width: 600px) {
  .contents .sec_trip.trip_fiji .trip_plans .plans_nav {
    margin-top: 5.3333vw;
  }
}

/* SP: widen space above Fiji plan city tabs */
@media screen and (max-width: 600px) {
  .contents .sec_trip.trip_fiji .trip_plans .plans_nav {
    margin-top: 13.3333vw;
  }
}

/* PC: widen space below Fiji plan banner */
@media screen and (min-width: 601px) {
  .contents .sec_trip.trip_fiji .trip_plans .plans_nav {
    margin-top: 50px;
  }
}

/* PC: widen space above Fiji plan banner */
@media screen and (min-width: 601px) {
  .contents .sec_trip.trip_fiji .trip_plans .plans_title {
    margin-top: 50px;
  }
}

/* PC: further widen space above Fiji plan banner */
@media screen and (min-width: 601px) {
  .contents .sec_trip.trip_fiji .trip_plans .plans_title {
    margin-top: 70px;
  }
}

/* PC: compact round country sections */
@media screen and (min-width: 961px) {
  .contents .sec_trip.trip_round .round_country {
    margin-top: 28px;
    padding-top: 18px;
  }

  .contents .sec_trip.trip_round .round_country .country_head {
    margin: 0 auto 18px;
    max-width: 960px;
  }

  .contents .sec_trip.trip_round .round_country .country_title {
    margin-bottom: 8px;
  }

  .contents .sec_trip.trip_round .round_country .country_title img {
    height: 52px;
    width: auto;
  }

  .contents .sec_trip.trip_round .round_country .country_desc {
    font-size: 1.2rem;
    line-height: 1.65;
    margin: 0 auto;
    max-width: 850px;
  }

  .contents .sec_trip.trip_round .round_country .plans_nav {
    margin: 14px auto 18px;
    max-width: 860px;
  }

  .contents .sec_trip.trip_round .round_country .plans_nav li {
    margin: 0 16px;
  }

  .contents .sec_trip.trip_round .round_country .plans_nav li a {
    font-size: 1.3rem;
    padding-right: 16px;
  }

  .contents .sec_trip.trip_round .round_country .plans_nav li a::after {
    right: 0;
  }

  .contents .sec_trip.trip_round .round_country .plans_cnt {
    margin: 18px auto 0;
    max-width: 960px;
    padding: 24px 36px 36px;
  }

  .contents .sec_trip.trip_round .round_country .plans_cnt .cnt_head {
    margin-bottom: 24px;
    padding: 10px 0 20px;
  }

  .contents .sec_trip.trip_round .round_country .plans_cnt .cnt_head .head_title .title_img img {
    height: 28px;
  }

  .contents .sec_trip.trip_round .round_country .plans_cnt .cnt_head .head_desc {
    font-size: 1.3rem;
    line-height: 1.65;
  }
}

/* Hide round section lead text and country descriptions */
.contents .sec_trip.trip_round > .sec_inner > .sec_head > .sec_desc,
.contents .sec_trip.trip_round .round_country .country_desc {
  display: none;
}

/* PC: match round country background width to Fiji blue area */
@media screen and (min-width: 961px) {
  .contents .sec_trip.trip_round .round_country .plans_cnt {
    box-sizing: border-box;
    margin-left: 0;
    margin-right: 0;
    max-width: none;
    width: 100%;
  }
}

/* PC: align lower four round map cards */
@media screen and (min-width: 961px) {
  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(n+5) {
    margin-top: 24px;
  }

  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(5) {
    margin-top: 24px;
  }
}

/* PC: tighten lower round map cards to match Sydney/Cairns gap */
@media screen and (min-width: 961px) {
  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(n+5),
  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(5) {
    margin-top: 8px;
  }
}

/* PC: extend round section title side lines */
@media screen and (min-width: 961px) {
  .contents .sec_trip.trip_round .sec_head .sec_title::before {
    left: 0;
    width: 100%;
  }

  .contents .sec_trip.trip_round .sec_head .sec_title .title_img {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* SP: show round section title with side lines */
@media screen and (max-width: 600px) {
  .contents .sec_trip.trip_round .sec_head .sec_title {
    display: block;
    margin: 7.2vw 0 4.8vw;
    position: relative;
    text-align: center;
  }

  .contents .sec_trip.trip_round .sec_head .sec_title::before {
    background: #333 !important;
    content: "";
    display: block;
    height: 0.5333vw !important;
    left: 0;
    position: absolute;
    top: 50% !important;
    width: 100%;
    z-index: 1;
  }

  .contents .sec_trip.trip_round .sec_head .sec_title .title_img {
    background: #fff;
    display: inline-block;
    padding: 0 5.3333vw;
    position: relative;
    z-index: 2;
  }

  .contents .sec_trip.trip_round .sec_head .sec_title img {
    height: 10.6667vw;
    width: auto;
  }
}

/* SP: match round title styling to Fiji split-stay title */
@media screen and (max-width: 600px) {
  .contents .sec_trip.trip_round .sec_head .sec_title {
    margin: 5.3333vw 0 3.7333vw;
  }

  .contents .sec_trip.trip_round .sec_head .sec_title::before {
    height: 1px !important;
  }

  .contents .sec_trip.trip_round .sec_head .sec_title .title_img {
    padding-left: 4.8vw;
    padding-right: 4.8vw;
  }

  .contents .sec_trip.trip_round .sec_head .sec_title img {
    height: 9.6vw;
  }
}

/* PC: extend round title line to match blue background outer width */
@media screen and (min-width: 961px) {
  .contents .sec_trip.trip_round .sec_head .sec_title {
    margin-left: -40px;
    margin-right: -40px;
  }
}

/* PC: extend anchor tab underline to page edges */
@media screen and (min-width: 961px) {
  .contents .anchor_nav {
    box-sizing: border-box;
    margin-left: calc((100vw - 100%) / -2);
    margin-right: calc((100vw - 100%) / -2);
    padding-left: calc((100vw - 100%) / 2 + 20px);
    padding-right: calc((100vw - 100%) / 2 + 20px);
    width: 100vw;
  }
}

/* PC: match round country content width to Fiji blue content area */
@media screen and (min-width: 961px) {
  .contents .sec_trip.trip_round .round_country .plans_cnt {
    margin-left: -40px;
    margin-right: -40px;
    max-width: none;
    width: auto;
  }
}

/* PC: set round country content area to 1100px */
@media screen and (min-width: 961px) {
  .contents .sec_trip.trip_round .round_country .plans_cnt {
    box-sizing: border-box;
    margin-left: 50%;
    margin-right: 0;
    max-width: 1100px;
    transform: translateX(-50%);
    width: 1100px;
  }
}

/* SP: reduce space above Fiji plan city tabs */
@media screen and (max-width: 600px) {
  .contents .sec_trip.trip_fiji .trip_plans .plans_nav {
    margin-top: 6.6667vw;
  }
}

/* SP: further reduce space above Fiji plan city tabs */
@media screen and (max-width: 600px) {
  .contents .sec_trip.trip_fiji .trip_plans .plans_nav {
    margin-top: 4vw;
  }
}

/* PC: match space above round country content to Fiji blue area */
@media screen and (min-width: 961px) {
  .contents .sec_trip.trip_round .round_country .plans_cnt {
    margin-top: 40px;
  }
}

/* SP: add a little space above Fiji plan banner */
@media screen and (max-width: 600px) {
  .contents .sec_trip.trip_fiji .trip_plans .plans_title {
    margin-top: 6.6667vw;
  }
}

/* PC: match Fiji split-stay title line thickness to round title */
@media screen and (min-width: 601px), print {
  .contents .sec_trip .trip_title::before {
    height: 3px !important;
  }
}

/* PC: spread round map area cards to the 1100px content width */
@media screen and (min-width: 961px) {
  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(1),
  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(3),
  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(5) {
    position: relative;
    left: -40px;
  }

  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(2),
  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(4),
  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(8) {
    position: relative;
    left: 40px;
  }

  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(6) {
    left: -115px;
  }

  .contents .sec_trip.trip_round .round_trip_area .area_info .box:nth-of-type(7) {
    left: 115px;
  }
}

/* PC: lock map title bar parent width so Fiji and round maps align */
@media screen and (min-width: 961px), print {
  .contents .sec_trip .trip_area .area_map {
    width: 100%;
    max-width: 890px;
  }
}
