@charset "utf-8";
/* CSS Document */ :root {
  --black: #333;
  --brown: #343434;
  --yellow: #ffe906;
  --kyellow: #FFCB22;
  --pink: #ff266e;
  --upink: #fff7f9;
  --ublue: #d0dff1;
  --blue: #1e3476;
  --navy: #10407f;
  --knavy: #001f60;
  --gray: #F2F2F2;
  --ugray: #F2F2F2;
  --red: #d8292e;
  --pred: #F01C1C;
  --orange: #E7770F;
  --rave: #f3ecf9;
  --umizu: #ebf4ff;
  --cream: #ffecb6;
  --green: #12930f;
  --ugreen: #f2f8f0;
  --purple: #e1d2ee;
  --kpurple: #4b0b88;
  --f_sans: 'Noto Sans JP', sans-serif;
  --f_serif: 'Noto Serif JP', serif;
  --center_contain: no-repeat center center / contain;
}
img {
  max-width: 100%;
}
#nopc,.nopc,.br-sp{ display: none !important;}
main.main { font-family: "Noto Sans JP", serif;}
section{ padding-top: 3rem;}
.section__inner{
  width: 1120px;
  margin: 0 auto;
  padding: 2rem;
}
.section__container{ max-width: 1024px; margin: 0 auto;}
.heading--text img{ margin-bottom: .5rem;}

/* MV */
#mv {
  width: 100%;
  background-image: url(../img/main.jpg);
  background-repeat: no-repeat;
  background-position: top center;
  height: 550px;
  display: flex;
  align-items: center;
}
#mv p{ margin: 0 auto;}

section#flyt {background: var(--gray);}
section#bn_area { background: var(--gray);}
section#section_tour,section#section_hotel {background: var(--ugreen);}

/* MAP */
.map_area{ display: flex; gap: 2rem;}
.heading--title {
    font-weight: bold;
    line-height: 2rem !important;
}
.map_txt { width: 100%;}
.textBox { font-size: 1.2rem;}
.textBox strong {font-weight: bold;}

/* フライトスケジュール */
p.nowtime { text-align: end;}
.flightSchedule,.flightSchedule thead tr {background: #fff;}
.flightSchedule td { vertical-align: middle;}

/* コタキナバルの楽しみ方 */
#seen h3 {
  font-size: 1.3em;
  font-weight: bold;
  color: var(--green);
  text-align: center;
}
#seen p{
    font-size:15px;
    margin-bottom: 5px;
}
.chui {
    font-size: 0.9rem;
    width: 90%;
    margin: 0 auto;
    padding: 0 0 1rem;
}
/* ホテル案内 */
.slick-prev { z-index: 100;}
.slick-dots{ bottom: 2rem;}
ul.slide-items{
  width:472px;
  max-width: 100%; 
  margin:0 auto;
}
ul.slide-items span{ font-size: .9rem; }
#section_hotel h4 {
    font-size: 1.6rem;
    font-weight: bold;
    border-bottom: 1px solid #000;
    padding-bottom: .5rem;
}
.grid-col2 .hotel-info { font-size: 1rem;  padding: 1rem 0;}
.grid-col2 .hotel { 
  border: solid 1px; 
  padding: 1rem; 
  text-align: center;
  background: #fff;
}
.grid-col2 .hotel_service {
  background: var(--pink);
  color: #fff;
  padding: 0 1rem;
  display: block;
  width: 60%;
  text-align: center;
  margin: 0 auto 0.3rem;
}
.grid-col2 .hotel_svtitle { font-weight: bold;}

#hotel .arrang{
  background:var(--pink);
  width: 30%;
  text-align: center;
  display: block;
  margin-bottom: .1rem;
  color: #fff;
  font-size: .9rem;
}
.hotel_button { margin: 0 auto 5rem;}
.hotel_button.close { text-align: center;}
.hotel_button a {
  display: block;
  width: 400px;
  max-width: 400px !important;
  margin: 0 auto;
}
/* 施策 */
.shisaku {
    text-align: center;
    margin-bottom: 3rem;
}
/* いいとこどり */
#section_tour h3,#section_free h3{
    text-align: center;
    font-size: 1.5rem;
    padding: 1rem 0;
}
#section_tour h3 span,#section_free h3 span{
    display: inline-block;
    background: var(--green);
    color: aliceblue;
    font-size: 0.8em;
    padding: 0 1rem;
    margin-right: 1rem;
    border-radius: 1.5rem;
}
ul.point{
  counter-reset:list;
  list-style-type:none;
  font: 1rem/1.6 'arial narrow', sans-serif;
  padding: 1.5em;
  background: #FFF;
  margin:1rem 0;
}
ul.point li{
  position:relative;
  padding: .5rem .5rem .5rem 4rem;
  margin: .5rem 0 1rem 3rem;
  font-weight: bold;
  font-size:1.2rem;
  border-bottom:dashed 1px var(--green);
}
ul.point li:before{
  counter-increment: list;
  content: counter(list);
  position: absolute;
  left: 0px;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.align-center { margin: 2rem 0 3rem;}
/* 商品ラインナップ */
h2.heading--tourtitle {
    background: var(--knavy);
    text-align: center;
    font-size: 2.3rem;
    font-weight: bold;
    color: #fff;
    margin-bottom: 1rem;
    padding: .5rem;
}
h2.heading--tourtitle.tokuten,h2.heading--tourtitle.tourdes{ position: relative;}
h2.heading--tourtitle.tokuten::after,h2.heading--tourtitle.tourdes::after {
  position: absolute;
  content: url(../img/icon_heart.png);
  bottom:0;
  left: 0;
}
.grid-col4 {
  background: #FFF;
  padding: 0.5rem;
  box-shadow: 2px 2px 6px 0px #b9b9b9;
  margin: 0.5rem;
  width: calc((100% - 4rem) / 4);
}
.grid-col4 .heading--md .dep{ display: block; font-size: 1.2rem;}
.grid-col4 .heading--md{ margin: 8px 0; line-height: 1.8rem; font-size: 1.2rem;}
.grid-col4  span.nenyu { display: block; }
.heading--md { font-size: 1.3rem;}

.grid-col4:empty { display: none;}

/* 4並び商品 */
.col_waku .imgContainer--full>img { aspect-ratio: 5 / 3.5;}
.tour_waku {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #ffffff;
}
.col_waku {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.grid-col__body {
  display: flex;
  flex-direction: column;
  padding-bottom: 0;
}
.col_waku .imgContainer--full>img { aspect-ratio: 5 / 3.5;}
.tour_waku .img { margin-right: 2rem; width: 60%;}
.lx_textBox h3,.mnTxt_1 h3 {
  font-size: 1.1em;
  font-weight: 600;
  color: var(--pred);
}
.text_tour {
  font-size: 1rem;
  padding: 0.5rem;
  background: var(--ugray);
  margin: 0.5rem 0;
}
.text--smallPrice {
  font-weight: 600;
  color: var(--pred);
  font-size: 1.2rem;
}
.tour-nenyu{ font-size: 1rem;}
p.product__list--point {
  background: var(--pred);
  text-align: center;
  color: #fff;
  font-size: 0.9rem;
  font-weight: bold;
  margin-top: auto;
}
.text--point { margin-bottom: .5rem;}
.imgContainer--full { margin-bottom: 0;}
.text--smalldep{
    font-size: .9rem;
}
.icon-type{
    position: absolute;
    top: 0;
    left: 0;
    padding: .2rem .5rem;
    background-color: var(--pink);
    color: white;
    font-size: 1rem;
    font-weight: bold;
    z-index: 10;
}
.icon-type:empty { display: none;}

/* 海外AH／海外AO */
.product__list--more {
  grid-template-columns: 5em 1fr;
  display: grid;
  gap: 0 .5em;
  align-items: baseline;
  margin-top: .25em;
}
.product__list--more--title {
  display: inline-block;
  font-size: .95em;
  line-height: 1.5;
  background: #7d7d7d;
  color: #fff;
  text-align: center;
}
.text--smallPrice.auto {
    margin-top: auto;
    padding-top: .5rem;
}
/* もっと見る */
.other_button { margin: 2rem auto 2rem;}
.hotel_button { margin: 1rem auto 3rem; width: 100%;}
.other_button.close,.hotel_button.close { text-align: center;}
.other_button a,.hotel_button a {
  display: block;
  width: 400px;
  max-width: 400px !important;
  margin: 0 auto;
}

/* こちらもお見逃しなく */
.bnr_area{
  width: 992px;
  margin: 1.5rem auto 1rem;
  text-align: center;
}
#searchArea{ 
  padding-bottom: 3rem; 
}
/* 特集一覧 */
p.feature {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ★スマホ用★ */
.headfoot-is-sp .section__container{ width: 100%;}
.headfoot-is-sp .goTop__img--pc {
  display: none;
}
.headfoot-is-sp #nopc,.headfoot-is-sp .nopc,.headfoot-is-sp .br-sp{ display: block !important;}
.headfoot-is-sp #nosp,.headfoot-is-sp .nosp,.headfoot-is-sp .br-pc{ display: none !important;}
.headfoot-is-sp #pageNavi li { 
  width: calc((100% - 2rem) / 3);
  margin: 0.2rem;
}
.headfoot-is-sp #pageNavi li:first-child { border-left: none;}
.headfoot-is-sp #pageNavi li:last-of-type { border-right: none;}

.headfoot-is-sp .heading--title,.headfoot-is-sp .heading--schedule { 
  font-size: 1.6rem;
  margin: 1rem 0;
}
.headfoot-is-sp section{ padding-top: 0;}
.headfoot-is-sp .section__inner{width: 100%; padding: 1rem;}

/* 背景 */
.headfoot-is-sp section#tokuten{ background-position: 0 -20%;}

/* MV */
.headfoot-is-sp #mv {
    background-image: url(../img/main_sp.jpg);
    background-size: 100%;
    height: 66vw;
}
/* MAP */
.headfoot-is-sp .map_area{ display: block;}

/* 商品ラインナップ */
.headfoot-is-sp h2.heading--tourtitle { font-size: 1.3rem; }
.headfoot-is-sp h2.heading--tourtitle.tokuten::after { bottom:40%;}
.headfoot-is-sp .between{ width: 30%; }

/* いいとこどり */
.headfoot-is-sp #section_tour h3 span,.headfoot-is-sp #section_free h3 span{
  display: block;
  width: 60%;
  margin: 0 auto .5rem;
}
.headfoot-is-sp ul.point li{ 
  padding: .5rem .5rem .5rem 3rem;
  margin: 0; 
}

/* 4並び商品 */
.headfoot-is-sp .grid-col4 { width: 100%; padding: 1rem;}
.headfoot-is-sp .imgContainer--full { width: 100%;}
.headfoot-is-sp .col_waku { flex-direction: row;}
.headfoot-is-sp .col_waku .imgContainer--full { 
  width: 60%; 
  margin-right: 1rem; 
  border-radius: 0;
}
.headfoot-is-sp .grid-col__body { width: 100%; padding-bottom: 0;}
.headfoot-is-sp .grid-col__link { margin-bottom: 0;}
.headfoot-is-sp .heading--md { font-size: 1.2rem;}
.headfoot-is-sp .text--smallPrice{ text-align: center;}
.headfoot-is-sp .tour-nenyu{ 
  font-size: 0.8rem;
  text-align: center;
}
.headfoot-is-sp .text--point { margin-bottom: .5rem;}
.headfoot-is-sp .text--smalldep{ text-align: center;}
/* もっと見る */
.headfoot-is-sp .other_button a,.headfoot-is-sp .hotel_button a { width: 100%;}
.headfoot-is-sp .icon-type{ width: 100%; text-align: center; top: 80px;}

/* 特集 */
.headfoot-is-sp .innner,.headfoot-is-sp .section__container{ width:100%; margin: 0 auto;}
.headfoot-is-sp .feature{ width:100%; margin: 2rem auto 0;}
.headfoot-is-sp ul.clearfix {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}
.headfoot-is-sp ul.clearfix li{ 
  width: calc(90% / 2); 
  padding: 0.5rem;
}

/* こちらもお見逃しなく */
.headfoot-is-sp .bnr_area{ width: 90%;}
.headfoot-is-sp .bnr_area .cpn_info{ font-size: 1.1rem;}

/* ★タブレット用★ */
.is-ipad .spot__point_box li { width: calc(90% / 3);}
.is-ipad .spot__point_box li:nth-child(even) { margin: 0 auto 0.5rem; }
.is-ipad .section__inner{ width: 100%;}
.is-ipad .text--smallPrice { font-size: 1rem;}
.is-ipad .section__inner,.is-ipad .bnr_area,.is-ipad .breadcrumb{width:100%;}
/* 商品ラインナップ */
.is-ipad h2.heading--tourtitle.tokuten::after { bottom:50%;}

.is-ipad .bnr_area { width: 100%; }
.is-ipad .tour-nenyu { font-size: 0.8rem;}
/* MAP */
.is-ipad .heading--title { line-height: 2.5rem !important;}


@media (orientation: portrait){
}

