@charset "utf-8";
/* 「HIS海外旅行大感謝祭ページ 」レスポンシブCSS */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700,900&display=swap&subset=japanese');
/**/
/*★ リセット ★*/
.main div:not([class])::after {
  content: none;
}
.main a {
  text-decoration: none;
}
.main b {
  font-weight: normal;
}
.main .is-em {
  font-weight: bold;
}
/*------------------------------------------------*/
/*★ ページスタイル設定 ★*/
#hisApp {
  position: relative;
}
:root {
  --icon-arrow-right-white: url("/cmn/icon/icon_arrow_right_white.svg");
  --icon-blank-white: url("/cmn/icon/icon_launch_white.svg");
  --icon-arrow-right-black: url("/cmn/icon/icon_arrow_right_black.svg");
  --icon-blank-black: url("/cmn/icon/icon_launch_black.svg");
  --default-color-bg: #efdfb6;
  --default-color-sat: #266de3;
  --default-color-sun: #f1563c;
  --default-font-size-pc-val: 16;
  --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-width-pc: 992px;
  --default-width: min((710vw / 7.5), var(--default-width-pc));
  --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-blank-white: var(--icon-blank-white) var(--default-bg-setting);
  --default-hover-speed: .2s;
  --default-hover-transition: opacity var(--default-hover-speed);
}
.js-accordion-button, .js-toggleControl {
  cursor: pointer;
}
.main {
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--default-font-size);
  color: #000;
  line-height: calc(33 / 24);
  overflow: hidden;
  background: var(--default-color-bg);
}
#hisAp > p.main {
  position: static;
}
.is-pc .is-dsp-sp, .is-sp .is-dsp-pc {
  display: none !important;
}
.is-font-small, .is-sp .is-font-small-sp, .is-pc .is-font-small-pc {
  font-size: .8em;
}
.is-font-big {
  font-size: 1.5em;
  line-height: 1;
}
.is-inline-block {
  display: inline-block;
}
.is-indent-1, .section [class*="notes--item"] {
  text-indent: -1em;
  padding-left: 1em;
}
.is-pr-half {
  padding-right: .5em;
}
.toggle__contents:not([class*="--active"]) {
  display: none;
}
.section__inner, .contents__wrapper {
  width: var(--default-width);
  margin: auto;
  position: relative;
}
/*section__notes*/
.section__notes {
  font-size: min((20vw / 7.5), 14px);
  line-height: 1.2;
  margin-top: 1em;
}
.section__notes--title {
  margin-bottom: .25em;
}
.section__notes--list {
  display: grid;
  gap: .25em;
}
/*base-simple-button ＋ base-simple-button*/
.button__wrapper {
  display: grid;
  gap: min((20vw / 7.5), 20px);
}
.is-pc .button__wrapper.is-column-2 {
  grid-template-columns: repeat(2, 1fr);
  gap: min((40vw / 7.5), 52px);
}
.is-pc .button__wrapper.is-column-3 {
  grid-template-columns: repeat(3, 1fr);
}
.base-button {
  display: grid;
  /*justify-content: center;*/
}
:is(.base-button__link, .base-simple-button__link) {
  display: grid;
  justify-items: center;
  align-items: center;
  grid-template-columns: 1fr 1em;
  gap: 0 .75em;
  line-height: 1.2;
}
.base-button__link {
  height: 100%;
  color: #fff;
  font-size: min((28vw/ 7.5), var(--default-font-size-pc));
  font-weight: bold;
  background: #000;
  border-radius: 200px;
}
.is-sp .base-button__link {
  min-height: min((85vw/ 7.5), 50px);
  padding: .5em 1em .6em;
  padding-left: 1.5em; /*アイコン分鑑みて追加*/
}
.is-pc .base-button__link {
  min-height: 40px;
  padding: .5em 1.5em .6em;
  padding-left: 3em; /*アイコン分鑑みて追加*/
}
.base-button.is-kokunai .base-button__link {
  background: #47c40c;
}
.base-button.is-kaigai .base-button__link {
  background: #2488ff;
}
.base-simple-button__link {
  min-height: min((50vw/ 7.5), 38px);
  color: inherit;
  font-size: min((26vw / 7.5), 18px);
  text-align: center;
  padding: .1em .5em .2em;
  border: 1px solid #2b2b2b;
  border-radius: min((7vw / 7.5), 7px);
  text-indent: 1.75em; /*アイコン分鑑みて追加*/
}
:is(.base-button__link, .base-simple-button__link)::after {
  content: "";
  width: 100%;
  height: 1.5em;
  background: var(--default-icon-arrow-right-white);
}
.base-simple-button__link::after {
  background-image: var(--icon-arrow-right-black);
}
:is(.base-button__link, .base-simple-button__link)[target="_blank"]::after {
  height: 1em;
  background: var(--default-icon-blank-white);
}
.base-simple-button__link[target="_blank"]::after {
  background-image: var(--icon-blank-black);
}
:is(.base-button__link, .base-simple-button__link)[href^="#"]::after {
  transform: rotate(90deg);
}
/*base-banner*/
.base-banner {
  display: grid;
  justify-content: center;
  gap: min((30vw/ 7.5), 15px);
}
.base-banner__link {
  background: #fff;
}
/*------------------------------------------------*/
/*★ ＝＝ headerArea ＝＝ ★*/
/*mv*/
.mv {
  background: #0c62a5 no-repeat center center / 100%;
}
.is-sp .mv {
  background-image: url('../images/mv_bg_sp.jpg');
}
.is-pc .mv {
  background-image: url('../images/mv_bg_pc.jpg');
  background-size: var(--default-bg-width-pc);
}
.mv__inner {
  display: grid;
  justify-items: center;
  align-items: center;
  min-height: min((932vw / 7.5), 932px);
  position: relative;
  max-width: var(--default-width-pc);
  margin: auto;
}
.is-pc .mv__inner {
  min-height: 804px;
}
.mv__logo {
  width: min(((735 / 750) * 100%), 763px);
}
.mv__label {
  width: min(((239 / 750) * 100%), 248px);
  position: absolute;
  bottom: min((17vw / 7.5), 17px);
  right: min((4vw / 7.5), 4px);
}
.is-pc .mv__label {
  bottom: min((21vw / 7.5), 21px);
  right: min((9vw / 7.5), 9px);
}
/*------------------------------------------------*/
/*★ ＝＝ mainArea ＝＝ ★*/
.is-sp #mainArea {
  padding-bottom: min((60vw / 7.5), 30px)
}
.section__title {
  display: grid;
  align-items: center;
  justify-items: center;
  background: #be9c1a;
  color: #fff;
  font-weight: bold;
  text-align: center;
  font-size: min((45vw / 7.5), 32px);
  line-height: calc(44 / 36);
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.49);
  padding: .3em min((12vw / 7.5), 10px) .4em;
  min-height: calc(72em / 32);
}
#tokuten .section__title {
  font-size: min((32vw / 7.5), 26px);
}
.section__title .base-title__inner {
  display: grid;
}
.section__title .base-title__text--sub {
  font-size: min((36vw / 7.5), 24px);
  margin-bottom: .1em;
}
.section__title span {
  display: inline-block;
}
.section__title em {
  font-size: calc(32em / 26);
}
.section__detail {
  width: var(--default-width);
  margin: auto;
  padding: min((50vw / 7.5), 40px) 0 min((55vw / 7.5), 65px);
}
.section__grid--wrapper {
  display: grid;
  gap: min((30vw / 7.5), 30px);
}
.section__grid {
  background: #fff;
  border-radius: min((15vw / 7.5), 15px);
  padding: min((23vw / 7.5), 16px);
}
/*#close*/
.close__text {
  text-align: center;
  font-size: 1.3em;
  font-weight: bold;
}
/*#tokuten*/
.tokuten__text {
  text-align: center;
}
/*#event*/
#event {
  --event-photo-size-pc: 300px;
  --event-photo-size: min((300vw / 7.5), var(--event-photo-size-pc));
  --event-sort-active-color: #3d8204;
}
#event .section__title .base-title__inner {
  position: relative;
  padding-left: min((230vw / 7.5), 167px);
}
.is-sp #event .section__title .base-title__inner {
  text-align: left;
}
.is-pc #event .section__title .base-title__inner {
  margin-left: max((-42vw / 7.5), -42px);
}
#event .section__title .base-title__inner::before {
  content: "";
  width: min((220vw / 7.5), 152px);
  height: min((184vw / 7.5), 127px);
  background: url("../images/icon_ennichi.png") var(--default-bg-setting);
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
}
#event .section__detail {
  padding-top: min((50vw / 7.5), 66px);
}
.event__sort {
  display: grid;
  justify-items: center;
}
.is-sp .event__sort {
  background: #d7f6b2;
  border: 1px solid #858585;
  border-radius: min((13vw / 7.5), 13px);
  padding: min((28vw / 7.5), 28px) min((20vw / 7.5), 20px) min((30vw / 7.5), 30px);
}
.is-pc .event__sort {
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0 1em;
}
.event__sort--title {
  font-size: min((40vw / 7.5), 24px);
  line-height: 1;
  text-align: center;
  font-weight: bold;
}
.is-sp .event__sort--title {
  color: var(--event-sort-active-color);
  margin-bottom: .75em;
}
.is-pc .event__sort--title {
  display: grid;
  align-items: center;
  grid-template-columns: auto 13px;
}
.is-pc .event__sort--title--text {
  background: #6cb92d;
  color: #fff;
  padding: .4em 1em .5em;
  border-radius: 5px;
}
.is-pc .event__sort--title::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7.5px 0 7.5px 13px;
  border-color: transparent transparent transparent #6cb92d;
}
.event__sort--list {
  display: flex;
  flex-wrap: wrap;
  gap: .5em 1em;
}
.event__sort--input {
  display: none;
}
.event__sort--text {
  cursor: pointer;
  display: inline-block;
  margin: 0;
  position: relative;
  padding-left: min((60vw / 7.5), 30px);
  font-size: min((36vw / 7.5), 22px);
  line-height: 1;
  color: #535353;
  font-weight: bold;
}
.event__sort--text::before {
  content: "";
  background: #fff;
  border: 1px solid #434343;
  display: block;
  margin-top: .125em;
  width: min((38vw / 7.5), 19px);
  height: min((38vw / 7.5), 19px);
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.event__sort--text::after {
  content: "";
  border-bottom: solid;
  border-left: solid;
  display: block;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  transition: opacity .2s;
  color: var(--event-sort-active-color);
}
.is-all .event__sort--text::before {
  background: var(--event-sort-active-color);
  border-color: var(--event-sort-active-color);
}
.is-all .event__sort--text::after {
  color: #fff;
}
.event__sort--text::after {
  border-bottom-width: min((6vw / 7.5), 3px);
  border-left-width: min((6vw / 7.5), 3px);
  width: min((23vw / 7.5), 13px);
  height: min((15vw / 7.5), 9px);
  left: min((6vw / 7.5), 3px);
}
.event__sort--input:checked + .event__sort--text::after {
  opacity: 1;
}
.event__sort--error {
  margin-top: 1em;
  font-weight: bold;
  text-align: center;
  font-size: 1.5em;
}
.event__contents .section__grid--wrapper {
  gap: min((72vw / 7.5), 74px);
}
.event__list {
  margin-top: min((45vw / 7.5), 50px);
}
.event__sort ~ .event__list {
  margin-top: min((80vw / 7.5), 90px);
}
.event__item {
  padding-top: 0;
  padding-bottom: min((34vw / 7.5), 34px);
}
.is-pc .event__item {
  padding: 0 min((20vw / 7.5), 20px) min((30vw / 7.5), 30px) min((26vw / 7.5), 26px);
}
.event__item--day {
  display: grid;
  justify-content: center;
  height: min((76vw / 7.5), 50px);
  margin-top: max((-38vw / 7.5), -25px);
  margin-bottom: min((25vw / 7.5), 20px);
}
.is-pc .event__item--day {
  justify-content: start;
}
.event__item--day--text {
  display: inline-grid;
  height: 100%;
  align-items: center;
  border-radius: 500px;
  background: #000;
  color: #fff;
  font-size: min((32vw / 7.5), 26px);
  text-align: center;
  line-height: 1;
  padding: .3em .5em .4em 1.5em;
}
.event__item:not(.is-not-holiday) .event__item--day--text {
  background: var(--default-color-sun);
}
.event__item.is-holiday-sat .event__item--day--text {
  background: var(--default-color-sat);
}
.event__item--detail {
  display: grid;
  grid-template-columns: 1fr var(--event-photo-size);
  align-items: start;
  gap: 0 .5em;
}
.is-sp .event__item--detail {
  grid-template-areas:
    "time img"
    "name img"
    "txt txt"
    "btn btn";
  grid-template-rows: auto 1fr auto auto;
}
.is-pc .event__item--detail {
  grid-template-areas:
    "time img"
    "name img"
    "txt img"
    "txt btn";
  grid-template-rows: auto auto auto 1fr;
  gap: 0 min((40vw / 7.5), 40px);
}
:is(.event__item--time, .event__item--name) > span {
  display: inline-block;
}
.event__item--time, .event__item--name {
  font-weight: bold;
}
.event__item--time {
  font-size: min((28vw / 7.5), 22px);
  grid-area: time;
}
.event__item:not(.is-not-holiday) .event__item--time {
  color: var(--default-color-sun);
}
.event__item.is-holiday-sat .event__item--time {
  color: var(--default-color-sat);
}
.event__item--time > span {
  padding-right: .25em;
}
.event__item--name {
  grid-area: name;
  font-size: min((26vw / 7.5), 22px);
  /*line-height: calc(40 / 26);*/
  margin-top: .25em;
}
.event__item--texts {
  grid-area: txt;
  line-height: calc(30 / 20);
  margin-top: .5em;
}
.event__item--text {
  font-size: min((24vw / 7.5), 15px);
}
.event__item--sup, .event__item--notes {
  font-size: min((20vw / 7.5), 12px);
  margin-top: 1em;
}
.event__item--image {
  grid-area: img;
  height: min((200vw / 7.5), 200px);
  background: #efefef;
  overflow: hidden;
}
.event__item--image :is(.slick-list, .slick-track) {
  height: 100%;
}
.event__item--photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.event__item--image:empty {
  display: grid;
  justify-items: center;
  align-items: center;
}
.event__item--image:empty::after {
  content: "no image";
  font-weight: bold;
  font-size: 1.2em;
  line-height: 1;
  color: #aaa;
}
.event__item--link {
  grid-area: btn;
  font-weight: bold;
  margin-top: min((20vw / 7.5), 20px);
}
.is-pc .event__item--link {
  margin-top: min((10vw / 7.5), 10px);
}
/*#produc＋#shisaku*/
.product__block {
  --default-color-kaigai: #1f56b2;
  --default-color-kokunai: #52990f;
}
.product__block:not(:last-child) {
  margin-bottom: min((100vw / 7.5), 56px);
}
.product__title {
  font-size: min((66vw / 7.5), 45px);
  line-height: 1;
  font-weight: bold;
  text-align: center;
  color: var(--default-color-kaigai);
  margin-bottom: .5em;
}
.product__block[class*="kokunai"] .product__title {
  color: var(--default-color-kokunai);
}
.product__detail {
  display: grid;
  justify-items: center;
}
.product__detail:not(:first-child) {
  margin-top: min((60vw / 7.5), 30px);
}
.product__detail--title {
  font-size: min((50vw / 7.5), 30px);
  font-weight: bold;
  margin-bottom: 1em;
}
.product__button {
  width: min(100%, 485px);
  margin-top: min((50vw / 7.5), 25px);
}
.product__button .base-button__link {
  background: var(--default-color-kaigai);
}
.product__block[class*="kokunai"] .product__button .base-button__link {
  background: var(--default-color-kokunai);
}
.product__notes {
  display: grid;
  justify-content: center;
  padding: min((22vw / 7.5), 34px) 0;
}
.product__notes--title {
  font-size: min((32vw / 7.5), 24px);
  font-weight: bold;
  text-align: center;
  margin-bottom: .75em;
}
.product__notes--item:not(:first-child) {
  margin-top: .5em;
}
.shisaku__list {
  display: grid;
  justify-items: center;
  gap: min((10vw / 7.5), 10px);
}
/*#branch*/
#branch {
  --default-color: #0d6fb8;
}
.is-sp #branch .section__grid {
  padding: min((60vw / 7.5), 60px) min((40vw / 7.5), 40px) min((50vw / 7.5), 50px);
}
.is-pc #branch .section__grid {
  padding-top: min((50vw / 7.5), 50px);
  padding-bottom: min((50vw / 7.5), 50px);
}
.branch__lead {
  font-size: min((42vw / 7.5), 30px);
  font-weight: bold;
  color: var(--default-color);
  line-height: calc(50 / 42);
  text-align: center;
  margin-bottom: min((38vw / 7.5), 50px);
}
.is-pc .branch__detail {
  display: grid;
  grid-template-areas:
    "access access"
    "map address"
    "map time";
  grid-template-columns: min((400vw / 7.5), 400px);
  grid-template-rows: auto auto 1fr;
  gap: min((54vw / 7.5), 54px) min((26vw / 7.5), 26px);
  justify-content: center;
}
.branch__detail--item:not([class*="map"]) {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: min((20vw / 7.5), 20px) min((26vw / 7.5), 26px);
}
.is-sp .branch__detail--item:not(:first-child) {
  margin-top: min((44vw / 7.5), 44px);
}
.is-pc .branch__detail--item:not([class*="map"]) {
  gap: 0 min((20vw / 7.5), 20px);
}
.is-pc .branch__detail--item:not([class*="map"]):first-child {
  align-items: center;
  gap: 0 min((34vw / 7.5), 34px);
}
.branch__access {
  grid-area: access;
}
.is-sp .branch__access {
  grid-template-columns: auto;
  justify-items: center;
}
.branch__address {
  grid-area: address;
}
.is-pc .branch__address {
  margin-top: min((30vw / 7.5), 30px);
}
.branch__time {
  grid-area: time;
}
.branch__map {
  grid-area: map;
  width: 100%;
  height: min((475vw / 7.5), 475px);
}
.is-pc .branch__map {
  height: min((300vw / 7.5), 300px);
}
.branch__detail--title {
  min-width: 6em;
  background: var(--default-color);
  border-radius: min((5vw / 7.5), 5px);
  font-size: min((26vw / 7.5), 20px);
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 1;
  padding: .4em .25em .5em;
}
.branch__detail--notes {
  font-size: .8em;
  margin-top: .25em;
}
.branch__detail--link {
  margin-top: .75em;
}
/*------------------------------------------------*/
/*★ ＝＝ footerArea（検索ボックスのレイアウト切り替えタイミングで変更） ＝＝ ★*/
/*reco-banner*/
#reco-banner {
  padding: min((100vw/ 7.5), 100px) 0;
}
.reco-banner__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min((32vw/ 7.5), 28px);
  padding: min((30vw/ 7.5), 30px);
  background: #fff;
}
.is-device-pc .reco-banner__item {
  border: 4px solid #fff;
}
@media (min-width:741px) {
  #reco-banner {
    background: #696157;
    padding: min((70vw / 7.5), 70px) 0;
  }
  .reco-banner__list {
    grid-template-columns: repeat(4, 1fr);
    padding: min((15vw / 7.5), 30px) min((15vw / 7.5), 34px);
    gap: min((14vw / 7.5), 28px);
  }
}
/*★ ＝＝ searchArea（検索ボックスのレイアウト切り替えタイミングで変更） ＝＝ ★*/
/*search*/
@media (min-width:741px) {
  #searchArea {
    /*background: url("../images/search_photo_pc.jpg") no-repeat center top / var(--default-bg-width-pc);*/
    min-height: min((823vw / 7.5), 823px);
    padding: min((88vw / 7.5), 88px) 0;
  }
}
/*------------------------------------------------*/
/*★ ＝＝ hover ＝＝ ★*/
@media (hover : hover) and (pointer : fine) {
  /*base-button*/
  .is-device-pc .base-button__link {
    transition: background var(--default-hover-speed);
  }
  .is-device-pc .base-button__link:hover {
    background: #9a9a9a;
  }
  .is-device-pc .product__button .base-button__link:hover {
    background: #397BE9;
  }
  .is-device-pc .product__block[class*="kokunai"] .product__button .base-button__link:hover {
    background: #69c63c;
  }
  /*base-simple-button*/
  .is-device-pc .base-simple-button__link, .is-device-pc .base-simple-button__link:hover::after {
    transition: background var(--default-hover-speed), color var(--default-hover-speed);
  }
  .is-device-pc .base-simple-button__link:hover {
    background: #2b2b2b;
    color: #fff;
  }
  .is-device-pc .base-simple-button__link:hover::after {
    background-image: var(--icon-arrow-right-white);
  }
  .is-device-pc .base-simple-button__link[target="_blank"]:hover::after {
    background-image: var(--icon-blank-white);
  }
  /*base-banner*/
  .is-device-pc .base-banner__image {
    transition: var(--default-hover-transition)
  }
  .is-device-pc .base-banner__link:hover .base-banner__image {
    opacity: .7;
  }
  /*reco-banner*/
  .is-device-pc .reco-banner__item:hover {
    border-color: #ef8e54
  }
  /**/
  .is-device-pc .shisaku__list--inner {
    display: block;
    transition: transform var(--default-hover-speed);
  }
  .is-device-pc .shisaku__list--inner[href]:hover {
    transform: translateY(max((-5vw / 7.5), -5px));
  }
}