@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap&subset=japanese');

:root {
  --font-family-min: 'Oswald', serif;
  --font-normal-min: 500;
  --font-bold-min: 900;
  --gnavi-height: min((100vw / 7.5), 60px);
  --color-red: #e90000;
  --default-font-size-pc-val: 16;
  --default-font-size-sp-val: 24;
  --default-font-size-pc: 16px;
  --default-font-size-sp: calc(24vw / 7.5);
  --default-font-size: min(var(--default-font-size-sp), var(--default-font-size-pc));
  --default-color-01: #009999;
  --default-color-02: #035e88;
  --default-color-03: #2d90a7;
  --default-color-04: #978e24;
  --default-color-05: #cec251;
  --default-color-06: #888;
  --default-color-07: rgba(45, 144, 164, .9);
  --default-width-pc: 992px;
  --default-width: min((680vw / 7.5), var(--default-width-pc));
  --default-width-02: min((620vw / 7.5), 620px);
  --default-100vw-minus: calc((-35vw / 7.5));
  --default-bg-width-pc: max(100%, 1920px);
  --default-bg-setting: no-repeat center center / cover;
  --default-icon-arrow-right-white: var(--icon-arrow-right-white) var(--default-bg-setting);
  --default-icon-arrow-down-white: var(--icon-arrow-down-white) var(--default-bg-setting);
  --default-icon-blank-white: var(--icon-blank-white) var(--default-bg-setting);
  --default-hover-speed: .3s;
  --default-hover-transition: box-shadow var(--default-hover-speed);
  --default-stripe-size: min((16vw / 7.5), 8.5px) min((16vw / 7.5), 8.5px);
}
/* CSS Document */
/*main {
  font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", sans-serif;
  line-height: calc(20 / 14);
}*/
.heading--title {
  font-weight: bold;
}
.simpleMv--full {
  height: 450px;
}
.simpleMv--full .simpleMv__img {
  height: 450px;
  width: auto;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.nopc{
	display: none;
}
/****マップ****/
#map .section__container {
  overflow: hidden;
}
.map {
  width: 40%;
  float: right;
}
.map_txt {
  width: 60%;
  float: left;
  padding-top: 5px;
}
.map_txt p {
  font-size: 1.2em;
  padding: 0 2em;
}
.map_txt img {
  width: 100%;
  padding-top: 15px;
}
.map img {
  width: 100%;
}
/****フライトスケジュール****/
.bgGray{
	margin-bottom:0 !important; 
	background: #f7f7f7;
}

.grid-col2{ padding: 0 3px 15px;}

.flightSchedule .ngoair{
	background: #5289d5;
    color: #FFF;
}
.flightSchedule .fszair{
	background: #87c56f;
    color: #FFF;
}
.flightSchedule tr {
  background: #FFF;
}
.flightSchedule tr{
	border: #c3c3c3 solid 1px;
}


/*アイコン*/
.ico{
	width: 6%;
    padding: 0 12px 0 0;
}

.ico_top{
	width: 7%;
    padding: 0 0px 5px 0;
}

/*見どころ*/
.imgContainer__caption {
  font-size: 14px;
}
.seen .imgContainer--full {
  margin-bottom: 8px;
}

.seen .imgContainer--full span{
    position: absolute;
    right: 0;
    font-size: 0.8em;
    font-weight: normal;
    color: #FFF;
    padding: 1px 6px 3px;
    background: #035c97;
}

.seen h5 {
  font-size: 1.4em;
    font-weight: bold;
    color: #E01818;
    text-align: center;
    margin-bottom: 4px;
}
.seen p {
  font-size: 15px;
}

.seen .section__container{
	padding-bottom: 0;
}
/*****おすすめリゾート*****/
#section_hotel .heading--title {
  color: #FFF;
}
.col1 {
  background: #FFF;
  padding: 1em;
  -webkit-box-shadow: 4px 4px 0 #dfdfdf;
    box-shadow: 4px 4px 0 #dfdfdf;
	border: 1px solid #dfdfdf;
}
.col1 a {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.col1 a:hover {
	opacity: 0.7;
}
.col1 .grid-col__link {
  flex-direction: inherit;
}
.col1 .img {
  width: 30%;
}
.col1 .img img {
  width: 100%;
}
.col1 .lx_textBox {
  width: 70%;
  padding-left: 10px;
  display: flex;
  flex-direction: column;
}
.heading--md span {
  display: inline-block;
  font-weight: normal;
  font-size: 12px;
  padding: 3px 8px;
  background: #00B900;
  color: #FFF;
}
.col1 .lx_textBox h6 {
  font-size: 1.1em;
  font-weight: 600;
  color: #ED1B24;
}
.tour_box {
  /*display: flex;*/
  /*justify-content: flex-end;*/
  margin-top: 10px;
	text-align: left;
}
.text_tour {
  font-size: 1.1em;
  
}
.col1 .text--smallPrice {
  font-size: 24px;
}
.js-gridCarousel--col1 .gridCarousel__dots {
  padding-top: 16px;
}

.col2 {
  background: #FFF;
  padding: 1em;
  -webkit-box-shadow: 4px 4px 0 #dfdfdf;
    box-shadow: 4px 4px 0 #dfdfdf;
	width: 48%;
    display: inline-block;
    margin: 0 5px 0;
}
.col2 a {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.col2 a:hover {
	opacity: 0.7;
}
.col2 .grid-col__link {
  flex-direction: inherit;
}
.col2 .img img {
  width: 100%;
	aspect-ratio: 4 / 2;
    object-fit: cover;
}
.col2 .lx_textBox {
  width: 100%;
  padding: 10px;
  display: flex;
  flex-direction: column;
}
.col2 .lx_textBox h6 {
  font-size: 1.1em;
  font-weight: 600;
  color: #ED1B24;
}
.col2 .text--smallPrice {
  font-size: 22px;
}

.col2 .heading--md{
	font-size: 1.35rem;
}
.js-gridCarousel--col2 .gridCarousel__dots {
  padding-top: 16px;
}

.text_tour .imgContainer__tag {
  position: static;
  /*margin-right: 8px;
	padding: 1px 10px 3px;*/
	border-radius: 5px;
	background:#FFF;
	color:#333;
}
/****早期予約特典****/
.ap_point .section__container .grid-row > div {
  /* background: #FFF;
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 10px;
    margin-right:10px;
  width: 49%;*/
}
.ap_point .section__container .grid-row {
  justify-content: space-between;
}
.ap_point .section__container .grid-row .bg_white_round_harf {
  background: #FFF;
  border-radius: 10px;
  padding: 20px;
  margin: 5px;
	width: 49%;
}
.ap_point .section__container .grid-row .bg_white_round_harf p {
  padding: 0 0 5px;
  font-size: 15px;
}
.ap_point .section__container .grid-row .bg_white_round {
  background: #FFF;
  border-radius: 10px;
  padding: 20px;
  margin: 5px;
}
.ap_point .section__container .grid-row .bg_white_round p {
  padding: 0 0 5px;
  font-size: 15px;
}
.ap_point{
     margin-bottom: 100px;}
.ap_point .flexbox img{

 aspect-ratio: 4.5 / 2;
  object-fit: cover;
}

.fl_70 {
  width: 69%;
  float: left;
  margin-right: 1%;
  overflow: hidden;
}
.ap_point h5 {
  font-size: 1.5em;
  font-weight: bold;
  text-align: left;
  border-bottom: 2px solid #058ae3;
  margin-bottom: 8px;
}
.ap_point h5 span.number {
  display: inline-block;
  background: #058ae3;
  color: #FFF;
  margin-right: 10px;
  font-size: 0.65em;
  padding: 0.2em 1em 0.3em;
	float: right;
	font-weight: normal;
	border-radius: 30px;
}
/***おすすめツアー***/
#section_tour h3 {
  text-align: center;
  font-size: 1.6em;
  padding: 20px 0 10px;
}
#section_tour h3 span {
  display: inline-block;
  background: #000;
  color: aliceblue;
  font-size: 0.8em;
  padding: 0 5px;
  margin-right: 10px;
}
#section_tour .imgContainer {
  margin-bottom: 16px;
  position: relative;
}
#section_tour .imgContainer > img {
  width: 100%;
}
#section_tour .grid-col__link {
  background: #FFF;
}
#section_tour .grid-col__body p {
  padding: 0 5px;
}
#section_tour .text--smallPrice {
  text-align: center;
  padding-bottom: 6px;
}
.imgContainer__tag2 {
  position: absolute;
  top: 0;
  background: #00B900;
  color: #FFF;
  font-size: .86rem;
  padding: 4px 8px;
}
.imgContainer__tag2.line {
  background: #06c755;
}
.imgContainer__tag2.np {
  background: #314785;
}
.mb_10 {
  margin-bottom: 50px;
}
.goTop__img--sp {
  display: none;
}
main .areabox section {
  width: 1024px;
  margin: 0 auto;
}
/*.infoTab {
  width: 100%;
  display: flex;
  justify-content: space-between;
  border-bottom: solid 5px #d6001d;
}
.infoTab li {
  display: block;
  width: 100%;
  margin: 0 7px;
  font-size: 20px;
  background: #eaecec;
  text-align: center;
  cursor: pointer;
  border-bottom: solid 2px #eaecec;
  transition: ease all 0.3s;
  padding: 10px 0;
  position: relative;
  border-radius: 10px 10px 0 0;
}
.infoTab span {
  display: block;
  vertical-align: middle;
  font-size: 14px;
  margin-bottom: 5px;
}
.infoTab li.nav_on {
  background-color: #d6001d;
  color: #fff;
  border-bottom: solid 2px #d6001d;
}
.infoTab li:hover {
  background-color: #d6001d;
  color: #fff;
}
.infoTab li span {
  font-size: 16px;
  display: block;
}*/

.tourTab{  width: 1024px; margin: 0 auto;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 30;
}
.tourTab>li{
     font-size: 19px;
    width: 100%;
/*  width: calc(98% / 6);*/
/*  min-height: 60px;*/ 
  margin-right: 0.4%;
  border: var(--border) #005872;
  border-bottom: none;
  padding: 2px 10px 5px;
  font-weight: 600;
  color: #FFF;
    background: #005872;
      text-align: center;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;  transition: ease all 0.3s;
  flex-grow: 1;
  border-radius: 10px 10px 0 0;
}
.tourTab>li.nav_on,
.tourTab>li:hover{
  background: #f3fcf0;
      color:#005872;
  position: relative
}
.tourTab>li.nav_on::after{
  content: "";
  width: 100%;
  height: 5px;
  background: #f3fcf0;
  position: absolute;
  bottom: -5px;
  left: 0;
}
.tourTab span {
  display: block;
  vertical-align: middle;
  font-size: 15px;
  margin-bottom: 3px;
}






.flexbox {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flexbox li {
  width: 49.5%;
  margin: 10px auto 0;
  text-align: right
}
.flexbox img {
  width: 100%;
}.flexbox span {
  display: block;
  font-size: 0.8em;
}
/*.areabox {
  display: none;
      
}*/
.comment {
  font-size: 12px;
}
 

.item-wrap {
    background:#e4f2fc;
    
    padding: 35px 0 50px;
    position: relative;
    z-index: 10;
}
 .item-wrap2 {
    background:#fdf5f6;
    
    padding: 35px 0 50px;
    position: relative;
    z-index: 10;
}
.item-wrap3 {
    background:#f7f7f7;
    
    padding: 35px 0 50px;
    position: relative;
    z-index: 10;
}
.bnr_area {
    /*width: 770px;*/
    margin: 30px auto 60px;
    /*border: 30px solid #e8f5f9;*/
    text-align: center;
}
.bnr_area img:hover{
	    opacity: 0.8;
}
.bnr_area img {
	vertical-align: bottom;
}

.bnr_area_txt {
text-align: center;
    font-size: 28px;
    margin: 65px auto 15px;
    border-bottom: 6px solid #e00015;
    color: #333;
    display: table;
}
.freeplan {
 /*   background: #FFF;
    padding: 5px 0px 25px;*/
    
}
.forGuide__section{
	text-align: center;
}
.button{
	max-width: 300px;
}

/*▼ここから上質のリゾート*/
:is(#hotel, #spot) .section__inner {
  padding: min((55vw / 7.5), 30px) 0 min((150vw / 7.5), 40px);
}
.is-sp :is(#hotel) .section__inner, #spot .section__inner {
  width: 100%;
}
.is-pc :is(#hotel, #spot) .section__inner {
  padding: 0 0 min((120vw / 7.5), 60px);
}

@-moz-document url-prefix() 
.section__block--wrapper {
  display: grid;
}
.section__block--wrapper {
  gap: min((180vw / 7.5), 30px);
  margin-bottom:50px;
}
:is(.hotel__title, .standard__title, .block__title) {
  display: grid;
  line-height: 1.2;
  color: var(--default-color-01);
  font-weight: bold;
}
:is(.hotel__title, .standard__title), .is-sp .block__title {
  margin-bottom: min((20vw / 7.5), 33px);
}
.is-pc :is(.hotel__title, .standard__title) {
  margin-bottom: min((15vw / 7.5), 24px);
}
:is(.hotel__title, .standard__title, .block__title) :is([class*="__name"], [class*="__spot"]) {
  order: 1;
}
:is(.hotel__name, .standard__name), .is-sp .block__name {
  margin-bottom: 1em;
}
:is(.hotel__name, .standard__name) .base-title__inner {
  display: grid;
}
:is(.hotel__name, .standard__name) .base-title__text--main, .is-sp .block__name .base-title__text--main {
  font-size: min((40vw / 7.5), 28px);
}
:is(.hotel__name, .standard__name) .base-title__text--sub {
  order: 1;
  font-family: var(--font-family-min);
  font-size: min((36vw / 7.5), 24px);
  font-weight: normal;
  color: #000;
  margin-top: .25em;
}
:is(.hotel__spot, .standard__spot, .block__spot) {
  background: #000;
  color: #fff;
  display: flex;
  gap: 0 calc(8em / var(--default-font-size-pc-val));
  align-items: center;
  padding: calc(3em / var(--default-font-size-sp-val)) calc(20em / var(--default-font-size-sp-val)) calc(6em / var(--default-font-size-sp-val));
}
.is-pc :is(.hotel__spot, .standard__spot, .block__spot) {
  padding: calc(4em / var(--default-font-size-pc-val)) calc(10em / var(--default-font-size-pc-val)) calc(4em / var(--default-font-size-pc-val));
}
:is(.hotel__spot, .standard__spot, .block__spot)::before {
  content: "";
  width: calc(12em / var(--default-font-size-pc-val));
  height: calc(17em / var(--default-font-size-pc-val));
 /* background: url("../../all/images/icon_area.svg") no-repeat left center / contain; */
}
:is(.hotel__detail, .standard__detail) {
  display: grid;
  --photo-size: min((300vw / 7.5), 480px);
}
@media (max-width:780px) {
:is(.hotel__detail, .standard__detail), .block__detail {
  display: flex;
  align-items: start;
  flex-direction: column;
}
}
@media (min-width:781px) {
:is(.hotel__detail, .standard__detail:not(.is-special)) {
  grid-template-columns: var(--photo-size) 1fr;
  gap: min((20vw / 7.5), 33px);
}
}
:is(.hotel__texts, .standard__texts, .block__texts, .block__buttons) {
  order: 1;
}
.block__text .markerYellow {
  background: linear-gradient(transparent 50%, #ffff00 100%);
  font-weight: bold !important;
}
.is-sp :is(.hotel__texts, .standard__texts, .block__title, .block__texts--detail) {
  width: var(--default-width-02);
  margin-left: auto;
  margin-right: auto;
}
:is(.hotel__buttons, .standard__buttons, .block__buttons) {
  display: grid;
  justify-content: center;
  gap: min((20vw / 7.5), 10px);
  margin-top: min((50vw / 7.5), 25px);
}
.is-pc :is(.hotel__buttons, .standard__buttons, .block__buttons) {
  margin-top: min((10vw / 7.5), 15px);
}
:is(.hotel__buttons, .standard__buttons, .block__buttons) .base-button {
  justify-content: normal;
}
/*ホテルのみ*/
.is-pc #hotel .section__inner {
  padding-top: min((50vw / 7.5), 50px);
}
.is-hotel .section__block--wrapper {
  gap: min((190vw / 7.5), 100px);
}
.is-hotel.is-pc .section__block--wrapper {
  gap: min((150vw / 7.5), 200px);
}
.hotel__laed {
  text-align: center;
  font-size: min((40vw / 7.5), 28px);
  line-height: calc(60 / 40);
  margin-bottom: .75em;
}
.is-pc .hotel__laed {
  font-size: min((24vw / 7.5), 34px);
  padding: 20px 0 40px 0;
}
.is-sp .hotel__images {
  width: 100%;
  margin-bottom: min((35vw / 7.5), 20px);
}
.hotel__rank {
  font-size: min((28vw / 7.5), 20px);
  margin-bottom: .8em;
  line-height: 1;
}
.hotel__rank--name {
  font-weight: normal;
  color: var(--default-color-06);
  font-size: min((20vw / 7.5), 12px);
}
.hotel__images .center {
    display: flex;
    align-items: center;
    margin: 0 auto;
    width: 100%;
    margin-bottom: 8px;
    position: relative;
}
.hotel__images:not(.is-active) {
    cursor: pointer;
}
.hotel__images #caption1 {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 0 5px;
    font-size: 90%;
    color: #fff;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.75), transparent);
}
.hotel__images #caption2 {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 0 5px;
    font-size: 90%;
    color: #fff;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.75), transparent);
}
.hotel__images #caption3 {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 0 5px;
    font-size: 90%;
    color: #fff;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.75), transparent);
}
.hotel__images ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex
;
}
.hotel__images li {
    flex: 1 1 auto;
    margin-left: 0.5em;
    cursor: pointer;
}
.hotel__images li:first-child {
    margin-left: 0;
}
.section_hotel_txt2 {
    margin: 10px 0 30px;
    line-height: 1.5em;
    text-align: center;
}
.resort h5 {
    position: relative;
    background: #fff;
    padding: 2px 5px;
    font-size: 20px;
    color: #474747;
    border-radius: 0 10px 10px 0;
    width: 30%;
    text-align: center;
    margin: 0 auto;
}
.resort h5:before {
    font-family: "FontAwesome";
    content: "\f041";
    display: inline-block;
    line-height: 40px;
    position: absolute;
    padding: 0em;
    color: white;
    background: #ff6363;
    font-weight: 900;
    width: 40px;
    text-align: center;
    height: 40px;
    line-height: 40px;
    left: -1.35em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border-radius: 50%;
    box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.29);
}
.base-button .base-button__link {
    display: grid
;
    justify-items: center;
    align-items: center;
    grid-template-columns: 1fr 1em;
    gap: 0 .5em;
    height: 100%;
    color: #fff;
    font-size: min(var(--default-font-size-sp), 16px);
    font-weight: bold;
    line-height: 1.2;
    padding: .4em .5em .5em;
    padding-left: 2em;
    background: var(--default-color-02);
    border-radius: 4px;
    transition: var(--default-hover-transition);
}
.base-button.is-type-sub .base-button__link {
    background: #fff;
    border: 1px solid var(--default-color-01);
    color: var(--default-color-01);
}
@media (hover: hover) and (pointer: fine) {
    .base-button .base-button__link {
        transition: background var(--default-hover-speed), color var(--default-hover-speed);
    }
}
.active {
    border: 4px solid #000000;
}

#hisApp > .main img {
  object-fit: cover;
}
.hotel__images img {
    width: 100%;
    height: auto;
}
/*▲ここから上質のリゾート*/

/*▼商品カセット*/
.grid-col4{
	margin-bottom: 10px;
    background: #FFF;
    box-shadow: 0 2px 4px rgb(0 0 0 / 15%);
    /* height: 400px; */
    text-align: left;
	width:100%;
	height: 380px;
}
.grid-col4 img {
    width: 100%;
    object-fit: cover;
	margin-top:10px;
}
.grid-col__body{
}

.heading--md{
	font-size:16px;
	margin-top:10px;
}

.grid-col__link{
    width: 24%;
    margin: 5px;
	}
.price_box{
display: block;
position: absolute;
  bottom: -30px;
}
.price-info{
	font-size:12px;
}
/*▲商品カセット*/

.main, #topbuttonApp {
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--default-font-size);
}
.mv__name {
  font-family: var(--font-family-min);
  letter-spacing: .25em;
  font-size: min((35vw / 7.5), 20px);
  line-height: 1;
  text-shadow: 0px 0px .5em rgba(0, 0, 0, .5);
  display: grid;
  gap: .25em;
  justify-content: center;
  justify-items: center;
  margin: min((108vw / 7.5), 54px) 0 min((70vw / 7.5), 35px);
}
.is-sp .gnavi__page--title {
  font-family: var(--font-family-min);
  font-size: min((46vw / 7.5), 23px);
  letter-spacing: .25em;
}
.gnavi__page--list--logo--text {
  grid-area: txt;
  font-family: var(--font-family-min);
  transform: translateY(calc(-3em / 26));
}
.tour-point_rank_std{
	background-color:#71bf44;
	color:#ffffff; 
	width:140px;
	font-size:11px;
	padding:3px;
	font-weight:bold;
	margin-top:5px;
	display:inline-block;
}
.tour-point_rank_sup{
	background-color:#f99f1c;
	color:#ffffff; 
	width:140px;
	font-size:12px;
	padding:3px;
	font-weight:bold;
	margin-top:5px;
	display:inline-block;
}
.tour-point_rank_dlx{
	background-color:#f05a7e;
	color:#ffffff; 
	width:140px;
	font-size:12px;
	padding:3px;
	font-weight:bold;
	margin-top:5px;
	display:inline-block;
}
.tour-point_rank_lux{
	background-color:#7c62ab;
	color:#ffffff; 
	width:140px;
	font-size:10.3px;
	padding:3px;
	font-weight:bold;
	margin-top:6px;
	display:inline-block;
}
.tour-point_area{
	background-color:#C6FCFB; 
	color:#000; 
	width:100px;
	font-size:12px;
	padding:3px;
}