@charset "utf-8";

/*★ リセット ★*/
.main {
  div:not([class])::after {
    content: none;
  }

  a {
    text-decoration: none;
  }

  .is-em {
    font-weight: bold;
  }
}

#topbuttonApp,
#searchArea {
  position: relative;
  z-index: 1;
}

/*------------------------------------------------*/
/*★ ページスタイル設定 ★*/
#hisApp {
  position: relative;
  overflow: visible;
}

:root {
  --default-font-size-pc: 18px;
  --default-font-size-sp: calc(28vw / 7.5);
  --default-font-size: min(var(--default-font-size-sp), var(--default-font-size-pc));
  --default-font-lh: 1.4;
  --default-font-lh2: 1.6;
  --default-width-sp-val: 750;
  --default-width-pc-val: 1104;
  --default-width-sp: (710vw / 7.5);
  --default-width-pc: 1104px;
  --default-width: min(var(--default-width-sp), var(--default-width-pc));
  --default-width2: min(100%, var(--default-width-pc));
  --default-bg-width-pc: max(100%, 1920px);
  --default-color-green: #074f03;
  --default-color-light-green1: #44a83e;
  --default-color-light-green2: #99d39f;
  --default-color-red: #bc1818;
  --default-ff-icon: 'Material Symbols Rounded';
  --default-ico-arrow-r: '\e5e1';
  --default-ico-blank: '\e89e';
  --default-hover-speed: 0.3s;
  --default-hover-opacity: 0.8;
  --default-hover-transition-opacity: opacity var(--default-hover-speed);
  --default-hover-transition-background: background var(--default-hover-speed);
  --default-hover-transition-color: color var(--default-hover-speed);
}

.material-symbols-rounded {
  font-family: var(--default-ff-icon);
  font-weight: normal;
  font-style: normal;
  font-size: 1em;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

.main {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  color: #2c2a29;
  line-height: var(--default-font-lh);
  padding-bottom: 0 !important;

  a[class*='link'] {
    &:not(.js-link-domAir) {
      color: inherit;
    }
  }
}

.d-flex {
  display: flex;
}

.d-grid {
  display: grid;
}

.section [class*='notes--item'] {
  text-indent: -1em;
  padding-left: 1em;
}

.pc-only {
  display: block !important;
}

.sp-only {
  display: none !important;
}

/*.float-button*/
.float-button {
  width: min((144vw / 7.5), 130px);
  height: min((144vw / 7.5), 130px);
  position: fixed;
  top: min((40vw / 7.5), 33px);
  right: 14px;
  translate: var(--floatbtn-posi-x, 200%) 0;
  transition: translate 0.7s;
  z-index: 10;

  &.is-fixed:not(.is-over) {
    --floatbtn-posi-x: 0;
  }
}

.float-button__link {
  display: block;
}

.float-button__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*.button__wapper*/
.button__wapper {
  display: grid;
  justify-items: center;
  gap: var(--btn-gap);
  --btn-gap: min((40vw / 7.5), 30px) 0;
  --btn-col: 2;
  margin-top: 40px;

  @media (width >=861px) {
    grid-template-columns: repeat(auto-fit, calc(100% / var(--btn-col)));

    &:has(> :nth-child(-n + 1):last-child) {
      justify-content: center;
    }
  }
}

/*.base-button*/
.base-button.ui-static-button {
  min-width: min((590vw / 7.5), 370px);
  height: min((72vw / 7.5), 50px);
  font-size: var(--default-font-size);
  font-weight: normal;
  padding-top: min((24vw / 7.5), 12px);

  .ui-static-icon {
    color: inherit;
  }

  &:not(.is-blank) {
    .ui-static-icon {
      font-size: 1.4em;
      --wght: 400;
    }
  }

  &.hotel__button,
  &.product__button {
    background: #004e74 !important;
    color: #fff;
    font-weight: 700;
    border: none;
  }

  &.product__button:hover {
    opacity: 0.7;
  }

  &.enjoy__button {
    min-width: min((590vw / 7.5), 400px);
    background: var(--default-color-green) !important;
    border-color: #000 !important;
    color: #fff;
  }
}

/*------------------------------------------------*/
/*★ ＝＝ headerArea ＝＝ ★*/
/*.mv*/
.mv {
  background-image: url(../images/mv_bg_pc.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.mv h2 {
  width: fit-content;
  margin: 0 auto;
  padding: 118px 0;
  max-width: 858px;
}

/*------------------------------------------------*/
/*★ ＝＝ mainArea ＝＝ ★*/
/*section*/
.section__inner {
  width: var(--default-width);
  margin: auto;
}

.section__title {
  font-size: 36px;
  color: #004e74;
  text-align: center;
  font-weight: 900;
  width: fit-content;
  margin: 0 auto;
  margin-bottom: 40px;
}

.section__title::before {
  content: ' ';
  background: url(../images/title_kazari.svg);
  display: block;
  width: 80px;
  height: 30px;
  background-repeat: no-repeat;
  margin: 0 auto;
  margin-bottom: 16px;
}

.section__title span {
  font-size: 24px;
  display: block;
}

/*#charter-flight*/
.charter-flight {
  padding: 40px 0 96px 0;
  background:
    linear-gradient(180deg, #c5f0ff 58.65%, #fff 100%),
    lightgray 50% / cover no-repeat;
  position: relative;
}

.charter-flight::after {
  content: ' ' !important;
  background: url(../images/flight_schedule_bg_kazari.png);
  width: 612px;
  height: 289px;
  position: absolute;
  right: 0px;
  top: 72px;
  background-repeat: no-repeat;
  background-size: cover;
}

.charter-flight .section__inner {
  position: relative;
  z-index: 2;
}

.charter-flight h4 {
  font-size: 24px;
  line-height: 180%;
  font-weight: 900;
  color: #004e74;
  text-align: center;
  margin-bottom: 40px;
}

.charter-flight h4 span {
  font-size: 20px;
  display: block;
  color: #2994ca;
}

.charter-flight .d-flex {
  gap: 48px;
  padding: 0 28px;
}

.charter-flight .d-flex dl {
  background: #fff;
  box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.1);
  width: 50%;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
}

.charter-flight .d-flex dl::before {
  content: '往路';
  position: absolute;
  top: -26px;
  left: -26px;
  border-radius: 32.5px;
  background: #00c1dd;
  display: flex;
  width: 65px;
  height: 65px;
  transform: rotate(-20.489deg);
  padding: 17px 10px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 130%;
}

.charter-flight .d-flex dl:nth-of-type(2):before {
  content: '復路';
}

.charter-flight .d-flex dl div {
  display: flex;
  justify-content: space-between;
  gap: 64px;
  border-bottom: 2px dashed #00c1dd;
}

.charter-flight .d-flex dl div:first-of-type {
  display: flex;
  justify-content: space-between;
  gap: 64px;
  border-bottom: 2px dashed #00c1dd;
}

.charter-flight .d-flex dl div:not(:first-of-type) {
  border-bottom: 0;
}

.charter-flight .d-flex dl div dt {
  width: 50%;
  text-align: center;
  color: #00c1dd;
  font-size: 20px;
  font-weight: 700;
  line-height: 130%;
  padding: 6.5px 0;
}

.charter-flight .d-flex dl div dd {
  width: 50%;
  text-align: center;
  font-size: 20px;
  line-height: 130%;
}

.illust-wrapper {
  position: relative;
}

.illust-wrapper .bg_illust_left {
  position: -webkit-sticky;
  position: sticky;
  top: 60%;
  left: 3%;
  margin-top: 50%;
  float: left;
}

.illust-wrapper .bg_illust_right {
  position: -webkit-sticky;
  position: sticky;
  top: 3%;
  right: 4%;
  margin-top: 5%;
  margin-bottom: 30%;
  float: right;
}

/* tway */
.tway {
  overflow-x: hidden;
}

.tway .d-flex {
  gap: 48px;
  align-items: flex-start;
}

.tway .d-flex img {
  width: 40%;
}

.tway .d-flex dl {
  width: 60%;
  padding-top: 30px;
}

.tway .d-flex dl div:first-of-type {
  position: relative;
}

.tway .d-flex dl div:first-of-type::after {
  content: ' ';
  background: url(../images/meal.webp) no-repeat;
  display: inline-block;
  width: 152px;
  height: 101px;
  position: absolute;
  right: 0;
  top: -40px;
  background-size: contain;
}

.tway .d-flex dl div {
  border-bottom: 1px dashed var(--default-color-black, #000);
  display: flex;
  gap: 24px;
  padding: 16px 0;
  align-items: center;
}

.tway .d-flex dl div dt {
  min-width: 84px;
  color: var(--default-color-tertiary, #238abe);
  font-weight: bold;
}

.tway .d-flex dl div dd {
  font-size: 14px;
}

.tway .d-flex dl div dd .notice {
  margin-top: 4px;
}

/*#point*/
.point {
  margin-bottom: 96px;
  padding-top: 96px;
}

.point h4 {
  background: linear-gradient(90deg, #00c1dd 0%, #00c1dd 85.58%, #fff 99.04%);
  padding: 8px 16px;
  color: #fff;
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  margin-bottom: 32px;
}

.point__event h4 {
  margin-bottom: 48px;
}

.point__event,
.point__bbq {
  margin-bottom: 40px;
}

.point__event__wrapper {
  text-align: center;
  margin-bottom: 48px;
  position: relative;
}

.point__event__wrapper::before {
  content: ' ';
  display: inline-block;
  background: url(../images/illust_human_1.svg) no-repeat;
  width: 68px;
  height: 128px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 15%;
}

.point__event__wrapper::after {
  content: ' ';
  display: inline-block;
  background: url(../images/illust_human_2.svg) no-repeat;
  width: 68px;
  height: 128px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15%;
}

.point__event__wrapper h5 {
  color: var(--default-color-primary, #00c1dd);
  font-size: 36px;
  font-weight: 900;
  line-height: 130%;
  margin-bottom: 16px;
}

.point__event__wrapper p {
  font-size: 20px;
}

.point__event .d-flex {
  gap: 24px;
  margin-bottom: 16px;
}

.point__event .d-flex div {
  width: 33.333%;
  padding: 16px;
  border: 1px solid #2994ca;
}

.point__event .d-flex div img {
  margin-bottom: 8px;
  object-fit: cover;
}

.point__event .d-flex div h6 {
  color: #2994ca;
  font-size: 24px;
  margin: 0 auto;
  font-weight: 700;
  line-height: 150%;
  margin-bottom: 16px;
  width: fit-content;
}

.point__event .d-flex div h6 span {
  background: linear-gradient(transparent 60%, #ffef3a 50%);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.point__event .d-flex div .h7 {
  font-size: 20px;
  font-weight: 700;
}

.point__event .d-flex div dl {
  background: #e9f8ff;
  padding: 4px 16px 16px 16px;
  margin-bottom: 8px;
  text-align: left;
}

.point__event .d-flex div dl dt {
  color: var(--default-color-tertiary, #238abe);
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
}

.point__event .d-flex div dl dt::before,
.point__event .d-flex div dl dt::after {
  content: ' ';
  flex-grow: 1;
  height: 1px;
  background-color: var(--default-color-tertiary, #238abe);
}

.point__event .d-flex div dl dt::before {
  margin-right: 8px;
}

.point__event .d-flex div dl dt::after {
  margin-left: 8px;
}

.point__event .d-flex div dl dd {
  font-size: 14px;
}

.point__event .d-flex div p {
  margin-bottom: 8px;
}

.point__detail .notice {
  margin-top: 4px;
  display: block;
}

.point__detail div {
  display: flex;
  gap: 24px;
  border-bottom: 1px dashed var(--default-color-black, #000);
  align-items: center;
  padding: 16px 8px;
}

.point__detail div dt {
  color: var(--default-color-tertiary, #238abe);
  font-size: 16px;
  font-weight: 700;
  min-width: 184px;
}

.point__detail div dd {
  font-size: 14px;
}

.notice {
  color: var(--default-color-notice, #888);
  font-size: 12px;
  font-weight: 400;
  margin-bottom: 0 !important;
  text-indent: -1em;
  padding-left: 1em;
  display: block;
}

.point__bbq img {
  object-fit: cover;
}

.point__bbq .d-flex:first-of-type {
  justify-content: space-between;
  margin-bottom: 32px;
}

.point__bbq .d-flex:first-of-type div p:first-of-type {
  font-size: 18px;
  font-weight: 700;
  line-height: 150%;
  margin-bottom: 16px;
}

.point__bbq h5 {
  color: #f29423;
  font-size: 26px;
  font-weight: 900;
  line-height: 130%;
  margin-bottom: 32px;
}

.point__bbq .d-flex:first-of-type div p:nth-of-type(2) {
  color: #2c2a29;
}

.point__bbq .d-flex:nth-of-type(2) {
  background: #fffde5;
  padding: 16px;
  gap: 8px;
  margin-bottom: 24px;
}

.point__bbq .d-flex:nth-of-type(2) p {
  color: #2c2a29;
  font-size: 16px;
  font-weight: 700;
  line-height: 130%;
  margin-bottom: 24px;
}

.point__bbq .d-flex:nth-of-type(2) img {
  object-fit: contain;
}

.point__bbq .notice {
  display: flex;
}

.point__bbq .notice span {
  width: 90%;
}

.point__service .d-grid {
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.point__service .d-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.point__service .point__service__wrapper {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 16px;
}

.point__service .point__service__wrapper:nth-of-type(5) img,
.point__service .point__service__wrapper:nth-of-type(6) img {
  object-fit: contain;
}

.point__service__wrapper h5 {
  color: #2994ca;
  font-size: 24px;
  font-weight: 700;
  line-height: 130%;
  display: flex;
  align-items: center;
}

.point__service__wrapper h5::before {
  content: '';
  background: url(../images/service_cassette_kazari.svg);
  width: 53px;
  height: 51px;
  display: inline-block;
  background-repeat: no-repeat;
  margin-right: 8px;
  background-size: cover;
}

.point__service__wrapper .d-flex {
  display: flex;
  gap: 24px;
}

.point__service__wrapper .d-flex :is(.youtube-container, img) {
  width: 45%;
  height: 156px;
  &.youtube-container {
    position: relative;
    height: auto;
    aspect-ratio: 16 / 9;
  }
  .youtube-iframe {
    position: absolute;
    width: 100%;
    height: 100%;
  }
}

.point__service__wrapper .d-flex div {
  width: 55%;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.point__service .point__service__wrapper:nth-of-type(6) div:first-of-type img {
  width: 30%;
}

.point__service .point__service__wrapper:nth-of-type(6) div:first-of-type div {
  width: 70%;
}

.point__service__wrapper__wrapper {
  gap: 8px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.point__service__wrapper__wrapper p {
  color: #b64221;
  font-size: 14px;
  font-weight: 700;
  padding: 4px 8px;
  border: 1px solid #b64221;
  text-align: center;
  white-space: nowrap;
}

.point__service__wrapper__wrapper span {
  font-size: 12px;
  font-weight: 400;
  display: block;
}

/*#product*/
#product {
  background: linear-gradient(180deg, #fff 0%, #63b6df 100%);
  padding-bottom: 120px;

  .bnr {
    display: flex;
    margin: 0 auto;
    gap: 24px;
  }

  .bnr img {
    width: 100%;
  }

  h4 {
    color: #004e74;
    font-size: 30px;
    font-weight: 900;
    text-align: center;
    line-height: 130%;
    padding-bottom: 8px;
    margin: 0 auto;
    position: relative;
    width: fit-content;
    margin-bottom: 24px;
  }

  h4::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 4px;
    background-color: #f29423;
  }

  .product__button {
    margin-bottom: 64px;
  }

  .product__list {
    display: grid;
    color: #000;

    @media (width >=861px) {
      --gap: 24px;
      --col-num: 4;
      grid-template-columns: repeat(auto-fit, calc((100% - var(--gap) * (var(--col-num) - 1)) / var(--col-num)));
      justify-content: center;
      gap: var(--gap);
    }
  }

  .product__list:not(:last-of-type) {
    margin-bottom: 32px;
  }

  .product__list--inner {
    font-size: min((20vw / 7.5), 12px);
    line-height: 1.4;
    color: inherit;
    font-weight: normal;
    background: #fff;
    border: 1px solid #84c5e5;
    display: grid;
    grid-template-columns: min((243.5vw / 7.5), 280px) 1fr;
    gap: min((10vw / 7.5), 10px) min((20vw / 7.5), 30px);
    position: relative;
  }

  .product__list--image {
    aspect-ratio: 944 / 628;
    object-fit: cover;
    height: min((162vw / 7.5), 186px);
  }

  .product__list--type {
    background: #000;
    color: #fff;
    text-align: center;
    padding: 0.2em 0.2em 0.25em;
    font-weight: bold;
    align-content: center;
  }

  .product__list--label-wrapper:has(.product__list--label.is-economy) {
    display: none;
  }

  .product__list--label {
    font-size: min((20vw / 7.5), 11px);
    line-height: 1.2;
    color: #fff;
    padding: 0.5em 0.75em;
    font-weight: bold;
    background: var(--product-label-bg, #000);

    &.is-business {
      --product-label-bg: #001a4b;
    }
  }

  .product__list--title {
    font-weight: bold;
  }

  .product__list--minmax {
    color: #e70000;
    font-weight: bold;
  }

  .product__list--title,
  .product__list--minmax {
    font-size: min((24vw / 7.5), 16px);
  }

  .product__list--detail,
  .product__list--price {
    color: #333;
  }

  .product__list--detail,
  .product__list--minmax ~ [class^='product__list--'] {
    margin-top: 0.25em;
  }

  @media (width < 861px) {
    .product__list--item:not(:first-child) {
      --yohaku: min((32vw / 7.5), 32px);
      margin-top: var(--yohaku);
    }

    .product__list--inner {
      padding: min((18vw / 7.5), 15px);
      grid-template-areas:
        'img label'
        'img txt';
      grid-template-rows: max-content 1fr;

      &:has(.product__list--label.is-economy) {
        grid-template-areas: 'img txt';
      }
    }

    .product__list--image-wrapper {
      grid-area: img;
    }

    .product__list--label-wrapper {
      grid-area: label;
      display: flex;
      flex-wrap: wrap;
      gap: min((10vw / 7.5), 8px);
    }

    .product__list--text-wrapper {
      grid-area: txt;
    }

    .product__list--detail {
      margin-top: min((15vw / 7.5), 15px);
    }

    .product__list--price {
      margin-top: min((20vw / 7.5), 20px);
    }
  }

  @media (width >=861px) {
    .product__list--item,
    .product__list--data {
      display: contents;
    }

    .product__list--inner {
      grid-template-columns: 1fr;
      grid-template-rows: subgrid;
      grid-row: span 2;
      gap: 0;
      border: 1px solid #84c5e5;
    }

    .product__list--label-wrapper {
      position: absolute;
      top: 0;
      left: 0;
      display: grid;
    }

    .product__list--image-wrapper {
      display: grid;
      grid-template-rows: auto 1fr;

      .product__list--image {
        width: 100%;
        height: auto;
      }
    }

    .product__list--type {
      padding: 0.5em;
    }

    .product__list--text-wrapper {
      padding: 8px 10px 10px;
      display: grid;
      align-content: space-between;
      gap: 1em;
    }
  }
}

/*close*/
#close {
  padding: min((43vw / 7.5), 60px) 0 min((65vw / 7.5), 67px);
  text-align: center;

  .close-text {
    font-size: min((28vw / 7.5), 16px);

    strong {
      font-size: min((36vw / 7.5), 24px);
      display: block;
      margin-bottom: 0.5em;
    }
  }
}

/*------------------------------------------------*/
/*★ ＝＝ searchArea ＝＝ ★*/
#searchArea {
  padding-bottom: 40px;

  @media (width >=741px) {
    padding: 120px 0;
    background: url(../images/search_bg_pc.webp) no-repeat center top / var(--default-bg-width-pc);
  }

  .rn-searchMod__formDomLink,
  .rn-searchMod__formOvsLink {
    font-size: min((24vw / 7.5), 12px);
  }
}

/*------------------------------------------------*/
/*★ ＝＝ hover ＝＝ ★*/
@media (hover: hover) and (pointer: fine) {
  .float-button__link {
    transition: var(--default-hover-transition-opacity);

    &:hover {
      opacity: 0.6;
    }
  }

  .product__list--inner {
    > [class$='-wrapper'] {
      transition: var(--default-hover-transition-opacity);

      .product__list--inner:hover & {
        opacity: var(--default-hover-opacity);
      }
    }
  }
}

/* レスポンシブ対応 */
@media (max-width: 1690px) {
  .illust-wrapper .bg_illust_left {
    left: 0;
    width: 8%;
  }

  .illust-wrapper .bg_illust_right {
    right: 0;
    width: 8%;
    top: 21%;
  }
}

@media (max-width: 1350px) {
  .illust-wrapper .bg_illust_left {
    display: none;
    float: none;
  }

  .illust-wrapper .bg_illust_right {
    display: none;
    float: none;
  }
}

@media (max-width: 1024px) {
  .point__event__wrapper::before {
    left: 10%;
  }

  .point__event__wrapper::after {
    right: 10%;
  }
}

@media (max-width: 820px) {
  .mv h2 {
    padding: 90px 26px;
  }

  .point__event__wrapper::before {
    left: 1%;
  }

  .point__event__wrapper::after {
    right: 1%;
  }

  .tway .d-flex dl div:first-of-type::after {
    width: 112px;
    height: 77px;
    right: -27px;
    top: -58px;
  }
}

@media (max-width: 767.98px) {
  .pc-only {
    display: none !important;
  }

  .sp-only {
    display: block !important;
  }

  .section__inner {
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
  }

  .illust-wrapper .bg_illust_left {
    display: none;
    float: none;
  }

  .illust-wrapper .bg_illust_right {
    display: none;
    float: none;
  }

  .mv {
    background-image: url(../images/mv_bg_sp.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }

  .section__title {
    font-size: 30px;
  }

  .section__title span {
    font-size: 20px;
  }

  .tway .d-flex {
    flex-wrap: wrap;
    gap: 0;
  }

  .tway .d-flex img {
    width: 100%;
  }

  .tway .d-flex dl {
    width: 100%;
    padding-top: 24px;
  }

  .tway .d-flex dl div {
    flex-wrap: wrap;
    gap: 8px;
  }

  .tway .d-flex dl div dt {
    min-width: unset;
    width: 100%;
  }

  .tway .d-flex dl div img {
    width: 152px;
    margin: 0 auto;
  }

  .tway .d-flex dl div:first-of-type::after {
    content: none;
  }

  .charter-flight {
    padding-bottom: 80px;
  }

  .charter-flight::after {
    background: url(../images/flight_schedule_bg_kazari_sp.png);
    background-repeat: no-repeat;
    width: 187px;
    height: 109px;
    top: 14px;
  }

  .charter-flight h4 {
    font-size: 20px;
    margin-bottom: 24px;
  }

  .charter-flight h4 span {
    font-size: 18px;
  }

  .charter-flight .d-flex {
    padding: 0;
    flex-wrap: wrap;
  }

  .charter-flight .d-flex dl {
    width: 100%;
  }

  .charter-flight .d-flex dl div {
    gap: 32px;
  }

  .charter-flight .d-flex dl div:first-of-type {
    gap: 32px;
  }

  .charter-flight .d-flex dl div dt {
    font-size: 18px;
  }

  .charter-flight .d-flex dl div dd {
    font-size: 18px;
  }

  .charter-flight .d-flex dl::before {
    font-size: 18px;
    width: 54px;
    height: 54px;
    padding: 0;
    left: -7px;
    top: -19px;
  }

  .point {
    margin-bottom: 80px;
    padding-top: 80px;
  }

  .point h4 {
    font-size: 20px;
    margin-bottom: 40px;
  }

  .point__event__wrapper {
    margin-bottom: 20px;
  }

  .point__event__wrapper::before {
    content: ' ';
    display: inline-block;
    background: url(../images/illust_human_1.svg) no-repeat;
    width: 43px;
    height: 80px;
    background-size: contain;
    position: absolute;
    top: 29%;
    transform: translateY(-50%);
    left: 4%;
  }

  .point__event__wrapper::after {
    content: ' ';
    display: inline-block;
    background: url(../images/illust_human_2.svg) no-repeat;
    width: 43px;
    height: 80px;
    background-size: contain;
    position: absolute;
    top: 29%;
    transform: translateY(-50%);
    right: 4%;
  }

  .point__event__wrapper p {
    font-size: 18px;
  }

  .point__event__wrapper h5 {
    font-size: 30px;
  }

  .point__event .d-flex {
    flex-wrap: wrap;
    margin-bottom: 0;
  }

  .point__bbq h5 {
    margin-bottom: 8px;
  }

  .point__event .d-flex div {
    width: 100%;
    padding: 16px;
    text-align: center;
  }

  .point__event .d-flex div img {
    width: 100%;
  }

  .point__event .d-flex div h6 {
    font-size: 22px;
    text-align: left;
  }

  .point__event .d-flex div p {
    text-align: left;
  }

  .point__detail div {
    gap: 8px;
    flex-wrap: wrap;
  }

  .point__event,
  .point__bbq {
    margin-bottom: 28px;
  }

  .point__bbq .d-flex:first-of-type {
    flex-wrap: wrap;
    gap: 24px;
  }

  .point__bbq .d-flex:first-of-type div:nth-of-type(2) {
    margin: 0 auto;
    width: 100%;
  }

  .point__bbq .d-flex:first-of-type div:nth-of-type(2) img {
    margin: 0 auto;
  }

  .point__bbq .d-flex:first-of-type div p:first-of-type {
    font-size: 16px;
  }

  .point__bbq .d-flex:first-of-type div h5 {
    font-size: 18px;
  }

  .point__bbq .d-flex:nth-of-type(2) {
    flex-wrap: wrap;
  }

  .point__bbq .d-flex:nth-of-type(2) img {
    margin: 0 auto;
    width: 100%;
  }

  .point h4 {
    margin-bottom: 16px;
  }

  .point__service .d-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .point__service__wrapper {
    gap: 8px;
  }

  .point__service__wrapper h5 {
    font-size: 18px;
  }

  .point__service__wrapper h5::before {
    width: 43px;
    height: 41px;
  }

  .point__service .d-flex .point__service__wrapper {
    gap: 24px;
    width: 100%;
  }

  .point__service__wrapper .d-flex {
    flex-wrap: wrap;
    gap: 8px;
  }

  .point__service__wrapper .d-flex img {
    width: 100%;
    height: auto;
  }

  .point__service__wrapper .d-flex div {
    width: 100% !important;
    gap: 8px;
  }

  .point__service .point__service__wrapper {
    gap: 8px;
  }

  .point__service .point__service__wrapper:nth-of-type(6) div:first-of-type img {
    width: 224px;
  }

  .point__service__wrapper .d-flex {
    justify-content: center;
  }

  .point__service .d-flex .point__service__wrapper:nth-of-type(6) div:first-of-type img {
    width: 224px;
  }

  .point__service .d-flex .point__service__wrapper:nth-of-type(6) div:first-of-type div {
    width: 100%;
  }

  .point__service__wrapper__wrapper {
    flex-wrap: wrap;
  }

  .point__service__wrapper__wrapper p {
    width: 100%;
  }

  .point__service__wrapper__wrapper span {
    display: inline;
    margin-left: 8px;
  }

  #product {
    padding-bottom: 80px;

    h4 {
      font-size: 24px;
    }

    h4::after {
      width: 80px;
      height: 4px;
    }

    .product__list:not(:last-of-type) {
      margin-bottom: 46px;
    }
  }

  .bnr {
    flex-wrap: wrap;
  }

  .base-button.ui-static-button {
    &.hotel__button,
    &.product__button {
      background: #004e74 !important;
      color: #fff;
      font-weight: 700;
      padding: 12px 0;
      display: block;
      height: auto;
      line-height: 150%;
    }
  }
}
