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

Custom Properties

* ============================================================= */
/* color
============================== */
:root {
  /* text color */
  --base-color: #1c2c43;
  /* key color */
  --key-color: #58e35d;
  --key-color-dark: #58e35d;
  --key-color-light: #8df090;
  /* point color */
  --point-color: #10b2c4;
  --gradation-text: linear-gradient(90deg, var(--key-color-dark) 24.88%, var(--point-color) 100%);
  --gradation-bg: linear-gradient(77deg, var(--key-color-light) 24.88%, var(--point-color) 100%);
  /* background color */
  --bg-color: #f4f4f4;
  /* border color */
  --border-color: #d7ba5c;
}

/* layouts
============================== */
:root {
  /* layouts */
  --inner-padding: calc(20px + var(--slope-1px) * 10);
  --header-height: 110px;
  --header-inner-height: 85px;
  --max-inner-width: 1100px;
  --inner-width: min(var(--max-inner-width), 41.66667%);
  --frame-border-width: 10px;
  --inner-overflow: calc(var(--vw) * 50 - var(--max-inner-width) * .5);
}

@media screen and (max-width: 900px) {
  :root {
    --inner-width: var(--max-inner-width);
    --header-height: 103px;
    --header-inner-height: 98px;
  }
}

@media screen and (max-width: 1160px) {
  :root {
    --inner-overflow: var(--inner-padding);
  }
}

@media screen and (max-width: 500px) {
  :root {
    --inner-width: 100%;
  }
}

/* utility
============================== */
:root {
  --vw: 1vw;
  --vh: 1vh;
  --slope-1px: clamp(0px, -.95663px + .2551vw, 1px);
  --leading-trim: calc((1em - 1lh) / 2);
  --default-1px: calc(1px + var(--slope-1px) * .33333);
  /* fonts */
  --base-font-family: "Noto Sans JP", sans-serif;
  --point-font-family: "Zen Kaku Gothic New", sans-serif;
  --en-font-family: Montserrat, sans-serif;
}

/* icon
============================== */
:root {
  --icon-arrow: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 11 11"><path fill="%231C2C43" d="M8.301 6.1516H1.142c-.1819 0-.3343-.0624-.4574-.1873C.5616 5.8393.5 5.6846.5 5.5s.0615-.3394.1846-.4643c.123-.1249.2755-.1873.4575-.1873H8.301l-1.83-1.8572c-.1284-.1303-.19-.2823-.1846-.4561.0054-.1738.0669-.3258.1846-.4561.1284-.1304.281-.1982.4575-.2037.1765-.0054.329.057.4574.1874l2.9374 2.9812c.0642.0651.1097.1357.1365.2117A.7322.7322 0 0 1 10.5 5.5a.7322.7322 0 0 1-.0401.2444c-.0268.076-.0723.1466-.1365.2117L7.386 8.9373c-.1284.1304-.2809.1928-.4574.1874-.1766-.0055-.329-.0733-.4575-.2037-.1177-.1303-.1792-.2823-.1846-.4561-.0053-.1738.0562-.3258.1846-.4561L8.301 6.1516Z"/></svg>');
  --icon-plus: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 10"><path fill="%231C2C43" d="M4.2857 5.7143H.7143c-.2024 0-.372-.0685-.509-.2054C.0686 5.372 0 5.2024 0 5c0-.2024.0685-.372.2054-.509.1369-.1368.3065-.2053.5089-.2053h3.5714V.7143c0-.2024.0685-.372.2054-.509C4.628.0686 4.7976 0 5 0c.2024 0 .372.0685.509.2054.1368.1369.2053.3065.2053.5089v3.5714h3.5714c.2024 0 .372.0685.509.2054C9.9314 4.628 10 4.7976 10 5c0 .2024-.0685.372-.2054.509-.1369.1368-.3065.2053-.5089.2053H5.7143v3.5714c0 .2024-.0685.372-.2054.509C5.372 9.9314 5.2024 10 5 10c-.2024 0-.372-.0685-.509-.2054-.1368-.1369-.2053-.3065-.2053-.5089V5.7143Z"/></svg>');
  --icon-minus: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 22"><path fill="%23fff" fill-rule="evenodd" d="M2.5002 11.3667c0-.6444.5224-1.1667 1.1667-1.1667h14.2039c.6443 0 1.1666.5223 1.1666 1.1667 0 .6443-.5223 1.1666-1.1666 1.1666H3.6669c-.6443 0-1.1667-.5223-1.1667-1.1666Z" clip-rule="evenodd"/></svg>');
  --icon-plus-black: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 22"><path fill="%23000" fill-rule="evenodd" d="M11.0003 2.5004c.6444 0 1.1667.5223 1.1667 1.1666v6.1663h6.1663c.6443 0 1.1666.5223 1.1666 1.1667 0 .6443-.5223 1.1666-1.1666 1.1666H12.167v6.1663c0 .6443-.5223 1.1667-1.1667 1.1667-.6443 0-1.1666-.5224-1.1666-1.1667v-6.1663H3.6674c-.6443 0-1.1667-.5223-1.1667-1.1666 0-.6444.5224-1.1667 1.1667-1.1667h6.1663V3.667c0-.6443.5223-1.1666 1.1666-1.1666Z" clip-rule="evenodd"/></svg>');
  --icon-minus-black: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 22"><path fill="%23000" fill-rule="evenodd" d="M2.5002 11.3667c0-.6444.5224-1.1667 1.1667-1.1667h14.2039c.6443 0 1.1666.5223 1.1666 1.1667 0 .6443-.5223 1.1666-1.1666 1.1666H3.6669c-.6443 0-1.1667-.5223-1.1667-1.1666Z" clip-rule="evenodd"/></svg>');
  --icon-address-black: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 11 15"><path fill="%23000" d="M2.1503 1.0798A5.6122 5.6122 0 0 1 5.4637 0h.0724c1.164 0 2.328.3602 3.3135 1.0798 2.56 1.8691 2.7196 5.25 1.0852 7.9594-1.5464 2.5656-4.0832 5.151-4.0832 5.151a.404.404 0 0 1-.3517.1509.404.404 0 0 1-.3516-.1509s-2.5365-2.5854-4.0833-5.151C-.569 6.3298-.4098 2.949 2.1503 1.0798ZM5.536 8.1892c1.4757 0 2.6717-1.191 2.6717-2.6604S7.0118 2.8684 5.536 2.8684c-1.4756 0-2.6716 1.191-2.6716 2.6604s1.196 2.6604 2.6716 2.6604Z"/></svg>');
  --icon-address-white: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 11 15"><path fill="%23fff" d="M2.1503 1.0798A5.6122 5.6122 0 0 1 5.4637 0h.0724c1.164 0 2.328.3602 3.3135 1.0798 2.56 1.8691 2.7196 5.25 1.0852 7.9594-1.5464 2.5656-4.0832 5.151-4.0832 5.151a.404.404 0 0 1-.3517.1509.404.404 0 0 1-.3516-.1509s-2.5365-2.5854-4.0833-5.151C-.569 6.3298-.4098 2.949 2.1503 1.0798ZM5.536 8.1892c1.4757 0 2.6717-1.191 2.6717-2.6604S7.0118 2.8684 5.536 2.8684c-1.4756 0-2.6716 1.191-2.6716 2.6604s1.196 2.6604 2.6716 2.6604Z"/></svg>');
}

/* =============================================================

Base

* ============================================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  height: 100%;
  margin: 0;
  padding: 0;
  font-size: 62.5%;
}

body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  color: var(--base-color);
  letter-spacing: .03em;
  font-weight: 500;
  font-size: calc(1.5rem + var(--slope-1px));
  font-family: var(--base-font-family);
  font-feature-settings: "palt";
  line-height: 1.75;
  -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 900px) {
  body.is-scrolled {
    --header-height: 80px;
  }
}

:where(img, svg) {
  display: block;
  height: auto;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: underline;
  cursor: pointer;
}

a:hover {
  text-decoration: none;
}

@media screen and (min-width: 901px) {
  a[href^="tel:"] {
    text-decoration: none;
    cursor: text;
    pointer-events: none;
  }
}

svg {
  overflow: unset;
}

/* =============================================================

Loader

* ============================================================= */
.l-loader {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: var(--gradation-bg);
  transition: all .3s linear 1.1s;
}

.l-loader__line {
  width: 100%;
}

.l-loader svg {
  width: 100%;
}

body.is-loaded .l-loader {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

/* =============================================================

Wrapper

* ============================================================= */
.l-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  width: 100%;
  min-height: 100%;
  margin-inline: auto;
}

/* =============================================================

Inner

* ============================================================= */
.l-inner {
  position: relative;
  z-index: 1;
  display: grid;
  flex-grow: 1;
  grid-template-rows: 1fr auto;
  overflow: hidden;
  width: var(--inner-width);
  margin-inline: auto;
  padding-top: var(--header-height);
  background: #fff;
  color: var(--base-color);
}

/* l-bg
============================== */
.l-bg {
  position: fixed;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.l-bg__inner {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .2;
  transition: opacity 1s;
}

body.is-bg-bubble-highlighted .l-bg__inner {
  opacity: 1;
}

body[data-id="index"] .l-bg {
  opacity: 0;
  transition: opacity 1s 3.5s;
}

body[data-id="index"].is-loaded .l-bg {
  opacity: 1;
}

/* =============================================================

Header

* ============================================================= */
/* header
=============================== */
.l-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1000;
  display: flex;
  align-items: flex-end;
  height: var(--header-height);
  padding-inline: calc(22px + var(--slope-1px) * 8);
  color: #fff;
  transition: height .4s ease-out;
  pointer-events: none;
}

body.is-scrolled .l-header {
  color: var(--base-color);
}

.l-header__inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  width: 100%;
  height: var(--header-inner-height);
  padding-inline: 10px;
}

@media screen and (max-width: 900px) {
  .l-header__inner {
    flex-direction: column;
    padding-block: 15px;
  }
}

.l-header__logo {
  width: 420px;
  max-width: 100%;
  padding-block: 25px;
  transition: all .4s ease-out;
  pointer-events: auto;
}

@media screen and (max-width: 900px) {
  .l-header__logo {
    width: 310px;
    padding-block: 0;
  }
}

body.is-scrolled .l-header__logo {
  height: 0;
  padding-block: 0;
  opacity: 0;
  pointer-events: none;
}

.l-header__logo a {
  display: block;
  transition: all .2s;
}

.l-header__logo a:hover {
  opacity: .8;
}

.l-header__logo a svg path {
  fill: #fff;
}

.l-header__menu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 22px;
  padding-block: 20px;
  border-radius: 80px;
  border-radius: 37.5px;
  transition: all .4s ease-out;
  pointer-events: auto;
}

body.is-scrolled .l-header__menu {
  padding-inline: 50px 40px;
  background: #fff;
  box-shadow: 0 0 10px 0 rgba(28, 44, 67, .2);
}

@media screen and (max-width: 900px) {
  .l-header__menu {
    gap: 16px;
    padding-block: 0;
  }
  body.is-scrolled .l-header__menu {
    padding: 15px 20px;
  }
}

/* l-header-category-nav
============================== */
.l-header-category-nav {
  display: flex;
  gap: 22px;
  font-weight: 500;
  font-size: 16px;
}

.l-header-category-nav a {
  text-decoration: none;
}

@media screen and (max-width: 1200px) {
  .l-header-category-nav {
    display: none;
  }
}

.l-header-category-nav__item {
  position: relative;
  flex-shrink: 0;
}

.l-header-category-nav__drawer {
  position: absolute;
  top: 100%;
  left: 50%;
  visibility: hidden;
  width: fit-content;
  min-width: 200px;
  padding-top: 20px;
  opacity: 0;
  transition: all .3s ease-out;
  transform: translateX(-50%);
  pointer-events: none;
}

body.is-scrolled .l-header-category-nav__drawer {
  padding-top: 40px;
}

.l-header-category-nav__item:hover .l-header-category-nav__drawer {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.l-header-category-nav__list {
  position: relative;
  display: grid;
  grid-template-columns: 100%;
  gap: 20px;
  padding: 30px 22px 25px;
  border-radius: 20px;
  background: #fff;
  color: var(--base-color);
  filter: drop-shadow(0 0 10px rgba(28, 44, 67, .2));
}

.l-header-category-nav__list > li {
  position: relative;
  z-index: 1;
  margin-block: var(--leading-trim);
  font-size: 14px;
}

.l-header-category-nav__list > li a:hover {
  text-decoration: underline;
}

.l-header-category-nav__list:before {
  content: "";
  position: absolute;
  top: -5px;
  right: 0;
  left: 0;
  display: block;
  width: 10px;
  height: 10px;
  margin-inline: auto;
  border-radius: 50%;
  background: #fff;
}

/* l-header-button-container
============================== */
.l-header-button-container {
  display: grid;
  align-items: center;
  grid-template-columns: repeat(2, 130px);
  gap: 10px;
}

/* l-header-button
============================== */
.l-header-button {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr auto;
  height: 35px;
  padding-inline: 20px 15px;
  border: 1px solid var(--base-color);
  border-radius: 35px;
  background: #fff;
  color: var(--base-color);
  text-decoration: none;
  font-weight: bold;
  font-size: 14px;
}

.l-header-button._primary {
  background: var(--base-color);
  color: #fff;
}

.l-header-button__arrow {
  position: relative;
  display: block;
  overflow: hidden;
  width: 10px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
}

.l-header-button__arrow:before, .l-header-button__arrow:after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: currentColor;
  mask: var(--icon-arrow) 50% 50%/contain no-repeat;
  animation-duration: .2s;
  animation-fill-mode: forwards;
}

.l-header-button__arrow:after {
  transform: translateX(-100%);
}

:is(a, button):hover .l-header-button__arrow:before {
  animation-name: hoverArrowBefore;
  animation-delay: 0s;
}

:is(a, button):hover .l-header-button__arrow:after {
  animation-name: hoverArrowAfter;
  animation-delay: .2s;
}

/* l-header-toggle-button
=============================== */
.l-header-toggle-button {
  position: relative;
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 25px;
  margin: 0;
  padding: 0;
  outline: none;
  border: 0;
  background: transparent;
  color: currentColor;
  cursor: pointer;
  transition: opacity .25s;
  appearance: none;
}

.l-header-toggle-button:hover {
  opacity: .8;
}

.l-header-toggle-button > span,
.l-header-toggle-button > span:before,
.l-header-toggle-button > span:after {
  position: absolute;
  display: block;
  height: 3px;
  border-radius: 3px;
}

.l-header-toggle-button > span {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  margin: auto;
  background: currentColor;
  font-size: 11px;
  transition: background .2s;
}

.l-header-toggle-button > span:before, .l-header-toggle-button > span:after {
  content: "";
  left: 0;
  width: 100%;
  background: currentColor;
  transition: top .2s .2s, bottom .2s .2s, transform .2s, background .2s;
}

.l-header-toggle-button > span:before {
  top: -7px;
}

.l-header-toggle-button > span:after {
  bottom: -7px;
}

.l-header-toggle-button > span > span {
  display: none;
}

body.is-toggle-menu-open .l-header-toggle-button {
  color: var(--base-color);
}

body.is-toggle-menu-open .l-header-toggle-button > span {
  background: transparent;
  transition: background .2s .2s;
}

body.is-toggle-menu-open .l-header-toggle-button > span:before, body.is-toggle-menu-open .l-header-toggle-button > span:after {
  transition: top .2s, bottom .2s, transform .2s .2s, background .2s .2s;
}

body.is-toggle-menu-open .l-header-toggle-button > span:before {
  top: 0;
  transform: rotate(45deg);
}

body.is-toggle-menu-open .l-header-toggle-button > span:after {
  bottom: 0;
  transform: rotate(-45deg);
}

/* l-header-overlay-menu
=============================== */
.l-header-overlay-menu {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: block;
  visibility: hidden;
  width: 100%;
  height: 100%;
  background: #e2fff5;
  color: var(--base-color);
  opacity: 0;
  transition: all .4s ease-out;
  pointer-events: none;
}

body.is-toggle-menu-open .l-header-overlay-menu {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.l-header-overlay-menu a {
  text-decoration: none;
}

.l-header-overlay-menu__inner {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 2;
  overflow-y: auto;
  width: 100%;
  height: calc(var(--vh) * 100);
  margin-inline: auto;
  padding-inline: var(--inner-padding);
  padding-top: var(--header-height);
  padding-bottom: var(--header-height);
  color: #fff;
  opacity: 0;
  transition: opacity .2s;
  pointer-events: none;

  overscroll-behavior-y: none;
}

@media screen and (min-width: 901px) {
  .l-header-overlay-menu__inner {
    display: flex;
    align-items: center;
  }
}

body.is-toggle-menu-open .l-header-overlay-menu__inner {
  opacity: 1;
  pointer-events: auto;
}

/* l-header-overlay-grid
============================== */
.l-header-overlay-grid {
  display: grid;
  align-items: center;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(40px, -37.25322px + 8.58369vw, 80px);
  width: 1100px;
  max-width: 100%;
  margin-inline: auto;
}

@media screen and (max-width: 900px) {
  .l-header-overlay-grid {
    grid-template-columns: 100%;
    gap: 40px;
    max-width: calc(310px + var(--slope-1px) * 110);
  }
}

/* l-header-overlay-header
============================== */
.l-header-overlay-header {
  display: grid;
  grid-template-columns: 100%;
  gap: 45px;
}

@media screen and (max-width: 900px) {
  .l-header-overlay-header {
    gap: 27px;
  }
}

.l-header-overlay-header__logo {
  width: clamp(360px, 244.12017px + 12.87554vw, 420px);
  max-width: 100%;
}

.l-header-overlay-header__logo svg path {
  fill: var(--base-color);
}

.l-header-overlay-header__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 35px;
  letter-spacing: .07em;
  font-weight: 700;
  font-size: clamp(52px, 21.09871px + 3.43348vw, 68px);
  font-family: var(--point-font-family);
}

@media screen and (max-width: 900px) {
  .l-header-overlay-header__copy {
    gap: 25px;
    font-size: 40px;
  }
}

.l-header-overlay-header__copy > span {
  display: block;
  margin-block: var(--leading-trim);
  background: var(--gradation-text);
  -webkit-background-clip: text;
          background-clip: text;

  -webkit-text-fill-color: transparent;
}

/* l-header-overlay-sitemap
============================== */
.l-header-overlay-sitemap {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 40px;
  width: 100%;
  max-width: 420px;
  margin-inline: auto;
}

@media screen and (max-width: 900px) {
  .l-header-overlay-sitemap {
    gap: 30px;
  }
}

.l-header-overlay-sitemap__item {
  display: grid;
  grid-template-columns: 100%;
  gap: 30px;
  padding: 10px 0 10px 15px;
  border-left: 1px solid #d9d6d6;
}

.l-header-overlay-sitemap__item[data-category=index] {
  grid-column: span 2;
}

@media screen and (max-width: 900px) {
  .l-header-overlay-sitemap__item[data-category=environment] {
    grid-column: span 2;
  }
}

.l-header-overlay-sitemap__button {
  display: grid;
  align-self: center;
  grid-template-columns: 100%;
  gap: 10px;
  width: 100%;
}

@media screen and (max-width: 900px) {
  .l-header-overlay-sitemap__button {
    grid-template-columns: repeat(2, 1fr);
    grid-column: span 2;
    max-width: 270px;
    margin-inline: auto;
    margin-top: 10px;
  }
}

.l-header-overlay-sitemap__head {
  margin-block: var(--leading-trim);
  color: var(--key-color-dark);
  font-size: calc(12px + var(--slope-1px) * 2);
}

.l-header-overlay-sitemap__body {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(15px + var(--slope-1px) * 5);
  font-weight: 500;
  font-size: calc(14px + var(--slope-1px) * 2);
}

.l-header-overlay-sitemap__body > li {
  margin-block: var(--leading-trim);
}

.l-header-overlay-sitemap__body a:hover {
  text-decoration: underline;
}

.l-header-overlay-sitemap a {
  color: var(--base-color);
}

/* =============================================================

Main

* ============================================================= */
/* l-main
=============================== */
.l-main {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 100%;
}

.l-main:has(.l-main__head) {
  width: 100%;
  max-width: calc(var(--max-inner-width) + var(--inner-padding) * 2);
  margin-inline: auto;
  padding-inline: var(--inner-padding);

  --padding-top: calc(150px + var(--slope-1px) * 65);
}

.l-main:has(.l-main__head):before {
  content: "";
  position: relative;
  left: 50%;
  z-index: -1;
  display: block;
  width: calc(100 * var(--vw));
  height: var(--padding-top);
  background: var(--gradation-bg);
  transform: translateX(-50%);
}

.l-main:has(.l-main__head):after {
  content: "";
  position: absolute;
  top: 1px;
  left: 50%;
  z-index: -1;
  width: calc(100 * var(--vw));
  height: var(--padding-top);
  background: url(../img/mv-wave.svg) bottom center/contain no-repeat;
  transform: translateX(-50%);
}

.l-main__head {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  gap: calc(18px + var(--slope-1px) * 6);
  margin-bottom: calc(45px + var(--slope-1px) * 5);
}

.l-main__body:not(:has(.c-interview-other)) {
  padding-bottom: 100px;
}

@media screen and (max-width: 900px) {
  .l-main__body:not(:has(.c-interview-other)) {
    padding-bottom: 75px;
  }
}

/* l-main-head-line
============================== */
.l-main-head-line {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  width: calc(100 * var(--vw));
  transform: translateX(-50%);

  --line-path-animation-delay: 1.5s;
}

.l-main-head-line svg {
  width: 100%;
}

/* l-main-foot-line
============================== */
.l-main-foot-line {
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: -1;
  display: flex;
  align-items: flex-end;
  width: calc(var(--vw) * 100);
  min-height: calc(var(--vh) * 50);
  margin-bottom: calc(var(--vw) * 100 / 1440 * -27);
  transform: translateX(-50%);
}

@media screen and (max-width: 560px) {
  .l-main-foot-line {
    margin-bottom: calc(100% / 375 * -22);
  }
}

.l-main-foot-line svg {
  width: 40.19034%;
}

@media screen and (max-width: 560px) {
  .l-main-foot-line svg {
    width: 36.53333%;
  }
}

/* =============================================================

Footer

* ============================================================= */
/* l-footer
============================== */
.l-footer {
  position: relative;
}

/* l-footer-contact
============================== */
.l-footer-contact {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  aspect-ratio: 1366 / 728;
  padding-inline: var(--inner-padding);
  padding-top: calc(100% / 1366 * 74);
  color: #fff;

  --slope-contact-px: clamp(.40996px, 0px + .07321vw, 1px);
}

@media screen and (max-width: 560px) {
  .l-footer-contact {
    max-height: 850px;
    aspect-ratio: 375 / 784;
    padding-top: 0;
    padding-bottom: calc(100% / 375 * 30);
  }
}

.l-footer-contact:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/bg-footer.svg) top center/cover no-repeat;
}

@media screen and (max-width: 560px) {
  .l-footer-contact:after {
    background-image: url(../img/bg-footer-sp.svg);
  }
}

.l-main:has(.c-interview-other:last-child) + .l-footer .l-footer-contact:after {
  background-color: #e2fff5;
}

.l-footer-contact__inner {
  width: 1100px;
  max-width: 100%;
  margin-inline: auto;
}

.l-footer-contact__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(40 * var(--slope-contact-px));
  margin-bottom: calc(50 * var(--slope-contact-px));
  text-align: center;
}

@media screen and (max-width: 560px) {
  .l-footer-contact__head {
    gap: 28px;
    margin-bottom: 33px;
  }
}

.l-footer-contact__lead {
  display: flex;
  flex-wrap: wrap;
  gap: 0 .5em;
  margin-block: var(--leading-trim);
  text-shadow: 0 0 10px rgba(28, 44, 67, .2);
  font-weight: 700;
  font-size: calc(74 * var(--slope-contact-px));
  font-family: var(--point-font-family);
  line-height: 1.25;
}

@media screen and (max-width: 560px) {
  .l-footer-contact__lead {
    flex-direction: column;
    letter-spacing: .15em;
    font-size: 54px;
  }
}

.l-footer-contact__text {
  margin-block: var(--leading-trim);
  font-size: clamp(16px, 10.8037px + 1.03926vw, 25px);
  line-height: 1.5;
}

@media screen and (max-width: 900px) {
  .l-footer-contact__text {
    font-size: calc(16px + var(--slope-1px) * 9);
  }
}

/* l-footer-contact-button-grid
============================== */
.l-footer-contact-button-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(30 * var(--slope-contact-px));
}

@media screen and (max-width: 560px) {
  .l-footer-contact-button-grid {
    grid-template-columns: 100%;
    gap: 20px;
  }
}

/* l-footer-contact-button
============================== */
.l-footer-contact-button {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: calc(30 * var(--slope-contact-px));
  height: calc(220 * var(--slope-contact-px));
  border-radius: 20px;
  background: #fff;
  color: var(--base-color);
  text-align: center;
  text-decoration: none;
  font-weight: 700;
  font-size: calc(45 * var(--slope-contact-px));
  font-family: var(--point-font-family);
  transition: all .2s;
}

@media screen and (max-width: 560px) {
  .l-footer-contact-button {
    gap: 16px;
    height: 130px;
    font-size: 26px;
  }
}

.l-footer-contact-button._primary {
  background: var(--base-color);
  color: #fff;
}

.l-footer-contact-button__icon {
  display: block;
  width: calc(60 * var(--slope-contact-px));
  aspect-ratio: 1 / 1;
}

@media screen and (max-width: 560px) {
  .l-footer-contact-button__icon {
    width: 36px;
  }
}

.l-footer-contact-button__icon :is(svg, img) {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.l-footer-contact-button__text {
  display: block;
  margin-block: var(--leading-trim);
  letter-spacing: .1em;
}

.l-footer-contact-button__arrow {
  content: "";
  position: absolute;
  right: calc(25 * var(--slope-contact-px));
  bottom: calc(22 * var(--slope-contact-px));
  display: block;
  width: calc(65 * var(--slope-contact-px));
  aspect-ratio: 1 / 1;
  border: 2px solid;
  border-radius: 50%;
  background: #fff;
}

@media screen and (max-width: 900px) {
  .l-footer-contact-button__arrow {
    right: 28px;
    bottom: 16px;
    width: 32px;
  }
}

.l-footer-contact-button__arrow > span {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  overflow: hidden;
  width: calc(100% / 65 * 27);
  aspect-ratio: 1 / 1;
  margin: auto;
  border-radius: 50%;
}

.l-footer-contact-button__arrow > span:before, .l-footer-contact-button__arrow > span:after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: var(--icon-arrow) 50% 50%/contain no-repeat;
  animation-duration: .4s;
  animation-fill-mode: forwards;
}

.l-footer-contact-button__arrow > span:after {
  transform: translateX(-100%);
}

:is(a, button):hover .l-footer-contact-button__arrow > span:before {
  animation-name: hoverArrowBefore;
  animation-delay: 0s;
}

:is(a, button):hover .l-footer-contact-button__arrow > span:after {
  animation-name: hoverArrowAfter;
  animation-delay: .2s;
}

.l-footer-contact-button._primary .l-footer-contact-button__arrow {
  border: 0;
}

/* l-footer-copyright
============================== */
.l-footer-copyright {
  padding: calc(15px + var(--slope-1px) * 5);
  background: #fff;
  text-align: center;
  font-weight: 500;
  font-size: calc(12px + var(--slope-1px) * 2);
  font-family: var(--en-font-family);
  line-height: 1;
}

/* l-footer-line
============================== */
.l-footer-line {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  width: calc(100% / 1366 * 761);
  margin-top: calc(100% / 1366 * 21);
  margin-left: calc(100% / 1366 * 33);
  transform: translateX(-50%);
}

@media screen and (max-width: 560px) {
  .l-footer-line {
    width: calc(100% / 375 * 319);
    margin-top: calc(100% / 375 * 17);
    margin-left: calc(100% / 375 * -14);
  }
}

.l-footer-line svg {
  width: 100%;
}

/* l-footer-leaf
============================== */
.l-footer-leaf {
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(100% / 1366 * 148);
  margin-right: calc(100% / 1366 * 372);

  mask-image: linear-gradient(to top, black 0%, black 50%, transparent 50%, transparent 100%);
  mask-size: 100% 200%;
  mask-position: 0% 0%;
  mask-repeat: no-repeat;
}

@media screen and (max-width: 560px) {
  .l-footer-leaf {
    width: calc(100% / 375 * 119);
    margin-right: calc(100% / 375 * 38);
  }
}

.l-footer.is-line-showed .l-footer-leaf {
  animation: footerLeaf .5s linear forwards 1.5s;
}

.l-footer-leaf svg {
  display: block;
  width: 100%;
  height: auto;
}

@keyframes footerLeaf {
  from {
    mask-position: 0% 0%;
  }
  to {
    mask-position: 0% 100%;
  }
}

/* ============================================================= *

Grid

* ============================================================= */
/* tile
=============================== */
.c-tile-grid {
  display: flex;
  flex-wrap: wrap;
}

.c-tile-grid__item {
  width: 50%;
}

@media screen and (max-width: 900px) {
  .c-tile-grid[data-col-tablet="1"] .c-tile-grid__item {
    width: 100%;
  }
}

/* ============================================================= *

Button

* ============================================================= */
/* c-grad-arrow
============================== */
.c-grad-arrow {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  padding: 2px;
  border-radius: 50%;
  background: var(--gradation-text);
}

.c-grad-arrow:before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: #fff;
}

.c-grad-arrow > span {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  overflow: hidden;
  width: 41.25%;
  aspect-ratio: 1 / 1;
  margin: auto;
  border-radius: 50%;
}

.c-grad-arrow > span:before, .c-grad-arrow > span:after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/icon/grad-arrow.svg) 50% 50%/contain no-repeat;
  animation-duration: .4s;
  animation-fill-mode: forwards;
}

.c-grad-arrow > span:after {
  transform: translateX(-100%);
}

:is(a, button):hover .c-grad-arrow > span:before {
  animation-name: hoverArrowBefore;
  animation-delay: 0s;
}

:is(a, button):hover .c-grad-arrow > span:after {
  animation-name: hoverArrowAfter;
  animation-delay: .2s;
}

/* ============================================================= *

Common - Tab

* ============================================================= */
*[data-tab-id] {
  display: none;
}

*[data-tab-id].is-current {
  display: block;
}

/* ============================================================= *

Section

* ============================================================= */
/* c-section
============================== */
.c-section {
  margin-top: calc(75px + var(--slope-1px) * 31);
}

.c-section:first-child {
  margin-top: 0;
}

@media screen and (min-width: 901px) {
  .c-section:first-child {
    margin-top: 50px;
  }
}

.c-section__head {
  margin-bottom: calc(35px + var(--slope-1px) * 15);
}

.c-section__foot {
  margin-top: calc(25px + var(--slope-1px) * 10);
}

/* c-section-container-grid
============================== */
.c-section-container-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(75px + var(--slope-1px) * 31) 20px;
}

@media screen and (max-width: 900px) {
  .c-section-container-grid {
    grid-template-columns: 100%;
  }
}

.c-section-container-grid:not(:first-child) {
  margin-top: calc(75px + var(--slope-1px) * 31);
}

.c-section-container-grid .c-section {
  display: flex;
  flex-direction: column;
  margin-top: 0 !important;
}

.c-section-container-grid .c-section__body {
  flex-grow: 1;
}

.c-section-container-grid .c-section__body > * {
  min-height: 100%;
}

/* ============================================================= *

Guide

* ============================================================= */
/* c-guide-desc
============================== */
.c-guide-desc + .c-guide-desc {
  margin-top: calc(var(--default-1px) * 10);
}

.c-guide-desc__head {
  display: flex;
  margin-block: var(--leading-trim);
  font-weight: bold;
  font-size: calc(var(--default-1px) * 16);
}

.c-guide-desc__head:before {
  content: "\30fb";
  margin-inline: .25em;
}

.c-guide-desc__body {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(var(--default-1px) * 20);
  margin-top: calc(var(--default-1px) * 20);
  padding-left: calc(var(--default-1px) * 16);
  font-size: calc(var(--default-1px) * 15);
}

.c-guide-desc__body > * {
  margin-block: var(--leading-trim);
}

/* c-guide-address
============================== */
.c-guide-address {
  display: flex;
  align-items: center;
  gap: calc(var(--default-1px) * 10);
  font-size: calc(var(--default-1px) * 13);
}

.c-guide-address a {
  text-decoration: underline;
}

.c-guide-address a:hover {
  text-decoration: none;
}

.c-guide-address:before {
  content: "";
  display: block;
  display: block;
  flex-shrink: 0;
  width: 11px;
  height: 15px;
  background: var(--icon-address-white) 50% 50%/contain no-repeat;
}

.c-section._bg .c-guide-address:before {
  background-image: var(--icon-address-black);
}

/* c-guide-list
============================== */
.c-guide-list {
  display: grid;
  grid-template-columns: 100%;
  gap: .4em;
  font-size: calc(var(--default-1px) * 14);
}

.c-guide-list > li {
  position: relative;
  padding-left: 1.25em;
  line-height: 1.8;
}

.c-guide-list > li:before {
  content: "-";
  position: absolute;
  top: 0;
  left: 0;
}

.c-guide-list > li em {
  font-weight: bold;
}

.c-guide-list > li:has(em):before {
  font-weight: bold;
}

.c-guide-list > li small {
  display: block;
  margin-block: .5em;
  font-weight: normal;
  font-size: .86667em;
}

.c-guide-list > li small + small {
  margin-top: 1em;
}

/* c-guide-notes
============================== */
.c-guide-notes {
  font-size: calc(var(--default-1px) * 13);
}

/* ============================================================= *

Text

* ============================================================= */
/* c-text
============================== */
.c-text {
  margin-block: var(--leading-trim);
  font-size: calc(14px + var(--slope-1px) * 2);
}

@media screen and (min-width: 901px) {
  .c-text {
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
}

.c-text:not(:last-child) {
  margin-bottom: calc(35px + var(--slope-1px) * 21);
}

/* c-notes
============================== */
.c-notes {
  display: grid;
  grid-template-columns: 100%;
  gap: .5em;
  margin-top: calc(20px + var(--slope-1px) * 10);
  font-size: calc(14px + var(--slope-1px) * 2);
}

.c-notes > li {
  margin-block: var(--leading-trim);
  padding-left: 1em;
  text-indent: -1em;
}

.c-notes > li:before {
  content: "\203b";
}

/* ============================================================= *

Animation

* ============================================================= */
@keyframes hoverArrowBefore {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}

@keyframes hoverArrowAfter {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}

/* c-line-path
============================== */
.c-line-path {
  stroke-dasharray: var(--path-length);
  stroke-dashoffset: var(--path-length);
}

.c-line-path:not(.is-moved) {
  opacity: 0;
}

.c-line-path.is-moved {
  animation: draw-svg-line 1.25s linear forwards var(--line-path-animation-delay, 0s);
}

.c-line-path._reverse.is-moved {
  animation: draw-svg-line-reverse 1.25s linear forwards var(--line-path-animation-delay, 0s);
}

@keyframes draw-svg-line {
  from {
    stroke-dashoffset: var(--path-length);
  }
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes draw-svg-line-reverse {
  from {
    stroke-dashoffset: calc(var(--path-length) * -1);
  }
  to {
    stroke-dashoffset: 0;
  }
}

/* =============================================================

Block

* ============================================================= */
/* c-more-block
============================== */
.c-more-block {
  position: relative;
  width: calc(100% + var(--inner-padding) * 2);
  margin-inline: calc(var(--inner-padding) * -1);
  border-bottom: 1px solid;
}

.c-more-block__body {
  overflow: hidden;
  height: 65vh;
  padding-inline: var(--inner-padding);
  transition: all .5s;
}

.c-more-block.is-open .c-more-block__body {
  height: var(--contents-height);
}

.c-more-block__foot {
  position: relative;
  width: 100%;
  height: 64px;
  background: var(--gradation-blue);
}

.c-section._bg .c-more-block__foot {
  background: var(--gradation-gray);
}

.c-more-block__foot:before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  display: block;
  width: 100%;
  height: 250px;
  background: inherit;
  pointer-events: none;

  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 1 10"><linearGradient id="a" x1="0" x2="0" y1="1" y2="0"><stop offset="0%"/><stop offset="100%" stop-opacity="0"/></linearGradient><path fill="url(%23a)" d="M0 0h1v10H0z"/></svg>');
  -webkit-mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
          mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 1 10"><linearGradient id="a" x1="0" x2="0" y1="1" y2="0"><stop offset="0%"/><stop offset="100%" stop-opacity="0"/></linearGradient><path fill="url(%23a)" d="M0 0h1v10H0z"/></svg>');
          mask-size: 100% 100%;
          mask-repeat: no-repeat;
}

.c-more-block.is-open .c-more-block__foot:before {
  display: none;
}

.c-more-block__button {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  width: 100%;
  height: 100%;
  outline: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-align: center;
  font-weight: 700;
  font-size: calc(var(--default-1px) * 18);
  transition: all .2s;
  appearance: none;
}

.c-more-block__button:hover {
  opacity: .6;
}

.c-more-block__button > span {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.c-more-block__button > span:after {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background: var(--icon) 50% 50%/contain no-repeat;
}

.c-more-block__button > span._open {
  --icon: var(--icon-plus);
}

.c-more-block.is-open .c-more-block__button > span._open {
  display: none;
}

.c-section._bg .c-more-block__button > span._open {
  --icon: var(--icon-plus-black);
}

.c-more-block__button > span._close {
  display: none;

  --icon: var(--icon-minus);
}

.c-more-block.is-open .c-more-block__button > span._close {
  display: flex;
}

.c-section._bg .c-more-block__button > span._close {
  --icon: var(--icon-minus-black);
}

/* ============================================================= *

Blog

* ============================================================= */
.c-blog-container__table {
  width: 100%;
}

.c-blog-container__td > article + article {
  margin-top: 50px;
}

.c-blog-container img {
  display: inline;
}

.c-blog-container article {
  overflow: hidden;
  border-radius: 4px;
  background: var(--bg-color);
}

.c-section._bg .c-blog-container article {
  --bg-color: #fff;
}

.c-blog-container .blog__header {
  padding: 20px;
  background: #333;
  color: #fff;
}

.c-blog-container .blog__title {
  margin-top: -.2em;
  font-weight: bold;
  font-size: calc(18px + var(--slope-1px) * 2);
  line-height: 1.4;
}

.c-blog-container .blog__date {
  margin-top: .4em;
  color: #b0b0b0;
  font-weight: bold;
  font-size: calc(14px + var(--slope-1px) * 1);
  line-height: 1;
}

.c-blog-container .blog__body {
  padding: 20px;
  word-break: break-all;
}

.c-blog-container .blog__body img {
  height: auto;
  max-width: 100%;
}

.c-blog-container .blog__paging {
  margin-top: 3rem;
  text-align: right;
}

/* =============================================================

Calendar

* ============================================================= */
.c-calendar-container {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 9999;
  width: var(--inner-width);
  height: 100%;
  max-width: 100%;
  margin: 0 auto;
  opacity: 0;
  transition: padding .4s ease-in-out, opacity .4s ease-in-out, left .1s linear .4s;
  pointer-events: none;
}

.c-calendar-container.is-visible {
  opacity: 1;
  transition: padding .4s ease-in-out, opacity .4s ease-in-out;
  pointer-events: auto;
}

.c-calendar-container__inner {
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--inner-width);
  height: 100%;
  max-width: 100%;
  background: rgba(0, 0, 0, .8);
}

.c-calendar-container__inner > div {
  position: relative;
}

.c-calendar-container__close {
  content: "";
  position: absolute;
  top: -70px;
  right: 0;
  display: block;
  width: 60px;
  height: 60px;
  cursor: pointer;
}

.c-calendar-container__close:before, .c-calendar-container__close:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 141.42136%;
  height: 2px;
  background: #fff;
}

.c-calendar-container__close:before {
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

.c-calendar-container__close:after {
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}

.c-calendar {
  position: relative;
  display: block;
}

.c-calendar__container {
  display: flex;
}

.c-calendar__container > * {
  margin: 0 1.5em;
}

.c-calendar__container > *:last-child {
  display: none;
}

.c-calendar._next .c-calendar__container > * {
  display: none;
}

.c-calendar._next .c-calendar__container > *:last-child {
  display: block;
}

.c-calendar__arrow {
  position: absolute;
  top: 3.5em;
  right: 3.5em;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.c-calendar__arrow > button {
  top: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.2rem;
  height: 1.2rem;
  margin: auto 0;
  margin: 0 .8rem;
  outline: none;
  border: 0;
  border-bottom: 3px solid;
  background: transparent;
  color: var(--key-color);
  text-decoration: none;
  font-size: 0;
}

.c-calendar__arrow > button._prev {
  border-left: 3px solid;
  transform: rotate(45deg);
}

.c-calendar__arrow > button._next {
  border-right: 3px solid;
  transform: rotate(-45deg);
}

.c-calendar__arrow > button:hover {
  opacity: .7;
  transition: all .3s;
}

.c-calendar__arrow > button.is-disabled {
  opacity: .3;
  transition: none;
  pointer-events: none;
}

.c-calendar-notice__item {
  display: inline-block;
  padding: .5em;
}

.c-calendar-notice__item .cal_close04 {
  color: #aaa;
}

.c-calendar-notice__item .cal_close01 {
  color: var(--key-color);
  font-style: normal;
}

.c-calendar-box {
  display: flex;
  flex-direction: column;
  padding: 2em 2em 1.5em;
  background: #fff;
  box-shadow: 0px 0px 6px 3px rgba(0, 0, 0, .2);
}

.c-calendar-box__head {
  position: relative;
  display: flex;
  align-items: flex-end;
  width: 100%;
  margin-bottom: 1.11111em;
  font-weight: bold;
  font-size: .9375em;
}

.c-calendar-box__head .cal_month {
  position: relative;
  font-size: 3.33333em;
  line-height: .8;
}

.c-calendar-box__head .cal_month i {
  position: absolute;
  bottom: 0;
  left: calc(100% + 3.5em);
  font-style: normal;
  font-size: .3em;
  line-height: 1;
}

.c-calendar-box__head .cal_year {
  margin-left: .5em;
  line-height: 1;
}

.c-calendar-box__body {
  width: 100%;
  margin-bottom: auto;
}

.c-calendar-box__foot {
  width: 100%;
  margin-top: 1em;
}

.c-calendar-box .cal {
  border-collapse: collapse;
  table-layout: fixed;
  font-weight: regular;
  font-family: "Roboto Condensed", sans-serif;
}

.c-calendar-box .cal th {
  padding-bottom: .5em;
}

.c-calendar-box .cal th > div {
  padding: .77778em 0;
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
  text-align: center;
  line-height: .7;
}

.c-calendar-box .cal td {
  padding: 1px;
  text-align: center;
}

.c-calendar-box .cal td > div {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3em;
  height: 3em;
  margin: 0 auto;
  padding: .75em;
}

.c-calendar-box .cal td .cal_sat {
  color: #227cbd;
}

.c-calendar-box .cal .cal_sun,
.c-calendar-box .cal .cal_holiday {
  color: #de0000;
}

.c-calendar-box .cal td .cal_close01 {
  background-color: var(--key-color);
  color: #fff;
}

.c-calendar-box .cal td .cal_close04 {
  background-color: #aaa;
  color: #fff;
}

/* ============================================================= *

Interview

* ============================================================= */
/* c-interview-nav
============================== */
.c-interview-nav {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: calc(13px + var(--slope-1px) * 12);
  width: 100%;
  aspect-ratio: 675 / 500;
  padding-bottom: calc(100% / 675 * 62);
  text-decoration: none;
}

.c-interview-nav:not(._top) {
  --slope-1px: 0px;
}

@media screen and (max-width: 900px) {
  .c-interview-nav {
    aspect-ratio: unset;
    padding-bottom: 0;
    padding-left: 6px;
  }
}

.c-interview-nav__image {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
  width: calc(100% / 675 * 505);
  aspect-ratio: 1134 / 1095;
}

@media screen and (max-width: 900px) {
  .c-interview-nav__image {
    position: relative;
    width: calc(100% / 335 * 323);
    margin-bottom: calc(-13px + var(--slope-1px) * -12);
    margin-left: auto;
  }
}

.c-interview-nav__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: all .4s ease-out;
}

.c-interview-nav__head {
  margin-block: var(--leading-trim);
  font-size: calc(18px + var(--slope-1px) * 10);
  transition: all .4s ease-out;
}

.c-interview-nav__body {
  display: flex;
  flex-direction: column;
  gap: calc(8px + var(--slope-1px) * 2);
  transition: all .4s ease-out;
}

.c-interview-nav__body > div {
  display: block;
  width: fit-content;
  padding: calc(6px + var(--slope-1px) * 2) calc(10px + var(--slope-1px) * 4) calc(10px + var(--slope-1px) * 2);
  background: #fff;
  box-shadow: 0 0 10px 0 rgba(28, 44, 67, .2);
  font-size: calc(25px + var(--slope-1px) * 10);
  font-family: var(--point-font-family);
}

.c-interview-nav__body > div > span {
  display: block;
  margin-block: var(--leading-trim);
  background: var(--gradation-text);
  -webkit-background-clip: text;
          background-clip: text;

  -webkit-text-fill-color: transparent;
}

.c-interview-nav__foot {
  display: flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
  padding: 14px;
  border: 1px solid var(--base-color);
  border-radius: 30px;
  background: #fff;
  font-weight: 700;
  font-size: calc(13px + var(--slope-1px) * 1);
  font-family: var(--point-font-family);
  line-height: 1;
  transition: all .2s;
}

.c-interview-nav__foot:after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  background: currentColor;
  mask: var(--icon-arrow) 50% 50%/contain no-repeat;
}

@media screen and (min-width: 901px) {
  .c-interview-nav:hover .c-interview-nav__foot {
    background: var(--base-color);
    color: #fff;
  }
}

/* c-interview-header
============================== */
.c-interview-header {
  display: grid;
  align-items: center;
  grid-template-columns: 45.45455% 1fr;
  gap: 35px 50px;
  margin-bottom: calc(86px + var(--slope-1px) * 14);
}

@media screen and (max-width: 900px) {
  .c-interview-header {
    grid-template-columns: 100%;
  }
}

.c-interview-header__contents {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(25px + var(--slope-1px) * 5);
}

.c-interview-header__head {
  margin-block: var(--leading-trim);
  font-weight: 500;
  font-size: calc(18px + var(--slope-1px) * 4);
}

.c-interview-header__body {
  margin-block: var(--leading-trim);
  font-weight: 500;
  font-size: calc(14px + var(--slope-1px) * 2);
  line-height: 1.5;
}

.c-interview-header__image img {
  border-radius: 20px;
}

/* c-interview-contents
============================== */
.c-interview-contents {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(45px + var(--slope-1px) * 20);
}

/* c-interview-block
============================== */
.c-interview-block {
  display: grid;
  grid-template-columns: 1fr 72.72727%;
  gap: 25px;
}

@media screen and (max-width: 900px) {
  .c-interview-block {
    grid-template-columns: 100%;
  }
}

.c-interview-block__head {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: flex-start;
  gap: calc(20px + var(--slope-1px) * 10);
  width: fit-content;
  font-weight: 700;
  font-size: 22px;
  line-height: 1;
}

.c-interview-block__head > i {
  position: relative;
  display: block;
  background: var(--gradation-text);
  -webkit-background-clip: text;
          background-clip: text;
  font-weight: 700;
  font-style: normal;
  font-size: calc(40px + var(--slope-1px) * 10);
  font-family: var(--en-font-family);
  line-height: .8;

  -webkit-text-fill-color: transparent;
}

.c-interview-block__head > i:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(100% + 8px);
  width: calc(50px + var(--slope-1px) * 13);
  aspect-ratio: 63 / 50;
  background: url(../img/interview/leaf.svg) 50% 50%/contain no-repeat;
}

.c-interview-block__body {
  position: relative;
  display: grid;
  grid-template-columns: 100%;
  gap: calc(35px + var(--slope-1px) * 5);
  overflow: hidden;
  padding: calc(25px + var(--slope-1px) * 15);
  border-radius: 20px;
  border-radius: 20px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--key-color-dark) 10%, transparent) 0%, color-mix(in srgb, var(--point-color) 10%, transparent) 100%);
}

/* c-interview-block-item
============================== */
.c-interview-block-item {
  display: grid;
  grid-template-columns: 100%;
  gap: 20px;

  --label-color: var(--key-color-dark);
}

.c-interview-block-item:nth-child(2n) {
  --label-color: var(--point-color);
}

.c-interview-block-item__head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.c-interview-block-item__label {
  display: block;
  flex-shrink: 0;
  padding: calc(8px + var(--slope-1px) * 2) 10px;
  border-radius: 30px;
  background: var(--label-color);
  color: #fff;
  font-weight: 700;
  font-size: calc(12px + var(--slope-1px) * 2);
  line-height: 1;
}

.c-interview-block-item__name {
  margin-block: var(--leading-trim);
  font-weight: 700;
  font-size: calc(14px + var(--slope-1px) * 2);
}

.c-interview-block-item__body {
  margin-block: var(--leading-trim);
  font-weight: 500;
  font-size: calc(14px + var(--slope-1px) * 2);
  line-height: 1.5;
}

/* c-interview-schedule
============================== */
.c-interview-schedule {
  display: grid;
  align-items: flex-start;
  grid-template-columns: 100%;
  gap: 35px;
  margin-top: calc(75px + var(--slope-1px) * 25);
}

@media screen and (min-width: 901px) {
  .c-interview-schedule {
    grid-template-rows: auto 1fr;
    grid-template-columns: 270px 1fr;
    gap: 50px 70px;
    padding-right: 40px;
  }
}

.c-interview-schedule__image img {
  margin-inline: auto;
  border-radius: 20px;
}

@media screen and (min-width: 901px) {
  .c-interview-schedule__body {
    grid-column: 2 / 3;
    grid-row: span 2;
  }
  .c-interview-schedule__image {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }
}

/* c-interview-schedule-timeline
============================== */
.c-interview-schedule-timeline {
  --time-width: calc(70px + var(--slope-1px) * 20);
}

.c-interview-schedule-timeline__item {
  position: relative;
  display: grid;
  align-items: flex-start;
  grid-template-columns: var(--time-width) 1fr;
  gap: 13px;
}

.c-interview-schedule-timeline__item:not(:last-child) {
  padding-bottom: calc(25px + var(--slope-1px) * 15);
}

.c-interview-schedule-timeline__item:not(:last-child):after {
  content: "";
  position: absolute;
  top: 0;
  left: calc(var(--time-width) / 2);
  z-index: -1;
  width: 1px;
  height: 100%;
  background: var(--point-color);
}

.c-interview-schedule-timeline__time {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  border-radius: 30px;
  background: var(--gradation-text);
  color: #fff;
  text-align: center;
  font-weight: 700;
  font-size: calc(14px + var(--slope-1px) * 2);
  line-height: 1;
}

.c-interview-schedule-timeline__contents {
  display: grid;
  gap: calc(15px + var(--slope-1px) * 5);
}

.c-interview-schedule-timeline__head {
  margin-block: var(--leading-trim);
  padding-top: 8px;
  font-weight: 700;
  font-size: calc(16px + var(--slope-1px) * 2);
}

.c-interview-schedule-timeline__body {
  margin-block: var(--leading-trim);
  font-size: calc(14px + var(--slope-1px) * 2);
}

/* c-interview-other
============================== */
.c-interview-other {
  position: relative;
  margin-top: calc(75px + var(--slope-1px) * 25);
  padding-block: calc(55px + var(--slope-1px) * 25) 55px;
}

.c-interview-other:after {
  content: "";
  position: absolute;
  inset: 0;
  left: 50%;
  z-index: -1;
  display: block;
  width: calc(100 * var(--vw));
  height: 100%;
  background: #e2fff5;
  transform: translateX(-50%);
}

.c-interview-other > * {
  position: relative;
  z-index: 1;
}

.c-interview-other__head {
  margin-bottom: 32px;
  padding-inline: .5em;
  text-align: center;
}

@media screen and (max-width: 900px) {
  .c-interview-other__head {
    padding-left: 0;
  }
}

/* c-interview-other-slider
============================== */
.c-interview-other-slider {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}

@media screen and (max-width: 900px) {
  .c-interview-other-slider {
    max-width: 400px;
    margin-inline: auto;
  }
}

/* c-interview-other-control
============================== */
.c-interview-other-control {
  display: none;
  justify-content: flex-start;
  justify-content: center;
  align-items: center;
  gap: 15px;
  width: calc(900px + var(--inner-padding) * 2);
  max-width: 100%;
  margin-inline: auto;
  margin-top: 28px;
  margin-top: 35px;
  padding-inline: var(--inner-padding);
}

@media screen and (max-width: 900px) {
  .c-interview-other-control {
    display: flex;
  }
}

.c-interview-other-control .slick-dots {
  position: static;
  width: fit-content;
}

.c-interview-other-control .slick-arrow {
  position: static;
}

/* ============================================================= *

Maintenance

* ============================================================= */
/* c-maintenance-service
=============================== */
.c-maintenance-service {
  display: flex;
  flex-wrap: wrap;
  width: 103.57143%;
  margin: -1.78571% -1.78571%;
  padding-top: 1px;
}

.c-maintenance-service:not(:first-child) {
  margin-top: 50px;
}

.c-maintenance-service__item {
  width: 50%;
  padding: 1.72414% 1.72414%;
}

.c-maintenance-service__item:first-child:last-child {
  width: 100%;
}

.c-maintenance-service__item:first-child:last-child .c-maintenance-service-block__banner {
  max-width: 50%;
  margin-right: auto;
  margin-left: auto;
}

/* c-maintenance-service-block
=============================== */
.c-maintenance-service-block {
  display: block;
  text-align: center;
  text-decoration: none;
}

.c-maintenance-service-block__lead {
  /* -0.375em for line-height offset */
  margin-top: -.375em;
  margin-bottom: .825em;
  font-weight: bold;
  font-size: .9375em;
}

.c-maintenance-service-block__lead span {
  display: inline-block;
}

.c-maintenance-service-block__banner {
  border: 4px solid var(--border-color);
  transition: opacity .2s;
}

.c-maintenance-service-block:hover .c-maintenance-service-block__banner {
  opacity: .7;
}

.c-maintenance-service-block__desc {
  /* -0.375em for line-height offset */
  margin-top: .625em;
  margin-bottom: -.375em;
  font-size: .875em;
}

/* ============================================================= *

Inspection

* ============================================================= */
/* c-inspection-fig
=============================== */
.c-inspection-fig {
  position: relative;
  max-width: 1080px;
  margin: 0 auto;
  padding-bottom: 0;
}

.c-inspection-fig__notes {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  margin-top: 1em;
}

.c-inspection-fig__notes > li {
  margin: .25em 0;
}

.c-inspection-fig__notes > li:not(:first-child) {
  margin-left: 1.5em;
}

.c-inspection-fig__notes > li > span:after {
  content: "…";
  padding: 0 .25em;
  color: var(--base-color);
}

.c-inspection-fig__notes > li._option > span {
  color: var(--point-color);
}

.c-inspection-fig-image {
  position: relative;
  display: none;
  flex-grow: 0 !important;
}

.c-inspection-fig-image img {
  display: block;
  width: 100%;
  max-width: 532px;
}

.c-inspection-fig-image span {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
}

.c-inspection-fig-image i {
  position: absolute;
  display: block;
  border-width: 0;
  border-style: solid;
  color: #666;
}

.c-inspection-fig-image i._option {
  color: #666;
}

.c-inspection-fig-image i._option > * {
  color: inherit;
}

.c-inspection-fig-box {
  display: flex;
  display: block;
  justify-content: space-between;
  align-items: flex-start;
  margin-left: 0 !important;
}

.c-inspection-fig-box > * {
  width: 100% !important;
  margin-left: 0 !important;
}

.c-inspection-fig-box > * {
  flex-grow: 1;
}

.c-inspection-fig-box[data-col="1"] {
  flex-direction: column;
  align-items: stretch;
}

.c-inspection-fig-box[data-col="1"] > * {
  width: 100%;
}

.c-inspection-fig-box[data-col="1"] > *:not(:last-child) {
  margin-bottom: 1.875em;
}

.c-inspection-fig-box[data-col="2"] > * {
  width: 49%;
}

.c-inspection-fig-box[data-col="2"] > *:not(:first-child) {
  margin-left: 2%;
}

.c-inspection-fig-box[data-col="3"] > * {
  width: 32%;
}

.c-inspection-fig-box[data-col="3"] > *:not(:first-child) {
  margin-left: 2%;
}

.c-inspection-fig-box[data-col="3"] > *[data-flex="2"] {
  width: 66%;
}

.c-inspection-fig-box[data-col="4"] > * {
  width: 23.5%;
}

.c-inspection-fig-box[data-col="4"] > *:not(:first-child) {
  margin-left: 2%;
}

.c-inspection-fig-box[data-col="4"] > *[data-flex="2"] {
  width: 49%;
}

.c-inspection-fig-box[data-col="4"] > *[data-flex="3"] {
  width: 74.5%;
}

/* c-inspection-check
=============================== */
.c-inspection-check {
  position: relative;
  z-index: 1;
  width: 100%;
  margin-bottom: 1.875em;
}

.c-inspection-check__head {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2.5em;
  margin-bottom: .75em;
  background: #666;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
}

.c-inspection-check__list {
  text-align: left;
  font-size: 1.4rem;
}

.c-inspection-check__list li {
  position: relative;
  width: 100%;
  margin-top: .5em;
  padding-left: 1.2em;
  line-height: 1.6;
}

.c-inspection-check__list li:hover {
  text-decoration: none;
}

.c-inspection-check__list li:before {
  content: "\25cf";
  position: absolute;
  top: 0;
  left: 0;
  opacity: .2;
}

.c-inspection-check__list._2col {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.c-inspection-check__list._2col li {
  width: 50%;
  width: 100%;
}

/* ============================================================= *

Showroom

* ============================================================= */
/* c-showroom-list
============================== */
.c-showroom-list {
  display: grid;
  grid-template-columns: 100%;
  gap: 27px;
}

/* c-showroom-nav
============================== */
.c-showroom-nav {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  font-size: calc(15px + var(--slope-1px));
  line-height: 1.5;
}

.c-showroom-nav__image {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 460 / 240;
  border-radius: 8px;
}

.c-showroom-nav__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all .3s;
}

.c-showroom-nav:hover .c-showroom-nav__image img {
  opacity: .8;
  transform: scale(1.03);
}

.c-showroom-nav__contents {
  position: relative;
  padding: 1.25em 0 3.125em;
  border-bottom: 1px solid var(--border-color);
}

.c-showroom-nav__contents:after {
  content: "";
  position: absolute;
  right: 11px;
  bottom: 18px;
  display: block;
  width: 13px;
  height: 11px;
  background: url(../img/icon/arrow-red.svg) 50% 50%/contain no-repeat;
}

.c-showroom-nav__head {
  text-decoration: underline;
  font-weight: bold;
  font-size: 1.25em;
  line-height: 1;
}

.c-showroom-nav__address {
  display: flex;
  flex-wrap: wrap;
  gap: 0 .5em;
  margin-top: 1em;
}

.c-showroom-nav__tel {
  margin-top: 1em;
  line-height: 1;
}

.c-showroom-nav__tel em {
  color: var(--key-color);
  font-size: 1.3125em;
}

.c-showroom-nav__info {
  margin-top: 1em;
}

/* ============================================================= *

Slider

* ============================================================= */
/* c-info-slider
============================== */
.c-info-slider {
  margin-bottom: 26px;
}

.c-info-slider__list {
  overflow: visible;
  width: 78.26087%;
  transform: translateX(-10px);
}

.c-info-slider__list .slick-list {
  overflow: visible;
}

.c-info-slider__item {
  padding: 0 10px;
}

.c-info-slider img {
  border-radius: 8px;
}

.c-info-slider__control {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  margin-top: 18px;
}

/* ============================================================= *

Title

* ============================================================= */
/* c-page-title
============================== */
.c-page-title {
  margin-block: var(--leading-trim);
  word-break: keep-all;
  overflow-wrap: anywhere;
  font-weight: 700;
  font-size: calc(30px + var(--slope-1px) * 15);
  font-family: var(--point-font-family);
  line-height: 1.2;
}

/* c-page-subtitle
============================== */
.c-page-subtitle {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--point-color);
  font-weight: 700;
  font-size: calc(12px + var(--slope-1px) * 2);
  font-family: var(--point-font-family);
}

.c-page-subtitle ._ja {
  display: block;
  margin-block: var(--leading-trim);
}

.c-page-subtitle ._en {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: inherit;
  margin-block: var(--leading-trim);
  color: var(--key-color-dark);
  font-size: calc(18px + var(--slope-1px) * 7);
  font-family: var(--en-font-family);
}

.c-page-subtitle ._en:not(:last-child):after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 6px;
  height: 2px;
  border-radius: 2px;
  background: var(--gradation-bg);
}

/* c-section-title
============================== */
.c-section-title {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: flex-start;
  gap: calc(17px + var(--slope-1px) * 10);
  margin-bottom: var(--leading-trim);
  text-align: left;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.3;
}

.c-section-title._center {
  align-items: center;
  text-align: center;
}

@media screen and (min-width: 901px) {
  .c-section-title._center\:desktop {
    align-items: center;
    text-align: center;
  }
}

.c-section-title:before {
  content: attr(data-en);
  position: relative;
  display: block;
  margin-block: 0 -.2em;
  padding-bottom: .1em;
  background: var(--gradation-text);
  -webkit-background-clip: text;
          background-clip: text;
  letter-spacing: 0;
  font-weight: 700;
  font-style: normal;
  font-size: calc(40px + var(--slope-1px) * 10);
  font-family: var(--en-font-family);
  line-height: 1;

  -webkit-text-fill-color: transparent;
}

/* ============================================================= *

Topics

* ============================================================= */
/* c-topics
============================== */
.c-topics .topics-link {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 1.5em 3em 1.5em 0;
  text-decoration: none;
  font-size: calc(15px + var(--slope-1px));
  line-height: 1.5;
  transition: color .3s;
}

.c-topics .topics-link:hover {
  color: var(--key-color);
}

.c-topics .topics-link__head {
  margin-bottom: .5em;
  color: #888;
  font-weight: bold;
  font-size: .9375em;
  line-height: 1;
}

.c-topics .topics-link:after {
  content: "";
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  display: block;
  width: 13px;
  height: 11px;
  margin: auto 0;
  background: url(../img/icon/arrow-red.svg) 50% 50%/contain no-repeat;
}

/* c-topics-list
============================== */
.c-topics-list__item {
  border-top: 1px solid var(--border-color);
}

.c-topics-list__item[data-toggle-id] {
  display: none;
}

/* c-topics-toggle
============================== */
.c-topics-toggle {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  overflow: visible;
  width: 100%;
  padding: .5em;
  outline: none;
  border: 0;
  background: none;
  color: currentColor;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
  transition: color .3s;
  appearance: none;
}

.c-topics-toggle:hover {
  color: var(--key-color);
}

.c-topics-toggle::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  display: block;
  width: 100%;
  height: 7em;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 80%);
}

.c-section._bg .c-topics-toggle::before {
  background: linear-gradient(to bottom, rgba(244, 244, 244, 0) 0%, #f4f4f4 80%);
}

.c-topics-toggle.is-show::before {
  opacity: 0;
}

.c-topics-toggle::after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 10px;
  height: 6px;
  background: url(../img/icon/down.svg) 50% 50%/contain no-repeat;
  transition: transform .3s;
}

.c-topics-toggle.is-show::after {
  transform: rotate(-180deg);
}

.c-topics-toggle ._text-show {
  display: none;
}

.c-topics-toggle.is-show ._text-hide {
  display: none;
}

.c-topics-toggle.is-show ._text-show {
  display: block;
}

/* ============================================================= *

Scroll Bar

* ============================================================= */
[data-simplebar] {
  position: relative;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
}

.simplebar-wrapper {
  overflow: hidden;
  width: inherit;
  height: inherit;
  max-width: inherit;
  max-height: inherit;
  padding-bottom: 20px;
}

.simplebar-mask {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  overflow: hidden;
  width: auto !important;
  height: auto !important;
  margin: 0;
  padding: 0;
  direction: inherit;
}

.simplebar-offset {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-overflow-scrolling: touch;
  box-sizing: inherit !important;
  margin: 0;
  padding: 0;
  resize: none !important;
  direction: inherit !important;
}

.simplebar-content-wrapper {
  position: relative;
  display: block;
  box-sizing: border-box !important;
  width: auto;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  direction: inherit;

  scrollbar-width: none;
  -ms-overflow-style: none;
}

.simplebar-content-wrapper::-webkit-scrollbar,
.simplebar-hide-scrollbar::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.simplebar-content:before,
.simplebar-content:after {
  content: ' ';
  display: table;
}

.simplebar-placeholder {
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  pointer-events: none;
}

.simplebar-height-auto-observer-wrapper {
  position: relative;
  z-index: -1;
  float: left;
  flex-grow: inherit;
  flex-shrink: 0;
  flex-basis: 0;
  overflow: hidden;
  box-sizing: inherit !important;
  width: 100%;
  height: 100%;
  max-width: 1px;
  max-height: 1px;
  margin: 0;
  padding: 0;
  pointer-events: none;
}

.simplebar-height-auto-observer {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  overflow: hidden;
  box-sizing: inherit;
  width: 1000%;
  height: 1000%;
  min-width: 1px;
  min-height: 1px;
  opacity: 0;
  pointer-events: none;
}

.simplebar-track {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  overflow: hidden;
  border-radius: 8px;
  background: #d9d9d9;
  /* pointer-events: none; */
}

[data-simplebar].simplebar-dragging .simplebar-content {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

[data-simplebar].simplebar-dragging .simplebar-track {
  pointer-events: all;
}

.simplebar-scrollbar {
  position: absolute;
  right: 0;
  left: 0;
  min-height: 10px;
}

.simplebar-scrollbar:before {
  content: '';
  position: absolute;
  right: 2px;
  left: 2px;
  border-radius: 12px;
  background: var(--key-color);
  transition: opacity 0s linear;
}

.simplebar-track.simplebar-vertical {
  top: 0;
  width: 11px;
}

.simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
  top: 2px;
  bottom: 2px;
}

.simplebar-track.simplebar-horizontal {
  bottom: 0;
  left: 0;
  overflow: visible;
  width: calc(100% - var(--padding-inline) * 2);
  height: 8px;
  margin-inline: auto;
}

.simplebar-track.simplebar-horizontal.is-fixed {
  position: fixed;
  top: auto;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  top: auto;
  right: auto;
  bottom: 2px;
  left: 0;
  width: auto;
  height: 4px;
  min-width: 10px;
  min-height: 0;
  margin: auto 0;
  border-radius: 8px;
  background: #646464;
}

/* Rtl support */
[data-simplebar-direction='rtl'] .simplebar-track.simplebar-vertical {
  right: auto;
  left: 0;
}

.hs-dummy-scrollbar-size {
  position: fixed;
  visibility: hidden;
  overflow-x: scroll;
  overflow-y: hidden;
  width: 500px;
  height: 500px;
  opacity: 0;
  direction: rtl;
}

.simplebar-hide-scrollbar {
  position: fixed;
  left: 0;
  visibility: hidden;
  overflow-y: scroll;

  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* ============================================================= *

Utility

* ============================================================= */
/* Media Query Setting
====================================== */
.u-tablet-block {
  display: none !important;
}

@media screen and (max-width: 900px) {
  .u-tablet-block {
    display: block !important;
  }
}

.u-tablet-inline-block {
  display: none !important;
}

@media screen and (max-width: 900px) {
  .u-tablet-inline-block {
    display: inline-block !important;
  }
}

.u-tablet-flex {
  display: none !important;
}

@media screen and (max-width: 900px) {
  .u-tablet-flex {
    display: flex !important;
  }
}

@media screen and (max-width: 900px) {
  .u-tablet-none {
    display: none !important;
  }
}

.u-mobile-block {
  display: none !important;
}

@media screen and (max-width: 560px) {
  .u-mobile-block {
    display: block !important;
  }
}

.u-mobile-inline-block {
  display: none !important;
}

@media screen and (max-width: 560px) {
  .u-mobile-inline-block {
    display: inline-block !important;
  }
}

.u-mobile-flex {
  display: none !important;
}

@media screen and (max-width: 560px) {
  .u-mobile-flex {
    display: flex !important;
  }
}

@media screen and (max-width: 560px) {
  .u-mobile-none {
    display: none !important;
  }
}

/* text align
====================================== */
.u-ta-left {
  text-align: left !important;
}

.u-ta-right {
  text-align: right !important;
}

.u-ta-center {
  text-align: center !important;
}

/* display
====================================== */
.u-d-block {
  display: block !important;
}

.u-d-none {
  display: none !important;
}

.u-d-inline {
  display: inline !important;
}

.u-d-ib {
  display: inline-block !important;
}

/* position
====================================== */
.u-pos-static {
  position: static !important;
}

.u-pos-relative {
  position: relative !important;
}

.u-pos-absolute {
  position: absolute !important;
}

.u-pos-fixed {
  position: fixed !important;
}

/* clear
====================================== */
.u-clearfix:after {
  content: "";
  display: block;
  visibility: hidden;
  clear: both;
}

/* other
====================================== */
.u-strong {
  font-weight: bold !important;
}

.u-pointer {
  cursor: pointer;
}

.u-nowrap {
  white-space: nowrap;
}

.u-color-honda {
  color: #cc0000 !important;
}

.u-color-ciao {
  color: #0068b6 !important;
}

.u-color-mamoru {
  color: #8fc31f !important;
}

.u-rotate-90 {
  transform: rotate(90deg);
}

/* animationn
====================================== */
.u-no-transition {
  transition: none !important;
}
