@charset "UTF-8";
/* ===================================================================
CSS information

file name  : first_load.scss
author     : Abilive
style info : 最初に読むCSS
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 基盤・初期設定
=================================================================== */
/* ===================================================================
CSS information

file name  : _variables.scss
author     : Abilive
style info : 基盤・初期設定
=================================================================== */
/* ===================================================================
CSS information

file name  : _mixins.scss
author     : Abilive
style info : 基盤・初期設定
=================================================================== */
/* ===================================================================
CSS information

file name  : _base.scss
author     : Abilive
style info : 基盤・初期設定
=================================================================== */
html,
article,
aside,
audio,
blockquote,
body,
dd,
dialog,
div,
dl,
dt,
fieldset,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
input,
li,
mark,
menu,
nav,
ol,
p,
pre,
section,
td,
textarea,
th,
time,
ul,
video,
main {
  margin: 0;
  padding: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th {
  text-align: left;
}

q:after,
q:before {
  content: "";
}

embed,
object {
  vertical-align: top;
}

legend {
  padding-left: 0;
  padding-right: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
}

abbr,
acronym,
fieldset,
img {
  border: 0;
}

li {
  list-style-type: none;
}

sup {
  vertical-align: super;
  font-size: 0.5em;
}

img {
  vertical-align: top;
}

i {
  font-style: normal;
}

svg {
  vertical-align: middle;
}

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section:not(:hidden),
main {
  display: block;
}

nav,
ul {
  list-style: none;
}

/* ===================================================================
CSS information

file name  : _header.scss
author     : Abilive
style info : レイアウト
=================================================================== */
.lower .l-header {
  margin-bottom: calc(60 / var(--s-parent-font-size) * 1rem);
}

/* ===================================================================
CSS information

file name  : _main.scss
author     : Abilive
style info : 共通レイアウト（メイン）
=================================================================== */
/* ===================================================================
CSS information

file name  : _header.scss
author     : Abilive
style info : プロジェクト固有
=================================================================== */
.p-home-kv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: calc(var(--vh) * 100);
  position: relative;
}
.p-home-kv__content {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 0;
  text-align: center;
  color: #fff;
  width: 100%;
  -webkit-filter: drop-shadow(0px calc(4 / var(--s-parent-font-size) * 1rem) calc(60 / var(--s-parent-font-size) * 1rem) rgba(0, 0, 0, 0.8));
          filter: drop-shadow(0px calc(4 / var(--s-parent-font-size) * 1rem) calc(60 / var(--s-parent-font-size) * 1rem) rgba(0, 0, 0, 0.8));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 767px) {
  .p-home-kv__content {
    top: 32%;
    -webkit-filter: drop-shadow(0px 2.4px 36px rgba(0, 0, 0, 0.8));
            filter: drop-shadow(0px 2.4px 36px rgba(0, 0, 0, 0.8));
  }
}
.p-home-kv__inner {
  margin-right: auto;
  margin-left: auto;
  --s-container-width: var(--s-content-0);
}
@media only screen and (min-width: 1025px) {
  .p-home-kv__inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .p-home-kv__inner {
    max-width: calc(var(--s-child-width) * 1px * (14 + 2 + 0) / 14);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1025px) and (max-width: 1440px) {
  .p-home-kv__inner {
    max-width: calc(var(--s-child-width) * 1px);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-home-kv__inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
@media only screen and (max-width: 767px) {
  .p-home-kv__inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
.p-home-kv__en {
  font-family: var(--s-font-en-script);
  font-size: calc(var(--s-target-font-size) / var(--s-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) {
  .p-home-kv__en {
    --s-target-font-size: 50;
  }
}
@media only screen and (max-width: 767px) {
  .p-home-kv__en {
    --s-target-font-size: 30;
  }
}
.p-home-kv__en {
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .p-home-kv__en {
    margin-bottom: 0;
  }
}
.p-home-kv__ja {
  font-size: calc(var(--s-target-font-size) / var(--s-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) {
  .p-home-kv__ja {
    --s-target-font-size: 40;
  }
}
@media only screen and (max-width: 767px) {
  .p-home-kv__ja {
    --s-target-font-size: 34;
  }
}
.p-home-kv__ja {
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: calc(16 / 14 / (40 / 14) * 1em);
}
.p-home-kv__text {
  font-size: calc(var(--s-target-font-size) / var(--s-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) {
  .p-home-kv__text {
    --s-target-font-size: 18;
  }
}
.p-home-kv__text {
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .p-home-kv__alert {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
.p-home-kv__slider {
  height: 100%;
  width: 100%;
  z-index: -1;
  position: relative;
}
.p-home-kv__slider .c-slider__element {
  height: 100%;
}
.p-home-kv__image {
  height: 100%;
  width: 100%;
}
.p-home-kv__image picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-home-kv__image picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .p-header--has-kv-decorations {
    padding-bottom: calc(17 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-header--has-kv-decorations {
    padding-bottom: calc(17 / var(--s-parent-font-size) * 1rem);
  }
}
.p-header--has-kv-decorations > .p-lower-kv,
.p-header--has-kv-decorations > .p-local-nav {
  position: relative;
  z-index: 1;
}
.p-header--has-kv-decorations > .c-leaf {
  z-index: 0;
  top: calc(170 / var(--s-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-header--has-kv-decorations > .c-leaf {
    top: calc(72 / var(--s-parent-font-size) * 1rem);
  }
}
.p-header--compact-text-kv .p-lower-kv--text {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (min-width: 1025px) {
  .p-header--compact-text-kv .p-lower-kv--text {
    min-height: calc(185 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-header--compact-text-kv .p-lower-kv--text {
    min-height: calc(180 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-header--compact-text-kv .p-lower-kv--text {
    min-height: calc(150 / var(--s-parent-font-size) * 1rem);
  }
}
.p-header--compact-text-kv .p-lower-kv--text {
  overflow: visible;
  color: #111;
  background: transparent;
}
.p-header--compact-text-kv .p-lower-kv--text .p-lower-kv__title {
  position: relative;
  z-index: 1;
  padding-bottom: calc(35 / var(--s-parent-font-size) * 1rem);
  color: #111;
}
.p-header--compact-text-kv .p-lower-kv--text .p-lower-kv__title-jp {
  font-size: calc(var(--s-target-font-size) / var(--s-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) {
  .p-header--compact-text-kv .p-lower-kv--text .p-lower-kv__title-jp {
    --s-target-font-size: 12;
  }
}
@media only screen and (max-width: 767px) {
  .p-header--compact-text-kv .p-lower-kv--text .p-lower-kv__title-jp {
    --s-target-font-size: 11;
  }
}
.p-header--compact-text-kv .p-lower-kv--text .p-lower-kv__title-en {
  font-size: calc(var(--s-target-font-size) / var(--s-parent-font-size) * 1rem);
}
@media only screen and (min-width: 1025px) {
  .p-header--compact-text-kv .p-lower-kv--text .p-lower-kv__title-en {
    --s-target-font-size: 70;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-header--compact-text-kv .p-lower-kv--text .p-lower-kv__title-en {
    --s-target-font-size: 60;
  }
}
@media only screen and (max-width: 767px) {
  .p-header--compact-text-kv .p-lower-kv--text .p-lower-kv__title-en {
    --s-target-font-size: 45;
  }
}
@media only screen and (max-width: 767px) {
  .p-header--compact-text-kv .p-lower-kv--text .p-lower-kv__title {
    padding-bottom: calc(25 / var(--s-parent-font-size) * 1rem);
  }
}
.p-header:has(.p-alert-bar) .p-home-kv {
  height: calc(var(--vh) * 100 - var(--s-alert-bar-height));
}

.p-lower-kv__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-lower-kv__title-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-lower-kv__title-en {
  font-family: var(--s-font-en);
  font-weight: 600;
  font-size: calc(var(--s-target-font-size) / var(--s-parent-font-size) * 1rem);
  --s-target-font-size: 70;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-lower-kv__title-en {
    --s-parent-font-size: 16.8;
  }
}
@media only screen and (max-width: 767px) {
  .p-lower-kv__title-en {
    --s-parent-font-size: 19.1578947368;
  }
}
.p-lower-kv__title-en {
  line-height: 1;
}
.p-lower-kv__title-jp {
  font-size: calc(var(--s-target-font-size) / var(--s-parent-font-size) * 1rem);
  --s-target-font-size: 16;
}
.kv_type_image .p-lower-kv__title {
  -webkit-filter: drop-shadow(0px calc(4 / var(--s-parent-font-size) * 1rem) calc(60 / var(--s-parent-font-size) * 1rem) rgba(0, 0, 0, 0.8));
          filter: drop-shadow(0px calc(4 / var(--s-parent-font-size) * 1rem) calc(60 / var(--s-parent-font-size) * 1rem) rgba(0, 0, 0, 0.8));
  color: #fff;
}
.p-lower-kv__sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: calc(8 / var(--s-parent-font-size) * 1rem);
     -moz-column-gap: calc(8 / var(--s-parent-font-size) * 1rem);
          column-gap: calc(8 / var(--s-parent-font-size) * 1rem);
  margin-top: calc(13 / var(--s-parent-font-size) * 1rem);
}
.p-lower-kv__sub-en {
  font-family: var(--s-font-en);
  font-weight: 600;
  font-size: calc(var(--s-target-font-size) / var(--s-parent-font-size) * 1rem);
  --s-target-font-size: 20;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-lower-kv__sub-en {
    --s-parent-font-size: 15.4;
  }
}
@media only screen and (max-width: 767px) {
  .p-lower-kv__sub-en {
    --s-parent-font-size: 17.6842105263;
  }
}
.p-lower-kv__sub-en {
  line-height: 1;
}
.p-lower-kv__sub-jp {
  font-size: calc(var(--s-target-font-size) / var(--s-parent-font-size) * 1rem);
  --s-target-font-size: 12;
}
.p-lower-kv--image {
  position: relative;
}
.p-lower-kv--image .p-lower-kv__title {
  height: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
}
.p-gnav {
  width: 100%;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  height: var(--gnav-height);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 3;
  margin-bottom: calc(36 / var(--s-parent-font-size) * 1rem);
}
.p-gnav__inner {
  position: relative;
  width: calc(1320 / 1440 * 100%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: auto;
  margin-left: auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: var(--gnav-inner-top);
  height: var(--gnav-inner-height);
}
@media only screen and (max-width: 767px) {
  .p-gnav__inner {
    width: calc(328 / 368 * 100%);
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1440px) {
  .p-gnav__logo {
    width: calc(180 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 1024px) {
  .p-gnav__logo {
    width: calc(150 / var(--s-parent-font-size) * 1rem);
  }
}
.mouse .p-gnav__logo-link {
  -webkit-transition: opacity 0.15s ease-in;
  transition: opacity 0.15s ease-in;
}
.mouse .p-gnav__logo-link:hover, .touch .p-gnav__logo-link.touchstart {
  opacity: 0.7;
}
.touch .p-gnav__logo-link {
  -webkit-tap-highlight-color: transparent;
}
.touch .p-gnav__logo-link.touchend {
  -webkit-transition-delay: 200ms;
          transition-delay: 200ms;
}
.p-gnav__logo-link {
  display: block;
  padding: 1em;
  margin: -1em;
}
.p-gnav__nav {
  margin-right: 0;
}
.p-gnav__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: auto;
  margin-left: auto;
  padding-right: 0.5em;
  padding-left: 0.5em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
  .p-gnav__nav-list {
    padding-right: 0.5em;
    padding-left: 0.5em;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.p-gnav__nav-item.is-open span::before {
  opacity: 1;
}
.p-gnav__nav-link {
  font-size: calc(var(--s-target-font-size) / var(--s-parent-font-size) * 1rem);
  --s-target-font-size: 12;
}
.p-gnav__nav-link {
  display: block;
  padding: calc(10 / 14 / (12 / 14) * 1em);
  text-decoration: none;
  white-space: nowrap;
}
@media only screen and (min-width: 1025px) and (max-width: 1440px) {
  .p-gnav__nav-link {
    height: auto;
    font-size: calc(var(--s-target-font-size) / var(--s-parent-font-size) * 1rem);
    --s-target-font-size: 10;
    padding: calc(10 / 14 / (12 / 14) * 1em) calc(5 / 14 / (12 / 14) * 1em);
  }
}
.p-gnav__nav-link span {
  line-height: 1;
  position: relative;
}
.p-gnav__nav-link span::before {
  content: "";
  display: block;
  width: 5px;
  aspect-ratio: 1;
  background-color: var(--s-color-primary);
  border-radius: 50%;
  position: absolute;
  left: 0;
  opacity: 0;
  bottom: calc(100% + 0.25em);
}
.p-gnav__nav-link[aria-current=page] span::before, .p-gnav__nav-link:hover span::before {
  opacity: 1;
}
.p-gnav__utils {
  position: absolute;
  bottom: calc(100% + calc(4 / var(--s-parent-font-size) * 1rem));
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: calc(12 / var(--s-parent-font-size) * 1rem);
     -moz-column-gap: calc(12 / var(--s-parent-font-size) * 1rem);
          column-gap: calc(12 / var(--s-parent-font-size) * 1rem);
  bottom: 100%;
  height: var(--gnav-inner-top);
}
@media only screen and (max-width: 767px) {
  .p-gnav__utils {
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    height: var(--gnav-inner-height);
    bottom: 0;
  }
}
.p-gnav__sns {
  --language-offset: -1.5em;
}
.p-gnav__menu {
  margin-right: calc(8 / var(--s-parent-font-size) * 1rem);
  margin-left: calc(8 / var(--s-parent-font-size) * 1rem);
}
@media only screen and (max-width: 1024px) {
  .p-gnav__menu {
    margin-left: auto;
  }
}
.p-gnav__btn {
  margin-left: 0;
  margin-right: 0;
  --s-btn-padding-inline: calc(20 / var(--s-parent-font-size) * 1rem);
}
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
  .p-gnav__btn {
    --s-btn-padding-inline: calc(15 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1440px) {
  .p-gnav__btn {
    width: calc(160 / var(--s-parent-font-size) * 1rem);
  }
}
.p-gnav__btn .c-btn__link {
  font-size: calc(var(--s-target-font-size) / var(--s-parent-font-size) * 1rem);
  --s-target-font-size: 11;
}
.p-gnav__btn .c-btn__link {
  min-height: calc(46 / var(--s-parent-font-size) * 1rem);
  min-width: 0;
}
.kv_type_image .p-gnav {
  margin-bottom: calc(var(--gnav-height) * -1);
}
@media only screen and (min-width: 768px) {
  .kv_type_image .p-gnav {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(7.83%, rgba(26, 90, 132, 0.5)), to(rgba(26, 90, 132, 0)));
    background: linear-gradient(180deg, rgba(26, 90, 132, 0.5) 7.83%, rgba(26, 90, 132, 0) 100%);
  }
}
.kv_type_image .p-gnav .p-gnav__nav-link {
  color: #fff;
}

.p-sticky-nav {
  position: fixed;
  bottom: calc(30 / var(--s-parent-font-size) * 1rem);
  left: 0;
  right: 0;
  z-index: 100;
  pointer-events: none;
  opacity: 0;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
}
@media only screen and (min-width: 768px) {
  .p-sticky-nav {
    top: calc(20 / var(--s-parent-font-size) * 1rem);
    bottom: auto;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  .is-parts-sticky .p-sticky-nav {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@media only screen and (max-width: 767px) {
  .p-sticky-nav {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  .is-scroll-up .p-sticky-nav {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
.p-sticky-nav__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .p-sticky-nav__inner {
    width: calc(1320 / 1440 * 100%);
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media only screen and (max-width: 767px) {
  .p-sticky-nav__inner {
    padding: 0 calc(17 / var(--s-parent-font-size) * 1rem);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.p-sticky-nav__menu {
  pointer-events: auto;
  width: calc(60 / var(--s-parent-font-size) * 1rem);
  aspect-ratio: 1;
  margin-right: calc(8 / var(--s-parent-font-size) * 1rem);
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: var(--s-color-text-primary);
  color: #fff;
  -webkit-box-shadow: 0 calc(3 / var(--s-parent-font-size) * 1rem) calc(6 / var(--s-parent-font-size) * 1rem) rgba(0, 0, 0, 0.16);
          box-shadow: 0 calc(3 / var(--s-parent-font-size) * 1rem) calc(6 / var(--s-parent-font-size) * 1rem) rgba(0, 0, 0, 0.16);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-sticky-nav__menu .c-icon--menu {
  width: 100%;
  height: 100%;
  background-color: transparent;
}
.p-sticky-nav__btn {
  pointer-events: auto;
  margin: 0;
  --s-btn-padding-inline: calc(15 / var(--s-parent-font-size) * 1rem);
  -webkit-box-shadow: 0 calc(3 / var(--s-parent-font-size) * 1rem) calc(6 / var(--s-parent-font-size) * 1rem) rgba(0, 0, 0, 0.16);
          box-shadow: 0 calc(3 / var(--s-parent-font-size) * 1rem) calc(6 / var(--s-parent-font-size) * 1rem) rgba(0, 0, 0, 0.16);
  border-radius: calc(60 / var(--s-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-sticky-nav__btn {
    max-width: calc(273 / var(--s-parent-font-size) * 1rem);
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
.p-sticky-nav__btn .c-btn__link {
  font-size: calc(var(--s-target-font-size) / var(--s-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) {
  .p-sticky-nav__btn .c-btn__link {
    --s-target-font-size: 11;
  }
}
.p-sticky-nav__btn .c-btn__link {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .p-sticky-nav__btn .c-btn__link {
    min-height: calc(60 / var(--s-parent-font-size) * 1rem);
  }
}

.p-gnav__nav-item--mega {
  position: static;
}
.p-gnav__nav-item--mega:hover .p-gnav__mega {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.p-gnav__nav-item--mega:hover .p-gnav__nav-icon {
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
}
.p-gnav__mega {
  position: absolute;
  top: calc(100% - 1rem);
  left: 0;
  z-index: 99;
  width: 100%;
  padding-top: calc(20 / var(--s-parent-font-size) * 1rem);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
  -webkit-transition: opacity 0.8s ease, visibility 0.8s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, visibility 0.8s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, transform 0.8s ease, visibility 0.8s ease;
  transition: opacity 0.8s ease, transform 0.8s ease, visibility 0.8s ease, -webkit-transform 0.8s ease;
}
@media only screen and (min-width: 1025px) and (max-width: 1440px) {
  .p-gnav__mega {
    padding-top: calc(10 / var(--s-parent-font-size) * 1rem);
  }
}
.p-gnav__mega-area {
  margin-right: auto;
  margin-left: auto;
  --s-container-width: var(--s-content-0);
}
@media only screen and (min-width: 1025px) {
  .p-gnav__mega-area {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-3);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .p-gnav__mega-area {
    max-width: calc(var(--s-child-width) * 1px * (14 + 2 + 0) / 14);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1025px) and (max-width: 1440px) {
  .p-gnav__mega-area {
    max-width: calc(var(--s-child-width) * 1px);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-gnav__mega-area {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-3);
  }
}
@media only screen and (max-width: 767px) {
  .p-gnav__mega-area {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
.p-gnav__mega-area {
  max-width: 960px;
  margin: auto;
  background-color: var(--s-color-white);
  border-radius: calc(16 / var(--s-parent-font-size) * 1rem);
  -webkit-box-shadow: 0 0 12px 8px rgba(0, 0, 0, 0.03);
          box-shadow: 0 0 12px 8px rgba(0, 0, 0, 0.03);
}
@media only screen and (min-width: 1025px) and (max-width: 1440px) {
  .p-gnav__mega-area {
    width: 100%;
  }
}
.p-gnav__mega-inner {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-grid-columns: 1fr calc(40 / var(--s-parent-font-size) * 1rem) calc(480 / 800 * 100%);
  grid-template-columns: 1fr calc(480 / 800 * 100%);
  gap: calc(40 / var(--s-parent-font-size) * 1rem);
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: calc(50 / var(--s-parent-font-size) * 1rem) 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.p-gnav__mega-heading-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: calc(5 / var(--s-parent-font-size) * 1rem);
  color: inherit;
  text-decoration: none;
}
.p-gnav__mega-heading-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  gap: calc(15 / var(--s-parent-font-size) * 1rem) !important;
  white-space: nowrap;
}
.p-gnav__mega-list {
  display: -ms-grid;
  display: grid;
  gap: 0 calc(20 / var(--s-parent-font-size) * 1rem);
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-gnav__mega-list--rooms {
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
}
.p-gnav__mega-list--restaurant {
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}
.p-gnav__mega-list--facility {
  -ms-grid-columns: (1fr)[4];
  grid-template-columns: repeat(4, 1fr);
}
.p-gnav__mega-item {
  white-space: nowrap;
}
.p-gnav__mega-link {
  font-size: calc(var(--s-target-font-size) / var(--s-parent-font-size) * 1rem);
  --s-target-font-size: 14;
}
.p-gnav__mega-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: calc(10 / var(--s-parent-font-size) * 1rem) 0;
  color: var(--s-color-text-primary);
  text-decoration: none;
}
.p-gnav__mega-link::before {
  display: block;
  width: 6px;
  height: auto;
  margin-right: 8px;
  content: "";
  aspect-ratio: 1;
  background-color: var(--s-color-primary);
  border-radius: 50%;
}
@media only screen and (max-width: 767px) {
  .p-gnav__mega-link::before {
    width: calc(6 / var(--s-parent-font-size) * 1rem);
    margin-right: calc(8 / var(--s-parent-font-size) * 1rem);
  }
}
.mouse .p-gnav__mega-link:hover, .touch .p-gnav__mega-link.touchstart {
  color: var(--s-color-primary);
}
.touch .p-gnav__mega-link {
  -webkit-tap-highlight-color: transparent;
}
.touch .p-gnav__mega-link.touchend {
  -webkit-transition-delay: 200ms;
          transition-delay: 200ms;
}
.p-gnav__mega-arrow {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-gnav__mega-link:hover .p-gnav__mega-arrow {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}

:root {
  --s-alert-bar-height: calc(50 / var(--s-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  :root {
    --s-alert-bar-height: calc(76 / var(--s-parent-font-size) * 1rem);
  }
}

.p-alert-bar {
  background-color: var(--s-color-primary);
  color: #fff;
  width: 100%;
}
.p-alert-bar__inner {
  width: calc(1320 / 1440 * 100%);
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .p-alert-bar__inner {
    width: calc(296 / 368 * 100%);
  }
}
.mouse .p-alert-bar__link {
  -webkit-transition: opacity 0.15s ease-in;
  transition: opacity 0.15s ease-in;
}
.mouse .p-alert-bar__link:hover, .touch .p-alert-bar__link.touchstart {
  opacity: 0.7;
}
.touch .p-alert-bar__link {
  -webkit-tap-highlight-color: transparent;
}
.touch .p-alert-bar__link.touchend {
  -webkit-transition-delay: 200ms;
          transition-delay: 200ms;
}
.p-alert-bar__link {
  display: block;
  text-decoration: none;
  color: inherit;
  position: relative;
  min-height: var(--s-alert-bar-height);
  padding-top: calc(8 / var(--s-parent-font-size) * 1rem);
  padding-bottom: calc(8 / var(--s-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-alert-bar__link {
    padding-top: 0;
  }
}
.p-alert-bar__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media only screen and (max-width: 767px) {
  .p-alert-bar__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-alert-bar__heading {
  font-size: calc(var(--s-target-font-size) / var(--s-parent-font-size) * 1rem);
  --s-target-font-size: 16;
}
.p-alert-bar__heading {
  font-weight: 700;
  white-space: nowrap;
  width: calc(160 / var(--s-parent-font-size) * 1rem);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .p-alert-bar__heading {
    width: auto;
    text-align: center;
    padding-top: 0.25em;
    padding-bottom: 0.25em;
  }
}
.p-alert-bar__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media only screen and (max-width: 767px) {
  .p-alert-bar__info {
    width: 100%;
    gap: calc(15 / var(--s-parent-font-size) * 1rem);
  }
}
.p-alert-bar__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(12 / var(--s-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-alert-bar__text {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: calc(4 / var(--s-parent-font-size) * 1rem);
  }
}
.p-alert-bar__title {
  font-size: calc(var(--s-target-font-size) / var(--s-parent-font-size) * 1rem);
  --s-target-font-size: 14;
}
.p-alert-bar__title {
  font-weight: 700;
  line-height: 1.4;
}
.p-alert-bar__date {
  font-size: calc(var(--s-target-font-size) / var(--s-parent-font-size) * 1rem);
  --s-target-font-size: 11;
}
.p-alert-bar__date {
  white-space: nowrap;
  line-height: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .p-alert-bar__date {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
.p-alert-bar__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(60 / var(--s-parent-font-size) * 1rem);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 767px) {
  .p-alert-bar__icon {
    width: auto;
  }
}

:root {
  --s-content-0: 1440;
  --s-content-1: 1320;
  --s-content-2: 1200;
  --s-content-3: 1080;
  --s-content-4: 960;
}
@media only screen and (max-width: 767px) {
  :root {
    --s-content-0: 368;
    --s-content-1: 328;
    --s-content-2: 296;
    --s-content-3: 200;
    --s-content-4: 200;
  }
}
:root {
  --s-root-font-size: 14;
  --s-parent-font-size: 14;
  --s-target-font-size: 14;
}
@media only screen and (min-width: 1441px) {
  :root {
    --s-base-font-size: 16;
  }
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  :root {
    --s-base-font-size: 15;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1440px) {
  :root {
    --s-base-font-size: 14;
  }
}
@media only screen and (min-width: 897px) and (max-width: 1024px) {
  :root {
    --s-base-font-size: 14;
  }
}
@media only screen and (min-width: 768px) and (max-width: 896px) {
  :root {
    --s-base-font-size: 13;
  }
}
@media only screen and (max-width: 767px) {
  :root {
    --s-parent-font-size: 14;
  }
}
:root {
  --s-color-black: #000000;
  --s-color-black-rgb: 0, 0, 0;
  --s-color-gray-900: #212121;
  --s-color-gray-900-rgb: 33, 33, 33;
  --s-color-gray-800: #424242;
  --s-color-gray-800-rgb: 66, 66, 66;
  --s-color-gray-700: #616161;
  --s-color-gray-700-rgb: 97, 97, 97;
  --s-color-gray-600: #757575;
  --s-color-gray-600-rgb: 117, 117, 117;
  --s-color-gray-500: #9E9E9E;
  --s-color-gray-500-rgb: 158, 158, 158;
  --s-color-gray-400: #BDBDBD;
  --s-color-gray-400-rgb: 189, 189, 189;
  --s-color-gray-300: #E0E0E0;
  --s-color-gray-300-rgb: 224, 224, 224;
  --s-color-gray-200: #EEEEEE;
  --s-color-gray-200-rgb: 238, 238, 238;
  --s-color-gray-100: #F5F5F5;
  --s-color-gray-100-rgb: 245, 245, 245;
  --s-color-gray-50: #FAFAFA;
  --s-color-gray-50-rgb: 250, 250, 250;
  --s-color-white: #FFFFFF;
  --s-color-white-rgb: 255, 255, 255;
  --s-color-body: black;
  --s-color-body-rgb: 0, 0, 0;
  --s-color-title: #1b1b1b;
  --s-color-title-rgb: 27, 27, 27;
  --s-color-text-primary: #000000;
  --s-color-text-primary-rgb: 0, 0, 0;
  --s-color-text-secondary: #424242;
  --s-color-text-secondary-rgb: 66, 66, 66;
  --s-color-text-tertiary: #BDBDBD;
  --s-color-text-tertiary-rgb: 189, 189, 189;
  --s-color-text-tertiary2: #FFFFFF;
  --s-color-text-tertiary2-rgb: 255, 255, 255;
  --s-color-catch: #000000;
  --s-color-catch-rgb: 0, 0, 0;
  --s-color-cv: orange;
  --s-color-cv-rgb: 255, 165, 0;
  --s-color-primary: #CC1F19;
  --s-color-primary-rgb: 204, 31, 25;
  --s-color-brand-primary: #CB1E16;
  --s-color-brand-primary-rgb: 203, 30, 22;
  --s-color-secondary: #0077B7;
  --s-color-secondary-rgb: 0, 119, 183;
  --s-color-tertiary: #FFF;
  --s-color-tertiary-rgb: 255, 255, 255;
  --s-color-tertiary2: #000;
  --s-color-tertiary2-rgb: 0, 0, 0;
  --s-color-alert: red;
  --s-color-alert-rgb: 255, 0, 0;
  --s-color-bg-dark: #120E0D;
  --s-color-bg-light: #eae7e0;
  --s-color-bg-primary: #F2E9DA;
  --s-color-bg-primary-rgb: 242, 233, 218;
  --s-color-bg-secondary: #ECE8D8;
  --s-color-bg-secondary-rgb: 236, 232, 216;
  --s-color-bg-secondary2: #EAE2DC;
  --s-color-bg-secondary2-rgb: 234, 226, 220;
  --s-color-bg-tertiary: #575353;
  --s-color-bg-tertiary-rgb: 87, 83, 83;
  --s-bg-texture: url("../images/common/bg_texture.png");
  --s-color-line-strong: #757575;
  --s-color-line-strong-rgb: 117, 117, 117;
  --s-color-line-normal: #E0E0E0;
  --s-color-line-normal-rgb: 224, 224, 224;
  --s-color-line-divider: #BDBDBD;
  --s-color-line-divider-rgb: 189, 189, 189;
  --s-color-table-border: #EFEAE1;
  --s-color-table-border-rgb: 239, 234, 225;
  --s-color-table-bg: #F8F6F3;
  --s-color-table-bg-rgb: 248, 246, 243;
  --s-font-zen-kaku-antique: Zen Kaku Gothic Antique, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, 游ゴシック体, Yu Gothic, YuGothic, MS Ｐゴシック, MS PGothic, Lucida Sans Unicode, Lucida Grande, Verdana, Arial, sans-serif;
  --s-font-mincho: 游明朝, Yu Mincho, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, Times New Roman, Times, Garamond, Georgia, serif;
  --s-font-lora: Lora, serif;
  --s-font-ephesis: Ephesis, cursive;
  --s-font-jp-sans-serif: var(--s-font-zen-kaku-antique);
  --s-font-jp-serif: var(--s-font-mincho);
  --s-font-en: var(--s-font-lora);
  --s-font-en-script: var(--s-font-ephesis);
  --s-font-num: var(--s-font-lora);
  --s-font-jp-body: var(--s-font-jp-sans-serif);
  --s-font-jp-title: var(--s-font-jp-sans-serif);
  --s-icon-width: 1em;
  --s-color-sec1: #0077B7;
  --s-color-sec1-rgb: 0, 119, 183;
  --s-color-sub1: #777;
  --s-color-sub1-rgb: 119, 119, 119;
  --s-color-sub2: #ccc;
  --s-color-sub2-rgb: 204, 204, 204;
  --s-radius-xs: calc(4 / var(--s-parent-font-size) * 1rem);
  --s-radius-sm: calc(8 / var(--s-parent-font-size) * 1rem);
  --s-radius-md: calc(16 / var(--s-parent-font-size) * 1rem);
  --s-radius-lg: calc(20 / var(--s-parent-font-size) * 1rem);
  --s-radius-xl: calc(32 / var(--s-parent-font-size) * 1rem);
  --s-radius-round: 1000px;
  --s-radius-circle: 1000px;
  --focus-outline: 3px black solid;
  --gnav-height: calc(115 / var(--s-parent-font-size) * 1rem);
  --gnav-inner-height: calc(46 / var(--s-parent-font-size) * 1rem);
  --gnav-inner-top: calc(44 / var(--s-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  :root {
    --gnav-height: calc(58 / var(--s-parent-font-size) * 1rem);
    --gnav-inner-top: 0;
    --gnav-inner-height: calc(58 / var(--s-parent-font-size) * 1rem);
  }
}
:root {
  --s-value-zoom: 1;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  :root {
    --s-value-zoom: 0.75;
  }
}
@media only screen and (max-width: 767px) {
  :root {
    --s-value-zoom: 0.9;
  }
}

[data-s-theme=light] {
  --s-body-bg: var(--s-color-bg-light);
  background: var(--s-body-bg);
  color: var(--s-color-body);
  fill: var(--s-color-body);
}

[data-s-theme=light-gray] {
  --s-body-bg: black;
  background: var(--s-body-bg);
  color: #fff;
  fill: #fff;
}

[data-s-theme=dark] {
  --s-body-bg: var(--s-color-bg-dark);
  background: var(--s-body-bg);
  color: #fff;
  fill: #fff;
}

@media only screen and (min-width: 768px) {
  html {
    line-height: 1.8;
  }
}
@media only screen and (max-width: 767px) {
  html {
    line-height: 1.8;
  }
}
html {
  font-size: calc(var(--s-base-font-size) / 16 * 100%);
}

:root {
  --s-body-color: var(--s-color-body);
  --s-body-bg: var(--s-bg-texture);
  --s-body-font: var(--s-font-jp-sans-serif);
  --s-body-font-weight: 400;
}

body {
  color: var(--s-body-color);
  fill: var(--s-body-color);
  font-weight: var(--s-body-font-weight);
  background: var(--s-body-bg);
  -webkit-text-size-adjust: none;
}
body a {
  color: inherit;
  fill: inherit;
  text-decoration: underline;
}
body a:hover {
  text-decoration: none;
}
body img {
  max-width: 100%;
  -webkit-touch-callout: none;
  line-height: 1;
}
body.is-bodylock {
  overflow: hidden;
}

body,
pre,
input,
textarea,
select {
  font-family: var(--s-body-font);
}

input,
select,
textarea {
  font-size: 100%;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#abi_page {
  max-width: 2560px;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
}
.lower #abi_page {
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  #abi_page {
    font-size: 100% !important;
  }
}

svg:not([width][height]) {
  width: 1rem;
}

img {
  width: 100%;
  height: auto;
}

button {
  background: none;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  color: inherit;
  line-height: inherit;
  cursor: pointer;
  text-align: left;
}

[id^=svg_defs] {
  display: none;
}

.jump_menu {
  display: none;
}

.js-slider-wrp [class*=" js-slider-"]:not(.swiper-initialized) .swiper-wrapper .swiper-slide:not(:first-child), .js-slider-wrp [class^=js-slider-]:not(.swiper-initialized) .swiper-wrapper .swiper-slide:not(:first-child) {
  display: none;
}

.js-accordion {
  position: relative;
}
.js-accordion[aria-expanded=false] .c-icon--minus {
  display: none;
}
.js-accordion[aria-expanded=true] .c-icon--plus {
  display: none;
}
.js-accordion[aria-expanded=true] .c-icon--down {
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
}

.js-accordion + [data-accordion-target],
.accordion_p + [data-accordion-target] {
  height: 0;
  opacity: 0;
  overflow: hidden;
  -webkit-transition: opacity 0.5s, height 0.5s;
  transition: opacity 0.5s, height 0.5s;
  visibility: hidden;
}

[data-accordion-target]:has(+ .js-accordion) {
  height: 0;
  opacity: 0;
  overflow: hidden;
  -webkit-transition: opacity 0.5s, height 0.5s;
  transition: opacity 0.5s, height 0.5s;
  visibility: hidden;
}

#tripla-cookie-consent .style-wrapper-99c7fa {
  z-index: 999999999999999 !important;
}