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

file name   : common.css
author      : Abilive
style info  : 基本・共通設定
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : Forwarder for all foundation settings
=================================================================== */
/* ===================================================================
   foundation/_variables.scss
   style info : Design tokens — all Sass variables
=================================================================== */
:root {
  --base: 14;
  --bp-tab: 1199px;
  --bp-sp: 767px;
  --column-width: 1280px;
  --base-size: 14px;
  --base-size-sp: 12px;
  --width-container: 1200px;
  --width-container-large: 1320px;
  --max-width-container: 1596px;
  --space-screen: 60px;
}
@media only screen and (min-width: 1561px) {
  :root {
    --space-screen: 80px;
  }
}
:root {
  --space-section: calc(100/var(--base) * 1em);
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  :root {
    --space-section: calc(70/var(--base) * 1em);
  }
}
@media screen and (max-width: 767px) {
  :root {
    --space-section: 3em;
  }
}
:root {
  --c-base: #fff;
  /* color text */
  --c-txt-primary: #fff;
  /* color border */
  --c-line-primary: #706458;
  /* color background */
  --c-bg-primary: #040301;
  --c-bg-secondary: #1A1917;
  --lh-100: 1;
  --lh-160: 1.6;
  --lh-200: 2;
  --fw-body: 400;
  --fw-lead: 600;
  --fw-body-en: 400;
  --fw-lead-en: 600;
  --link-hover-opacity: 0.75;
}

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

file name  : _settings.scss
author     : Abilive
style info : Forwarder for all foundation settings
=================================================================== */
/* ===================================================================
   foundation/_breakpoints.scss
   style info : Breakpoint variables + mq() mixin
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : Forwarder for all foundation settings
=================================================================== */
/* ===================================================================
   foundation/_functions.scss
   style info : Sass utility functions
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : Forwarder for all foundation settings
=================================================================== */
/* ===================================================================
   foundation/_mixins.scss
   style info : All reusable Sass mixins
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : Forwarder for all foundation settings
=================================================================== */
/* ===================================================================
   foundation/_placeholders.scss
   style info : Sass placeholders (%)
=================================================================== */
/* ==========================================================
Utility: Spacing
-------------------------------------------------------------
Margin
  .u-m-{size}   -> margin
  .u-mx-{size}  -> margin-left + margin-right
  .u-my-{size}  -> margin-top + margin-bottom
  .u-mt-{size}  -> margin-top
  .u-mr-{size}  -> margin-right
  .u-mb-{size}  -> margin-bottom
  .u-ml-{size}  -> margin-left

Padding
  .u-p-{size}   -> padding
  .u-px-{size}  -> padding-left + padding-right
  .u-py-{size}  -> padding-top + padding-bottom
  .u-pt-{size}  -> padding-top
  .u-pr-{size}  -> padding-right
  .u-pb-{size}  -> padding-bottom
  .u-pl-{size}  -> padding-left

Example:
  <div class="u-px-20 u-py-10 u-mb-30">
    Content
  </div>
========================================================== */
/* Margin */
.u-m-0 {
  margin: calc(0 / var(--base) * 1em);
}

.u-mx-0 {
  margin-left: calc(0 / var(--base) * 1em);
  margin-right: calc(0 / var(--base) * 1em);
}

.u-my-0 {
  margin-top: calc(0 / var(--base) * 1em);
  margin-bottom: calc(0 / var(--base) * 1em);
}

.u-mt-0 {
  margin-top: calc(0 / var(--base) * 1em);
}

.u-mr-0 {
  margin-right: calc(0 / var(--base) * 1em);
}

.u-mb-0 {
  margin-bottom: calc(0 / var(--base) * 1em);
}

.u-ml-0 {
  margin-left: calc(0 / var(--base) * 1em);
}

/* Margin negative */
.u-m-n0 {
  margin: calc(0 / var(--base) * -1em);
}

.u-mx-n0 {
  margin-left: calc(0 / var(--base) * -1em);
  margin-right: calc(0 / var(--base) * -1em);
}

.u-my-n0 {
  margin-top: calc(0 / var(--base) * -1em);
  margin-bottom: calc(0 / var(--base) * -1em);
}

.u-mt-n0 {
  margin-top: calc(0 / var(--base) * -1em);
}

.u-mr-n0 {
  margin-right: calc(0 / var(--base) * -1em);
}

.u-mb-n0 {
  margin-bottom: calc(0 / var(--base) * -1em);
}

.u-ml-n0 {
  margin-left: calc(0 / var(--base) * -1em);
}

/* Padding */
.u-p-0 {
  padding: calc(0 / var(--base) * 1em);
}

.u-px-0 {
  padding-left: calc(0 / var(--base) * 1em);
  padding-right: calc(0 / var(--base) * 1em);
}

.u-py-0 {
  padding-top: calc(0 / var(--base) * 1em);
  padding-bottom: calc(0 / var(--base) * 1em);
}

.u-pt-0 {
  padding-top: calc(0 / var(--base) * 1em);
}

.u-pr-0 {
  padding-right: calc(0 / var(--base) * 1em);
}

.u-pb-0 {
  padding-bottom: calc(0 / var(--base) * 1em);
}

.u-pl-0 {
  padding-left: calc(0 / var(--base) * 1em);
}

/* Margin */
.u-m-4 {
  margin: calc(4 / var(--base) * 1em);
}

.u-mx-4 {
  margin-left: calc(4 / var(--base) * 1em);
  margin-right: calc(4 / var(--base) * 1em);
}

.u-my-4 {
  margin-top: calc(4 / var(--base) * 1em);
  margin-bottom: calc(4 / var(--base) * 1em);
}

.u-mt-4 {
  margin-top: calc(4 / var(--base) * 1em);
}

.u-mr-4 {
  margin-right: calc(4 / var(--base) * 1em);
}

.u-mb-4 {
  margin-bottom: calc(4 / var(--base) * 1em);
}

.u-ml-4 {
  margin-left: calc(4 / var(--base) * 1em);
}

/* Margin negative */
.u-m-n4 {
  margin: calc(4 / var(--base) * -1em);
}

.u-mx-n4 {
  margin-left: calc(4 / var(--base) * -1em);
  margin-right: calc(4 / var(--base) * -1em);
}

.u-my-n4 {
  margin-top: calc(4 / var(--base) * -1em);
  margin-bottom: calc(4 / var(--base) * -1em);
}

.u-mt-n4 {
  margin-top: calc(4 / var(--base) * -1em);
}

.u-mr-n4 {
  margin-right: calc(4 / var(--base) * -1em);
}

.u-mb-n4 {
  margin-bottom: calc(4 / var(--base) * -1em);
}

.u-ml-n4 {
  margin-left: calc(4 / var(--base) * -1em);
}

/* Padding */
.u-p-4 {
  padding: calc(4 / var(--base) * 1em);
}

.u-px-4 {
  padding-left: calc(4 / var(--base) * 1em);
  padding-right: calc(4 / var(--base) * 1em);
}

.u-py-4 {
  padding-top: calc(4 / var(--base) * 1em);
  padding-bottom: calc(4 / var(--base) * 1em);
}

.u-pt-4 {
  padding-top: calc(4 / var(--base) * 1em);
}

.u-pr-4 {
  padding-right: calc(4 / var(--base) * 1em);
}

.u-pb-4 {
  padding-bottom: calc(4 / var(--base) * 1em);
}

.u-pl-4 {
  padding-left: calc(4 / var(--base) * 1em);
}

/* Margin */
.u-m-8 {
  margin: calc(8 / var(--base) * 1em);
}

.u-mx-8 {
  margin-left: calc(8 / var(--base) * 1em);
  margin-right: calc(8 / var(--base) * 1em);
}

.u-my-8 {
  margin-top: calc(8 / var(--base) * 1em);
  margin-bottom: calc(8 / var(--base) * 1em);
}

.u-mt-8 {
  margin-top: calc(8 / var(--base) * 1em);
}

.u-mr-8 {
  margin-right: calc(8 / var(--base) * 1em);
}

.u-mb-8 {
  margin-bottom: calc(8 / var(--base) * 1em);
}

.u-ml-8 {
  margin-left: calc(8 / var(--base) * 1em);
}

/* Margin negative */
.u-m-n8 {
  margin: calc(8 / var(--base) * -1em);
}

.u-mx-n8 {
  margin-left: calc(8 / var(--base) * -1em);
  margin-right: calc(8 / var(--base) * -1em);
}

.u-my-n8 {
  margin-top: calc(8 / var(--base) * -1em);
  margin-bottom: calc(8 / var(--base) * -1em);
}

.u-mt-n8 {
  margin-top: calc(8 / var(--base) * -1em);
}

.u-mr-n8 {
  margin-right: calc(8 / var(--base) * -1em);
}

.u-mb-n8 {
  margin-bottom: calc(8 / var(--base) * -1em);
}

.u-ml-n8 {
  margin-left: calc(8 / var(--base) * -1em);
}

/* Padding */
.u-p-8 {
  padding: calc(8 / var(--base) * 1em);
}

.u-px-8 {
  padding-left: calc(8 / var(--base) * 1em);
  padding-right: calc(8 / var(--base) * 1em);
}

.u-py-8 {
  padding-top: calc(8 / var(--base) * 1em);
  padding-bottom: calc(8 / var(--base) * 1em);
}

.u-pt-8 {
  padding-top: calc(8 / var(--base) * 1em);
}

.u-pr-8 {
  padding-right: calc(8 / var(--base) * 1em);
}

.u-pb-8 {
  padding-bottom: calc(8 / var(--base) * 1em);
}

.u-pl-8 {
  padding-left: calc(8 / var(--base) * 1em);
}

/* Margin */
.u-m-12 {
  margin: calc(12 / var(--base) * 1em);
}

.u-mx-12 {
  margin-left: calc(12 / var(--base) * 1em);
  margin-right: calc(12 / var(--base) * 1em);
}

.u-my-12 {
  margin-top: calc(12 / var(--base) * 1em);
  margin-bottom: calc(12 / var(--base) * 1em);
}

.u-mt-12 {
  margin-top: calc(12 / var(--base) * 1em);
}

.u-mr-12 {
  margin-right: calc(12 / var(--base) * 1em);
}

.u-mb-12 {
  margin-bottom: calc(12 / var(--base) * 1em);
}

.u-ml-12 {
  margin-left: calc(12 / var(--base) * 1em);
}

/* Margin negative */
.u-m-n12 {
  margin: calc(12 / var(--base) * -1em);
}

.u-mx-n12 {
  margin-left: calc(12 / var(--base) * -1em);
  margin-right: calc(12 / var(--base) * -1em);
}

.u-my-n12 {
  margin-top: calc(12 / var(--base) * -1em);
  margin-bottom: calc(12 / var(--base) * -1em);
}

.u-mt-n12 {
  margin-top: calc(12 / var(--base) * -1em);
}

.u-mr-n12 {
  margin-right: calc(12 / var(--base) * -1em);
}

.u-mb-n12 {
  margin-bottom: calc(12 / var(--base) * -1em);
}

.u-ml-n12 {
  margin-left: calc(12 / var(--base) * -1em);
}

/* Padding */
.u-p-12 {
  padding: calc(12 / var(--base) * 1em);
}

.u-px-12 {
  padding-left: calc(12 / var(--base) * 1em);
  padding-right: calc(12 / var(--base) * 1em);
}

.u-py-12 {
  padding-top: calc(12 / var(--base) * 1em);
  padding-bottom: calc(12 / var(--base) * 1em);
}

.u-pt-12 {
  padding-top: calc(12 / var(--base) * 1em);
}

.u-pr-12 {
  padding-right: calc(12 / var(--base) * 1em);
}

.u-pb-12 {
  padding-bottom: calc(12 / var(--base) * 1em);
}

.u-pl-12 {
  padding-left: calc(12 / var(--base) * 1em);
}

/* Margin */
.u-m-16 {
  margin: calc(16 / var(--base) * 1em);
}

.u-mx-16 {
  margin-left: calc(16 / var(--base) * 1em);
  margin-right: calc(16 / var(--base) * 1em);
}

.u-my-16 {
  margin-top: calc(16 / var(--base) * 1em);
  margin-bottom: calc(16 / var(--base) * 1em);
}

.u-mt-16 {
  margin-top: calc(16 / var(--base) * 1em);
}

.u-mr-16 {
  margin-right: calc(16 / var(--base) * 1em);
}

.u-mb-16 {
  margin-bottom: calc(16 / var(--base) * 1em);
}

.u-ml-16 {
  margin-left: calc(16 / var(--base) * 1em);
}

/* Margin negative */
.u-m-n16 {
  margin: calc(16 / var(--base) * -1em);
}

.u-mx-n16 {
  margin-left: calc(16 / var(--base) * -1em);
  margin-right: calc(16 / var(--base) * -1em);
}

.u-my-n16 {
  margin-top: calc(16 / var(--base) * -1em);
  margin-bottom: calc(16 / var(--base) * -1em);
}

.u-mt-n16 {
  margin-top: calc(16 / var(--base) * -1em);
}

.u-mr-n16 {
  margin-right: calc(16 / var(--base) * -1em);
}

.u-mb-n16 {
  margin-bottom: calc(16 / var(--base) * -1em);
}

.u-ml-n16 {
  margin-left: calc(16 / var(--base) * -1em);
}

/* Padding */
.u-p-16 {
  padding: calc(16 / var(--base) * 1em);
}

.u-px-16 {
  padding-left: calc(16 / var(--base) * 1em);
  padding-right: calc(16 / var(--base) * 1em);
}

.u-py-16 {
  padding-top: calc(16 / var(--base) * 1em);
  padding-bottom: calc(16 / var(--base) * 1em);
}

.u-pt-16 {
  padding-top: calc(16 / var(--base) * 1em);
}

.u-pr-16 {
  padding-right: calc(16 / var(--base) * 1em);
}

.u-pb-16 {
  padding-bottom: calc(16 / var(--base) * 1em);
}

.u-pl-16 {
  padding-left: calc(16 / var(--base) * 1em);
}

/* Margin */
.u-m-20 {
  margin: calc(20 / var(--base) * 1em);
}

.u-mx-20 {
  margin-left: calc(20 / var(--base) * 1em);
  margin-right: calc(20 / var(--base) * 1em);
}

.u-my-20 {
  margin-top: calc(20 / var(--base) * 1em);
  margin-bottom: calc(20 / var(--base) * 1em);
}

.u-mt-20 {
  margin-top: calc(20 / var(--base) * 1em);
}

.u-mr-20 {
  margin-right: calc(20 / var(--base) * 1em);
}

.u-mb-20 {
  margin-bottom: calc(20 / var(--base) * 1em);
}

.u-ml-20 {
  margin-left: calc(20 / var(--base) * 1em);
}

/* Margin negative */
.u-m-n20 {
  margin: calc(20 / var(--base) * -1em);
}

.u-mx-n20 {
  margin-left: calc(20 / var(--base) * -1em);
  margin-right: calc(20 / var(--base) * -1em);
}

.u-my-n20 {
  margin-top: calc(20 / var(--base) * -1em);
  margin-bottom: calc(20 / var(--base) * -1em);
}

.u-mt-n20 {
  margin-top: calc(20 / var(--base) * -1em);
}

.u-mr-n20 {
  margin-right: calc(20 / var(--base) * -1em);
}

.u-mb-n20 {
  margin-bottom: calc(20 / var(--base) * -1em);
}

.u-ml-n20 {
  margin-left: calc(20 / var(--base) * -1em);
}

/* Padding */
.u-p-20 {
  padding: calc(20 / var(--base) * 1em);
}

.u-px-20 {
  padding-left: calc(20 / var(--base) * 1em);
  padding-right: calc(20 / var(--base) * 1em);
}

.u-py-20 {
  padding-top: calc(20 / var(--base) * 1em);
  padding-bottom: calc(20 / var(--base) * 1em);
}

.u-pt-20 {
  padding-top: calc(20 / var(--base) * 1em);
}

.u-pr-20 {
  padding-right: calc(20 / var(--base) * 1em);
}

.u-pb-20 {
  padding-bottom: calc(20 / var(--base) * 1em);
}

.u-pl-20 {
  padding-left: calc(20 / var(--base) * 1em);
}

/* Margin */
.u-m-24 {
  margin: calc(24 / var(--base) * 1em);
}

.u-mx-24 {
  margin-left: calc(24 / var(--base) * 1em);
  margin-right: calc(24 / var(--base) * 1em);
}

.u-my-24 {
  margin-top: calc(24 / var(--base) * 1em);
  margin-bottom: calc(24 / var(--base) * 1em);
}

.u-mt-24 {
  margin-top: calc(24 / var(--base) * 1em);
}

.u-mr-24 {
  margin-right: calc(24 / var(--base) * 1em);
}

.u-mb-24 {
  margin-bottom: calc(24 / var(--base) * 1em);
}

.u-ml-24 {
  margin-left: calc(24 / var(--base) * 1em);
}

/* Margin negative */
.u-m-n24 {
  margin: calc(24 / var(--base) * -1em);
}

.u-mx-n24 {
  margin-left: calc(24 / var(--base) * -1em);
  margin-right: calc(24 / var(--base) * -1em);
}

.u-my-n24 {
  margin-top: calc(24 / var(--base) * -1em);
  margin-bottom: calc(24 / var(--base) * -1em);
}

.u-mt-n24 {
  margin-top: calc(24 / var(--base) * -1em);
}

.u-mr-n24 {
  margin-right: calc(24 / var(--base) * -1em);
}

.u-mb-n24 {
  margin-bottom: calc(24 / var(--base) * -1em);
}

.u-ml-n24 {
  margin-left: calc(24 / var(--base) * -1em);
}

/* Padding */
.u-p-24 {
  padding: calc(24 / var(--base) * 1em);
}

.u-px-24 {
  padding-left: calc(24 / var(--base) * 1em);
  padding-right: calc(24 / var(--base) * 1em);
}

.u-py-24 {
  padding-top: calc(24 / var(--base) * 1em);
  padding-bottom: calc(24 / var(--base) * 1em);
}

.u-pt-24 {
  padding-top: calc(24 / var(--base) * 1em);
}

.u-pr-24 {
  padding-right: calc(24 / var(--base) * 1em);
}

.u-pb-24 {
  padding-bottom: calc(24 / var(--base) * 1em);
}

.u-pl-24 {
  padding-left: calc(24 / var(--base) * 1em);
}

/* Margin */
.u-m-28 {
  margin: calc(28 / var(--base) * 1em);
}

.u-mx-28 {
  margin-left: calc(28 / var(--base) * 1em);
  margin-right: calc(28 / var(--base) * 1em);
}

.u-my-28 {
  margin-top: calc(28 / var(--base) * 1em);
  margin-bottom: calc(28 / var(--base) * 1em);
}

.u-mt-28 {
  margin-top: calc(28 / var(--base) * 1em);
}

.u-mr-28 {
  margin-right: calc(28 / var(--base) * 1em);
}

.u-mb-28 {
  margin-bottom: calc(28 / var(--base) * 1em);
}

.u-ml-28 {
  margin-left: calc(28 / var(--base) * 1em);
}

/* Margin negative */
.u-m-n28 {
  margin: calc(28 / var(--base) * -1em);
}

.u-mx-n28 {
  margin-left: calc(28 / var(--base) * -1em);
  margin-right: calc(28 / var(--base) * -1em);
}

.u-my-n28 {
  margin-top: calc(28 / var(--base) * -1em);
  margin-bottom: calc(28 / var(--base) * -1em);
}

.u-mt-n28 {
  margin-top: calc(28 / var(--base) * -1em);
}

.u-mr-n28 {
  margin-right: calc(28 / var(--base) * -1em);
}

.u-mb-n28 {
  margin-bottom: calc(28 / var(--base) * -1em);
}

.u-ml-n28 {
  margin-left: calc(28 / var(--base) * -1em);
}

/* Padding */
.u-p-28 {
  padding: calc(28 / var(--base) * 1em);
}

.u-px-28 {
  padding-left: calc(28 / var(--base) * 1em);
  padding-right: calc(28 / var(--base) * 1em);
}

.u-py-28 {
  padding-top: calc(28 / var(--base) * 1em);
  padding-bottom: calc(28 / var(--base) * 1em);
}

.u-pt-28 {
  padding-top: calc(28 / var(--base) * 1em);
}

.u-pr-28 {
  padding-right: calc(28 / var(--base) * 1em);
}

.u-pb-28 {
  padding-bottom: calc(28 / var(--base) * 1em);
}

.u-pl-28 {
  padding-left: calc(28 / var(--base) * 1em);
}

/* Margin */
.u-m-32 {
  margin: calc(32 / var(--base) * 1em);
}

.u-mx-32 {
  margin-left: calc(32 / var(--base) * 1em);
  margin-right: calc(32 / var(--base) * 1em);
}

.u-my-32 {
  margin-top: calc(32 / var(--base) * 1em);
  margin-bottom: calc(32 / var(--base) * 1em);
}

.u-mt-32 {
  margin-top: calc(32 / var(--base) * 1em);
}

.u-mr-32 {
  margin-right: calc(32 / var(--base) * 1em);
}

.u-mb-32 {
  margin-bottom: calc(32 / var(--base) * 1em);
}

.u-ml-32 {
  margin-left: calc(32 / var(--base) * 1em);
}

/* Margin negative */
.u-m-n32 {
  margin: calc(32 / var(--base) * -1em);
}

.u-mx-n32 {
  margin-left: calc(32 / var(--base) * -1em);
  margin-right: calc(32 / var(--base) * -1em);
}

.u-my-n32 {
  margin-top: calc(32 / var(--base) * -1em);
  margin-bottom: calc(32 / var(--base) * -1em);
}

.u-mt-n32 {
  margin-top: calc(32 / var(--base) * -1em);
}

.u-mr-n32 {
  margin-right: calc(32 / var(--base) * -1em);
}

.u-mb-n32 {
  margin-bottom: calc(32 / var(--base) * -1em);
}

.u-ml-n32 {
  margin-left: calc(32 / var(--base) * -1em);
}

/* Padding */
.u-p-32 {
  padding: calc(32 / var(--base) * 1em);
}

.u-px-32 {
  padding-left: calc(32 / var(--base) * 1em);
  padding-right: calc(32 / var(--base) * 1em);
}

.u-py-32 {
  padding-top: calc(32 / var(--base) * 1em);
  padding-bottom: calc(32 / var(--base) * 1em);
}

.u-pt-32 {
  padding-top: calc(32 / var(--base) * 1em);
}

.u-pr-32 {
  padding-right: calc(32 / var(--base) * 1em);
}

.u-pb-32 {
  padding-bottom: calc(32 / var(--base) * 1em);
}

.u-pl-32 {
  padding-left: calc(32 / var(--base) * 1em);
}

/* Margin */
.u-m-48 {
  margin: calc(48 / var(--base) * 1em);
}

.u-mx-48 {
  margin-left: calc(48 / var(--base) * 1em);
  margin-right: calc(48 / var(--base) * 1em);
}

.u-my-48 {
  margin-top: calc(48 / var(--base) * 1em);
  margin-bottom: calc(48 / var(--base) * 1em);
}

.u-mt-48 {
  margin-top: calc(48 / var(--base) * 1em);
}

.u-mr-48 {
  margin-right: calc(48 / var(--base) * 1em);
}

.u-mb-48 {
  margin-bottom: calc(48 / var(--base) * 1em);
}

.u-ml-48 {
  margin-left: calc(48 / var(--base) * 1em);
}

/* Margin negative */
.u-m-n48 {
  margin: calc(48 / var(--base) * -1em);
}

.u-mx-n48 {
  margin-left: calc(48 / var(--base) * -1em);
  margin-right: calc(48 / var(--base) * -1em);
}

.u-my-n48 {
  margin-top: calc(48 / var(--base) * -1em);
  margin-bottom: calc(48 / var(--base) * -1em);
}

.u-mt-n48 {
  margin-top: calc(48 / var(--base) * -1em);
}

.u-mr-n48 {
  margin-right: calc(48 / var(--base) * -1em);
}

.u-mb-n48 {
  margin-bottom: calc(48 / var(--base) * -1em);
}

.u-ml-n48 {
  margin-left: calc(48 / var(--base) * -1em);
}

/* Padding */
.u-p-48 {
  padding: calc(48 / var(--base) * 1em);
}

.u-px-48 {
  padding-left: calc(48 / var(--base) * 1em);
  padding-right: calc(48 / var(--base) * 1em);
}

.u-py-48 {
  padding-top: calc(48 / var(--base) * 1em);
  padding-bottom: calc(48 / var(--base) * 1em);
}

.u-pt-48 {
  padding-top: calc(48 / var(--base) * 1em);
}

.u-pr-48 {
  padding-right: calc(48 / var(--base) * 1em);
}

.u-pb-48 {
  padding-bottom: calc(48 / var(--base) * 1em);
}

.u-pl-48 {
  padding-left: calc(48 / var(--base) * 1em);
}

/* Margin */
.u-m-64 {
  margin: calc(64 / var(--base) * 1em);
}

.u-mx-64 {
  margin-left: calc(64 / var(--base) * 1em);
  margin-right: calc(64 / var(--base) * 1em);
}

.u-my-64 {
  margin-top: calc(64 / var(--base) * 1em);
  margin-bottom: calc(64 / var(--base) * 1em);
}

.u-mt-64 {
  margin-top: calc(64 / var(--base) * 1em);
}

.u-mr-64 {
  margin-right: calc(64 / var(--base) * 1em);
}

.u-mb-64 {
  margin-bottom: calc(64 / var(--base) * 1em);
}

.u-ml-64 {
  margin-left: calc(64 / var(--base) * 1em);
}

/* Margin negative */
.u-m-n64 {
  margin: calc(64 / var(--base) * -1em);
}

.u-mx-n64 {
  margin-left: calc(64 / var(--base) * -1em);
  margin-right: calc(64 / var(--base) * -1em);
}

.u-my-n64 {
  margin-top: calc(64 / var(--base) * -1em);
  margin-bottom: calc(64 / var(--base) * -1em);
}

.u-mt-n64 {
  margin-top: calc(64 / var(--base) * -1em);
}

.u-mr-n64 {
  margin-right: calc(64 / var(--base) * -1em);
}

.u-mb-n64 {
  margin-bottom: calc(64 / var(--base) * -1em);
}

.u-ml-n64 {
  margin-left: calc(64 / var(--base) * -1em);
}

/* Padding */
.u-p-64 {
  padding: calc(64 / var(--base) * 1em);
}

.u-px-64 {
  padding-left: calc(64 / var(--base) * 1em);
  padding-right: calc(64 / var(--base) * 1em);
}

.u-py-64 {
  padding-top: calc(64 / var(--base) * 1em);
  padding-bottom: calc(64 / var(--base) * 1em);
}

.u-pt-64 {
  padding-top: calc(64 / var(--base) * 1em);
}

.u-pr-64 {
  padding-right: calc(64 / var(--base) * 1em);
}

.u-pb-64 {
  padding-bottom: calc(64 / var(--base) * 1em);
}

.u-pl-64 {
  padding-left: calc(64 / var(--base) * 1em);
}

.u-color-txt-primary {
  color: var(--c-txt-primary);
}

.u-bg-txt-primary {
  background-color: var(--c-txt-primary);
}

.u-border-txt-primary {
  border-color: var(--c-txt-primary);
}

.u-color-line-primary {
  color: var(--c-line-primary);
}

.u-bg-line-primary {
  background-color: var(--c-line-primary);
}

.u-border-line-primary {
  border-color: var(--c-line-primary);
}

.u-color-bg-primary {
  color: var(--c-bg-primary);
}

.u-bg-bg-primary {
  background-color: var(--c-bg-primary);
}

.u-border-bg-primary {
  border-color: var(--c-bg-primary);
}

.u-color-bg-secondary {
  color: var(--c-bg-secondary);
}

.u-bg-bg-secondary {
  background-color: var(--c-bg-secondary);
}

.u-border-bg-secondary {
  border-color: var(--c-bg-secondary);
}

.u-title-bg {
  background-image: linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2)), url("../images/common/bg_title.webp");
  background-size: cover;
  background-position: center;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  opacity: 0.3;
}

/* ==========================================================================
   foundation/_fonts.scss
   Font Face Definitions
   ========================================================================== */
@font-face {
  font-family: "Cormorant";
  src: url("../fonts/Cormorant-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifJP";
  src: url("../fonts/NotoSerifJP-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "la-bohemienne";
  src: url("../fonts/la-bohemienne.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* ===================================================================
CSS information

file name  : default.css
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;
  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;
}

hr,
legend {
  display: none;
}

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,
main {
  display: block;
}

nav,
ul {
  list-style: none;
}

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

file name   : common.css
author      : Abilive
style info  : 基本・共通設定
=================================================================== */
/* ===================================================================
   foundation/_base.scss
   style info : Base element defaults (html, body, a, img, inputs)
=================================================================== */
html {
  font-size: small;
  line-height: 1.8;
}

body {
  color: var(--c-base);
  -webkit-text-size-adjust: none;
  font-size: 108%;
}
@media only screen and (max-width: 767px) {
  body {
    font-size: 93%;
  }
}
@media only screen and (min-width: 1561px) {
  body {
    font-size: 139%;
  }
}
@media print {
  body {
    font-size: 139%;
  }
}
body a {
  color: var(--c-base);
  text-decoration: underline;
}
body a:hover {
  text-decoration: none;
}
body img {
  max-width: 100%;
  height: auto;
  -webkit-touch-callout: none;
  line-height: 1;
}

@media only screen and (min-width: 1200px) {
  body .view_tab-sp,
  body .view_tab {
    display: none !important;
  }
}
@media print {
  body .view_tab-sp,
  body .view_tab {
    display: none !important;
  }
}
@media only screen and (min-width: 768px) {
  body .view_sp {
    display: none !important;
  }
}
@media only screen and (max-width: 1199px) {
  body .view_pc {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  body .view_pc-tab,
  body .view_tab {
    display: none !important;
  }
}

body,
pre,
input,
textarea,
select {
  font-family: "Hiragino Kaku Gothic Pro", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
}

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

html.ie8 .view_tab,
html.ie8 .view_tab_sp,
html.ie8 .view_sp {
  display: none !important;
}
html.ie8 #abi_page {
  min-width: 1280px !important;
  margin: auto;
  font-size: 100% !important;
}

.en {
  font-family: "Cormorant", serif;
}

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

file name   : common.css
author      : Abilive
style info  : 基本・共通設定
=================================================================== */
/* ===================================================================
   foundation/_typography.scss
   style info : Font-face declarations & type scale
=================================================================== */
/*
 * Usage:
 * .u-txt--r14-160   → font-weight: 300 (regular)
 * .u-txt--s14-160   → font-weight: 600 (semibold)
 *
 * Format:
 * .u-txt--{weight}{font-size}-{line-height}
 * weight: r = 400, s = 600
 *
 * Examples:
 * .u-txt--r14-120 → font-size: 14px, font-weight: 400, line-height: 1.2
 * .u-txt--s13-160 → font-size: 13px, font-weight: 600, line-height: 1.6
 */
.u-txt--r12-100 {
  font-size: 86%;
  font-weight: var(--fw-body);
  line-height: 1;
}

.u-txt--r12-120 {
  font-size: 86%;
  font-weight: var(--fw-body);
  line-height: 1.2;
}

.u-txt--r12-160 {
  font-size: 86%;
  font-weight: var(--fw-body);
  line-height: 1.6;
}

.u-txt--r12-280 {
  font-size: 86%;
  font-weight: var(--fw-body);
  line-height: 2.8;
}

.u-txt--r13-100 {
  font-size: 93%;
  font-weight: var(--fw-body);
  line-height: 1;
}

.u-txt--r13-120 {
  font-size: 93%;
  font-weight: var(--fw-body);
  line-height: 1.2;
}

.u-txt--r13-160 {
  font-size: 93%;
  font-weight: var(--fw-body);
  line-height: 1.6;
}

.u-txt--r13-280 {
  font-size: 93%;
  font-weight: var(--fw-body);
  line-height: 2.8;
}

.u-txt--r14-100 {
  font-size: 100%;
  font-weight: var(--fw-body);
  line-height: 1;
}

.u-txt--r14-120 {
  font-size: 100%;
  font-weight: var(--fw-body);
  line-height: 1.2;
}

.u-txt--r14-160 {
  font-size: 100%;
  font-weight: var(--fw-body);
  line-height: 1.6;
}

.u-txt--r14-280 {
  font-size: 100%;
  font-weight: var(--fw-body);
  line-height: 2.8;
}

.u-txt--s12-100 {
  font-size: 86%;
  font-weight: var(--fw-lead);
  line-height: 1;
}

.u-txt--s12-120 {
  font-size: 86%;
  font-weight: var(--fw-lead);
  line-height: 1.2;
}

.u-txt--s12-160 {
  font-size: 86%;
  font-weight: var(--fw-lead);
  line-height: 1.6;
}

.u-txt--s12-280 {
  font-size: 86%;
  font-weight: var(--fw-lead);
  line-height: 2.8;
}

.u-txt--s13-100 {
  font-size: 93%;
  font-weight: var(--fw-lead);
  line-height: 1;
}

.u-txt--s13-120 {
  font-size: 93%;
  font-weight: var(--fw-lead);
  line-height: 1.2;
}

.u-txt--s13-160 {
  font-size: 93%;
  font-weight: var(--fw-lead);
  line-height: 1.6;
}

.u-txt--s13-280 {
  font-size: 93%;
  font-weight: var(--fw-lead);
  line-height: 2.8;
}

.u-txt--s14-100 {
  font-size: 100%;
  font-weight: var(--fw-lead);
  line-height: 1;
}

.u-txt--s14-120 {
  font-size: 100%;
  font-weight: var(--fw-lead);
  line-height: 1.2;
}

.u-txt--s14-160 {
  font-size: 100%;
  font-weight: var(--fw-lead);
  line-height: 1.6;
}

.u-txt--s14-280 {
  font-size: 100%;
  font-weight: var(--fw-lead);
  line-height: 2.8;
}

.u-lead--jp18 {
  font-weight: var(--fw-body);
  line-height: 2.2;
  letter-spacing: 0.2em;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "MS Mincho", serif;
  font-size: 129%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .u-lead--jp18 {
    font-size: 115%;
  }
}
@media only screen and (max-width: 767px) {
  .u-lead--jp18 {
    font-size: 115%;
  }
}

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

file name   : common.css
author      : Abilive
style info  : 基本・共通設定
=================================================================== */
/* ===================================================================
   layout/_container.scss
   style info : Page wrapper, inner container helpers
=================================================================== */
.l-container {
  width: 83.3333333333%;
  max-width: var(--max-width-container);
  margin-inline: auto;
  box-sizing: border-box;
}
@media only screen and (max-width: 1199px) {
  .l-container {
    width: 90%;
  }
}
.l-container.container-no-mw {
  max-width: 100%;
}
.l-container.wide-no-mw {
  width: 94.4444444444%;
  max-width: 100%;
}
@media only screen and (max-width: 1199px) {
  .l-container.wide-no-mw {
    width: 90%;
  }
}
.l-container.wide {
  width: 94.4444444444%;
}
@media only screen and (max-width: 1199px) {
  .l-container.wide {
    width: 90%;
  }
}
.l-container.large {
  width: 91.6666666667%;
}
@media only screen and (max-width: 1199px) {
  .l-container.large {
    width: 90%;
  }
}
.l-container.medium {
  width: 75%;
  max-width: calc(var(--max-width-container) - 2 * var(--space-screen));
}
@media only screen and (max-width: 1199px) {
  .l-container.medium {
    width: 90%;
  }
}
.l-container.small {
  width: 66.6666666667%;
  max-width: calc(var(--max-width-container) - 4 * var(--space-screen));
}
@media only screen and (max-width: 1199px) {
  .l-container.small {
    width: 90%;
  }
}
.l-container.smaller {
  width: 62.5%;
  max-width: calc(var(--max-width-container) - 4 * var(--space-screen));
}
@media only screen and (max-width: 1199px) {
  .l-container.smaller {
    width: 90%;
  }
}
.l-container.extra-small {
  width: 52.7777777778%;
  max-width: calc(var(--max-width-container) - 4 * var(--space-screen));
}
@media only screen and (max-width: 1199px) {
  .l-container.extra-small {
    width: 90%;
  }
}
.l-container.fluid {
  width: 100%;
  max-width: none;
}
@media only screen and (max-width: 767px) {
  .l-container.fluid-sp {
    width: 100%;
    max-width: none;
  }
}
.l-container.fluid-right {
  margin-right: 0;
  margin-left: auto;
  max-width: none;
}
@media only screen and (min-width: 1200px) {
  .l-container.fluid-right {
    width: calc(50% + min(83.3333333333%, var(--max-width-container)) / 2);
  }
}
@media print {
  .l-container.fluid-right {
    width: calc(50% + min(83.3333333333%, var(--max-width-container)) / 2);
  }
}
@media only screen and (max-width: 1199px) {
  .l-container.fluid-right {
    width: 95%;
    padding-inline: 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-container.fluid-right.fluid-sp {
    width: 100%;
    max-width: none;
  }
}
@media only screen and (min-width: 1200px) {
  .l-container.fluid-right.medium {
    width: calc(50% + min(75%, var(--max-width-container) - 2 * var(--space-screen)) / 2);
  }
}
@media print {
  .l-container.fluid-right.medium {
    width: calc(50% + min(75%, var(--max-width-container) - 2 * var(--space-screen)) / 2);
  }
}
.l-container.fluid-left {
  margin-left: 0;
  margin-right: auto;
  max-width: none;
}
@media only screen and (min-width: 1200px) {
  .l-container.fluid-left {
    width: calc(50% + min(83.3333333333%, var(--max-width-container)) / 2);
  }
}
@media print {
  .l-container.fluid-left {
    width: calc(50% + min(83.3333333333%, var(--max-width-container)) / 2);
  }
}
@media only screen and (max-width: 1199px) {
  .l-container.fluid-left {
    width: 95%;
    padding-inline: 0;
  }
}
@media only screen and (min-width: 1200px) {
  .l-container.fluid-left.medium {
    width: calc(50% + min(75%, var(--max-width-container) - 2 * var(--space-screen)) / 2);
  }
}
@media print {
  .l-container.fluid-left.medium {
    width: calc(50% + min(75%, var(--max-width-container) - 2 * var(--space-screen)) / 2);
  }
}

.p-section {
  padding-block: var(--space-section);
}

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

file name   : common.css
author      : Abilive
style info  : 基本・共通設定
=================================================================== */
body.is-modal-open {
  overflow: hidden;
}

.l-header {
  --color-header-text: var(--c-txt-primary);
  position: absolute;
  width: 100%;
  z-index: 1000;
  background-color: transparent;
  transition: background-color 0.5s ease;
}
@media only screen and (max-width: 1199px) {
  .l-header {
    padding: calc(1.5em + env(safe-area-inset-top)) 5% 1em;
    box-sizing: border-box;
  }
}
.l-header__nav {
  display: flex;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .l-header__nav {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .l-header__nav {
    display: none;
  }
}
.l-header__nav {
  align-items: center;
  margin-left: auto;
}
.l-header__nav-link {
  font-size: 100%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .l-header__nav-link {
    font-size: 93%;
  }
}
@media only screen and (max-width: 767px) {
  .l-header__nav-link {
    font-size: 86%;
  }
}
.l-header__nav-link {
  line-height: 1;
  color: var(--color-header-text);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  display: block;
  transition: color 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "MS Mincho", serif;
  margin-right: calc(40 / var(--base) * 1em);
}
@media only screen and (max-width: 767px) {
  .l-header__nav-link {
    margin-right: calc(30 / var(--base) * 1em);
  }
}
.mouse .l-header__nav-link {
  transition: opacity 0.3s ease-in;
}
.mouse .l-header__nav-link:hover, .touch .l-header__nav-link.touchstart {
  opacity: 0.7;
}
.touch .l-header__nav-link {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.touch .l-header__nav-link.touchend {
  transition-delay: 200ms;
}
@media only screen and (min-width: 1561px) and (max-width: 1715px) {
  .l-header__nav-link {
    margin-right: calc(20 / var(--base) * 1em);
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1324px) {
  .l-header__nav-link {
    margin-right: calc(20 / var(--base) * 1em);
  }
}
.l-header__nav-btn {
  width: calc(200 / var(--base) * 1em);
}
.l-header__nav-btn a, .l-header__nav-btn span {
  box-sizing: border-box;
  line-height: 1;
  text-decoration: none;
  background: url(../images/header/bg_btn_rsv.jpg) center center/cover no-repeat;
  color: var(--c-txt-cvr);
  display: flex;
  flex-direction: column;
  padding: calc(15 / var(--base) * 1em) calc(10 / var(--base) * 1em);
  text-align: center;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "MS Mincho", serif;
  font-size: 143%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .l-header__nav-btn a, .l-header__nav-btn span {
    font-size: 129%;
  }
}
@media only screen and (max-width: 767px) {
  .l-header__nav-btn a, .l-header__nav-btn span {
    font-size: 115%;
  }
}
.l-header__nav-btn a small, .l-header__nav-btn span small {
  font-weight: 300;
  margin-top: calc(10 / var(--base) * 1em);
  font-size: 50%;
  font-family: "Hiragino Kaku Gothic Pro", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
}
.mouse .l-header__nav-btn a {
  transition: opacity 0.3s ease-in;
}
.mouse .l-header__nav-btn a:hover, .touch .l-header__nav-btn a.touchstart {
  opacity: 0.7;
}
.touch .l-header__nav-btn a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.touch .l-header__nav-btn a.touchend {
  transition-delay: 200ms;
}
.l-header__nav-btn a {
  cursor: pointer;
}
.l-header__nav-item {
  list-style: none;
  position: relative;
}
.l-header__nav-item:hover .l-header__nav-link {
  background: var(--c-base-white);
  color: var(--c-base-primary);
}
.l-header__nav-list {
  display: flex;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: calc(4 / var(--base) * 1em);
}
.l-header__nav-list {
  position: relative;
}
.l-header__default {
  width: 100%;
  z-index: 100;
  box-sizing: border-box;
  padding-left: calc(55 / var(--base) * 1em);
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .l-header__default {
    padding-left: 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-header__default {
    padding-left: 0;
  }
}
.l-header__default-inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2em;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .l-header__default-inner {
    align-items: flex-start;
    gap: 0;
  }
}
.l-header.l-header-sticky {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  transform: translateY(-100%);
}
@media only screen and (max-width: 1199px) {
  .l-header.l-header-sticky {
    padding: 0;
    background: transparent;
  }
}
.l-header.l-header-sticky .l-header__default {
  position: relative;
  top: 0;
  --color-header-text: var(--c-txt-primary);
}
@media only screen and (max-width: 1199px) {
  .l-header.l-header-sticky .l-header__logo {
    display: none;
  }
}
.l-header.l-header-sticky .l-header__nav-btn a {
  padding: calc(10 / var(--base) * 1em) calc(10 / var(--base) * 1em);
}
@media only screen and (max-width: 1199px) {
  .l-header.l-header-sticky .l-header__controls {
    width: 50%;
    background: linear-gradient(90deg, rgba(4, 3, 1, 0) 0%, rgb(4, 3, 1) 100%);
    justify-content: flex-end;
    padding: 1em 5%;
  }
}
.l-header.is-sticky-visible {
  transform: translateY(0);
}
.l-header__logo-link {
  display: block;
  text-decoration: none;
  font-weight: var(--fw-body);
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "MS Mincho", serif;
}
@media only screen and (max-width: 767px) {
  .l-header__logo-link {
    line-height: 1;
  }
}
.l-header__logo-link .sm {
  font-size: 93%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .l-header__logo-link .sm {
    font-size: 93%;
  }
}
@media only screen and (max-width: 767px) {
  .l-header__logo-link .sm {
    font-size: 93%;
  }
}
.l-header__logo-link .lg {
  font-weight: var(--fw-body);
  font-size: 115%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .l-header__logo-link .lg {
    font-size: 115%;
  }
}
@media only screen and (max-width: 767px) {
  .l-header__logo-link .lg {
    font-size: 115%;
  }
}
.l-header__logo-link .lg {
  margin-left: calc(15 / var(--base) * 1em);
}
@media only screen and (max-width: 767px) {
  .l-header__logo-link .lg {
    margin-left: 0;
  }
}
.l-header__logo-link .lg {
  font-family: "Cormorant", serif;
}
@media only screen and (min-width: 984px) and (max-width: 1199px) {
  .l-header__logo-link .lg {
    font-size: 129%;
  }
}
.l-header__logo-link .lg em {
  margin-left: 0.5em;
}
@media only screen and (max-width: 767px) {
  .l-header__logo-link .lg em {
    margin-left: 0.25em;
  }
}
.l-header__logo-link .lg em {
  font-size: 107%;
}
.l-header__logo-link .lg em ruby {
  ruby-position: over;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "MS Mincho", serif;
}
.l-header__logo-link .lg em ruby rb {
  font-weight: var(--fw-lead);
  letter-spacing: 0.2em;
}
.l-header__logo-link .lg em rt {
  font-size: 44%;
  font-weight: 400;
  margin-bottom: 2px;
}
@media only screen and (max-width: 767px) {
  .l-header__logo-link .lg em rt {
    margin-bottom: 0;
  }
}
.l-header__logo-text {
  text-transform: uppercase;
  line-height: 1;
  font-size: 100%;
  font-weight: var(--fw-lead);
  color: var(--c-cvr);
  background: var(--c-txt-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.l-header__controls {
  display: none;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .l-header__controls {
    display: flex;
  }
}
@media only screen and (max-width: 767px) {
  .l-header__controls {
    display: flex;
  }
}
.l-header__controls {
  margin-left: auto;
}
.l-header__modal-close, .l-header__menu-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(4 / var(--base) * 1em);
  border: none;
  cursor: pointer;
  padding: 0;
  background: transparent;
  color: var(--c-base-white);
}
.l-header__modal-close .menu__text, .l-header__menu-btn .menu__text {
  font-size: 115%;
  font-weight: var(--fw-lead);
  line-height: 1;
  font-family: "Cormorant", serif;
}

.l-header__modal {
  background: url(../images/header/bg_menu.webp) top center/cover no-repeat;
  position: fixed;
  top: 0;
  height: 100vh;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1001;
  display: flex;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.35s cubic-bezier(0.4, 0, 0.2, 1), top 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
@media only screen and (min-width: 1200px) {
  .l-header__modal {
    display: none;
  }
}
@media print {
  .l-header__modal {
    display: none;
  }
}
.l-header__modal.is-sticky {
  top: 0;
}
.l-header__modal.is-open {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
}
.l-header__modal-content {
  width: 100%;
  background: var(--c-base-white);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  transform: translateX(40px);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
.l-header__modal.is-open .l-header__modal-content {
  transform: translateX(0);
}
.l-header__modal-content-inner {
  width: 100%;
}
.l-header__modal-close {
  position: absolute;
  top: calc(18 / var(--base) * 1em);
  right: 5%;
  cursor: pointer;
}
.l-header__modal-btn {
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  padding: var(--modal-space);
}
.l-header__modal-btn-label {
  color: var(--c-base-white);
  display: block;
  margin-bottom: calc(10 / var(--base) * 1em);
}
.l-header__modal-btn .control__items {
  display: flex;
  gap: calc(12 / var(--base) * 1em);
}
.l-header__modal-btn .control__items .c-button {
  padding: 0.9em 1em;
  flex: 1;
}
.l-header__modal-btn .control__items .c-button__label {
  white-space: nowrap;
}
.l-header__modal-nav {
  padding-top: 0;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .l-header__modal-nav {
    padding-top: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .l-header__modal-nav {
    padding-top: 6em;
  }
}
.l-header__modal-nav-item {
  width: 100%;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .l-header__modal-nav-item {
    margin-bottom: 2.5em;
  }
}
.l-header__modal-nav-item {
  text-align: center;
}
.l-header__modal-nav .l-header__nav-link {
  font-size: 115%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .l-header__modal-nav .l-header__nav-link {
    font-size: 129%;
  }
}
@media only screen and (max-width: 767px) {
  .l-header__modal-nav .l-header__nav-link {
    font-size: 115%;
  }
}
.l-header__modal-nav .l-header__nav-link {
  font-weight: var(--fw-body);
  color: var(--c-base);
  text-decoration: none;
}

.l-header__backdrop {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(var(--c-base-rgb), 0);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  display: none;
}
.l-header__backdrop.is-visible {
  display: block;
}
.l-header__backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

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

file name   : common.css
author      : Abilive
style info  : 基本・共通設定
=================================================================== */
.c-social {
  display: flex;
  align-items: center;
  gap: calc(30 / var(--base) * 1em);
  flex-wrap: wrap;
  justify-content: center;
}
.c-social__item {
  display: flex;
  align-items: center;
  line-height: 1;
}
.c-social__item a:hover {
  opacity: 0.85;
}

@media only screen and (max-width: 767px) {
  .l-footer {
    text-align: center;
  }
}
@media only screen and (min-width: 768px) {
  .l-footer__links {
    border-left: 1px solid rgba(241, 237, 237, 0.6);
    padding-left: calc(40 / var(--base) * 1em);
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__links {
    border-top: 1px solid rgba(241, 237, 237, 0.6);
    padding-top: calc(28 / var(--base) * 1em);
  }
}
.l-footer__nav {
  background: var(--c-bg-primary);
  padding: calc(25 / var(--base) * 1em);
}
.l-footer__nav-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: calc(40 / var(--base) * 1em);
}
.l-footer__nav-item a {
  color: var(--c-txt-cvr);
  text-decoration: none;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "MS Mincho", serif;
  font-size: 100%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .l-footer__nav-item a {
    font-size: 93%;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__nav-item a {
    font-size: 93%;
  }
}
.mouse .l-footer__nav-item a {
  transition: opacity 0.3s ease-in;
}
.mouse .l-footer__nav-item a:hover, .touch .l-footer__nav-item a.touchstart {
  opacity: 0.7;
}
.touch .l-footer__nav-item a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.touch .l-footer__nav-item a.touchend {
  transition-delay: 200ms;
}
.l-footer__copyright {
  font-size: 98%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .l-footer__copyright {
    font-size: 93%;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__copyright {
    font-size: 93%;
  }
}
.l-footer__copyright {
  line-height: 1;
  text-align: center;
  color: var(--c-base-white);
  text-transform: uppercase;
  font-family: "Cormorant", serif;
  margin-top: calc(50 / var(--base) * 1em);
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .l-footer__copyright {
    margin-top: calc(40 / var(--base) * 1em);
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__copyright {
    margin-top: calc(30 / var(--base) * 1em);
  }
}
.l-footer__bottom {
  background: var(--c-bg-secondary);
  padding: calc(75 / var(--base) * 1em) 0 calc(50 / var(--base) * 1em);
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .l-footer__bottom {
    padding: calc(60 / var(--base) * 1em) 0 calc(120 / var(--base) * 1em);
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__bottom {
    padding: calc(40 / var(--base) * 1em) 0 8em;
  }
}
.l-footer__bottom .l-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  max-width: 1180px;
}
.l-footer__left {
  text-align: center;
  width: -webkit-max-content;
  width: max-content;
}
@media only screen and (max-width: 767px) {
  .l-footer__left {
    width: 100%;
  }
}
.l-footer__left .c-link__anchor {
  color: var(--c-base-white);
  text-decoration: none;
  margin-top: calc(15 / var(--base) * 1em);
  font-weight: 300;
  line-height: 1.5;
  font-size: 115%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .l-footer__left .c-link__anchor {
    font-size: 108%;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__left .c-link__anchor {
    font-size: 100%;
  }
}
.mouse .l-footer__left .c-link__anchor {
  transition: opacity 0.3s ease-in;
}
.mouse .l-footer__left .c-link__anchor:hover, .touch .l-footer__left .c-link__anchor.touchstart {
  opacity: 0.7;
}
.touch .l-footer__left .c-link__anchor {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.touch .l-footer__left .c-link__anchor.touchend {
  transition-delay: 200ms;
}
@media only screen and (max-width: 767px) {
  .l-footer__left .c-link__anchor {
    margin-inline: auto;
  }
}
.l-footer__left .c-link__anchor svg {
  margin-left: calc(10 / var(--base) * 1em);
}
.l-footer__right {
  width: 68.0555555556%;
}
@media only screen and (max-width: 767px) {
  .l-footer__right {
    width: 100%;
  }
}
.l-footer__socials {
  margin-top: calc(16 / var(--base) * 1em);
}
@media only screen and (max-width: 767px) {
  .l-footer__socials .c-social {
    justify-content: center;
  }
}

.hotel-group {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  max-width: 1000px;
}
@media only screen and (min-width: 1561px) {
  .hotel-group {
    width: 90%;
  }
}
@media print {
  .hotel-group {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .hotel-group {
    justify-content: space-between;
    margin-top: 3.5em;
  }
}
.hotel-group li {
  width: 14.4217687075%;
}
@media only screen and (max-width: 767px) {
  .hotel-group li {
    width: 32%;
  }
}
.hotel-group li {
  margin-bottom: calc(30 / var(--base) * 1em);
}
@media only screen and (max-width: 767px) {
  .hotel-group li {
    margin-bottom: calc(20 / var(--base) * 1em);
  }
}
@media only screen and (min-width: 768px) {
  .hotel-group li:not(:nth-child(5n)) {
    margin-right: 6.9727891156%;
  }
}
.hotel-group li a {
  transition: all 0.3s ease;
}
.hotel-group li a:hover {
  opacity: 0.7;
}
.hotel-group li a img {
  width: 100%;
  max-width: 106px;
}

.fix_nav {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 999;
  width: 0;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .fix_nav {
    width: 400px;
  }
}
@media only screen and (max-width: 767px) {
  .fix_nav {
    width: 88%;
  }
}
.fix_nav a, .fix_nav span {
  box-sizing: border-box;
  line-height: 1;
  text-decoration: none;
  background: url(../images/header/bg_btn_rsv.jpg) center center/cover no-repeat;
  color: var(--c-txt-cvr);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  padding: calc(15 / var(--base) * 1em) calc(10 / var(--base) * 1em);
  text-align: center;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "MS Mincho", serif;
  font-size: 143%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .fix_nav a, .fix_nav span {
    font-size: 143%;
  }
}
@media only screen and (max-width: 767px) {
  .fix_nav a, .fix_nav span {
    font-size: 129%;
  }
}
.fix_nav a small, .fix_nav span small {
  font-weight: 300;
  font-size: 67%;
  font-family: "Hiragino Kaku Gothic Pro", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
}
.fix_nav a {
  cursor: pointer;
}
.mouse .fix_nav a {
  transition: opacity 0.3s ease-in;
}
.mouse .fix_nav a:hover, .touch .fix_nav a.touchstart {
  opacity: 0.7;
}
.touch .fix_nav a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.touch .fix_nav a.touchend {
  transition-delay: 200ms;
}

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

file name   : common.css
author      : Abilive
style info  : 基本・共通設定
=================================================================== */
/* ===================================================================
   components/_icon.scss
   style info : SVG icon sizing system
=================================================================== */
.c-icon {
  width: var(--icon-width, 1em);
  min-width: var(--icon-width, 1em);
  aspect-ratio: 1/1;
  height: auto;
}

.c-icon--xs {
  --icon-width: 0.75em;
}

.c-icon--sm {
  --icon-width: 1em;
}

.c-icon--md {
  --icon-width: calc(16/var(--base) * 1em);
}

.c-icon--lg {
  --icon-width: calc(20/var(--base) * 1em);
}

.c-icon--xl {
  --icon-width: calc(24/var(--base) * 1em);
}

.c-icon--primary {
  color: var(--c-cvr);
}

.c-icon--muted {
  color: rgba(var(--c-base-rgb), 0.5);
}

.c-icon--white {
  color: #fff;
}

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

file name   : common.css
author      : Abilive
style info  : 基本・共通設定
=================================================================== */
/* ===================================================================
   File        : components/_title.scss
   Description : Anchor component styles
   Author      : Abilive
   Version     : 1.0.0
   Created     : 2026-05-19
   Updated     : 2026-05-19

   Dependencies:
   - ../settings

   Notes:
   - Base anchor component
   - Use BEM naming convention
=================================================================== */
/* =========================================================
 *
 * TITLE PAGE (H1) COMPONENTS
 *
 * Usage:
 *
 * <h1 class="c-title-page">
 *     <span class="en">English page title</span>
 *     <span class="jp">日本語ページタイトル</span>
 * </h1>
 *
 * ======================================================= */
.u-txt-vertical {
  writing-mode: vertical-rl;
}

/* =========================================================
 *
 * Section title components
 *
 * Usage:
 *
 * <div class="c-title-set c-title-set--lg">
 *     <span class="en">ARCDEF</span>
 *     <span class="jp">補足テキスト</span>
 * </div>
 *
 * ======================================================= */
.c-title-box {
  text-align: center;
  position: relative;
  z-index: 1;
}
.c-title-box .c-title-set {
  position: absolute;
  z-index: 1;
  top: -5%;
  left: 50%;
  transform: translateX(-50%);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media only screen and (max-width: 767px) {
  .c-title-box .c-title-set {
    width: 100%;
  }
}
@media only screen and (min-width: 984px) and (max-width: 1199px) {
  .c-title-box .c-title-set {
    top: -10%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 983px) {
  .c-title-box .c-title-set {
    top: -25%;
  }
}
@media only screen and (max-width: 767px) {
  .c-title-box .c-title-set {
    top: -1.5em;
  }
}

.c-title-set {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.c-title-set .en {
  font-family: "la-bohemienne";
  font-size: 458%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .c-title-set .en {
    font-size: 343%;
  }
}
@media only screen and (max-width: 767px) {
  .c-title-set .en {
    font-size: 358%;
  }
}
.c-title-set .en {
  /* default size xl */
  line-height: 1.35;
  font-weight: var(--fw-body);
  background-image: url("../images/common/bg_title2.jpg");
  background-size: cover;
  background-position: center center;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-title-set .jp {
  line-height: 1;
  color: var(--c-txt-primary);
  font-weight: 400;
  font-size: 200%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .c-title-set .jp {
    font-size: 172%;
  }
}
@media only screen and (max-width: 767px) {
  .c-title-set .jp {
    font-size: 143%;
  }
}
.c-title-set .jp {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "MS Mincho", serif;
  margin-top: 5%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .c-title-set .jp {
    margin-top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-title-set .jp {
    margin-top: 0.25em;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1395px) {
  .c-title-set .jp {
    margin-top: 0;
  }
}
@media only screen and (min-width: 984px) and (max-width: 1199px) {
  .c-title-set .jp {
    margin-top: 2.5%;
  }
}
.c-title-set.u-align--c {
  align-items: center;
}
.c-title-set {
  /* ========================================
   * LARGE
   * ====================================== */
}
.c-title-set {
  /* ========================================
   * MEDIUM
   * ====================================== */
}
.c-title-set {
  /* ========================================
   * SMALL
   * ====================================== */
}
.c-txt-set {
  display: flex;
  flex-direction: column;
  gap: calc(30 / var(--base) * 1em);
}
@media only screen and (max-width: 767px) {
  .c-txt-set {
    gap: calc(20 / var(--base) * 1em);
  }
}
.c-txt-set__title {
  font-size: 172%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .c-txt-set__title {
    font-size: 158%;
  }
}
@media only screen and (max-width: 767px) {
  .c-txt-set__title {
    font-size: 172%;
  }
}
.c-txt-set__title {
  line-height: 1.8;
  font-weight: var(--fw-body);
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "MS Mincho", serif;
}
.c-txt-set__info {
  font-size: 100%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .c-txt-set__info {
    font-size: 93%;
  }
}
@media only screen and (max-width: 767px) {
  .c-txt-set__info {
    font-size: 100%;
  }
}
.c-txt-set__info {
  line-height: 1.8;
  font-weight: var(--fw-body);
}

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

file name   : common.css
author      : Abilive
style info  : 基本・共通設定
=================================================================== */
/* ==========================================================
   File        : components/_anchor.scss
   Description : Anchor component styles
   Author      : Abilive
   Version     : 1.0.0
   Created     : 2026-05-19
   Updated     : 2026-05-19

   Dependencies:
   - ../settings

   Notes:
   - Base anchor component
   - Use BEM naming convention
========================================================== */
.c-link {
  font-size: 100%;
  line-height: 1;
  font-weight: var(--fw-lead);
  display: flex;
  gap: calc(8 / var(--base) * 1em);
  align-items: center;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.c-link--sm {
  font-size: 86%;
}
.c-link__icon {
  width: calc(44 / var(--base) * 1em);
  min-width: calc(44 / var(--base) * 1em);
  height: calc(44 / var(--base) * 1em);
  aspect-ratio: 1/1;
  border: 1px solid transparent;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease, background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.c-link__icon svg {
  flex: 1;
}
.c-link--primary .c-link__icon {
  color: transparent;
  border-color: var(--c-cvr2);
  background: var(--c-base-white);
  position: relative;
  transition: opacity 0.3s ease, background 0.3s ease, color 0.3s ease;
}
.c-link--primary .c-link__icon:before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--c-cvr2);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.c-link--primary:hover .c-link__icon {
  color: var(--c-base-white);
  background: var(--c-cvr2);
}
.c-link--primary:hover .c-link__icon:before {
  z-index: -1;
}
.c-link--secondary .c-link__icon {
  color: var(--c-base-white);
  background: var(--c-cvr2);
}
.c-link--secondary:hover .c-link__icon {
  color: var(--c-cvr2);
  border-color: var(--c-cvr2);
  background: var(--c-base-white);
}
.c-link--base {
  font-weight: var(--fw-body);
  color: var(--c-txt-primary);
}
.c-link--base:hover {
  opacity: 0.85;
}
.c-link--outline {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid var(--c-line-white);
  padding: calc(4 / var(--base) * 1em) calc(22 / var(--base) * 1em);
  border-radius: calc(20 / var(--base) * 1em);
  font-weight: var(--fw-body);
}
.c-link--outline:hover {
  background: var(--c-line-white);
  color: var(--c-line-red);
}
.c-link__wrapper.u-align--c .c-link {
  justify-content: center;
}

.c-action {
  border: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(8 / var(--base) * 1em);
  font-size: 86%;
  font-weight: var(--fw-body);
  line-height: 1.2;
  cursor: pointer;
  color: var(--c-base);
}
.c-action__icon {
  display: flex;
  align-items: center;
  color: var(--c-base-black);
}
.c-action__icon svg[aria-hidden=true] {
  display: none;
}
.c-action__icon svg[aria-hidden=false] {
  display: block;
}
.c-action--icon {
  position: relative;
}
.c-action--icon:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
/* ===================================================================
CSS information

file name   : common.css
author      : Abilive
style info  : 基本・共通設定
=================================================================== */
/* ==========================================================
   File        : components/_animation.scss
   Description : JS Scroll Animation
   Author      : Abilive
   Version     : 1.0.0
   Created     : 2026-07-13
   Updated     : 2026-07-13

   Dependencies:
   - ../settings

   Notes:
   - Base anchor component
   - Use BEM naming convention
========================================================== */
/*===========
inview
===========*/
.fadeIn {
  opacity: 0;
  transition: 1s;
}
.fadeIn.is-show {
  opacity: 1;
}

.fadeIn-left {
  opacity: 0;
  transform: translate(-10%, 0);
  transition: 1s;
}
.fadeIn-left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn-right {
  opacity: 0;
  transform: translate(10%, 0);
  transition: 1s;
}
.fadeIn-right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn-up {
  opacity: 0;
  transform: translate(0, 10%);
  transition: transform 1.5s ease, opacity 2s ease;
}
.fadeIn-up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.mouse .over {
  transition: opacity 0.3s ease-in;
}
.mouse .over:hover, .touch .over.touchstart {
  opacity: 0.7;
}
.touch .over {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.touch .over.touchend {
  transition-delay: 200ms;
}

.u-align--c {
  text-align: center;
}
.u-align--r {
  text-align: right;
}

@media only screen and (max-width: 767px) {
  .u-align--c-sp {
    text-align: center;
  }
}

.u-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media only screen and (min-width: 1200px) {
  #abi_page {
    width: 100%;
    margin: auto;
  }
}
@media print {
  #abi_page {
    width: 100%;
    margin: auto;
  }
}
@media only screen and (min-width: 768px) {
  #abi_page {
    font-size: 100% !important;
  }
}

html,
body {
  overscroll-behavior-y: none;
}
/*# sourceMappingURL=common.css.map */
