@charset "utf-8";
/* CSS Document */ :root {
  --navy: #21348b;
  --blue: #1578c4;
  --kblue: #00b8ee;
  --ublue: #ddf9f9;
  --yellow: #ffff00;
  --brown: #4d3c32;
  --mgreen: #cadcfd;
  --dgreen: #005253;
  --gray: #f7f7f7;
  --cream: #ffecb6;
  --f_sans: 'Noto Sans JP', sans-serif;
  --f_serif: 'Noto Serif JP', serif;
  --center_contain: no-repeat center center / contain;
  --c_apr: #f9cbcc;
  --c_mar: #a0e68f;
  --c_jun: #69e2d5;
  --c_jul: #fff45c;
  --c_aug: #ffbb00;
  --c_sep: #E1FFC4;
  --c_oct: #d1f1fe;
  --c_nov: #EBF9FF;
}
img {
  max-width: 100%;
}
#nosp,.nosp,.br-pc{ display: block;}
#nopc,.nopc,.br-sp{ display: none;}

/* MV */
main * {
  box-sizing: border-box;
  font-family: var(--f_yu);
}
/* スライド */
#slider {
  width: 100%;
  height: 70vh !important;
}
.main-title {
  width: 100%;
  height: 70vh;
  position: relative;
}
/* #slider::after {
  content: '';
  background: url(../img/bg_top.png) bottom center no-repeat;
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 700px;
} */
.main-title img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.firstwrap {
  background: url(../img/bg.png);
  padding: 1rem;
}
.link-area { margin: 20px auto;}
.link-area .more-link {
  width: max(800px, calc((100% - 20px) / 2));
  margin: 0 auto;
}
.link-area .more-link > a {
  display: block;
  background: var(--brown);
  border-radius: 6px;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  padding: 16px;
  position: relative;
  transition: .3s;
}
.link-area .more-link > a::after {
  content: "";
  background: url(../img/arrow02.png) var(--center_contain);
  width: 11px;
  height: 17px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 3%;
  margin: auto;
}
.link-area .more-link > a:hover {
  transform: scale(1.1);
}
/* ナビ */
.nav-wrapper {
  width: 100%;
  background: var(--navy);
}
.nav-list {
  width: 992px;
  margin: auto;
  display: flex;
  justify-content: space-between
}
.nav-list > li {
  width: calc(100% / 3);
  border-left: 2px solid #FFF;
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.nav-list > li:last-child {
  border-right: 2px solid #FFF;
}
.nav-list > li > a {
  display: flex;
  padding: 10px 0;
  font-size: 1.3rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  position: relative;
  width: 100%;
  transition: 0.3s;
  justify-content: center;
  align-items: center; /* 縦方向中央揃え */
  height: 80px;
}
.nav-list > li > a:hover {
  font-weight: bold;
  color: var(--yellow); 
  animation: fadeIn 1s ease;
  animation-fill-mode: both
}
.nav-list > li > a:after {
  font-family: FontAwesome;
  content: "\f107";
  position: absolute;
  bottom: 5px;
  right: 0;
  left: 0;
}
/* 内容 */
.content-wrapper {
  padding: 50px 0;
  width: 100%;
  background: url(../img/bg.png);
}
.inner {
  width: 992px;
  margin: 0 auto;
}
/*  */
.pickup{ text-align: center;}
.pickup .first_catch {
  color: #FF8C00;
  background: -webkit-linear-gradient(0deg, #40E0D0, #FF8C00, #FF0080);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 3rem;
  font-weight: bold;
}
.pickup .main_catch {
  height: 40px;
  font-weight: 900;
  font-size: 1.6rem;
  line-height: 2rem;
  margin-bottom: 0.5rem;
}
/* おすすめスポット */
.area-title { text-align: center;}
.spot__point_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.spot__point_box li {
  width: calc(90% / 3);
  line-height: 1.2;
  background: #fff;
  margin: 1rem;
}
h4 {
  text-align: center;
  color: var(--blue);
  font-weight: bold;
  font-size: 1.3rem;
}
.spot_food { margin-top: 1.5rem;}
.spot_read {
  text-align: center;
  color: var(--blue);
  font-weight: bold;
  font-size: 0.5rem;
  margin: 0.8rem auto 0.1rem;
}
p.spot_sub {
  text-align: center;
  font-weight: bold;
  font-size: 1rem;
}
p.spot_content { margin: 0.3rem 1rem 1rem;}

/* 青いぜ長崎 */
.item-txt__icon .icon-type.ngs_blue::after {
  display: inline-block;
  background-image: url(../img/ngs_blue.png);
  width: 70px;
  height: 15px;
  margin-right: 3px;
}
.ngs_blueislands_bnr { text-align: center;}
.ngs_blueislands .wrap { 
  width: 960px;
  margin: 0 auto;
}
.ngs_blueislands .wrap label {
  display: block;
}
.ngs_blueislands_more {
  display: block;
  padding: 0.3rem;
  color: #000;
  background: var(--yellow);
  cursor: pointer;
  font-weight: bold;
  text-align: center;
  font-size: 1rem;
}
.ngs_blueislands .wrap label:hover{ opacity: .8;}
.ngs_blueislands .wrap input[type="checkbox"] { display: none;}
.ngs_blueislands .wrap .content {
  height: 0;
  padding: 0;
  overflow: hidden;
  margin-bottom: 10px;
  border: 1px solid #ccc;
}
.ngs_blueislands .switch:checked + .content {
  height: auto;
  padding: 1rem;
  background: var(--gray);
}
.ngs_blueislands .content_box { margin-bottom: 1rem;}
.ngs_blueislands .content_title{
  font-weight: bold;
  font-size: 1rem;
}
.ngs_blueislands .content_point{
  font-weight: bold;
  font-size: 1rem;
  padding-left: 1rem;
}
.ngs_blueislands .content_link {
  margin-top: 0.5rem;
  font-weight: bold;
}
.ngs_blueislands .content_link a{ color: var(--navy);}
.ngs_blueislands .content_link a:hover{ opacity: .8;}

/* おすすめツアー */
.tourbox { 
  background: url(/kokunai/kyushu/goto/kyushu/img/pickup_line.jpg) repeat-x 0 0 #ddf9f9 !important;
}
.tab-list {
  display: flex;
  flex-wrap: wrap;
  margin: 20px auto;
  justify-content: center;
}
.tab-list > li {
  width: calc((100% - 40px) / 5);
  border-radius: 6px;
  background: var(--blue);
  font-size: 1.2rem;
  font-weight: 600;
  color: #FFF;
  text-align: center;
  padding: 1rem;
  margin: 0 0.2rem;
  flex-grow: 1;
}
.tab-list > li:hover, .tab-list > li.nav_on {
  background: var(--kblue);
  color: #fff;
  cursor: pointer;
}
.soldout-txt {
  margin: 20px auto;
  text-align: center;
  color: #000;
}
.soldout-txt:empty { display: none}
.js-product-area { display: none}

/* おすすめホテル */
.tourhotel { background: var(--ublue)}
.tab-hotellist {
  display: flex;
  flex-wrap: wrap;
  margin: 20px auto;
}
.tab-hotellist > li {
  width: calc((100% - 20px) / 3);
  border-radius: 6px;
  background: var(--blue);
  font-size: 1.2rem;
  font-weight: 600;
  color: #FFF;
  text-align: center;
  padding: 1rem;
  margin: 0 auto;
  position: relative;
}
.tab-hotellist > li:hover {
  background-color: var(--kblue);
  transition: all 0.6s ease;
}
.tab-hotellist li a {
  color: #fff;
  display: block;
}
.tab-hotellist li a:after {
  font-family: FontAwesome;
  content: "\f107";
  position: absolute;
  bottom: -3px;
  right: 0;
  left: 0;
}
.hotel-area { 
  background: #fff;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}
.hotelbox { display: flex;}
.hotelbox h3 {
  font-size: 1.5rem;
    line-height: 2.5rem;
    color: var(--navy);
    font-weight: bold;
    margin-bottom: 1rem;
    border-left: solid 7px var(--navy);
    padding: 0.5rem 0 0.5rem 1rem;
}
.hotelbox .read {
  font-size: 16px;
  line-height: 1.5em;
  margin-bottom: 20px;
}
.hotelbox .hoteldata dt {
  font-size: 14px;
  line-height: 1.4em;
  font-weight: bold;
  color: var(--navy);
  border-bottom: solid 1px var(--navy);
  margin-bottom: 10px;
}
.info {
  width: calc((100% - 20px) / 2);
  margin: 2rem;
}
.gallery {
  width: calc((100% - 20px) / 2);
  margin: 1.5rem 2rem 0 0;
}
.gallery .change-ph li{
   padding: 0 0.5rem;
   transition: .3s;
}
.gallery .change-ph li :hover { transform: scale(1.1); }
.gallery .change-ph li span { display: none;}
.gallery .change-ph li .active { border: solid 3px #333;}
.gallery .main-ph { position: relative;}
.gallery .main-ph span {
  position: absolute;
  right: 1rem;
  bottom: 0.5rem;
  color: #fff;
  text-shadow: black 1px 1px 1px, black -1px 1px 1px, black 1px -1px 1px, black -1px -1px 1px;
}
.gallery .change-ph { 
  display: flex;
  padding: 1rem
}
.link-hotel-area {
  width: max(700px, calc((100% - 20px) / 2));
  margin: 1rem auto;
}
.link-hotel-area > a {
  display: block;
  background: var(--brown);
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  padding: 1rem;
  position: relative;
  transition: .3s;
}
.link-hotel-area > a::after {
  content: "";
  background: url(../img/arrow02.png) var(--center_contain);
  width: 11px;
  height: 17px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 3%;
  margin: auto;
}
.link-hotel-area > a:hover { transform: scale(1.1);}

/* 検索 */
div#searchModSection { margin: 4rem 0;}

/* ★スマホ用★ */
.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;}
.headfoot-is-sp #nosp,.headfoot-is-sp .nosp,.headfoot-is-sp .br-pc{ display: none;}
.headfoot-is-sp .main-title img {
  zoom: 0.8;
}
/* スライド */
.headfoot-is-sp #slider { height: 50vh !important;}
.headfoot-is-sp .main-title { height: 50vh;}
.headfoot-is-sp .link-area .more-link { width: 90vw; }
.headfoot-is-sp .link-area .more-link > a {
  font-size: 0.8rem;
  padding: 1rem;
  font-weight: 400;
}

/* ナビ */
.headfoot-is-sp .nav-list { width: 100%;}
.headfoot-is-sp .nav-list > li > a {
  font-size: 1rem;
  height: 70px;
  font-weight: 400;
}
.headfoot-is-sp .nav-list > li > a:after { bottom: 5px;}
/* 内容 */
.headfoot-is-sp .content-wrapper { padding: 20px 0;}
.headfoot-is-sp .inner {
  width: 100%;
}
/*  */
.headfoot-is-sp .pickup .first_catch { font-size: 2rem;}
.headfoot-is-sp .sub_catch { font-size: 0.8rem !important;}
.headfoot-is-sp .pickup .main_catch {
  height: auto;
  font-size: 1.1rem;
}
/* おすすめスポット */
.headfoot-is-sp .area-title img { max-width: 90%;}
.headfoot-is-sp .spot__point_box li {
  width: calc(90% / 2);
  margin: 0 auto 0.5rem;
}
.headfoot-is-sp .spot__point_box li:nth-child(even) { margin-left: 0; }

/* おすすめツアー */
.headfoot-is-sp .product-list { margin: 3vw; }
.headfoot-is-sp .tab-list {
  gap: calc(10vw / 7.5);
  margin: 1rem;
}
.headfoot-is-sp .tab-list > li {
  width: calc((100% - (20vw / 7.5)) / 3);
  padding: calc(26vw / 7.5) 0;
  margin: 0;
  flex-grow: unset;
  font-weight: 400;
}
/* 青いぜ長崎 */
.headfoot-is-sp .ngs_blueislands .wrap { width: 100%;}
.headfoot-is-sp .ngs_blueislands { padding: 0.5rem; }
.headfoot-is-sp .ngs_blueislands .wrap label { font-size: 0.8rem;}
.headfoot-is-sp .ngs_blueislands .ngs_blueislands_more { font-size: 0.8rem;}

/* おすすめホテル */
.headfoot-is-sp .tab-hotellist > li { 
  width: 100%;
  margin: 0.5rem auto 0;
  padding: 0.8rem;
  font-weight: 400;
}
.headfoot-is-sp .link-hotel-area { width: 100%;}
.headfoot-is-sp .tab-hotellist {
  margin: 0 auto 1rem;
  padding: 1rem;
}
.headfoot-is-sp.tab-hotellist li a:after { bottom: -5px; }
.headfoot-is-sp .hotel-area { 
  padding: 1rem;
  margin: 1rem;
}
.headfoot-is-sp .hotelbox { display: block;}
.headfoot-is-sp .hotelbox h3 { line-height: 1.5rem;}
.headfoot-is-sp .hotelbox .read {
  font-size: 0.9rem;
  margin-bottom: 5px;
}
.headfoot-is-sp .info { 
  width: 100%;
  margin: 0;
}
.headfoot-is-sp .gallery { 
  width: 100%;
  margin: 0;
  margin-top: 1rem;
}
.headfoot-is-sp .gallery .change-ph { 
  padding: 0.5rem;  
  font-size: 1rem;
}
.headfoot-is-sp .link-hotel-area > a {
  font-weight: 400;
  font-size: 1rem;
}
.headfoot-is-sp .link-hotel-area > a::after { right: 5%;}
/* 検索 */
.headfoot-is-sp div#searchModSection { margin: 0;}

/* ★タブレット用★ */
.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 .tab-list { 
  margin: 2rem auto;
}
.is-ipad .tab-list > li { 
  width: calc(90% / 5);
  padding: 0.8rem;
}
/* 青いぜ長崎 */
.is-ipad .ngs_blueislands .wrap { 
  margin: 0 auto;
  width: 750px;
}
/* おすすめホテル */
.is-ipad .tab-hotellist > li { 
  width: calc(90% / 3);
  padding: 1.5rem;
}
.is-ipad  .link-hotel-area { width: 80%;}
.is-ipad .hotelbox { display: flex;}
.is-ipad .info { 
  width: calc((100% - 10px) / 2);
  margin: 2rem;
}
.is-ipad .gallery {
  width: calc((100% - 10px) / 2);
  margin: 1.5rem 2rem 0 0;
}

@media (orientation: portrait){
}


