@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
:root{
    --tw-grey-color: #787878;
}
html {
  scroll-behavior: smooth;
}
#tw_content .sec_hero .hero_head{
    text-align: center;
    top: calc(50% - 19px);
    transform: translateY(-50%);
}
#tw_content .sec_hero .hero_head .page_title{
  font-weight: 700;
  font-size: 4.6rem;
}
#tw_content .hero_search.twarea_tour_search .tw_tour_search_notice{
    display: block;
    font-size: 15px;
    color: #fff;
    text-align: center;
    padding-right: 19px;
    z-index: 3;
    position: relative;
    width: fit-content;
    margin: 0 auto;
    opacity: 1 !important;
}
#tw_content .hero_search.twarea_tour_search .tw_tour_search_notice::after{
    aspect-ratio: 1 / 1;
    background: url(../img/arr_03_white.svg) center center / 100% auto no-repeat;
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 12px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

#tw_content .page_content .safe_travel_container {
  overflow: hidden;
  padding-top: 6px;
  padding-bottom: 29px;
}

#tw_content .page_content .safe_travel_list{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 34px;
}
#tw_content .page_content .section.sec_special{
  --section-bg: #F3F3F3;
}
/* 検索で人気の海外ツアー */
#tw_content .section.sec_destination_1 {
    --section-bg: #fff;
    --section-padding-t: 60px;
}
#tw_content .page_content .sec_destination_1 .twarea_slider_scroll {
    --slider-scroll-gap: 30px;
    --slider-scroll-item-w: 203px;
    --slider-scroll-item-img-ac: 203 / 116;
    margin-top: 17px;
    margin-bottom: 10px;
}
#tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item{
    padding: 0 0 22px;
}
#tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item .img_wrap .city_name{
    bottom: 10px;
    left: 15px;
    width: calc(100% - 30px);
}
#tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item .tour_wrap{
    border-top:none;
    margin: 0;
    padding: 18px 0 0;
}
#tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item .tour_info{
    justify-content: flex-start;
    color: #464646;
    font-size: 1.3rem;
}
#tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item .tour_price{
    font-size: 1.1rem;
    margin: 7px 0 0 0;
    text-align: left;
}
#tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item .tour_price span{
    font-size: 172.72%;
}
#tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item .tour_departure{
    border-left: solid 1px #DCDCDC;
    padding-left: 20px;
    display: grid;
    grid-template-columns: auto auto;
    justify-content: start;
    text-align: left;
    margin-top: 25px;
    gap: 13px;
}
#tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item .tour_departure li{
    list-style: none;
    color: var(--tw-grey-color);
    font-size: 1.35rem;
    line-height: 1;
}
#tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item .tour_departure li:nth-child(2n+1){
    padding-right: 15px;
}
#tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item .tour_departure li a{
    color: var(--tw-grey-color);
}
#tw_content .section.sec_destination_1 .destination_wrapper + .destination_wrapper{
  margin-top: 44px;
}
/* 豊富にご用意！周遊ツアー */
#tw_content .section.sec_round_trip {
    --section-bg: #F3F3F3;
    --section-padding-t: 60px;
    --slider-scroll-gap: 18px;
}
#tw_content .page_content .sec_round_trip .twarea_slider_scroll {
  --slider-scroll-item-w: 288px;
  --slider-scroll-item-img-ac: 66 / 120;
  margin-bottom: 30px;
  margin-top: 17px;
}
#tw_content .page_content .sec_round_trip .twarea_slider_scroll .slide_item {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  padding: 0;
}
#tw_content .page_content .sec_round_trip .twarea_slider_scroll .slide_item .item_wrap {
  display: flex;
  flex-direction: row;
  height: 100%;
}
#tw_content .page_content .sec_round_trip .twarea_slider_scroll .slide_item .img_wrap {
  border-radius: 0;
  width: 66px;
  min-width: 66px;
  max-width: 66px;
  position: relative;
  z-index: 1;
}
#tw_content .page_content .sec_round_trip .twarea_slider_scroll .slide_item .img_wrap img {
  z-index: 1;
}
#tw_content .section.sec_round_trip .destination_wrapper + .destination_wrapper {
  margin-top: 44px;
}
#tw_content .section.sec_round_trip .destination_area {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.47;
  margin-bottom: 15px;
  padding-left: 30px;
  position: relative;
}
#tw_content .section.sec_round_trip .destination_area::before {
  background: var(--tw-base-color);
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: 12px;
  width: 18px;
}
#tw_content .page_content .sec_round_trip .twarea_slider_scroll .slide_item .tour_wrap{
  padding: 8px 13px;
  width: calc(100% - 66px);
}
#tw_content .page_content .sec_round_trip .twarea_slider_scroll .slide_item .tour_info{
  font-size: 1.45rem;
  line-height: 1.34;
  font-weight: 600;
  height: 40px;
}
#tw_content .page_content .sec_round_trip .twarea_slider_scroll .slide_item .tour_departure {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-content: start;
    text-align: left;
    margin-top: 11px;
    gap: 7px;
    margin-right: -10px;
}
#tw_content .page_content .sec_round_trip .twarea_slider_scroll .slide_item .tour_departure li{
    list-style: none;
    color: var(--tw-grey-color);
    font-size: 1.35rem;
}
#tw_content .page_content .sec_round_trip .twarea_slider_scroll .slide_item .tour_departure li a{
    color: var(--tw-grey-color);
}

/* 旅を身近に！お手軽ツアー */
#tw_content .section.sec_quick_trip {
    --section-bg: #F9F9EF;
    --section-padding-t: 60px;
}
#tw_content .page_content .sec_quick_trip .twarea_slider_scroll {
  --slider-scroll-item-w: 240px;
  --slider-scroll-item-img-ac: 48 / 48;
  margin-bottom: 30px;
  margin-top: 17px;
}
#tw_content .page_content .sec_quick_trip .twarea_slider_scroll .slide_item {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  padding: 7px;
}
#tw_content .page_content .sec_quick_trip .twarea_slider_scroll .slide_item .item_wrap {
  display: flex;
  flex-direction: row;
  height: 100%;
  align-items: center;
}
#tw_content .page_content .sec_quick_trip .twarea_slider_scroll .slide_item .img_wrap {
  border-radius: 8px;
  width: 66px;
  min-width: 66px;
  max-width: 66px;
  position: relative;
  z-index: 1;
}
#tw_content .page_content .sec_quick_trip .twarea_slider_scroll .slide_item .img_wrap img {
  z-index: 1;
}
#tw_content .section.sec_quick_trip .destination_wrapper + .destination_wrapper {
  margin-top: 44px;
}
#tw_content .section.sec_quick_trip .destination_area {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.47;
  margin-bottom: 15px;
  padding-left: 30px;
  position: relative;
}
#tw_content .section.sec_quick_trip .destination_area::before {
  background: var(--tw-base-color);
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: 12px;
  width: 18px;
}
#tw_content .page_content .sec_quick_trip .twarea_slider_scroll .slide_item .tour_wrap{
  padding: 10px 13px;
}
#tw_content .page_content .sec_quick_trip .twarea_slider_scroll .slide_item .tour_info{
  font-size: 1.5rem;
  line-height: 1.34;
  font-weight: 600;
  color: var(--tw-grey-color);
}
#tw_content .page_content .sec_quick_trip .twarea_slider_scroll .slide_item .tour_departure {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-content: start;
    text-align: left;
    margin-top: 10px;
    gap: 10px;
}
#tw_content .page_content .sec_quick_trip .twarea_slider_scroll .slide_item .tour_departure li{
    list-style: none;
    color: var(--tw-grey-color);
    font-size: 1.35rem;
}

#tw_content .page_content .sect_line {
  --section-bg: #fff;
  --section-padding-t: 60px;
  --section-padding-b: 80px;
}
#tw_content .page_content .sect_line .line_logo{
  display: block;
  margin: 0 auto 80px auto;
  width: fit-content;
}
#tw_content .page_content .sect_line .sec_foot{
  text-align: center;
}
#tw_content .page_content .section.sec_worries{
  --section-padding-t: 60px;
}
@media screen and (max-width: 1210px) and (min-width: 601px){
  #tw_content .page_content .sec_round_trip .twarea_slider_scroll:not(.only_sp) {
    width: calc(100vw - var(--section-padding-l));
  }

  #tw_content .page_content .sec_quick_trip .twarea_slider_scroll:not(.only_sp) {
    width: calc(100vw - var(--section-padding-l));
  }

}
@media screen and (max-width: 1210px){

}
@media screen and (max-width: 960px) and (min-width: 601px){
  #tw_content .section.sec_round_trip .sec_head .head_title {
    margin-bottom: 10px;
  }
  #tw_content .section.sec_round_trip .sec_head .head_lead {
    margin-top: 20px;
  }

  #tw_content .section.sec_quick_trip .sec_head .head_title {
    margin-bottom: 10px;
  }
  #tw_content .section.sec_quick_trip .sec_head .head_lead {
    margin-top: 20px;
  }

}
@media screen and (max-width: 960px){
  #tw_content .hero_search::after {
    background: #464646;
  }
}
@media screen and (max-width: 600px) {
  #tw_content .sec_hero .hero_head{
      top: 24.5vw;
      transform: unset;
  }
  #tw_content .sec_hero .hero_head .page_title{
    font-size: 5.6vw;
  }
  #tw_content .hero_search.twarea_tour_search{
      margin-top: -68vw;
  }
  #tw_content .hero_search.twarea_tour_search .tw_tour_search_set .btn_wrap .btn_detail{
    color: #464646;
  }
  #tw_content .hero_search::after{
      display: none;
  }
  #tw_content .sec_hero .hero_visual{
      aspect-ratio: 750 / 782;
  }
  #tw_content .sec_hero{
      background: #464646;
  }
  #tw_content .hero_search.twarea_tour_search .tw_tour_search_notice{
      font-size: 3.2vw;
      padding-right: 4.5vw;
      margin-top: 7vw;
  }
  #tw_content .hero_search.twarea_tour_search .tw_tour_search_notice::after{
      top: unset;
      transform: unset;
      bottom: 0.8vw;
      width: 2.5vw;
  }
  #tw_content .hero_search.twarea_tour_search{
      padding-bottom: 3.7vw;
  }
  #tw_content .page_content .section{
    --section-padding-b: 12vw;
  }
  #tw_content .page_content .safe_travel_container{
      margin-left: -4vw;
      margin-right: -4vw;
      padding-top: 0;
      padding-bottom: 0;
  }

  #tw_content .page_content .safe_travel_list{
      display: flex;
      gap: 0;
      overflow-x: auto;
      overflow-y: hidden;
      white-space: nowrap;
      scrollbar-width: none;     
      -ms-overflow-style: none;
      scroll-behavior: smooth;
      -webkit-overflow-scrolling: touch;
      padding: 0 2vw;
  }

  #tw_content .page_content .safe_travel_list li {
      flex: 0 0 40%;
      margin: 0 2vw;
  }
  #tw_content .page_content .section.sec_special{
      --section-bg:#fff;
  }
  #tw_content .page_content .section.sec_special .sec_inner{
      padding-top: 0;
  }
  #tw_content .page_content .section.sec_special .twarea_slider_scroll.slider_special{
      --slider-scroll-item-w: 41vw;
      margin-bottom: 6.67vw;
  }

  #tw_content .page_content .twarea_slider_scroll .slider_nav.prev,
  #tw_content .page_content .twarea_slider_scroll .slider_nav.next{
      display: none;
  }
  #tw_content .section.sec_destination_1{
    --section-padding-t: 2vw;
    --section-padding-b: 4vw;
  }
  #tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item {
      padding: 0 0 5.33vw;
  }

  #tw_content .page_content .sec_destination_1 .twarea_slider_scroll{
      --slider-scroll-gap: 4vw;
      --slider-scroll-item-w: 37.3vw;
      margin-bottom: 6vw;
      margin-top: 3.06vw;
  }
  #tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item .img_wrap .city_name{
      font-size: 4.26vw;
      bottom: 2vw;
      left: 3.33vw;
      width: calc(100% - 6.67vw);
  }
  #tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item .tour_info{
      font-size: 2.8vw;
  }
  #tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item .tour_price{
      font-size: 2.13vw;
      margin: 1.3vw 0 0 0;
  }
  #tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item .tour_departure{
      padding-left: 4.4vw;
      margin-top: 4.9vw;
      gap: 4vw;
  }
  #tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item .tour_departure li{
      font-size: 2.93vw;
  }
  #tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item .tour_departure li:nth-child(2n+1) {
      padding-right: 2.4vw;
  }
  #tw_content .section.sec_destination_1 .destination_wrapper{
    margin-top: 6vw;
  }
  #tw_content .section.sec_destination_1 .destination_wrapper + .destination_wrapper{
      margin-top: 0;
  }
  #tw_content .section.sec_destination_1 .sec_head{
    margin-bottom: 6vw;
  }
  #tw_content .section.sec_destination_1 .sec_head .head_lead{
    display: none;
  }
  #tw_content .page_content .sec_destination_1 .twarea_slider_scroll .slide_item .tour_wrap{
    padding: 3.33vw 0 0;
  }

  #tw_content .page_content .sec_round_trip .twarea_slider_scroll {
    --slider-scroll-item-w: 63.6vw;
    --slider-scroll-item-img-ac: 110 / 200;
    --slider-scroll-arr-prev: 1.33vw;
    --slider-scroll-gap: 2vw;
    margin-bottom: 6.67vw;
    margin-top: 3.06vw;
  }
  #tw_content .page_content .sec_round_trip .twarea_slider_scroll .slider_nav {
    top: 14.67vw;
  }
  #tw_content .page_content .sec_round_trip .twarea_slider_scroll .slider_nav.next {
    -webkit-transform: none;
    transform: none;
  }
  #tw_content .page_content .sec_round_trip .twarea_slider_scroll .slider_nav.prev {
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
  }
  #tw_content .page_content .sec_round_trip .twarea_slider_scroll .slide_item {
    border-radius: 3.33vw;
  }
  #tw_content .page_content .sec_round_trip .twarea_slider_scroll .slide_item .img_wrap {
    width: 14.66vw;
    min-width: 14.66vw;
    max-width: 14.66vw;
  }
  #tw_content .section.sec_round_trip {
    --section-m-left: 0;
    --section-padding-t: 12vw;
    --section-padding-b: 7vw;
  }
  #tw_content .section.sec_round_trip .sec_head {
    margin-bottom: 6vw;
  }
  #tw_content .section.sec_round_trip .sec_head .head_sbtitle .en {
    padding: 0 1.6vw;
  }
  #tw_content .section.sec_round_trip .sec_head .head_lead {
    display: none;
  }
  #tw_content .section.sec_round_trip .destination_wrapper {
    margin-top: 6vw;
  }
  #tw_content .section.sec_round_trip .destination_wrapper + .destination_wrapper {
    margin-top: 0;
  }
  #tw_content .section.sec_round_trip .destination_area {
    font-size: 3.73vw;
    margin-bottom: 4vw;
    padding-left: 6.53vw;
  }
  #tw_content .section.sec_round_trip .destination_area::before {
    top: 2.93vw;
    width: 4vw;
  }
  #tw_content .page_content .sec_round_trip .twarea_slider_scroll .slide_item .tour_wrap{
    padding: 2.4vw 3.2vw;
    width: calc(100% - 14.66vw);
  }
  #tw_content .page_content .sec_round_trip .twarea_slider_scroll .slide_item .tour_info{
    font-size: 3.2vw;
    height: 8.6vw;
  }
  #tw_content .page_content .sec_round_trip .twarea_slider_scroll .slide_item .tour_departure {
    margin-top: 1.6vw;
    gap: 1vw;
    margin-right: -3vw;
  }
  #tw_content .page_content .sec_round_trip .twarea_slider_scroll .slide_item .tour_departure li{
    font-size: 2.93vw;
    margin: 0.5vw;
  }

  #tw_content .page_content .sec_quick_trip .twarea_slider_scroll {
    --slider-scroll-item-w: 41.6vw;
    --slider-scroll-arr-prev: 1.33vw;
    margin-bottom: 6.67vw;
    margin-top: 3.06vw;
  }
  #tw_content .page_content .sec_quick_trip .twarea_slider_scroll .slider_nav {
    top: 14.67vw;
  }
  #tw_content .page_content .sec_quick_trip .twarea_slider_scroll .slider_nav.next {
    -webkit-transform: none;
    transform: none;
  }
  #tw_content .page_content .sec_quick_trip .twarea_slider_scroll .slider_nav.prev {
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
  }
  #tw_content .page_content .sec_quick_trip .twarea_slider_scroll .slide_item {
    border-radius: 2vw;
    padding: 1.33vw;
  }
  #tw_content .page_content .sec_quick_trip .twarea_slider_scroll .slide_item .img_wrap {
    width: 8.53vw;
    min-width: 8.53vw;
    max-width: 8.53vw;
  }
  #tw_content .section.sec_quick_trip {
    --section-m-left: 0;
    --section-padding-t: 12vw;
    --section-padding-b: 7vw;
  }
  #tw_content .section.sec_quick_trip .sec_head {
    margin-bottom: 6vw;
  }
  #tw_content .section.sec_quick_trip .sec_head .head_sbtitle .en {
    padding: 0 1.6vw;
  }
  #tw_content .section.sec_quick_trip .sec_head .head_lead {
    display: none;
  }
  #tw_content .section.sec_quick_trip .destination_wrapper {
    margin-top: 6vw;
  }
  #tw_content .section.sec_quick_trip .destination_wrapper + .destination_wrapper {
    margin-top: 0;
  }
  #tw_content .section.sec_quick_trip .destination_area {
    font-size: 3.73vw;
    margin-bottom: 4vw;
    padding-left: 6.53vw;
  }
  #tw_content .section.sec_quick_trip .destination_area::before {
    top: 2.93vw;
    width: 4vw;
  }
  #tw_content .page_content .sec_quick_trip .twarea_slider_scroll .slide_item .tour_wrap{
    padding: 2vw 2.3vw;
  }
  #tw_content .page_content .sec_quick_trip .twarea_slider_scroll .slide_item .tour_info{
    font-size: 2.93vw;
  }

  #tw_content .page_content .sect_line {
    --section-padding-t: 13.33vw;
    --section-padding-b: 16vw;
  }
  #tw_content .page_content .sect_line .line_logo {
    margin: 0 auto 16vw auto;
  }
  #tw_content .page_content .section.sec_worries{
    --section-padding-t: 12vw;
  }
}
@media screen and (min-width: 601px) and (max-width: 600px){
  #tw_content .page_content .sec_round_trip .twarea_slider_scroll .slide_item .item_link:hover {
    background-color: #b4b4b4;
  }

}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover){

}
@media (hover: none){

}
@media screen and (min-width: 1211px), print{
  #tw_content .page_content .sec_round_trip .twarea_slider_scroll:not(.only_sp) {
    width: calc(100% + 50vw - var(--slider-scroll-gap) / 2 - 50%);
  }

  #tw_content .page_content .sec_quick_trip .twarea_slider_scroll:not(.only_sp) {
    width: calc(100% + 50vw - var(--slider-scroll-gap) / 2 - 50%);
  }

}
@media screen and (min-width: 601px), print{
  #tw_content .page_content .sec_round_trip .twarea_slider_scroll .scroll_view {
    gap: 0 var(--slider-scroll-gap);
  }
  #tw_content .section.sec_round_trip .sec_head .head_sbtitle .en {
    font-size: 1.44rem;
    height: 16.8px;
    line-height: 16.8px;
    padding: 0 8px;
  }
  #tw_content .section.sec_round_trip .sec_head .head_sbtitle .ja {
    font-size: 1.3rem;
  }

  #tw_content .page_content .sec_quick_trip .twarea_slider_scroll .scroll_view {
    gap: 0 var(--slider-scroll-gap);
  }
  #tw_content .section.sec_quick_trip .sec_head .head_sbtitle .en {
    font-size: 1.44rem;
    height: 16.8px;
    line-height: 16.8px;
    padding: 0 8px;
  }
  #tw_content .section.sec_quick_trip .sec_head .head_sbtitle .ja {
    font-size: 1.3rem;
  }  
}
@media screen and (min-width: 961px), print{
    #tw_content .hero_search{
        height: 130px;
    }
    #tw_content .hero_search::after {
        height: 94px;
    }
    #tw_content .section.sec_destination_1 .sec_head{
      margin-bottom: 35px;
    }
    #tw_content .section.sec_round_trip .sec_head {
      flex-wrap: wrap;
      margin-bottom: 35px;
    }
    #tw_content .section.sec_round_trip .sec_head .head_title {
      margin-bottom: 15px;
      width: 100%;
    }
    #tw_content .section.sec_round_trip .sec_head .head_lead {
      flex: 1;
      max-width: 100%;
      padding-left: 30px;
    }

    #tw_content .section.sec_quick_trip .sec_head {
      flex-wrap: wrap;
      margin-bottom: 35px;
    }
    #tw_content .section.sec_quick_trip .sec_head .head_title {
      margin-bottom: 15px;
      width: 100%;
    }
    #tw_content .section.sec_quick_trip .sec_head .head_lead {
      flex: 1;
      max-width: 100%;
      padding-left: 30px;
    }

}

@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
    #tw_content .hero_search.twarea_tour_search .tw_tour_search_notice:hover{
      opacity: 0.65 !important;
    }
}