@charset "UTF-8";
@layer core, base, third-party, project, components, foundation, utility;
@layer core {
  @layer global, reset;
  @layer global {
    :root {
      --default-font-size: 62.5%;
      --base-width: 1180px;
      --outer-width: 1295px;
      --large-outer-width: 1500px;
      --inner-width: 1090px;
      --header-height: 80px;
      --scrollbarWidth: 0;
      --left-space: 254px;
      --scroll-margin-height: var(--header-height);
      --base-font-size: 1.8rem;
      --line-height: 2;
      --base-color: #024099;
      --key-color: #2da2e3;
      --key-light-color: #d5ecf9;
      --key-color-hover: #e4f4ff;
      --link-color: #0290c5;
      --hover-color: #0290c5;
      --gray-color: #808080;
      --gray-light-color: #f3f3f3;
      --black-color: #000;
      --red-color: #b8272d;
      --yellow-color: #fff33f;
      --bg-anti: var(--gray-light-color);
      --margin_px: 45px;
      --sp_margin_px: 20px;
      --font-weight-thin: 100;
      --font-weight-light: 300;
      --font-weight-normal: 400;
      --font-weight-medium: 500;
      --font-weight-semi-bold: 600;
      --font-weight-bold: 700;
      --font-weight-black: 900;
      --font-family:
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        "Yu Gothic",
        Meiryo,
        sans-serif;
      --en-font-family: Roboto, sans-serif;
      --gnav-expand: "false";
      --panel-expand: "false";
    }
    /*

    */
    @supports (color: color(display-p3 1 1 1)) {
      @media (color-gamut: p3) {
        :root {
          --base-color: color(display-p3 0.008 0.251 0.6);
        }
      }
    }
    @font-face {
      font-family: "Roboto";
      font-style: normal;
      font-weight: 400;
      src: local("Roboto Regular"), local("Roboto-Regular"), url("./fonts/Roboto-Regular.ttf") format("truetype");
      font-display: swap;
    }
    @font-face {
      font-family: "Roboto";
      font-style: normal;
      font-weight: 700;
      src: local("Roboto Bold"), local("Roboto-Bold"), url("./fonts/Roboto-Bold.ttf") format("truetype");
      font-display: swap;
    }
    .roboto-regular {
      font-family: var(--en-font-family);
      font-weight: 400;
    }
    .roboto-bold {
      font-family: var(--en-font-family);
      font-weight: 700;
    }
  }
  @layer reset {
    *,
    *::before,
    *::after {
      box-sizing: border-box;
    }
    :where(ul, ol) {
      padding: 0;
      margin: 0;
    }
    :where(body,
    h1,
    h2,
    h3,
    h4,
    p,
    figure,
    blockquote,
    dl,
    dd) {
      margin: 0;
    }
    /* Set core root defaults */
    /* Set core body defaults */
    :where(body) {
      block-size: 100%;
      block-size: 100dvb;
    }
    /* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
    :where(ul:not([class])) {
      list-style-type: disc;
      list-style-position: inside;
    }
    :where(ol:not([class])) {
      list-style-type: decimal;
      list-style-position: inside;
    }
    :where(ul, ol) li {
      font-size: var(--font-variable, var(--base-font-size));
    }
    :where(ul[class],
    ol[class]) {
      list-style-type: none;
    }
    :where(a:not([class])) {
      text-decoration-skip-ink: auto;
    }
    :where(button) {
      all: unset;
    }
    :where(input, button, textarea, select) {
      font: inherit;
      color: inherit;
    }
    :where(textarea) {
      resize: vertical;
      resize: block;
    }
    :where(button, label, select, summary, [role=button], [role=option]) {
      cursor: pointer;
    }
    :where(:disabled) {
      cursor: not-allowed;
    }
    :where(label:has(> input:disabled), label:has(+ input:disabled)) {
      cursor: not-allowed;
    }
    /* Remove all animations and transitions for people that prefer not to see them */
    @media (prefers-reduced-motion: reduce) {
      html:focus-within {
        scroll-behavior: auto;
      }
    }
    :where(h1, h2, h3, h4, h5):not[class] {
      padding-bottom: 0;
    }
    :where(pre) {
      white-space: pre-wrap;
    }
    img {
      display: block;
      vertical-align: top;
    }
    button {
      border: none;
      cursor: pointer;
      padding: 0;
      appearance: none;
    }
  }
}
@layer base {
  @layer layout, breadcrumb;
  @layer layout {
    @media screen and (max-width: 834px) {
      :root {
        --header-height: 60px;
      }
    }
    html {
      font-size: var(--default-font-size);
      scroll-behavior: smooth;
      scroll-padding-top: var(--scroll-margin-height);
    }
    body {
      font-size: var(--font-variable, 1rem);
      color: var(--color);
      font-weight: var(--font-weight-normal);
      font-family: var(--font-family);
      line-height: var(--line-height);
    }
    @media screen and (max-width: 1180px) {
      body {
        -webkit-text-size-adjust: 100%;
      }
    }
    :where(.windows) body {
      font-weight: var(--font-weight-medium);
    }
    :where(.en) body {
      font-family: var(--en-font-family);
    }
    /*
    //macでも游ゴシックを指定する場合は下記必要
    :root:where(.old-safari),
    :root:where(.safari) {
      --font-weight-thin: 100;
      --font-weight-light: 300;
      --font-weight-normal: 300;
      --font-weight-medium: 300; //macのsafariではヒラギノで他は遊ゴシックになっている。この場合400指定だと、なぜかsafariのヒラギノが太くなるため300指定
      --font-weight-semi-bold: 500;
      --font-weight-bold: 600;
      --font-weight-black: 700;
    }
    */
    :where(a) {
      text-underline-offset: 0.2ex;
      text-decoration: none;
      color: var(--color, var(--black-color));
    }
    :where(a):hover {
      color: var(--hover-color, var(--base-color));
    }
    :where(a[href^="https://"]),
    :where(a[href^="http://"]) {
      overflow-wrap: anywhere;
    }
    :where(p) {
      line-height: var(--line-height-variable, 1.9);
      text-align: justify;
    }
    :where(.en p) {
      text-align: initial;
    }
    :where(main *) {
      font-size: var(--font-variable, var(--base-font-size));
    }
    :where(main p:not(:last-of-type):has(+ p)) {
      margin-block-end: var(--flow-space, 1.6em);
    }
    :where(main :is(p, li, dt, dd, th, td) :is(a:link, a:visited)) {
      color: var(--base-color);
    }
    :where(main :is(p, li, dt, dd, th, td) :is(a:hover, a:active)) {
      text-decoration: underline;
    }
    .page {
      position: relative;
    }
    @media screen and (max-width: 1180px) {
      .sp-scroll-container .container-header::before {
        content: "";
        display: block;
        width: 100%;
        height: 100svh;
        background-color: rgba(0, 0, 0, 0.5);
        position: fixed;
        top: 0;
        right: 0;
        z-index: 1;
        pointer-events: none;
        overflow: hidden;
        overscroll-behavior-block: contain;
        transform: translateX(100%);
        transition: all 400ms ease-in;
      }
    }
    .is-sp-open {
      overflow: hidden;
    }
    @media screen and (max-width: 1180px) {
      .is-sp-open .page {
        overflow-x: hidden;
      }
      .is-sp-open .sp-scroll-container .container-header::before {
        transform: translateX(0);
        transition: all 500ms ease-out;
      }
    }
    .is-sp-open .page {
      overflow: auto;
      scrollbar-gutter: stable;
      scrollbar-color: var(--gray-color) var(--black-color);
    }
    .is-sp-open .page::-webkit-scrollbar {
      background-color: var(--black-color);
    }
    .is-sp-open .sp-scroll-container-back {
      position: fixed;
      top: 0;
      z-index: 0;
      width: 100%;
      height: 100%;
      background-color: transparent;
    }
    .body-scroll {
      padding-block-start: var(--header-height);
    }
    .is-sp-open .body-scroll {
      pointer-events: none;
    }
    address {
      font-style: normal;
    }
    .container {
      display: grid;
      grid-template-columns: 1fr var(--base-width) 1fr;
    }
    @media screen and (max-width: 1285px) {
      .container {
        grid-template-columns: var(--margin_px) 1fr var(--margin_px);
      }
    }
    @media screen and (max-width: 834px) {
      .container {
        grid-template-columns: var(--sp_margin_px) 1fr var(--sp_margin_px);
      }
    }
    .container > * {
      grid-column: 2;
    }
    @media screen and (min-width: 1286px) {
      .home .container,
      #global-menu.container {
        grid-template-columns: 1fr var(--outer-width) 1fr;
      }
    }
    .xl-full-bleed {
      width: 100%;
    }
    @media screen and (max-width: 1285px) {
      .xl-full-bleed {
        grid-column: 1/-1;
      }
    }
    .full-bleed {
      width: 100%;
      grid-column: 1/4;
    }
    @media screen and (max-width: 834px) {
      .md-full-bleed {
        grid-column: 1/-1;
      }
    }
    @media screen and (max-width: 480px) {
      .sp-full-bleed {
        grid-column: 1/-1;
      }
    }
    .container__center {
      grid-column: 2;
    }
    .left-aligned-area {
      grid-column: 1/3;
    }
    @media screen and (max-width: 834px) {
      .left-aligned-area {
        grid-column: 1/4;
        padding-inline-end: 0;
      }
    }
    .right-aligned-area {
      grid-column: 2/4;
    }
    @media screen and (max-width: 834px) {
      .right-aligned-area {
        grid-column: 1/4;
        padding-inline-start: 0;
      }
    }
    .header {
      position: fixed;
      top: 0;
      z-index: 999;
      background-color: #fff;
      width: 100%;
      transition: background-color 150ms ease-in;
    }
    @media screen and (max-width: 1180px) {
      .header {
        padding-inline: 0;
      }
    }
    @media screen and (max-width: 834px) {
      .header {
        padding-inline: 0;
      }
    }
    .header.is-changed {
      position: fixed;
    }
    .container-header {
      grid-column: 2/4;
      position: relative;
      z-index: 1;
      display: flex;
      width: 100%;
      height: var(--header-height);
      margin-inline: auto;
      background-color: #fff;
      transition: background-color 150ms ease-in;
      padding-left: 45px;
    }
    @media screen and (max-width: 1285px) {
      .container-header {
        grid-column: 1/4;
      }
    }
    @media screen and (max-width: 834px) {
      .container-header {
        display: grid;
        gap: 25px;
        grid-template-columns: 1fr auto;
        padding-inline: 14px 0;
      }
    }
    .drawer-menu {
      display: contents;
    }
    @media screen and (max-width: 834px) {
      .drawer-menu {
        display: flex;
        flex-direction: column;
        position: fixed;
        right: 0;
        z-index: 1050;
        width: 100%;
        max-width: 375px;
        height: 100dvh;
        top: 0;
        padding-top: var(--header-height);
        overflow-y: scroll;
        overscroll-behavior: none;
        background-color: var(--base-color);
        transform: translateX(100%);
        padding-block-end: 50px;
      }
    }
    .header-nav {
      position: relative;
      min-width: 223px;
      height: var(--header-height);
      background-color: var(--base-color);
      border-radius: 0 0 0 30px;
      display: grid;
      align-items: center;
      justify-content: center;
    }
    @media screen and (max-width: 834px) {
      .header-nav {
        display: block;
        min-width: auto;
        border-radius: 0;
        height: auto;
        padding: 0 20px;
        background-color: transparent;
        margin-top: 50px;
      }
    }
    .header-nav__tel__child {
      display: inline-grid;
      cursor: auto;
      pointer-events: none;
    }
    @media screen and (max-width: 834px) {
      .header-nav__tel__child {
        display: grid;
        row-gap: 5px;
        pointer-events: auto;
      }
    }
    @media screen and (max-width: 834px) {
      .header-nav__tel__child:hover .tel-text {
        color: #fff !important;
        background-color: var(--key-color) !important;
      }
      .header-nav__tel__child:hover .pict-tel {
        background-color: #fff !important;
      }
    }
    .tel-text__child {
      color: #fff;
      font-size: 1.4rem;
      transform: translateX(10px);
      justify-self: end;
    }
    @media screen and (max-width: 834px) {
      .tel-text__child {
        font-size: 1.6rem;
        justify-self: center;
      }
    }
    .header-nav__inquiry {
      display: none;
    }
    .header-nav__mail {
      display: none;
    }
    @media screen and (max-width: 834px) {
      .header-nav__mail {
        display: block;
        margin-top: 30px;
      }
      .header-nav__mail .btn-more {
        border: none !important;
      }
      .header-nav__mail .btn-more:hover {
        background-color: var(--key-color) !important;
      }
    }
    .fixed {
      position: fixed;
      transform: translateY(0);
      top: 0;
    }
    .container-nav {
      display: flex;
      margin-inline-start: auto;
    }
    @media screen and (max-width: 834px) {
      .container-nav {
        grid-column: 1/-1;
        grid-row: 2;
        display: block;
        background-color: transparent;
        margin-inline-start: 0;
      }
    }
    .logo {
      position: relative;
      z-index: 2;
      display: inline-flex;
      align-self: center;
    }
    .logo-img {
      width: clamp(175px, 21vw, 270px);
      height: auto;
      object-fit: contain;
    }
    @media screen and (max-width: 834px) {
      .logo-img {
        width: 220px;
        height: 30px;
      }
    }
    .gnav {
      display: flex;
      align-items: center;
      align-items: stretch;
      gap: 0 clamp(2em, 2.8vw, 4em);
      padding-inline: clamp(2em, 2.8vw, 4em);
    }
    @media screen and (max-width: 1180px) {
      .gnav {
        gap: 0 clamp(10px, 1.8vw, 38px);
      }
    }
    @media screen and (max-width: 834px) {
      .gnav {
        display: block;
        padding-inline: 20px;
      }
    }
    .gnav__item {
      position: relative;
      display: flex;
      align-items: center;
    }
    .gnav__item.--home {
      display: none;
    }
    @media screen and (max-width: 834px) {
      .gnav__item {
        display: block;
        border-bottom: 1px solid #fff;
      }
    }
    .gnav__item.is-current .gnav__item__child > a {
      --color: var(--key-color);
    }
    .gnav__item.is-current .gnav__item__child::after {
      content: "";
      display: block;
      position: absolute;
      bottom: 15px;
      width: 100%;
      height: 6px;
      background-color: var(--yellow-color);
      visibility: var(--first-level, hidden);
      transition: visibility ease-out 150ms;
    }
    @media screen and (max-width: 834px) {
      .gnav__item.is-current .gnav__item__child::after {
        display: none;
      }
    }
    .gnav__item__child {
      position: relative;
      z-index: 2;
      display: inline-flex;
      justify-content: center;
    }
    @media screen and (max-width: 834px) {
      .gnav__item__child {
        display: flex;
        justify-content: space-between;
      }
    }
    .gnav__item__child > a {
      grid-row: 1;
      display: flex;
      align-self: center;
      padding-block: 1.6em;
      padding-inline: 0;
      transition: color 150ms ease-in-out;
    }
    @media screen and (max-width: 834px) {
      .gnav__item__child > a {
        grid-column: 1;
        grid-row: 1;
        justify-content: center;
        padding-block: 30px;
      }
    }
    .gnav__item__child > a:hover {
      color: var(--key-color);
    }
    .gnav__item-text {
      font-weight: var(--font-weight-bold);
      line-height: 1;
      letter-spacing: 0.05em;
      white-space: nowrap;
      font-size: 1.6rem;
      transition: color 150ms ease-in;
    }
    @media screen and (max-width: 1180px) {
      .gnav__item-text {
        font-size: clamp(1.2rem, 1.5vw, 1.8rem);
        letter-spacing: clamp(0.02em, 0.05vw, 0.05em);
      }
    }
    @media screen and (max-width: 834px) {
      .gnav__item-text {
        color: #fff;
        font-size: 2rem;
        letter-spacing: 0.15em;
        font-weight: var(--font-weight-bold);
      }
    }
    .pc-nav-toggle {
      grid-column: 2;
      justify-self: center;
      display: inline-grid;
      grid-template-rows: auto;
      align-self: center;
      cursor: pointer;
      padding: 10px 0 10px 10px;
    }
    .pc-nav-toggle .pict-bottom-arrow {
      transition: all 200ms ease-in;
      transform-origin: center;
    }
    @media screen and (max-width: 834px) {
      .pc-nav-toggle {
        display: none;
      }
    }
    .pc-nav-toggle[aria-expanded=false] .pict-bottom-arrow {
      transform: scale(1, 1);
    }
    .pc-nav-toggle[aria-expanded=true] .pict-bottom-arrow {
      transform: scale(1, -1);
    }
    .gnav__item__child:has(.pc-nav-toggle[aria-expanded=true]) > a {
      color: var(--key-color);
    }
    :where(.gnav__item:hover) .pict-bottom-arrow {
      transform: scale(1, -1);
    }
    @media screen and (max-width: 834px) {
      :where(.gnav__item:hover) .pict-bottom-arrow {
        transform: none;
      }
    }
    .nav-sub {
      position: absolute;
      top: calc(var(--header-height) - 12px);
      left: 0;
      transform: translate(0, 0);
      pointer-events: none;
      transition: transform 0.2s, opacity 0.2s, visibility 0.2s;
      transition-timing-function: ease-in;
      transition-behavior: allow-discrete;
    }
    .nav-sub[aria-hidden=false] {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translate(0, 5px);
    }
    .nav-sub[aria-hidden=false] * {
      pointer-events: auto;
    }
    .nav-sub[aria-hidden=true] {
      visibility: hidden;
      opacity: 0;
    }
    .nav-sub[aria-hidden=true] * {
      pointer-events: none;
    }
    @media screen and (max-width: 834px) {
      .nav-sub {
        position: static;
        width: auto;
        height: 100%;
        opacity: 1;
        overflow: hidden;
        transform: none;
        display: grid;
        grid-template-rows: 0fr;
        transition: 500ms all ease-in-out;
        padding-bottom: 0;
      }
      .nav-sub[aria-hidden=true] {
        opacity: 1;
        grid-template-rows: 0fr;
      }
      .nav-sub[aria-hidden=false] {
        opacity: 1;
        grid-template-rows: 1fr;
        transform: none;
        padding-bottom: 25px;
      }
    }
    .nav-sub__inner {
      pointer-events: auto;
      background-color: rgba(45, 162, 227, 0.95);
      border-radius: 10px;
      box-shadow: 0px 0px 15px -5px rgba(0, 0, 0, 0.3);
    }
    @media screen and (max-width: 834px) {
      .nav-sub__inner {
        overflow: hidden;
      }
    }
    .sub-menu-nav {
      padding: 10px;
    }
    @media screen and (max-width: 834px) {
      .sub-menu-nav {
        padding-block: 17px;
      }
    }
    .sub-menu-item {
      white-space: nowrap;
    }
    @media screen and (max-width: 834px) {
      .sub-menu-item {
        white-space: normal;
      }
    }
    .sub-menu-item__child {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 0 10px;
      justify-content: space-between;
      align-items: center;
      padding: 10px;
    }
    @media screen and (max-width: 834px) {
      .sub-menu-item__child {
        padding-inline: 13px;
      }
    }
    .sub-menu-item__child__text {
      display: block;
      line-height: 1.3;
      color: #fff;
      font-size: 1.6rem;
      font-weight: var(--font-weight-bold);
      transition: all 200ms ease-in-out;
    }
    .sub-menu-item:hover .sub-menu-item__child__text {
      color: var(--base-color);
    }
    @media screen and (max-width: 834px) {
      .sub-menu-item__child {
        grid-template-columns: auto 1fr;
      }
      .sub-menu-item__child::before {
        content: "";
        display: inline-flex;
        width: 6px;
        height: 10px;
        background-image: url(/assets/images/pict/pict-arrow-white.svg);
        background-repeat: no-repeat;
        background-size: 6px 10px;
        background-position: center;
      }
    }
    @media screen and (max-width: 834px) {
      .sp-nav-toggle {
        display: inline-grid;
        grid-column: 1;
        grid-row: 1;
        justify-self: end;
        padding: 20px 10px;
        transform: translateX(10px);
      }
    }
    .plus-icon {
      display: none;
    }
    @media screen and (max-width: 834px) {
      .plus-icon {
        display: inline-block;
        width: 13px;
        height: 13px;
        position: relative;
      }
      .plus-icon::before, .plus-icon::after {
        content: "";
        display: inline-block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 13px;
        height: 2px;
        background-color: #fff;
        transition: all 400ms ease-in-out;
      }
      .plus-icon::after {
        transform: translate(-50%, -50%) rotate(90deg);
      }
    }
    .sp-nav-toggle[aria-expanded=true] .plus-icon::after {
      transform: translate(-50%, -50%) rotate(180deg);
    }
    .sp-menu-block {
      display: none;
    }
    .sp-menu-btn {
      display: none;
    }
    @media screen and (max-width: 834px) {
      .sp-menu-block {
        display: grid;
        justify-content: center;
        align-items: center;
        gap: 5px 0;
        position: relative;
        overflow: hidden;
        right: 0;
        z-index: 1070;
        cursor: pointer;
        width: 62px;
        height: var(--header-height);
        transition: transform 400ms ease-in-out;
      }
      .sp-menu-btn {
        display: inline-grid;
        width: inherit;
        height: inherit;
        will-change: transition, position;
        background-color: var(--base-color);
        border-radius: 0 0 0 20px;
        transition: all 0.6s cubic-bezier(0.23, -0.195, 0, 1.165);
      }
      .sp-menu-block[aria-expanded=true] .sp-menu-btn {
        border-radius: 0 0 0 20px;
        background-color: #fff;
      }
      .sp-menu-block[aria-expanded=true] .sp-menu-btn-bar span {
        background-color: var(--base-color);
      }
    }
    .sp-menu-btn-bar {
      justify-self: center;
      align-self: center;
      display: inline-block;
      position: relative;
      width: 28px;
      height: 12px;
      background: none;
      border: none;
      appearance: none;
      cursor: pointer;
    }
    .sp-menu-btn-bar span {
      display: inline-block;
      position: absolute;
      width: 100%;
      height: 1px;
      background: #fff;
      transition: 0.3s 0.2s;
      border-radius: 2px;
    }
    .sp-menu-btn-bar span:nth-of-type(1) {
      top: 0;
      left: 0;
    }
    .sp-menu-btn-bar span:nth-of-type(2) {
      bottom: 0;
      left: 0;
    }
    .sp-menu-block[aria-expanded=true] .sp-menu-btn-bar span:nth-of-type(1) {
      transform: translateY(3px) rotate(-20deg);
    }
    .sp-menu-block[aria-expanded=true] .sp-menu-btn-bar span:nth-of-type(2) {
      transform: translateY(-8px) rotate(20deg);
    }
    .sp-menu-btn-text {
      display: none;
      align-self: start;
      font-size: 1.2rem;
      line-height: 1;
      color: #000;
      font-family: var(--en-font-family);
      font-weight: 700;
      justify-self: center;
    }
    :has(.sp-menu-block[aria-expanded=true]) .other-nav {
      display: block;
      padding-inline: var(--sp_margin_px);
      margin-top: 25px;
    }
    :has(.sp-menu-block[aria-expanded=true]) .other-nav li > a {
      display: inline-grid;
      grid-template-columns: auto 1fr;
      gap: 0 10px;
      align-items: center;
      font-size: 1.4rem;
      color: #fff;
      transition: color 200ms ease-in-out;
    }
    :has(.sp-menu-block[aria-expanded=true]) .other-nav li > a:hover {
      color: var(--key-color);
    }
    :has(.sp-menu-block[aria-expanded=true]) .other-nav .pict-after-arrow {
      width: 11px;
    }
    .other-nav {
      display: none;
    }
    .container-pagetop {
      position: fixed;
      z-index: 991;
      bottom: 70px;
      left: 0;
      opacity: 0;
      pointer-events: none;
      display: flex;
      justify-content: flex-end;
      width: 100%;
      padding-inline: var(--sp_margin_px);
      height: 50px;
      transition: opacity 300ms ease-in, top 300ms linear, bottom 300ms linear;
    }
    @media screen and (max-width: 480px) {
      .container-pagetop {
        height: 50px;
        padding-inline: var(--sp_margin_px);
      }
    }
    .container-pagetop.is-active {
      opacity: 1;
    }
    .container-pagetop.is-active .pagetop-btn {
      pointer-events: auto;
    }
    .pagetop-btn {
      pointer-events: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      width: 40px;
      height: 40px;
      position: relative;
      z-index: 0;
      background-color: var(--base-color);
      border-radius: 10px;
      transition: background-color 200ms ease-out;
    }
    .pagetop-btn:hover {
      background-color: var(--key-color);
    }
    @media screen and (max-width: 480px) {
      .pagetop-btn {
        width: 40px;
        height: 40px;
      }
    }
    #page-top-arrow {
      width: 15px;
      height: 9px;
    }
    .footer-container {
      position: relative;
      background-color: var(--key-color);
    }
    .footer-content {
      display: grid;
      grid-template-columns: 1fr calc(var(--outer-width) / 2) calc(var(--outer-width) / 2) 1fr;
    }
    @media screen and (max-width: 1285px) {
      .footer-content {
        grid-template-columns: var(--margin_px) 1fr 1fr var(--margin_px);
      }
    }
    @media screen and (max-width: 834px) {
      .footer-content {
        grid-template-columns: var(--sp_margin_px) 1fr var(--sp_margin_px);
      }
    }
    .footer-left {
      grid-column: 2;
      grid-row: 1;
      display: flex;
      align-items: center;
      container-type: inline-size;
    }
    @media screen and (max-width: 1285px) {
      .footer-left {
        grid-column: 1/3;
      }
    }
    @media screen and (max-width: 834px) {
      .footer-left {
        grid-column: 2;
        grid-row: 2;
      }
    }
    .footer-right {
      grid-column: 3/5;
      grid-row: 1;
      max-height: 410px;
    }
    @media screen and (max-width: 980px) {
      .footer-right {
        max-height: inherit;
      }
    }
    @media screen and (max-width: 834px) {
      .footer-right {
        grid-column: 1/4;
        grid-row: 1;
        max-height: 300px;
      }
    }
    .footer-map {
      width: 100%;
      height: 100%;
      aspect-ratio: 590/410;
    }
    .footer-logo {
      display: inline-grid;
      align-items: center;
      height: 45px;
      border-right: 1px solid #000;
      padding-inline: 0 40px;
    }
    .footer-logo img {
      width: 238px;
      height: 32px;
    }
    @media screen and (max-width: 980px) {
      .footer-logo {
        flex-basis: 100%;
        border-right: none;
      }
    }
    @media screen and (max-width: 480px) {
      .footer-logo svg,
      .footer-logo img {
        max-width: 280px;
        width: 100%;
        height: auto;
      }
    }
    .footer-info {
      display: flex;
      flex-wrap: wrap;
      gap: 0 40px;
      align-items: center;
      background-color: #fff;
      padding-block: 15px;
      padding-inline: var(--margin_px) 0;
    }
    @media screen and (max-width: 1285px) {
      .footer-info {
        padding-inline-start: 0;
      }
    }
    @media screen and (max-width: 980px) {
      .footer-info {
        row-gap: 20px;
      }
    }
    @media screen and (max-width: 480px) {
      .footer-info {
        row-gap: 15px;
        padding-block: 25px 80px;
      }
    }
    .address {
      display: inline-grid;
      font-size: 1.6rem;
      font-feature-settings: "palt";
    }
    @media screen and (max-width: 480px) {
      .address {
        font-size: 1.4rem;
        line-height: 1.7;
        margin-top: 5px;
      }
      .address span {
        display: block;
      }
    }
    .footer-nav {
      display: grid;
      grid-template-columns: repeat(2, auto);
      gap: 15px clamp(10px, 4vw, 40px);
      padding-block: 20px;
      padding-left: var(--margin_px);
    }
    @media screen and (max-width: 834px) {
      .footer-nav {
        width: 100%;
        justify-content: space-between;
        grid-template-columns: repeat(3, auto);
        padding-left: 0;
      }
    }
    @media screen and (max-width: 480px) {
      .footer-nav {
        padding-block: 40px 25px;
      }
    }
    .footer-nav__item {
      padding-bottom: 35px;
    }
    @media screen and (max-width: 834px) {
      .footer-nav__item {
        padding-bottom: 0;
      }
    }
    .footer-nav__item.--company {
      grid-column: 1;
      grid-row: 1;
      padding-bottom: 0;
    }
    @media screen and (max-width: 834px) {
      .footer-nav__item.--company {
        grid-row: 1/4;
      }
    }
    .footer-nav__item.--service {
      grid-column: 2;
      grid-row: 1;
      padding-bottom: 0;
    }
    @media screen and (max-width: 834px) {
      .footer-nav__item.--service {
        grid-row: 1/4;
      }
    }
    .footer-nav__item.--news {
      grid-column: 1;
      grid-row: 2;
      padding-bottom: 0;
    }
    @media screen and (max-width: 834px) {
      .footer-nav__item.--news {
        grid-column: 3;
        grid-row: 1;
      }
    }
    .footer-nav__item.--contact {
      grid-column: 1;
      grid-row: 3;
      padding-bottom: 0;
    }
    @media screen and (max-width: 834px) {
      .footer-nav__item.--contact {
        grid-column: 3;
        grid-row: 2;
      }
    }
    .footer-nav__item.--recruit {
      grid-column: 1;
      grid-row: 4;
      padding-bottom: 0;
    }
    @media screen and (max-width: 834px) {
      .footer-nav__item.--recruit {
        grid-column: 3;
        grid-row: 3;
      }
    }
    @container (width <=460px) {
      .footer-nav {
        grid-template-columns: 1fr;
      }
      .footer-nav__item.--company {
        grid-column: 1;
        grid-row: 1;
      }
      .footer-nav__item.--service {
        grid-column: 1;
        grid-row: 2;
      }
      .footer-nav__item.--news {
        grid-column: 1;
        grid-row: 3;
      }
      .footer-nav__item.--contact {
        grid-column: 1;
        grid-row: 4;
      }
      .footer-nav__item.--recruit {
        grid-column: 1;
        grid-row: 5;
      }
    }
    .footer-nav__item__child {
      display: block;
      color: #fff;
      font-size: 1.8rem;
      font-weight: var(--font-weight-bold);
      transition: all 200ms ease-in-out;
    }
    .footer-nav__item__child:hover {
      color: var(--base-color);
    }
    .footer-subnav {
      padding-top: 10px;
    }
    .footer-other-menu {
      flex-grow: 1;
      justify-self: end;
      align-self: end;
    }
    .footer-other-menu ul {
      display: flex;
      gap: 10px;
      justify-content: end;
    }
    @media screen and (max-width: 480px) {
      .footer-other-menu ul {
        flex-direction: column;
        gap: 0;
      }
    }
    .footer-other-menu a {
      transition: all 200ms ease-in-out;
    }
    .footer-other-menu a:hover {
      text-decoration: underline;
    }
    .footer-subnav-item {
      display: flex;
      align-items: center;
      gap: 0 3px;
      margin-bottom: 5px;
    }
    .footer-subnav-item__text {
      font-size: 1.4rem;
      color: #fff;
      transition: all 200ms ease-in-out;
    }
    .footer-subnav-item__icon {
      display: inline-block;
      width: 20px;
      height: 20px;
      background-image: url(/assets/images/pict/pict-arrow-white.svg);
      background-repeat: no-repeat;
      background-size: 5px 8px;
      background-position: center;
      transition: all 200ms ease-in-out;
    }
    .footer-subnav-item:hover .footer-subnav-item__text {
      color: var(--base-color);
    }
    .footer-subnav-item:hover .footer-subnav-item__icon {
      border-color: var(--base-color);
      background-image: url(/assets/images/pict/pict-arrow-base.svg);
    }
    .fixed-nav {
      position: fixed;
      z-index: 992;
      top: 50%;
      transform: translateY(-50%);
      right: 0;
      transition: all 400ms ease-in-out;
      display: grid;
      gap: 10px;
    }
    @media screen and (max-width: 480px) {
      .fixed-nav {
        z-index: 990;
        top: auto;
        bottom: 0;
        width: 100%;
        transform: none;
        display: flex;
        gap: 0;
        flex: 1 1 50%;
      }
    }
    .right-nav-btn {
      display: grid;
      justify-content: center;
      align-items: center;
      gap: 10px 15px;
      width: 50px;
      height: 202px;
      background-color: var(--bg-color, var(--base-color));
      padding-block: 15px 10px;
      border-radius: 15px 0 0 15px;
      transition: all 200ms ease-out;
    }
    @media screen and (max-width: 480px) {
      .right-nav-btn {
        grid-template-columns: auto auto;
        width: 100%;
        height: 63px;
        padding-block: 0;
        border-radius: 0;
      }
    }
    .right-nav-btn__front {
      align-self: end;
      justify-self: center;
      transition: all 200ms ease-out;
    }
    @media screen and (max-width: 480px) {
      .right-nav-btn__front {
        align-self: center;
      }
    }
    .right-nav-btn__text {
      align-self: start;
      writing-mode: vertical-rl;
      font-size: 1.4rem;
      line-height: 1.3;
      color: var(--color, #fff);
      transition: all 200ms ease-out;
    }
    @media screen and (max-width: 480px) {
      .right-nav-btn__text {
        align-self: center;
        writing-mode: horizontal-tb;
      }
    }
    .right-nav-btn:hover .pict-mail-white {
      background-image: url(/assets/images/pict/pict-mail-white.svg) !important;
    }
    .right-nav-btn:has(.pict-mail-white) {
      background-color: var(--base-color);
    }
    .right-nav-btn:has(.pict-mail-white):hover {
      background-color: #4070b1;
    }
    .right-nav-btn:has(.pict-cal-white) {
      background-color: var(--key-color);
    }
    .right-nav-btn:has(.pict-cal-white):hover {
      background-color: #61b9ea;
    }
    /*

    .is-sp-open .fixed-nav {
      //transform: translate3d(-70vw, 0, 0);
      pointer-events: none;
      z-index: 1059; //スマホメニューの下に
    }


    .sns-nav {
      display: flex;
      flex-direction: column;
      align-items: center;
      padding-top: 30px;
      padding-bottom: 40px;

      &.--horizon {
        display: flex;
        padding-top: 30px;
        flex-direction: row;
        justify-content: center;

        li {
          margin: 0 8px;
        }

        @include g.mq(md) {
          padding-top: 15px;
          justify-content: flex-end;

          li {
            //margin: 0 0 0 16px;
          }
        }
      }

      >li {
        margin-bottom: 16px;
      }

      @include g.mq(sm) {
        display: none;
      }
    }

    .footer-sns {
      //display: none;
      margin-left: auto;
      padding-right: 20px;

      @include g.mq(md) {
        display: block;
        //padding-top: 30px;
        margin-top: 30px;
        padding-right: 0;
        margin-right: auto;

        .sns-nav {
          //display: flex;
          padding-bottom: 0;

        }
      }
    }

    .menu-sns {
      //display: none;

      @include g.mq(md) {
        display: block;
        margin-top: 20px;
        margin-right: 20px;

        .pict {
          width: 26px;
          height: 26px;
        }
      }
    }
    */
    .pagination {
      display: flex;
      align-items: center;
      column-gap: 15px;
      justify-content: center;
    }
    @media screen and (max-width: 834px) {
      .pagination {
        column-gap: 15px;
      }
    }
    .pagination__pages {
      display: flex;
      column-gap: inherit;
      list-style-type: none;
    }
    .pagination li > a {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      font-size: 1.6rem;
      color: var(--black-color);
      font-weight: var(--font-weight-normal);
      border: 1px solid var(--key-color);
      width: 32px;
      height: 32px;
      padding-top: 2px;
      text-decoration: none;
      line-height: 1;
      transition: all 200ms ease-in-out;
    }
    .pagination li > a:hover {
      color: #fff;
      background-color: var(--key-color);
    }
    .pagination li.current a {
      color: #fff;
      background-color: var(--key-color);
    }
    @container news (width <=510px) {
      .pagination li > a {
        width: 30px;
        height: 30px;
        font-size: 1.6rem;
      }
      .pagination__pages {
        column-gap: 15px;
      }
    }
    .pagination__prev,
    .pagination__next {
      display: inline-flex;
      align-items: center;
    }
    .pagination__prev.is-disabled,
    .pagination__next.is-disabled {
      visibility: hidden;
    }
    .pagination__prev .prev,
    .pagination__prev .next,
    .pagination__next .prev,
    .pagination__next .next {
      display: inline-flex;
      align-items: center;
      align-self: center;
      height: inherit;
      transition: background-color 200ms ease-in-out;
    }
    .pagination__prev .prev:hover,
    .pagination__prev .next:hover,
    .pagination__next .prev:hover,
    .pagination__next .next:hover {
      color: var(--key-color, var(--base-color));
    }
    .pagination__prev .prev,
    .pagination__next .prev {
      justify-content: flex-start;
    }
    .pagination__prev .prev:hover .arrow-circle,
    .pagination__next .prev:hover .arrow-circle {
      transform: scale(-1) translateX(5px);
    }
    .pagination__prev .next,
    .pagination__next .next {
      justify-content: flex-end;
    }
    .pagination__prev .next:hover .arrow-circle,
    .pagination__next .next:hover .arrow-circle {
      transform: translateX(5px);
    }
    @container news (width <=510px) {
      .pagination__prev,
      .pagination__next {
        height: 25px;
      }
      .pagination__prev .prev,
      .pagination__prev .next,
      .pagination__next .prev,
      .pagination__next .next {
        min-width: 25px;
        height: 25px;
        border: none;
      }
    }
    .after-arrow,
    .prev-arrow {
      position: relative;
      display: inline-block;
      width: 20px;
      height: 32px;
    }
    .after-arrow::after,
    .prev-arrow::after {
      content: "";
      display: inline-block;
      position: absolute;
      width: 8px;
      height: 12px;
      top: calc(50% + 2px);
      left: 50%;
      transform: translate(-50%, -50%);
      background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOHB4IiBoZWlnaHQ9IjEycHgiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDggMTIiIHZpZXdCb3g9IjAgMCA4IDEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im03LjUgNi01LjQtNS42aC0xLjZsNS40IDUuNi01LjQgNS42aDEuNnoiIGZpbGw9IiMxMTM4NjgiLz48L3N2Zz4=);
      background-repeat: no-repeat;
      background-position: center;
    }
    @container news (width <=510px) {}
    .prev-arrow::after {
      transform: translate(-50%, -50%) scale(-1, -1);
    }
    a:hover > .after-arrow::after,
    a:hover > .prev-arrow::after {
      background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOHB4IiBoZWlnaHQ9IjEycHgiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDggMTIiIHZpZXdCb3g9IjAgMCA4IDEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im03LjUgNi01LjQtNS42aC0xLjZsNS40IDUuNi01LjQgNS42aDEuNnoiIGZpbGw9IiM0NmNhZmMiLz48L3N2Zz4=);
    }
    .page-nav {
      width: fit-content;
      padding-block-start: 80px;
      display: grid;
      gap: 0 75px;
      grid-template-columns: 1fr auto 1fr;
      grid-template-areas: "prev pageback next";
      margin: 0 auto;
    }
    @media screen and (max-width: 480px) {
      .page-nav {
        gap: 0 17px;
        justify-content: center;
        grid-template-columns: 40px 150px 40px;
        padding-block-start: 30px;
      }
    }
    .page-nav .page-nav__left,
    .page-nav .page-nav__right,
    .page-nav .page-nav__back {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      gap: 1px;
      font-size: 1.6rem;
      line-height: 1;
      transition: all 200ms ease-out;
    }
    .page-nav .page-nav__back {
      display: inline-flex;
      align-items: center;
      background-color: var(--key-color);
      border: 1px solid var(--key-color);
      color: #fff;
      font-size: 1.6rem;
      width: 120px;
      height: 40px;
      padding-top: 1px;
    }
    .page-nav .page-nav__back:hover {
      color: var(--key-color);
      background-color: #fff;
    }
    .page-nav .page-nav__left,
    .page-nav .page-nav__right {
      column-gap: 10px;
    }
    .page-nav .page-nav__left {
      grid-area: prev;
    }
    .page-nav .page-nav__left .text {
      margin-right: auto;
    }
    @media screen and (max-width: 480px) {
      .page-nav .page-nav__left .text {
        display: none;
      }
    }
    .page-nav .page-nav__right {
      grid-area: next;
    }
    .page-nav .page-nav__right .text {
      margin-left: auto;
    }
    @media screen and (max-width: 480px) {
      .page-nav .page-nav__right .text {
        display: none;
      }
    }
    .page-nav .page-nav__back {
      grid-area: pageback;
    }
    .page-nav .text {
      display: inline-block;
      transition: all 200ms ease-out;
    }
    .page-nav .prev,
    .page-nav .next {
      display: inline-flex;
      width: 30px;
      height: 30px;
      border-radius: 100%;
      background-image: url(/assets/images/pict/arrow-key.svg);
      background-repeat: no-repeat;
      background-position: center;
      background-repeat: no-repeat;
      background-position: 12px 10px;
      transition: all 200ms ease-out;
      background-size: auto 12px;
    }
    .page-nav .prev {
      margin-left: auto;
      transform: scale(-1, 1);
    }
    .page-nav .next {
      margin-right: auto;
    }
    .page-nav .page-nav__left:hover .prev,
    .page-nav .page-nav__right:hover .next {
      background-color: var(--key-color);
      background-image: url(/assets/images/pict/arrow-white.svg);
    }
  }
}
@layer third-party {
  .splide__container {
    box-sizing: border-box;
    position: relative;
  }
  .splide__list {
    backface-visibility: hidden;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
  }
  .splide.is-initialized:not(.is-active) .splide__list {
    display: block;
  }
  .splide__pagination {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0;
    pointer-events: none;
  }
  .splide__pagination li {
    display: inline-block;
    line-height: 1;
    list-style-type: none;
    margin: 0;
    pointer-events: auto;
  }
  .splide:not(.is-overflow) .splide__pagination {
    display: none;
  }
  .splide__progress__bar {
    width: 0;
  }
  .splide {
    position: relative;
    visibility: hidden;
  }
  .splide.is-initialized, .splide.is-rendered {
    visibility: visible;
  }
  .splide__slide {
    backface-visibility: hidden;
    box-sizing: border-box;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    list-style-type: none !important;
    margin: 0;
    position: relative;
  }
  .splide__slide img {
    vertical-align: bottom;
  }
  .splide__spinner {
    animation: splide-loading 1s linear infinite;
    border: 2px solid #999;
    border-left-color: transparent;
    border-radius: 50%;
    bottom: 0;
    contain: strict;
    display: inline-block;
    height: 20px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px;
  }
  .splide__sr {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  .splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
    display: none;
  }
  .splide__toggle.is-active .splide__toggle__pause {
    display: inline;
  }
  .splide__track {
    overflow: hidden;
    position: relative;
    z-index: 0;
  }
  @keyframes splide-loading {
    0% {
      transform: rotate(0);
    }
    to {
      transform: rotate(1turn);
    }
  }
  .splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  .splide__track--fade > .splide__list > .splide__slide {
    margin: 0 !important;
    opacity: 0;
    z-index: 0;
  }
  .splide__track--fade > .splide__list > .splide__slide.is-active {
    opacity: 1;
    z-index: 1;
  }
  .splide--rtl {
    direction: rtl;
  }
  .splide__track--ttb > .splide__list {
    display: block;
  }
  .splide__arrow {
    -ms-flex-align: center;
    align-items: center;
    background: #ccc;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    display: -ms-flexbox;
    display: flex;
    height: 2em;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: 0.7;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2em;
    z-index: 1;
  }
  .splide__arrow svg {
    fill: #000;
    height: 1.2em;
    width: 1.2em;
  }
  .splide__arrow:hover:not(:disabled) {
    opacity: 0.9;
  }
  .splide__arrow:disabled {
    opacity: 0.3;
  }
  .splide__arrow:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide__arrow--prev {
    left: 1em;
  }
  .splide__arrow--prev svg {
    transform: scaleX(-1);
  }
  .splide__arrow--next {
    right: 1em;
  }
  .splide.is-focus-in .splide__arrow:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide__pagination {
    bottom: 0.5em;
    left: 0;
    padding: 0 1em;
    position: absolute;
    right: 0;
    z-index: 1;
  }
  .splide__pagination__page {
    background: #ccc;
    border: 0;
    border-radius: 50%;
    display: inline-block;
    height: 8px;
    margin: 3px;
    opacity: 0.7;
    padding: 0;
    position: relative;
    transition: transform 0.2s linear;
    width: 8px;
  }
  .splide__pagination__page.is-active {
    background: #fff;
    transform: scale(1.4);
    z-index: 1;
  }
  .splide__pagination__page:hover {
    cursor: pointer;
    opacity: 0.9;
  }
  .splide__pagination__page:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide.is-focus-in .splide__pagination__page:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide__progress__bar {
    background: #ccc;
    height: 3px;
  }
  .splide__slide {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .splide__slide:focus {
    outline: 0;
  }
  @supports (outline-offset: -3px) {
    .splide__slide:focus-visible {
      outline: 3px solid #0bf;
      outline-offset: -3px;
    }
  }
  @media screen and (-ms-high-contrast: none) {
    .splide__slide:focus-visible {
      border: 3px solid #0bf;
    }
  }
  @supports (outline-offset: -3px) {
    .splide.is-focus-in .splide__slide:focus {
      outline: 3px solid #0bf;
      outline-offset: -3px;
    }
  }
  @media screen and (-ms-high-contrast: none) {
    .splide.is-focus-in .splide__slide:focus {
      border: 3px solid #0bf;
    }
    .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
      border-color: #0bf;
    }
  }
  .splide__toggle {
    cursor: pointer;
  }
  .splide__toggle:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide.is-focus-in .splide__toggle:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide__track--nav > .splide__list > .splide__slide {
    border: 3px solid transparent;
    cursor: pointer;
  }
  .splide__track--nav > .splide__list > .splide__slide.is-active {
    border: 3px solid #000;
  }
  .splide__arrows--rtl .splide__arrow--prev {
    left: auto;
    right: 1em;
  }
  .splide__arrows--rtl .splide__arrow--prev svg {
    transform: scaleX(1);
  }
  .splide__arrows--rtl .splide__arrow--next {
    left: 1em;
    right: auto;
  }
  .splide__arrows--rtl .splide__arrow--next svg {
    transform: scaleX(-1);
  }
  .splide__arrows--ttb .splide__arrow {
    left: 50%;
    transform: translate(-50%);
  }
  .splide__arrows--ttb .splide__arrow--prev {
    top: 1em;
  }
  .splide__arrows--ttb .splide__arrow--prev svg {
    transform: rotate(-90deg);
  }
  .splide__arrows--ttb .splide__arrow--next {
    bottom: 1em;
    top: auto;
  }
  .splide__arrows--ttb .splide__arrow--next svg {
    transform: rotate(90deg);
  }
  .splide__pagination--ttb {
    bottom: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    left: auto;
    padding: 1em 0;
    right: 0.5em;
    top: 0;
  }
  .slide-content {
    display: grid;
  }
  .slide-content > * {
    grid-area: 1/-1;
  }
  .first-view .splide__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    clip-path: url(#slide-clip);
  }
  .slide-controller {
    display: grid;
    grid-template-columns: 20px 25px auto 25px 20px;
    justify-content: center;
    align-items: center;
    padding-top: 10px;
    column-gap: 2px;
  }
  .slide-controller .splide__pagination {
    grid-column: 3;
    position: static;
    padding-inline: 10px;
  }
  .slide-controller .splide__pagination__page {
    width: 10px;
    height: 10px;
    margin: 8px;
  }
  .slide-controller .splide__pagination__page.is-active {
    background-color: var(--base-color);
    transform: none;
    opacity: 1;
  }
  .slide-controller .splide__arrows {
    position: relative;
  }
  :where(.first-view .slide__toggle) {
    grid-column: 5;
    display: inline-grid;
    transform: translateX(20px);
  }
  :where(.first-view .slide__toggle) span[aria-hidden=true] {
    display: none;
  }
  :where(.first-view .slide__toggle) .play,
  :where(.first-view .slide__toggle) .pause {
    grid-area: 1/-1;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 0 3px;
    width: 20px;
    height: 20px;
    background: #999;
    border-radius: 100%;
  }
  :where(.first-view .slide__toggle) .play::before {
    content: "";
    display: block;
    width: 8px;
    height: 5px;
    background-color: #fff;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    margin-left: 2px;
  }
  :where(.first-view .slide__toggle) .pause::before, :where(.first-view .slide__toggle) .pause::after {
    content: "";
    display: block;
    width: 2px;
    height: 10px;
    background-color: #fff;
  }
  .first-view .splide__arrow {
    width: auto;
    height: auto;
    opacity: 1;
    background-color: transparent;
    position: static;
    transform: none;
  }
  .first-view .splide__arrows.--left {
    grid-column: 2;
    grid-row: 1;
  }
  .first-view .splide__arrows.--left .pict-circle-arrow {
    transform: scaleX(-1);
  }
  .first-view .splide__arrows.--right {
    grid-column: 4;
    grid-row: 1;
  }
  .splide__container {
    box-sizing: border-box;
    position: relative;
  }
  .splide__list {
    backface-visibility: hidden;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
  }
  .splide.is-initialized:not(.is-active) .splide__list {
    display: block;
  }
  .splide__pagination {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0;
    pointer-events: none;
  }
  .splide__pagination li {
    display: inline-block;
    line-height: 1;
    list-style-type: none;
    margin: 0;
    pointer-events: auto;
  }
  .splide:not(.is-overflow) .splide__pagination {
    display: none;
  }
  .splide__progress__bar {
    width: 0;
  }
  .splide {
    position: relative;
    visibility: hidden;
  }
  .splide.is-initialized, .splide.is-rendered {
    visibility: visible;
  }
  .splide__slide {
    backface-visibility: hidden;
    box-sizing: border-box;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    list-style-type: none !important;
    margin: 0;
    position: relative;
  }
  .splide__slide img {
    vertical-align: bottom;
  }
  .splide__spinner {
    animation: splide-loading 1s linear infinite;
    border: 2px solid #999;
    border-left-color: transparent;
    border-radius: 50%;
    bottom: 0;
    contain: strict;
    display: inline-block;
    height: 20px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px;
  }
  .splide__sr {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  .splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
    display: none;
  }
  .splide__toggle.is-active .splide__toggle__pause {
    display: inline;
  }
  .splide__track {
    overflow: hidden;
    position: relative;
    z-index: 0;
  }
  @keyframes splide-loading {
    0% {
      transform: rotate(0);
    }
    to {
      transform: rotate(1turn);
    }
  }
  .splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  .splide__track--fade > .splide__list > .splide__slide {
    margin: 0 !important;
    opacity: 0;
    z-index: 0;
  }
  .splide__track--fade > .splide__list > .splide__slide.is-active {
    opacity: 1;
    z-index: 1;
  }
  .splide--rtl {
    direction: rtl;
  }
  .splide__track--ttb > .splide__list {
    display: block;
  }
  .splide__arrow {
    -ms-flex-align: center;
    align-items: center;
    background: #ccc;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    display: -ms-flexbox;
    display: flex;
    height: 2em;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: 0.7;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2em;
    z-index: 1;
  }
  .splide__arrow svg {
    fill: #000;
    height: 1.2em;
    width: 1.2em;
  }
  .splide__arrow:hover:not(:disabled) {
    opacity: 0.9;
  }
  .splide__arrow:disabled {
    opacity: 0.3;
  }
  .splide__arrow:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide__arrow--prev {
    left: 1em;
  }
  .splide__arrow--prev svg {
    transform: scaleX(-1);
  }
  .splide__arrow--next {
    right: 1em;
  }
  .splide.is-focus-in .splide__arrow:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide__pagination {
    bottom: 0.5em;
    left: 0;
    padding: 0 1em;
    position: absolute;
    right: 0;
    z-index: 1;
  }
  .splide__pagination__page {
    background: #ccc;
    border: 0;
    border-radius: 50%;
    display: inline-block;
    height: 8px;
    margin: 3px;
    opacity: 0.7;
    padding: 0;
    position: relative;
    transition: transform 0.2s linear;
    width: 8px;
  }
  .splide__pagination__page.is-active {
    background: #fff;
    transform: scale(1.4);
    z-index: 1;
  }
  .splide__pagination__page:hover {
    cursor: pointer;
    opacity: 0.9;
  }
  .splide__pagination__page:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide.is-focus-in .splide__pagination__page:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide__progress__bar {
    background: #ccc;
    height: 3px;
  }
  .splide__slide {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .splide__slide:focus {
    outline: 0;
  }
  @supports (outline-offset: -3px) {
    .splide__slide:focus-visible {
      outline: 3px solid #0bf;
      outline-offset: -3px;
    }
  }
  @media screen and (-ms-high-contrast: none) {
    .splide__slide:focus-visible {
      border: 3px solid #0bf;
    }
  }
  @supports (outline-offset: -3px) {
    .splide.is-focus-in .splide__slide:focus {
      outline: 3px solid #0bf;
      outline-offset: -3px;
    }
  }
  @media screen and (-ms-high-contrast: none) {
    .splide.is-focus-in .splide__slide:focus {
      border: 3px solid #0bf;
    }
    .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
      border-color: #0bf;
    }
  }
  .splide__toggle {
    cursor: pointer;
  }
  .splide__toggle:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide.is-focus-in .splide__toggle:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide__track--nav > .splide__list > .splide__slide {
    border: 3px solid transparent;
    cursor: pointer;
  }
  .splide__track--nav > .splide__list > .splide__slide.is-active {
    border: 3px solid #000;
  }
  .splide__arrows--rtl .splide__arrow--prev {
    left: auto;
    right: 1em;
  }
  .splide__arrows--rtl .splide__arrow--prev svg {
    transform: scaleX(1);
  }
  .splide__arrows--rtl .splide__arrow--next {
    left: 1em;
    right: auto;
  }
  .splide__arrows--rtl .splide__arrow--next svg {
    transform: scaleX(-1);
  }
  .splide__arrows--ttb .splide__arrow {
    left: 50%;
    transform: translate(-50%);
  }
  .splide__arrows--ttb .splide__arrow--prev {
    top: 1em;
  }
  .splide__arrows--ttb .splide__arrow--prev svg {
    transform: rotate(-90deg);
  }
  .splide__arrows--ttb .splide__arrow--next {
    bottom: 1em;
    top: auto;
  }
  .splide__arrows--ttb .splide__arrow--next svg {
    transform: rotate(90deg);
  }
  .splide__pagination--ttb {
    bottom: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    left: auto;
    padding: 1em 0;
    right: 0.5em;
    top: 0;
  }
  .outline-block {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr minmax(300px, 1fr);
    gap: var(--row-gap, 0) var(--column-gap, 40px);
  }
  @media screen and (max-width: 834px) {
    .outline-block {
      grid-template-columns: 1fr;
      grid-template-rows: auto auto;
    }
  }
  @media screen and (max-width: 834px) {
    .outline-block__left {
      grid-column: 1;
      grid-row: 1;
    }
  }
  .common-slide {
    display: grid;
  }
  @media screen and (max-width: 834px) {
    .common-slide {
      grid-column: 1;
      grid-row: 2;
    }
  }
  .common-slide .splide__slider {
    grid-area: 1/-1;
  }
  .common-slide .splide__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .common-slide .slide-controller {
    grid-area: 1/-1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 10px;
    column-gap: 2px;
  }
  @media screen and (max-width: 834px) {
    .common-slide .slide-controller {
      grid-column: 1;
      grid-row: 2;
      justify-content: center;
      column-gap: 20px;
    }
  }
  .common-slide .slide-controller .splide__arrows {
    position: relative;
  }
  .common-slide .splide__arrow {
    width: auto;
    height: auto;
    opacity: 1;
    background-color: transparent;
    position: static;
    transform: none;
    margin-inline: 10px;
  }
  .common-slide .splide__arrows.--left {
    grid-column: 2;
    grid-row: 1;
  }
  .common-slide .splide__arrows.--left .pict-circle-arrow {
    transform: scaleX(-1);
  }
  .common-slide .splide__arrows.--right {
    grid-column: 4;
    grid-row: 1;
  }
  .tippy-box[data-animation=fade][data-state=hidden] {
    opacity: 0;
  }
  [data-tippy-root] {
    max-width: calc(100vw - 10px);
  }
  .tippy-box {
    position: relative;
    background-color: #333;
    color: #fff;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.4;
    white-space: normal;
    outline: 0;
    transition-property: transform, visibility, opacity;
  }
  .tippy-box[data-placement^=top] > .tippy-arrow {
    bottom: 0;
  }
  .tippy-box[data-placement^=top] > .tippy-arrow:before {
    bottom: -7px;
    left: 0;
    border-width: 8px 8px 0;
    border-top-color: initial;
    transform-origin: center top;
  }
  .tippy-box[data-placement^=bottom] > .tippy-arrow {
    top: 0;
  }
  .tippy-box[data-placement^=bottom] > .tippy-arrow:before {
    top: -7px;
    left: 0;
    border-width: 0 8px 8px;
    border-bottom-color: initial;
    transform-origin: center bottom;
  }
  .tippy-box[data-placement^=left] > .tippy-arrow {
    right: 0;
  }
  .tippy-box[data-placement^=left] > .tippy-arrow:before {
    border-width: 8px 0 8px 8px;
    border-left-color: initial;
    right: -7px;
    transform-origin: center left;
  }
  .tippy-box[data-placement^=right] > .tippy-arrow {
    left: 0;
  }
  .tippy-box[data-placement^=right] > .tippy-arrow:before {
    left: -7px;
    border-width: 8px 8px 8px 0;
    border-right-color: initial;
    transform-origin: center right;
  }
  .tippy-box[data-inertia][data-state=visible] {
    transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);
  }
  .tippy-arrow {
    width: 16px;
    height: 16px;
    color: #333;
  }
  .tippy-arrow:before {
    content: "";
    position: absolute;
    border-color: transparent;
    border-style: solid;
  }
  .tippy-content {
    position: relative;
    padding: 5px 9px;
    z-index: 1;
  }
}
@layer project {
  :where(.pict) {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    transition: background-image 200ms ease-in-out;
    background-position: center;
  }
  .pict-tel {
    width: 20px;
    height: 20px;
    background-image: url(/assets/images/pict/pict-tel.svg);
  }
  *:hover > .pict-tel {
    background-image: url(/assets/images/pict/pict-tel-base.svg);
  }
  @media screen and (max-width: 834px) {
    .header-nav__tel .pict-tel {
      width: 40px;
      height: 40px;
      background-color: var(--base-color);
      background-size: 20px;
      border-radius: 100%;
    }
  }
  .pict-tel-solid-base {
    width: 26px;
    height: 26px;
    background-image: url(/assets/images/pict/pict-tel-solid-base.svg);
  }
  .pict-mail-white {
    width: 16px;
    height: 12px;
    background-image: url(/assets/images/pict/pict-mail-white.svg);
  }
  *:hover > .pict-mail-white {
    background-image: url(/assets/images/pict/pict-mail-base.svg);
  }
  .pict-mail-base {
    width: 29px;
    height: 21px;
    background-image: url(/assets/images/pict/pict-mail-base.svg);
  }
  *:hover > .pict-mail-base {
    background-image: url(/assets/images/pict/pict-mail-white.svg);
  }
  .pict-cal-white {
    width: 16px;
    height: 14px;
    background-image: url(/assets/images/pict/pict-cal-white.svg);
  }
  :is(.safari, .ios.mobile) .pict-mail-base {
    background-image: url(/assets/images/pict/pict-mail-base.svg), url(/assets/images/pict/pict-mail-white.svg);
    background-size: 29px 21px, 0 0;
    transition: none;
  }
  :is(.safari, .ios.mobile) *:hover > .pict-mail-base {
    background-image: url(/assets/images/pict/pict-mail-base.svg), url(/assets/images/pict/pict-mail-white.svg);
    background-size: 0 0, 29px 21px;
  }
  .pict-bottom-arrow {
    width: 11px;
    height: 17px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTJweCIgaGVpZ2h0PSI4cHgiIHZpZXdCb3g9IjAgMCAxMiA4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im01Ljk5MjM0IDcuMDE5NDkgNS42MDc2Ny01LjQyMDYzdi0xLjU5ODg2bC01LjYwNzY3IDUuNDIwNzctNS41OTIzNS01LjQwNzYzdjEuNTk4OXoiIGZpbGw9IiMwMjkwYzUiLz48L3N2Zz4=);
  }
  @media screen and (max-width: 834px) {
    .pc-nav-toggle .pict-bottom-arrow {
      display: none;
    }
  }
  @media screen and (max-width: 834px) {
    .gnav__item__child .pict-bottom-arrow {
      background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOXB4IiBoZWlnaHQ9IjZweCIgdmlld0JveD0iMCAwIDkgNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtNC41IDUuNzUwMzRjLS4xNDI1OCAwLS4yNzg4MS0uMDYxMDQtLjM3MzU0LS4xNjc5N2wtNC00LjVjLS4xODM1OS0uMjA2MDUtLjE2NTAzLS41MjI0Ni4wNDE1MS0uNzA1NTcuMjA1NTctLjE4NDU3LjUyMTQ4LS4xNjYwMi43MDU1Ny4wNDE1bDMuNjI2NDYgNC4wNzk1OSAzLjYyNjQ2LTQuMDc5NThjLjE4MjYyLS4yMDc1Mi40OTkwMi0uMjI2MDcuNzA1NTctLjA0MTUuMjA2NTQuMTgzMTEuMjI1MS40OTk1MS4wNDE1LjcwNTU3bC00IDQuNWMtLjA5NDczLjEwNjkzLS4yMzA5Ni4xNjc5Ny0uMzczNTQuMTY3OTd6IiBmaWxsPSIjZmZmIi8+PC9zdmc+);
    }
  }
  .pict-youtube {
    width: 51px;
    height: 34px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTEgMzQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTQ2LjY4ODAzIDEuMzA4MDNjMS42Mjk3MSAwIDIuOTU1NTggMS4zMjU4NyAyLjk1NTU4IDIuOTU1NTh2MjUuNDcyNzljMCAxLjYyOTcxLTEuMzI1ODcgMi45NTU1Ny0yLjk1NTU4IDIuOTU1NTdoLTQyLjM3NjExYy0xLjYyOTY4IDAtMi45NTU1My0xLjMyNTg0LTIuOTU1NTMtMi45NTU1MnYtMjUuNDcyODljMC0xLjYyOTY4IDEuMzI1ODUtMi45NTU1MyAyLjk1NTUzLTIuOTU1NTN6bTAtMWgtNDIuMzc2MTFjLTIuMTc1NTQgMC0zLjk1NTUzIDEuNzc5OTktMy45NTU1MyAzLjk1NTUzdjI1LjQ3Mjg5YzAgMi4xNzU1NCAxLjc3OTk5IDMuOTU1NTIgMy45NTU1MyAzLjk1NTUyaDQyLjM3NjExYzIuMTc1NTcgMCAzLjk1NTU4LTEuNzgwMDEgMy45NTU1OC0zLjk1NTU3di0yNS40NzI3OWMwLTIuMTc1NTctMS43ODAwMS0zLjk1NTU4LTMuOTU1NTgtMy45NTU1OHoiLz48cGF0aCBkPSJtMjEuNzMyNDMgMjIuNjM4MThjLS4wODY0MyAwLS4xNzI4NS0uMDIyNDYtLjI1LS4wNjY4OS0uMTU0NzktLjA4OTM2LS4yNS0uMjU0MzktLjI1LS40MzMxMXYtMTAuMjc2MzdjMC0uMTc4NzEuMDk1MjEtLjM0Mzc1LjI1LS40MzMxMS4xNTQzLS4wODg4Ny4zNDU3LS4wODg4Ny41IDBsOC44OTk0MSA1LjEzODE4Yy4xNTQ3OS4wODkzNi4yNS4yNTQzOS4yNS40MzMxMXMtLjA5NTIxLjM0Mzc1LS4yNS40MzMxMWwtOC44OTk0MSA1LjEzODE4Yy0uMDc3MTUuMDQ0NDMtLjE2MzU3LjA2Njg5LS4yNS4wNjY4OXptLjUtOS45MTAxNnY4LjU0Mzk1bDcuMzk5NDEtNC4yNzE5Ny03LjM5OTQxLTQuMjcxOTd6Ii8+PC9zdmc+);
  }
  .pict-pdf {
    width: 21px;
    height: 26px;
    background-image: url(/assets/images/pict/pict-pdf.svg), url(/assets/images/pict/pict-pdf-white.svg);
    background-size: 21px 26px, 0 0;
  }
  *:hover > .pict-pdf {
    background-size: 0 0, 21px 26px;
  }
  .pict-external-white {
    width: 19px;
    height: 19px;
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE5Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjtzdHJva2Utd2lkdGg6MHB4O308L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0xMS4wODY2NywxOC45NzAyMUgxLjExNDk5Yy0uNTk4MTQsMC0xLjA4NDk2LS40ODY4Mi0xLjA4NDk2LTEuMDg1NDVWNy41OTIyOWMwLS41OTg2My40ODY4Mi0xLjA4NTQ1LDEuMDg0OTYtMS4wODU0NWgyLjkwOTY3Yy4yNzYzNywwLC41LjIyMzYzLjUuNXMtLjIyMzYzLjUtLjUuNUgxLjExNDk5Yy0uMDQ1NDEsMC0uMDg0OTYuMDQwMDQtLjA4NDk2LjA4NTQ1djEwLjI5MjQ4YzAsLjA0NjM5LjAzOTA2LjA4NTQ1LjA4NDk2LjA4NTQ1aDkuOTcxNjhjLjA0NTksMCwuMDg0OTYtLjAzOTA2LjA4NDk2LS4wODU0NXYtMi42NDZjMC0uMjc2MzcuMjIzNjMtLjUuNS0uNXMuNS4yMjM2My41LjV2Mi42NDZjMCwuNTk4NjMtLjQ4NjgyLDEuMDg1NDUtMS4wODQ5NiwxLjA4NTQ1WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTE3Ljg5ODE5LDEyLjQ4OTI2SDcuOTEzODJjLS41OTEzMSwwLTEuMDcyMjctLjQ4MDk2LTEuMDcyMjctMS4wNzE3OFYxLjEwMTU2QzYuODQxNTUuNTEwNzQsNy4zMjI1MS4wMjk3OSw3LjkxMzgyLjAyOTc5aDkuOTg0MzhjLjU5MDgyLDAsMS4wNzE3OC40ODA5NiwxLjA3MTc4LDEuMDcxNzh2MTAuMzE1OTJjMCwuNTkwODItLjQ4MDk2LDEuMDcxNzgtMS4wNzE3OCwxLjA3MTc4Wk03LjkxMzgyLDEuMDI5NzljLS4wMzg1NywwLS4wNzIyNy4wMzM2OS0uMDcyMjcuMDcxNzh2MTAuMzE1OTJjMCwuMDM4MDkuMDMzNjkuMDcxNzguMDcyMjcuMDcxNzhoOS45ODQzOGMuMDM4MDksMCwuMDcxNzgtLjAzMzY5LjA3MTc4LS4wNzE3OFYxLjEwMTU2YzAtLjAzODA5LS4wMzM2OS0uMDcxNzgtLjA3MTc4LS4wNzE3OEg3LjkxMzgyWiIvPjwvc3ZnPg==);
  }
  *:hover > .pict-external-white {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE5Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6IzAwMDtzdHJva2Utd2lkdGg6MHB4O308L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0xMS4wODY2NywxOC45NzAyMUgxLjExNDk5Yy0uNTk4MTQsMC0xLjA4NDk2LS40ODY4Mi0xLjA4NDk2LTEuMDg1NDVWNy41OTIyOWMwLS41OTg2My40ODY4Mi0xLjA4NTQ1LDEuMDg0OTYtMS4wODU0NWgyLjkwOTY3Yy4yNzYzNywwLC41LjIyMzYzLjUuNXMtLjIyMzYzLjUtLjUuNUgxLjExNDk5Yy0uMDQ1NDEsMC0uMDg0OTYuMDQwMDQtLjA4NDk2LjA4NTQ1djEwLjI5MjQ4YzAsLjA0NjM5LjAzOTA2LjA4NTQ1LjA4NDk2LjA4NTQ1aDkuOTcxNjhjLjA0NTksMCwuMDg0OTYtLjAzOTA2LjA4NDk2LS4wODU0NXYtMi42NDZjMC0uMjc2MzcuMjIzNjMtLjUuNS0uNXMuNS4yMjM2My41LjV2Mi42NDZjMCwuNTk4NjMtLjQ4NjgyLDEuMDg1NDUtMS4wODQ5NiwxLjA4NTQ1WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTE3Ljg5ODE5LDEyLjQ4OTI2SDcuOTEzODJjLS41OTEzMSwwLTEuMDcyMjctLjQ4MDk2LTEuMDcyMjctMS4wNzE3OFYxLjEwMTU2QzYuODQxNTUuNTEwNzQsNy4zMjI1MS4wMjk3OSw3LjkxMzgyLjAyOTc5aDkuOTg0MzhjLjU5MDgyLDAsMS4wNzE3OC40ODA5NiwxLjA3MTc4LDEuMDcxNzh2MTAuMzE1OTJjMCwuNTkwODItLjQ4MDk2LDEuMDcxNzgtMS4wNzE3OCwxLjA3MTc4Wk03LjkxMzgyLDEuMDI5NzljLS4wMzg1NywwLS4wNzIyNy4wMzM2OS0uMDcyMjcuMDcxNzh2MTAuMzE1OTJjMCwuMDM4MDkuMDMzNjkuMDcxNzguMDcyMjcuMDcxNzhoOS45ODQzOGMuMDM4MDksMCwuMDcxNzgtLjAzMzY5LjA3MTc4LS4wNzE3OFYxLjEwMTU2YzAtLjAzODA5LS4wMzM2OS0uMDcxNzgtLjA3MTc4LS4wNzE3OEg3LjkxMzgyWiIvPjwvc3ZnPg==);
  }
  .pict-download {
    width: 18px;
    height: 17px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZiI+PHBhdGggZD0ibTE3LjA0NDkyIDE1LjUxNTE0aC0xNi4wODk4NGMtLjI3NjM3IDAtLjUuMjIzNjMtLjUuNXMuMjIzNjMuNS41LjVoMTYuMDg5ODRjLjI3NjM3IDAgLjUtLjIyMzYzLjUtLjVzLS4yMjM2My0uNS0uNS0uNXoiLz48cGF0aCBkPSJtOC40OTg1NCAxMi4yNDk1MWMuMDk3MTcuMDk0MjQuMjIyNjYuMTQxMTEuMzQ4MTQuMTQxMTFzLjI1MDk4LS4wNDY4OC4zNDgxNC0uMTQxMTFsNC4xNTA4OC00LjAyMTk3Yy4xOTgyNC0uMTkxODkuMjAzMTItLjUwODMuMDEwNzQtLjcwNzAzLS4xOTE4OS0uMTk4MjQtLjUwOTI4LS4yMDMxMi0uNzA3MDMtLjAxMDc0bC0zLjMwMzIyIDMuMjAwNTZ2LTkuNzI1NDdjMC0uMjc2MzctLjIyMzYzLS41LS41LS41cy0uNS4yMjM2My0uNS41djkuNzI0NjFsLTMuMzAyNzMtMy4xOTk3MWMtLjE5Nzc1LS4xOTIzOC0uNTE1MTQtLjE4NzUtLjcwNzAzLjAxMDc0LS4xOTIzOC4xOTg3My0uMTg3NS41MTUxNC4wMTA3NC43MDcwM2w0LjE1MTM3IDQuMDIxOTd6Ii8+PC9nPjwvc3ZnPg==);
  }
  *:hover > .pict-download {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTE3LjA0NDkyIDE1LjUxNTE0aC0xNi4wODk4NGMtLjI3NjM3IDAtLjUuMjIzNjMtLjUuNXMuMjIzNjMuNS41LjVoMTYuMDg5ODRjLjI3NjM3IDAgLjUtLjIyMzYzLjUtLjVzLS4yMjM2My0uNS0uNS0uNXoiLz48cGF0aCBkPSJtOC40OTg1NCAxMi4yNDk1MWMuMDk3MTcuMDk0MjQuMjIyNjYuMTQxMTEuMzQ4MTQuMTQxMTFzLjI1MDk4LS4wNDY4OC4zNDgxNC0uMTQxMTFsNC4xNTA4OC00LjAyMTk3Yy4xOTgyNC0uMTkxODkuMjAzMTItLjUwODMuMDEwNzQtLjcwNzAzLS4xOTE4OS0uMTk4MjQtLjUwOTI4LS4yMDMxMi0uNzA3MDMtLjAxMDc0bC0zLjMwMzIyIDMuMjAwNTZ2LTkuNzI1NDdjMC0uMjc2MzctLjIyMzYzLS41LS41LS41cy0uNS4yMjM2My0uNS41djkuNzI0NjFsLTMuMzAyNzMtMy4xOTk3MWMtLjE5Nzc1LS4xOTIzOC0uNTE1MTQtLjE4NzUtLjcwNzAzLjAxMDc0LS4xOTIzOC4xOTg3My0uMTg3NS41MTUxNC4wMTA3NC43MDcwM2w0LjE1MTM3IDQuMDIxOTd6Ii8+PC9zdmc+);
  }
  .arrow {
    display: inline-flex;
    align-items: center;
    width: 38px;
    height: 38px;
    background-image: url(/assets/images/pict/pict-arrow-white.svg), url(/assets/images/pict/pict-arrow-base.svg);
    background-repeat: no-repeat;
    background-size: 8px 14px, 0 0;
    background-position: center;
    background-color: var(--bg-color, var(--base-color));
    border-radius: 100%;
  }
  .pict-arrow {
    width: 7px;
    height: 13px;
    background-image: url(/assets/images/pict/pict-arrow-black.svg), url(/assets/images/pict/pict-arrow-key.svg);
    background-size: 7px 13px, 0 0;
  }
  *:hover > .pict-arrow {
    background-size: 0 0, 7px 13px;
  }
  .pict-white-arrow {
    width: 7px;
    height: 13px;
    background-image: url(/assets/images/pict/pict-arrow-white.svg);
  }
  *:hover > .pict-white-arrow {
    background-image: url(/assets/images/pict/pict-arrow-base.svg);
  }
  .pict-base-arrow {
    width: 7px;
    height: 13px;
    background-image: url(/assets/images/pict/pict-arrow-base.svg);
  }
  *:hover > .pict-base-arrow {
    background-image: url(/assets/images/pict/pict-arrow-key.svg);
  }
  .pict-circle-arrow {
    display: inline-grid;
    justify-content: center;
    align-items: center;
    width: var(--width, 25px);
    height: var(--width, 25px);
    background-color: var(--bg-color, #fff);
    border: 1px solid var(--bd-color, var(--base-color));
    border-radius: 100%;
    z-index: 0;
    transition: all 200ms ease-in-out;
  }
  .pict-circle-arrow::after {
    grid-area: 1/-1;
    content: "";
    display: block;
    width: var(--arrow-width, 6px);
    height: var(--arrow-height, 11px);
    background-image: url(/assets/images/pict/pict-arrow-base.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    transition: all 200ms ease-in-out;
    z-index: 1;
  }
  *:hover > .pict-circle-arrow {
    --bg-color: var(--base-color);
  }
  *:hover > .pict-circle-arrow::after {
    background-image: url(/assets/images/pict/pict-arrow-white.svg);
  }
  .pict-border-circle-arrow {
    display: inline-grid;
    justify-content: center;
    align-items: center;
    width: var(--width, 20px);
    height: var(--width, 20px);
    background-color: var(--bg-color, transparent);
    border-radius: 100%;
    z-index: 0;
    transition: background-color 200ms ease-in-out, border-color 200ms ease-in-out;
    border: 1px solid var(--bd-color, #fff);
  }
  .pict-border-circle-arrow::after {
    grid-area: 1/-1;
    content: "";
    display: block;
    width: var(--arrow-wdith, 8px);
    height: var(--arrow-height, 4px);
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTRweCIgaGVpZ2h0PSI3cHgiIHZpZXdCb3g9IjAgMCAxNCA3IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9IiNmZmYiPjxwYXRoIGQ9Im0xMy40ODM4OSAzLjUtNy4yNDkyNy0zLjM3NDAydjIuNjA5ODZoLTYuMjM0NjJ2MS41MjgzMmg2LjIzNDYydjIuNjA5ODZ6Ii8+PHBhdGggZD0ibTEzLjQ4Mzg5IDMuNS03LjI0OTI3LTMuMzc0MDJ2Mi42MDk4NmgtNi4yMzQ2MnYxLjUyODMyaDYuMjM0NjJ2Mi42MDk4NnoiLz48L2c+PC9zdmc+);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 8px 4px;
    transition: background-image 200ms ease-in-out;
    z-index: 1;
  }
  *:hover > .pict-border-circle-arrow {
    background-color: var(--hover-color, var(--key-color));
    border-color: currentColor;
  }
  .pict-solid-circle-arrow {
    display: inline-grid;
    width: var(--width, 15px);
    height: var(--width, 15px);
    background-color: var(--bg-color, var(--base-color));
    border: 1px solid var(--bd-color, var(--base-color));
    background-image: url(/assets/images/pict/pict-arrow-white.svg);
    background-repeat: no-repeat;
    background-size: 5px 7px;
    background-position: center;
    border-radius: 100%;
    transition: all 200ms ease-in-out;
  }
  h1 {
    font-weight: var(--font-weight-bold);
    font-size: var(--font-variable, 3rem);
    margin-block-end: 2.5em;
  }
  h2 {
    font-weight: var(--font-weight-bold);
    font-size: var(--font-variable, 2rem);
    margin-block-end: 2em;
  }
  h3 {
    font-weight: var(--font-weight-bold);
    font-size: var(--font-variable, 1.8rem);
    margin-block-end: 2em;
  }
  h4 {
    font-weight: var(--font-weight-bold);
    font-size: var(--font-variable, 1.5rem);
    margin-block-end: 1em;
  }
  h5 {
    font-size: var(--font-variable, 1.4rem);
    margin-block-end: 0.5em;
  }
  .section-title {
    display: grid;
    justify-content: center;
    text-align: center;
    margin-bottom: 40px;
  }
  .marker-title {
    justify-self: center;
    width: fit-content;
    font-size: 1.8rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.5em;
    line-height: 2em;
    margin-bottom: 0;
    border-image-source: linear-gradient(var(--yellow-color), var(--yellow-color));
    border-image-slice: 0 fill;
    border-image-outset: 0 0px 0px 0.5em;
    border-image-width: 1em auto 0.2em auto;
  }
  .h1 {
    color: var(--base-color);
    font-size: var(--font-variable, 2.8rem);
    font-weight: var(--font-weight-bold);
    padding-block-end: 15px;
    margin-block-end: 1.25em;
    line-height: 1.4;
    letter-spacing: 0.2em;
    text-align: center;
    position: relative;
  }
  .h1::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 78px;
    height: 2px;
    background: linear-gradient(90deg, var(--yellow-color) 50%, var(--key-color) 50%);
  }
  @media screen and (max-width: 480px) {
    .h1 {
      --font-variable: 2.2rem;
      letter-spacing: 0;
    }
  }
  h1.logo {
    margin: 0;
  }
  .h2 {
    font-size: 1.8rem;
    color: var(--base-color);
    line-height: 1.4;
    margin-block-end: 15px;
  }
  .h3 {
    font-size: var(--font-variable, 1.4rem);
    color: var(--color, #fff);
    font-weight: var(--font-weight-normal);
    line-height: 1.2;
    background-color: var(--base-color);
    margin-block-end: 1em;
    letter-spacing: 0.01em;
    width: fit-content;
    padding: 0.2em 1.5em;
  }
  :is(.safari, .ios.mobile) .h3 {
    padding: 0.25em 1.5em 0.05em;
  }
  .h4 {
    display: flex;
    align-items: start;
    gap: 0 0.2em;
    line-height: 1.4;
    margin-block-end: 1.5rem;
  }
  .h4::before {
    flex: 0 0 auto;
    content: "";
    display: inline-block;
    width: 0.6em;
    height: 0.6em;
    background-color: var(--base-color);
    border-radius: 100%;
    transform: translateY(0.35em);
  }
  @media screen and (max-width: 480px) {
    .h4 {
      font-size: 2rem;
    }
  }
  .en-title {
    position: relative;
    font-family: var(--en-font-family);
    font-weight: var(--font-weight-semi-bold);
    font-size: var(--font-variable, 5.6rem);
    color: var(--color, var(--key-color));
    line-height: 1;
  }
  .en-title > span {
    display: inline-block;
    font-size: inherit;
  }
  @media screen and (max-width: 480px) {
    .en-title {
      --font-variable: 5rem;
    }
  }
  .en-font {
    font-family: var(--en-font-family);
  }
  .page-title-block {
    display: grid;
    grid-template-rows: clamp(200px, 23vw, 270px);
    justify-content: center;
    width: 100%;
    clip-path: url(#page-title-clip-path);
    overflow: hidden;
  }
  @media screen and (max-width: 834px) {
    .page-title-block {
      height: 170px;
    }
  }
  @media screen and (max-width: 480px) {
    .page-title-block {
      clip-path: url(#page-title-clip-path-sp);
    }
  }
  .page-title-block__child {
    grid-area: 1/-1;
    display: grid;
    align-self: start;
    justify-self: center;
    padding-block-start: 65px;
    width: fit-content;
    z-index: 1;
  }
  @media screen and (max-width: 834px) {
    .page-title-block__child {
      padding-block-start: 40px;
    }
  }
  .page-title-en {
    justify-self: center;
    font-family: var(--en-font-family);
    font-weight: var(--font-weight-bold);
    color: #fff;
    font-size: 1.8rem;
    line-height: 1;
    letter-spacing: 0.05em;
    background-color: var(--base-color);
    display: flex;
    align-items: center;
    width: fit-content;
    height: 25px;
    padding: 4px 15px 3px;
    border-radius: 10px 10px 0 0;
  }
  @media screen and (max-width: 480px) {
    .page-title-en {
      justify-self: normal;
      justify-content: center;
      width: auto;
    }
  }
  .page-title {
    font-size: 4rem;
    line-height: 1;
    padding: 8px 20px 7px;
    background-color: #fff;
    margin-bottom: 0;
  }
  @media screen and (max-width: 480px) {
    .page-title {
      text-align: center;
      font-size: 3.2rem;
    }
  }
  .page-title-bg {
    z-index: 0;
    grid-area: 1/-1;
  }
  .page-title-bg img {
    width: 100vw;
    height: 300px;
    object-fit: cover;
    object-position: center 0;
  }
  @media screen and (max-width: 480px) {
    .page-title-bg img {
      object-position: center -70px;
    }
  }
  .solid-title {
    font-size: var(--font-variable, 2rem);
    color: #fff;
    padding: 0.32em 1.3em 0.31em;
    margin-block-end: 30px;
    line-height: 1.4;
    width: fit-content;
  }
  @media screen and (max-width: 834px) {
    .solid-title {
      margin-block-end: 20px;
    }
  }
  .circle-title {
    display: flex;
    align-items: start;
    gap: 0 0.2em;
    font-size: 2.4rem;
    line-height: 1.4;
    margin-block-end: 1.5rem;
  }
  .circle-title::before {
    flex: 0 0 auto;
    content: "";
    display: inline-block;
    width: 0.6em;
    height: 0.6em;
    background-color: var(--key-color);
    border-radius: 100%;
    transform: translateY(0.35em);
  }
  @media screen and (max-width: 480px) {
    .circle-title {
      font-size: 2rem;
    }
  }
  .lead-text {
    font-size: var(--font-variable, 4rem);
    font-weight: var(--font-weight-bold);
    line-height: 1.5;
    color: var(--color, var(--black-color));
    letter-spacing: var(--leter-space, 0.05em);
    margin-block-end: 1.3em;
  }
  @media screen and (max-width: 834px) {
    .lead-text {
      --font-variable: clamp(2.6rem, 4.4vw, 4rem);
      --leter-space: 0;
    }
  }
  .large-text {
    --font-variable: 3.2rem;
    font-weight: var(--font-weight-bold);
    margin-block-end: 25px;
  }
  @media screen and (max-width: 834px) {
    .large-text {
      --font-variable: 2.6rem;
      --line-height-variable: 1.5;
    }
  }
  .parallax-block {
    position: relative;
    padding-top: 35px;
  }
  .home .parallax-block {
    padding-top: 30px;
  }
  .w100 {
    width: 100%;
  }
  @media screen and (max-width: 834px) {
    .md-w100 {
      width: 100%;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-w100 {
      width: 100%;
    }
  }
  .iframe-block-full iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
  }
  .stagger-anime > * {
    opacity: 0;
  }
  .split-block {
    position: relative;
    display: grid;
    grid-template-columns: 1fr calc(var(--outer-width) / 2) calc(var(--outer-width) / 2) 1fr;
    grid-template-rows: auto auto 1fr;
  }
  @media screen and (max-width: 1285px) {
    .split-block {
      grid-template-columns: 1fr 1fr;
    }
  }
  @media screen and (max-width: 1180px) {
    .split-block {
      grid-template-columns: 1fr minmax(auto, 560px) minmax(auto, 505px) 1fr;
    }
  }
  @media screen and (max-width: 980px) {
    .split-block {
      grid-template-columns: var(--margin_px) 1fr 1fr var(--margin_px);
    }
  }
  @media screen and (max-width: 834px) {
    .split-block {
      grid-template-columns: var(--sp_margin_px) 1fr var(--sp_margin_px);
      row-gap: 30px;
    }
  }
  .split-block .--title {
    justify-self: start;
    position: relative;
    grid-column: 2/4;
    grid-row: 1;
    margin-bottom: 50px;
    padding-left: var(--margin_px);
  }
  @media screen and (max-width: 1285px) {
    .split-block .--title {
      grid-column: 1/3;
    }
  }
  @media screen and (max-width: 1180px) {
    .split-block .--title {
      grid-column: 1/4;
    }
  }
  @media screen and (max-width: 834px) {
    .split-block .--title {
      grid-column: 2;
      margin-bottom: 0;
      padding-left: 0;
    }
  }
  .split-block .--img {
    grid-column: 2;
    grid-row: 2/4;
    padding-inline: var(--margin_px) 0;
  }
  @media screen and (max-width: 1285px) {
    .split-block .--img {
      grid-column: 1;
    }
  }
  @media screen and (max-width: 1180px) {
    .split-block .--img {
      grid-column: 1/3;
      grid-row: 2;
    }
  }
  @media screen and (max-width: 834px) {
    .split-block .--img {
      grid-column: 2;
      padding-inline: 0;
      justify-self: center;
    }
  }
  .split-block .--content {
    grid-column: 3;
    grid-row: 2;
    justify-self: start;
    padding-inline-end: calc(var(--margin_px) + 20px);
    margin-bottom: 65px;
  }
  @media screen and (max-width: 1285px) {
    .split-block .--content {
      grid-column: 2;
    }
  }
  @media screen and (max-width: 1180px) {
    .split-block .--content {
      grid-column: 3/4;
    }
  }
  @media screen and (max-width: 980px) {
    .split-block .--content {
      padding-inline-end: 20px;
    }
  }
  @media screen and (max-width: 834px) {
    .split-block .--content {
      grid-column: 2;
      grid-row: 3;
      padding: 0;
      margin: 0 0 30px 0;
    }
  }
  .split-block .--link-block {
    grid-column: 3;
    grid-row: 3;
  }
  @media screen and (max-width: 1285px) {
    .split-block .--link-block {
      grid-column: 2;
    }
  }
  @media screen and (max-width: 1180px) {
    .split-block .--link-block {
      grid-column: 3;
    }
  }
  @media screen and (max-width: 980px) {
    .split-block .--link-block {
      grid-column: 2/4;
      grid-row: 3;
      margin-top: 30px;
    }
  }
  @media screen and (max-width: 834px) {
    .split-block .--link-block {
      grid-column: 2;
      grid-row: 4;
      margin-top: 0;
    }
  }
  .split-block.--second {
    display: grid;
    grid-template-rows: auto auto auto;
    grid-template-columns: 1fr calc(var(--outer-width) / 2) calc(var(--outer-width) / 2) 1fr;
  }
  @media screen and (max-width: 1285px) {
    .split-block.--second {
      grid-template-columns: 1fr 1fr;
    }
  }
  @media screen and (max-width: 1180px) {
    .split-block.--second {
      grid-template-columns: 1fr minmax(auto, 517px) minmax(auto, 550px) 1fr;
    }
  }
  @media screen and (max-width: 980px) {
    .split-block.--second {
      grid-template-columns: var(--margin_px) 1fr 1fr var(--margin_px);
    }
  }
  @media screen and (max-width: 834px) {
    .split-block.--second {
      grid-template-columns: var(--sp_margin_px) 1fr var(--sp_margin_px);
      row-gap: 30px;
    }
  }
  .split-block.--second .--title {
    grid-column: 2;
    grid-row: 1;
    padding-left: var(--margin_px);
  }
  @media screen and (max-width: 1285px) {
    .split-block.--second .--title {
      grid-column: 1;
    }
  }
  @media screen and (max-width: 1180px) {
    .split-block.--second .--title {
      grid-column: 1/4;
    }
  }
  @media screen and (max-width: 834px) {
    .split-block.--second .--title {
      grid-column: 2;
      padding-left: 0;
    }
  }
  .split-block.--second .--content {
    grid-column: 2;
    grid-row: 2;
    padding: 0;
    padding-left: var(--margin_px);
    margin-block-end: 0;
  }
  @media screen and (max-width: 1285px) {
    .split-block.--second .--content {
      grid-column: 1;
    }
  }
  @media screen and (max-width: 1180px) {
    .split-block.--second .--content {
      grid-column: 1/3;
      margin-block-end: 55px;
    }
  }
  @media screen and (max-width: 834px) {
    .split-block.--second .--content {
      grid-column: 2;
      grid-row: 3;
      padding-left: 0;
      margin-block-end: 0;
    }
  }
  .split-block.--second .--img {
    grid-column: 3;
    grid-row: 2/4;
    padding-left: 50px;
    align-self: start;
  }
  .split-block.--second .--img img {
    height: 100%;
    object-fit: cover;
  }
  @media screen and (max-width: 1285px) {
    .split-block.--second .--img {
      grid-column: 2;
    }
  }
  @media screen and (max-width: 1180px) {
    .split-block.--second .--img {
      grid-column: 3/5;
      grid-row: 2/4;
    }
  }
  @media screen and (max-width: 980px) {
    .split-block.--second .--img {
      grid-column: 3/5;
      grid-row: 2;
    }
  }
  @media screen and (max-width: 834px) {
    .split-block.--second .--img {
      grid-column: 2;
      padding-left: 0;
    }
  }
  .split-block.--second .--link-block {
    grid-column: 2;
    grid-row: 3;
    padding: 0;
    padding-left: var(--margin_px);
  }
  @media screen and (max-width: 1285px) {
    .split-block.--second .--link-block {
      grid-column: 1;
    }
  }
  @media screen and (max-width: 1180px) {
    .split-block.--second .--link-block {
      grid-column: 1/3;
    }
  }
  @media screen and (max-width: 834px) {
    .split-block.--second .--link-block {
      grid-column: 2;
      grid-row: 4;
      padding-left: 0;
    }
  }
  .inquiry-title {
    --font-variable: 3.2rem;
    line-height: 1.6;
    text-align: center;
    margin-block: 60px 25px;
  }
  @media screen and (max-width: 834px) {
    .inquiry-title {
      font-size: 2.4rem;
      padding-inline: 1em;
      margin-block: 40px 15px;
    }
    .inquiry-title + p {
      font-size: 1.8rem;
    }
  }
  .inquiry-text {
    display: flex;
    justify-content: center;
    max-width: 750px;
    margin-inline: auto;
  }
  .inquiry-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background-color: var(--black-color);
    margin-block: 40px 0;
    max-width: 980px;
    width: 100%;
  }
  @media screen and (max-width: 480px) {
    .inquiry-list {
      grid-template-columns: 1fr;
      margin-block: 15px 0;
    }
  }
  .inquiry-list > li {
    display: grid;
    row-gap: 20px;
    justify-content: center;
    align-items: center;
    justify-items: center;
    grid-template-columns: 1fr;
    grid-template-rows: 100px auto;
    background-color: var(--key-light-color);
    padding-inline: 20px;
  }
  @media screen and (max-width: 480px) {
    .inquiry-list > li {
      grid-template-columns: 80px 1fr;
      grid-template-rows: 80px;
      column-gap: 10px;
      padding: 30px 0;
    }
  }
  .inquiry-list .icon {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 100px;
    background-color: #fff;
    border-radius: 100%;
  }
  @media screen and (max-width: 480px) {
    .inquiry-list .icon {
      width: 80px;
      height: 80px;
    }
  }
  .inquiry-list__text {
    line-height: 1.5;
  }
  @media screen and (max-width: 480px) {
    .inquiry-list__text {
      justify-self: start;
    }
  }
  .policy-list {
    list-style-position: outside;
    list-style-type: decimal;
    margin: -0.8em 0 0 33px;
  }
  .policy-list > li {
    font-size: 2.4rem;
    font-weight: var(--font-weight-bold);
    padding-block: 0.8em;
    padding-left: 0.5em;
    border-image-source: linear-gradient(#ccc, #ccc);
    border-image-slice: 0 fill;
    border-image-outset: 0 0 0 3rem;
    border-image-width: calc(100% - 1px) auto auto auto;
  }
  @media screen and (max-width: 480px) {
    .policy-list > li {
      line-height: 1.7;
    }
  }
  .policy-list > li::marker {
    font-size: 2.8rem;
    color: var(--base-color);
    font-family: var(--en-font-family);
  }
  :is(.safari, .ios.mobile) .policy-list {
    margin-left: 45px;
  }
  :is(.safari, .ios.mobile) .policy-list > li {
    padding-left: 0;
    border-image-outset: 0 0 0 4rem;
  }
  .fit-block {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 30px 0;
  }
  @media screen and (max-width: 834px) {
    .fit-block {
      grid-column: 1/-1;
      grid-template-columns: var(--sp_margin_px) 1fr var(--sp_margin_px);
    }
  }
  .fit-block .--title {
    grid-row: 1;
    margin-bottom: 0;
  }
  @media screen and (max-width: 834px) {
    .fit-block .--title {
      grid-column: 2;
      margin-inline: 0;
    }
  }
  .fit-block .--img {
    grid-row: 1/3;
  }
  @media screen and (max-width: 834px) {
    .fit-block .--img {
      grid-row: 3;
      grid-column: 2;
    }
  }
  .fit-block .--content {
    grid-row: 2;
  }
  @media screen and (max-width: 834px) {
    .fit-block .--content {
      grid-column: 2;
      grid-row: 2;
      margin-inline: 0;
    }
  }
  :where(.--right-fit) {
    grid-template-columns: 1fr calc(var(--base-width) / 2 + 70px) calc(var(--base-width) / 2 - 70px) 1fr;
  }
  @media screen and (max-width: 1285px) {
    :where(.--right-fit) {
      grid-template-columns: var(--margin_px) 1fr 0.75fr var(--margin_px);
    }
  }
  :where(.--right-fit) .--title {
    grid-column: 2;
    margin-inline-end: 50px;
  }
  :where(.--right-fit) .--img {
    grid-column: 3/5;
  }
  :where(.--right-fit) .--content {
    grid-column: 2;
    margin-inline-end: 50px;
  }
  :where(.--left-fit) {
    grid-template-columns: 1fr calc(var(--base-width) / 2 - 70px) calc(var(--base-width) / 2 + 70px) 1fr;
  }
  @media screen and (max-width: 1180px) {
    :where(.--left-fit) {
      grid-template-columns: var(--margin_px) 0.75fr 1fr var(--margin_px);
    }
  }
  :where(.--left-fit) .--title {
    grid-column: 3;
    margin-inline-start: 50px;
  }
  @media screen and (max-width: 1285px) {
    :where(.--left-fit) .--title {
      margin-inline-end: 50px;
    }
  }
  @media screen and (max-width: 1180px) {
    :where(.--left-fit) .--title {
      margin-inline-end: 0;
    }
  }
  :where(.--left-fit) .--img {
    grid-column: 1/3;
  }
  :where(.--left-fit) .--content {
    grid-column: 3;
    margin-inline-start: 50px;
  }
  @media screen and (max-width: 1285px) {
    :where(.--left-fit) .--content {
      margin-inline-end: 50px;
    }
  }
  @media screen and (max-width: 1180px) {
    :where(.--left-fit) .--content {
      margin-inline-end: 0;
    }
  }
  .flow-block {
    position: relative;
    display: grid;
    align-items: center;
    grid-template-columns: 1fr calc(var(--base-width) / 2) calc(var(--base-width) / 2) 1fr;
    grid-template-rows: auto 1fr;
    gap: 50px 0;
  }
  @media screen and (max-width: 1285px) {
    .flow-block {
      grid-template-columns: var(--margin_px) 1fr 1fr var(--margin_px);
    }
  }
  @media screen and (max-width: 834px) {
    .flow-block {
      grid-template-columns: var(--sp_margin_px) 1fr var(--sp_margin_px);
    }
  }
  @media screen and (max-width: 480px) {
    .flow-block {
      gap: 30px 0;
    }
  }
  .flow-block .--title {
    grid-column: 2/4;
    grid-row: 1;
    margin-bottom: 0;
  }
  @media screen and (max-width: 834px) {
    .flow-block .--title {
      grid-column: 2;
    }
  }
  .flow-block .--content {
    grid-row: 2;
  }
  @media screen and (max-width: 834px) {
    .flow-block .--content {
      grid-column: 2;
      grid-row: 2;
    }
  }
  :where(.--right-img) .--img {
    grid-column: 3;
  }
  @media screen and (max-width: 834px) {
    :where(.--right-img) .--img {
      grid-column: 2;
    }
  }
  :where(.--right-img) .--content {
    grid-column: 2;
    padding-inline-end: var(--margin_px);
  }
  @media screen and (max-width: 834px) {
    :where(.--right-img) .--content {
      padding-inline-end: 0;
    }
  }
  :where(.--left-img) .--img {
    grid-column: 2;
  }
  @media screen and (max-width: 834px) {
    :where(.--left-img) .--img {
      grid-column: 2;
    }
  }
  :where(.--left-img) .--content {
    grid-column: 3;
    padding-inline-start: var(--margin_px);
  }
  @media screen and (max-width: 834px) {
    :where(.--left-img) .--content {
      padding-inline-start: 0;
    }
  }
  .flow-block.--no-img {
    grid-template-columns: auto 1fr 0.75fr;
    align-items: start;
    gap: 13px 27px;
  }
  @media screen and (max-width: 834px) {
    .flow-block.--no-img {
      grid-template-columns: auto 1fr;
    }
  }
  @media screen and (max-width: 480px) {
    .flow-block.--no-img {
      grid-template-columns: 1fr;
      grid-template-rows: repeat(4, auto);
      row-gap: 20px;
    }
  }
  .flow-block.--no-img .--no {
    grid-column: 1;
    grid-row: 1/3;
  }
  @media screen and (max-width: 480px) {
    .flow-block.--no-img .--no {
      grid-row: 1;
      justify-self: center;
    }
  }
  .flow-block.--no-img .--title {
    grid-column: 2;
    grid-row: 1;
  }
  @media screen and (max-width: 480px) {
    .flow-block.--no-img .--title {
      grid-column: 1;
      grid-row: 2;
      justify-self: center;
      text-align: center;
    }
  }
  .flow-block.--no-img .--content {
    grid-column: 2;
    grid-row: 2;
    padding-inline-end: clamp(10px, 5vw, 35px);
  }
  @media screen and (max-width: 834px) {
    .flow-block.--no-img .--content {
      padding-inline-end: 0;
    }
  }
  @media screen and (max-width: 480px) {
    .flow-block.--no-img .--content {
      grid-column: 1;
      grid-row: 3;
    }
  }
  .flow-block.--no-img .--img {
    justify-self: center;
    align-self: center;
    grid-row: 1/3;
  }
  .flow-block.--no-img .--img img {
    max-width: 320px;
    width: 100%;
    height: auto;
  }
  @media screen and (max-width: 834px) {
    .flow-block.--no-img .--img {
      grid-row: 3;
      grid-column: 2;
      align-self: end;
      margin-top: 20px;
    }
  }
  @media screen and (max-width: 480px) {
    .flow-block.--no-img .--img {
      grid-column: 1;
      grid-row: 4;
    }
  }
  .flow-block.--no-img:not(:last-child)::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 100%);
    content: "";
    display: block;
    width: 44px;
    height: 62px;
    background-image: url(/assets/images/service/business/flow-arrow.svg);
    background-repeat: no-repeat;
    background-position: center top;
  }
  .flow-title {
    display: flex;
    gap: 0 15px;
    margin-block: 0;
    letter-spacing: 0.1em;
  }
  .flow-title__no {
    font-family: var(--en-font-family);
    color: #fff;
    font-size: 4rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 83px;
    height: 54px;
    background-image: url(/assets/images/service/business/flow-no-bg.svg);
    background-size: 83px 54px;
    background-repeat: no-repeat;
    background-position: center;
  }
  .flow-title__text {
    font-size: 3.2rem;
    line-height: 1.7;
  }
  .flow-block.box-shadow {
    padding: clamp(30px, 5vw, 65px) clamp(30px, 5vw, 60px);
    background-color: #fff;
    border-radius: clamp(15px, 5vw, 30px);
  }
  .flow-block.box-shadow:not(:last-child) {
    margin-bottom: 75px;
  }
  .index-menu-container {
    width: 100%;
    display: flex;
    justify-content: center;
    border-image-source: linear-gradient(var(--base-color), var(--base-color));
    border-image-slice: 0 fill;
    border-image-outset: 0 100vw 0 100vw;
  }
  @media screen and (max-width: 480px) {
    .index-menu-container {
      display: block;
    }
  }
  .index-menu-block {
    display: flex;
    gap: 40px;
    justify-content: start;
    align-items: center;
    min-height: 90px;
    padding-block: 10px;
  }
  @media screen and (max-width: 480px) {
    .index-menu-block {
      flex-direction: column;
      gap: 15px;
      align-items: start;
      padding-block: 25px;
    }
  }
  .index-menu-block:before {
    content: "";
    border: 0.5px solid #fff;
    height: 34px;
  }
  @media screen and (max-width: 480px) {
    .index-menu-block:before {
      width: 100%;
      height: 1px;
      flex-grow: 1;
    }
  }
  .index-menu-block > * {
    flex: 0 0 auto;
  }
  .index-menu-block > *:first-child {
    order: -1;
    flex: 0 0 auto;
  }
  .index-menu-title {
    font-size: 2rem;
    color: #fff;
    font-weight: var(--font-weight-bold);
    margin-bottom: 0;
    letter-spacing: 0.1em;
  }
  @media screen and (max-width: 480px) {
    .index-menu-title {
      font-size: 1.8rem;
    }
  }
  .index-menu {
    flex-shrink: 1;
  }
  @media screen and (max-width: 480px) {
    .index-menu {
      width: 100%;
    }
  }
  .index-menu > ul {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 30px;
    list-style: none;
    width: inherit;
  }
  @media screen and (max-width: 480px) {
    .index-menu > ul {
      flex-wrap: nowrap;
      flex-direction: column;
      row-gap: 7px;
    }
    .index-menu > ul li {
      flex-grow: 1;
    }
  }
  .index-menu__child {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--color, #fff);
    text-decoration: none;
    transition: all 200ms ease-in-out;
  }
  @media screen and (max-width: 480px) {
    .index-menu__child {
      display: flex;
      justify-content: space-between;
    }
  }
  .index-menu__child.is-current {
    --color: var(--key-color);
  }
  .index-menu__child.is-current .index-menu-arrow {
    --bd-color: var(--key-color);
  }
  .index-menu__child.is-current .index-menu-arrow.pict-circle-arrow::after {
    background-image: url(/assets/images/pict/pict-arrow-key.svg);
  }
  .index-menu__child:hover {
    --color: var(--key-color);
  }
  .index-menu__child:hover .index-menu-arrow {
    --bd-color: var(--key-color);
  }
  .index-menu__child:hover .index-menu-arrow.pict-circle-arrow::after {
    background-image: url(/assets/images/pict/pict-arrow-key.svg);
  }
  .index-menu__child__text {
    font-weight: var(--font-weight-bold);
    --font-variable: 1.6rem;
  }
  .index-menu-arrow {
    --width: 20px;
    --arrow-width: 6px;
    --arrow-height: 8px;
    --bg-color: transparent;
    --bd-color: #fff;
  }
  .index-menu-arrow.pict-circle-arrow::after {
    background-image: url(/assets/images/pict/pict-arrow-white.svg);
  }
  .type {
    display: grid;
    justify-content: center;
    color: #fff;
    font-weight: var(--font-weight-bold);
    background-color: var(--bg-color, var(--base-color));
    text-align: center;
    line-height: 1;
    row-gap: 10px;
    padding-block: 13px;
    transition: all 200ms ease-in-out;
  }
  .type::after {
    content: "";
    display: block;
    width: 75px;
    height: 1px;
    background-color: #fff;
    grid-row: 2;
    justify-self: center;
  }
  .type dt {
    font-size: 1.8rem;
  }
  .type dd {
    font-size: 2.4rem;
    letter-spacing: 0.05em;
  }
  .salaly {
    display: grid;
    row-gap: 12px;
    text-align: center;
    line-height: 1;
    margin-inline: 17px;
    padding-block: 8px 20px;
    border-bottom: 1px solid var(--bd-color, var(--base-color));
  }
  .salaly dt {
    font-size: 1.6rem;
  }
  .salaly dd {
    font-size: 1.8rem;
    font-weight: var(--font-weight-bold);
  }
  .btn-offer {
    display: inline-flex;
    gap: 0 16px;
    justify-content: center;
    align-items: center;
    height: 200px;
    padding: 1.1em 1em 1.05em;
    font-size: 2.4rem;
    font-weight: var(--font-weight-bold);
    color: #fff;
    border-radius: 100px 0 0 100px;
    position: relative;
    background-color: var(--base-color);
    transition: all 200ms ease-in-out;
  }
  .btn-offer .icon {
    display: inline-grid;
    overflow: hidden;
  }
  .btn-offer .icon .pict-border-arrow {
    grid-column: 1/-1;
    grid-row: 1/2;
    transition: all 200ms ease-in-out;
  }
  .btn-offer__text {
    letter-spacing: 0.1em;
  }
  @media screen and (max-width: 480px) {
    .btn-offer__text {
      font-size: 2rem;
    }
  }
  .btn-offer__en {
    font-size: 1.4rem;
    font-weight: var(--font-weight-normal);
  }
  .btn-offer .icon::before {
    grid-column: 1/-1;
    grid-row: 1/-1;
    content: "";
    display: block;
    width: 18px;
    height: 7px;
    background-image: url(/assets/images/pict/border-arrow-key.svg);
    background-size: contain;
    background-repeat: no-repeat;
    transition: all 200ms ease-in-out;
    background-position: center;
    transform: translateX(-30px);
    z-index: 1;
  }
  .btn-offer:hover {
    background-color: var(--key-color);
  }
  .btn-offer:hover .icon::before {
    transform: translateX(0);
  }
  .btn-offer:hover .pict-border-arrow {
    background-image: url(/assets/images/pict/border-arrow-key.svg);
    transform: translateX(40px);
  }
  .tel-offer {
    height: 200px;
    border: 5px solid var(--base-color);
    border-radius: 0 100px 100px 0;
    display: inline-grid;
    justify-content: center;
    align-items: center;
    gap: 3px 10px;
    grid-template-areas: ". top" "left middle" ". bottom";
    grid-template-rows: 1fr auto 1fr;
  }
  @media screen and (max-width: 480px) {
    .tel-offer {
      gap: 5px 0;
      grid-template-areas: "top" "left" "middle" "bottom";
      grid-template-rows: 1fr auto auto 1fr;
    }
    .tel-offer > * {
      align-self: center;
      justify-self: center;
    }
  }
  .tel-offer .--top {
    grid-area: top;
    padding-bottom: 2px;
    align-self: end;
  }
  @media screen and (max-width: 480px) {
    .tel-offer .--top {
      padding-top: 25px;
      padding-bottom: 4px;
    }
  }
  .tel-offer .--middle {
    grid-area: middle;
  }
  .tel-offer .--left {
    grid-area: left;
  }
  .tel-offer .--bottom {
    grid-area: bottom;
    align-self: start;
  }
  .tel-offer__text {
    font-size: 4rem;
    font-family: Roboto;
    font-weight: var(--font-weight-bold);
    line-height: 1;
  }
  @media screen and (max-width: 480px) {
    .tel-offer__text {
      font-size: 3.4rem;
    }
  }
  @media screen and (max-width: 480px) {
    .tel-offer .--text-14 {
      --font-variable: 1.2rem;
    }
  }
  .tel-offer .pict {
    display: inline-block;
    border-radius: 100%;
    width: 38px;
    height: 38px;
    background-color: var(--base-color);
    background-size: 20px;
  }
  .label {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.3em 0.7em 0.2em;
    line-height: 1.1;
    color: var(--color, #fff);
    font-size: var(--font-variable, 2rem);
    font-weight: var(--font-weight-bold);
    background-color: var(--bg-color, var(--base-color));
  }
  @media screen and (max-width: 480px) {
    .label {
      font-size: 1.4rem;
    }
  }
  .date {
    font-family: var(--en-font-family);
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    color: var(--color, var(--black-color));
  }
  .news-container {
    container-type: inline-size;
    container-name: news;
  }
  .home-news-block {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 20px;
  }
  .news-grid {
    display: grid;
    grid-template-columns: auto auto 1fr;
    align-items: center;
    gap: 0 20px;
  }
  @container news (width <=480px) {
    .news-grid {
      grid-template-columns: auto 1fr;
    }
  }
  .news-item {
    position: relative;
    display: grid;
    grid-template-columns: subgrid;
    grid-template-rows: auto;
    grid-column: span 3;
    align-items: center;
    border-bottom: 1px solid #e4e4e4;
    padding-block: 30px;
  }
  .news-item > * {
    grid-row: 1;
  }
  .news-item .date {
    --color: #999999;
    grid-column: 1;
    height: 25px;
    line-height: 1.6;
  }
  .news-item .tag-list {
    grid-column: 2;
  }
  .news-item .news-text {
    grid-column: 3;
    display: inline-flex;
    align-items: center;
  }
  .news-item .click-expand {
    grid-column: 1/-1;
  }
  .news-item:hover .news-text {
    text-decoration: underline;
  }
  @media screen and (max-width: 834px) {
    .news-item {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 10px 15px;
    }
    .news-item .date {
      grid-column: 1;
      grid-row: 1;
      align-self: start;
    }
    .news-item .tag-list {
      grid-column: 2;
      grid-row: 1;
    }
    .news-item .news-text {
      grid-column: 1/3;
      grid-row: 2;
    }
  }
  @container news (width <=480px) {
    .news-item {
      gap: 10px 20px;
      grid-template-columns: auto 1fr;
    }
    .news-text {
      grid-column: 1/3;
    }
  }
  .news-text {
    --font-variable: 1.6rem;
    font-weight: var(--font-weight-normal);
    color: var(--color, var(--black-color));
    transition: color 0.6s cubic-bezier(0.23, 1, 0.32, 1);
    margin-bottom: 0;
    line-height: 1.6;
  }
  .news-title {
    color: var(--key-dark-color);
    margin-block-end: 30px;
    line-height: 1.4;
  }
  @media screen and (max-width: 834px) {
    .news-title {
      font-size: clamp(2.4rem, 5vw, 3rem);
    }
  }
  .news-detail {
    margin-top: 60px;
  }
  @media screen and (max-width: 834px) {
    .news-detail {
      margin: 50px 0 0 0;
    }
  }
  .news-detail-header {
    display: flex;
    align-items: center;
    gap: 0 15px;
    margin-bottom: 10px;
  }
  .news-detail-header .data {
    color: #999;
  }
  .news-detail-title {
    font-size: 3.2rem;
    padding-bottom: 25px;
    margin-bottom: 50px;
    position: relative;
  }
  @media screen and (max-width: 834px) {
    .news-detail-title {
      font-size: 2.6rem;
      line-height: 1.5;
    }
  }
  .news-detail-title::after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    border-left: 60px solid var(--key-color);
    background-color: #cbcbcb;
  }
  .news-main-img {
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-bottom: 50px;
  }
  .news-main-img img {
    max-width: 650px;
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  .list-style-none {
    list-style-type: none;
  }
  .dl-list {
    display: grid;
    justify-content: start;
    grid-template-columns: auto 1fr;
    column-gap: var(--gap, 1em);
    row-gap: 0.3em;
    line-height: var(--line-height-variable, 1.8);
    margin-block-end: 0.3em;
  }
  .dl-list[style] {
    grid-column-gap: 0;
    column-gap: 0;
  }
  .dl-list dt {
    text-align: justify;
    text-align-last: justify;
    white-space: nowrap;
  }
  .dl-list dt::after {
    content: var(--dt-content, "");
  }
  .dl-list dd {
    justify-self: start;
  }
  .kakko dt {
    clear: left;
    float: left;
  }
  .kakko dt::before {
    content: "【";
  }
  .kakko dt::after {
    content: "】";
  }
  .kakko dd {
    float: left;
  }
  .list-arrow {
    font-size: var(--font-variable, var(--base-font-size));
    line-height: var(--line-height-variable, 1.8);
  }
  .list-arrow li {
    padding-inline-start: 1em;
  }
  .list-arrow li:not(:last-child) {
    margin-bottom: 0.3em;
  }
  .list-arrow li:before {
    text-indent: -1em;
  }
  .list-arrow > li:before {
    display: inline-block;
    content: ">";
    transform: scale(0.8, 1.1) translate(0px, -2px);
    color: var(--color, var(--base-color));
    transition: all 150ms ease-in-out;
  }
  .list-arrow > li:hover::before {
    transform: scale(0.8, 1.1) translate(3px, -2px);
    color: var(--key-color, var(--base-color));
  }
  .list-dot {
    font-size: var(--font-variable, var(--base-font-size));
    line-height: var(--line-height-variable, 1.8);
  }
  .list-dot li {
    padding-inline-start: 1em;
  }
  .list-dot li:not(:last-child) {
    margin-bottom: 0.3em;
  }
  .list-dot li:before {
    text-indent: -1em;
  }
  .list-dot {
    text-indent: -1em;
  }
  .list-dot > li::before {
    display: inline-flex;
    align-items: center;
    content: "";
    width: var(--diameter, 0.3em);
    height: var(--diameter, 0.3em);
    border-radius: 100%;
    margin-inline: 0.5em;
    transform: translateY(-0.35em);
    background-color: var(--color, var(--key-color));
  }
  .--list-inline > li {
    display: inline-block;
    margin-inline-end: 1em;
  }
  .list-dot.--row {
    display: flex;
    flex-wrap: wrap;
    column-gap: 15px;
  }
  .list-dot.--black {
    --diameter: 0.5em;
    --color: var(--black-color);
    --line-height-variable: 1.6;
  }
  .list-no {
    list-style: none;
    list-style-position: inside;
    counter-reset: number;
    font-size: var(--font-variable, var(--base-font-size));
    line-height: var(--line-height-variable, 1.8);
  }
  .list-no li {
    padding-inline-start: 1em;
  }
  .list-no li:not(:last-child) {
    margin-bottom: 0.3em;
  }
  .list-no li:before {
    text-indent: -1em;
  }
  .list-no > li {
    margin-left: 0.7em;
    text-indent: -1.6em;
  }
  .list-no > li::before {
    counter-increment: number;
    content: counter(number);
    display: inline-grid;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    text-align: center;
    background-color: var(--color, var(--base-color));
    font-family: Arial, sans-serif;
    font-size: var(--font-variable, 1.6rem);
    line-height: 1.15;
    color: #fff;
    text-indent: 0px;
    margin-right: 0.5em;
  }
  li:has(a[href*=".pdf"]) a::after {
    transform: translateY(5px);
  }
  .home-news-item:has(a[href*=".pdf"]) .news-text::after,
  .news-item:has(a[href*=".pdf"]) .news-text::after {
    flex: 0 0 auto;
    content: "";
    display: inline-block;
    width: 20px;
    height: 25px;
    margin-left: 10px;
    background-image: url(/assets/images/pict/pict-pdf.svg);
    background-size: contain;
    background-repeat: no-repeat;
    transition: transform 200ms ease-out;
  }
  .home-news-item::has(a[href*=".pdf"]:hover) .news-text::after,
  .news-item:has(a[href*=".pdf"]:hover) .news-text::after {
    background-image: url(/assets/images/pict/pict-pdf_r.svg);
  }
  li:has(a[href*=".pdf"]) a::after {
    transform: translateY(5px);
  }
  .box-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    --bg-color: #e0e8f3;
    gap: 3px;
  }
  @media screen and (max-width: 834px) {
    .box-list {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .box-list > li {
    display: inline-flex;
    align-items: center;
    color: var(--black-color);
    font-weight: var(--font-weight-bold);
    background-color: var(--bg-color);
    min-height: 90px;
    padding-inline: 20px;
    line-height: 1.4;
  }
  :where(.edit-block) {
    container-type: inline-size;
    --flow-space: 0;
  }
  :where(.edit-block) .center {
    text-align: center;
  }
  :where(.edit-block) .left {
    text-align: left;
  }
  :where(.edit-block) .right {
    text-align: right;
  }
  :where(.edit-block) p + p {
    margin-top: 1.2em;
  }
  :where(.edit-block) p + *:not(p) {
    margin-top: 40px;
  }
  :where(.edit-block) hr {
    clear: both;
  }
  :where(.edit-block) h1 {
    font-size: 2.4rem;
    margin-bottom: 1em;
    line-height: 1.5;
  }
  :where(.edit-block) h2 {
    font-size: 1.8rem;
    color: var(--base-color);
    line-height: 1.4;
    margin-block-end: 15px;
  }
  :where(.edit-block) h3 {
    font-size: var(--font-variable, 1.4rem);
    color: var(--color, #fff);
    font-weight: var(--font-weight-normal);
    line-height: 1.2;
    background-color: var(--base-color);
    margin-block-end: 1em;
    letter-spacing: 0.01em;
    width: fit-content;
    padding: 0.2em 1.5em;
  }
  :where(.edit-block) h4 {
    display: flex;
    align-items: start;
    gap: 0 0.2em;
    line-height: 1.4;
    margin-block-end: 1.5rem;
  }
  :where(.edit-block) h4::before {
    flex: 0 0 auto;
    content: "";
    display: inline-block;
    width: 0.6em;
    height: 0.6em;
    background-color: var(--base-color);
    border-radius: 100%;
    transform: translateY(0.35em);
  }
  @media screen and (max-width: 480px) {
    :where(.edit-block) h4 {
      font-size: 2rem;
    }
  }
  :where(.edit-block) ul:not([class]) {
    list-style-type: none;
    font-size: var(--font-variable, var(--base-font-size));
    line-height: var(--line-height-variable, 1.8);
  }
  :where(.edit-block) ul:not([class]) li {
    padding-inline-start: 1em;
  }
  :where(.edit-block) ul:not([class]) li:not(:last-child) {
    margin-bottom: 0.3em;
  }
  :where(.edit-block) ul:not([class]) li:before {
    text-indent: -1em;
  }
  :where(.edit-block) ul:not([class]) {
    text-indent: -1em;
  }
  :where(.edit-block) ul:not([class]) > li::before {
    display: inline-flex;
    align-items: center;
    content: "";
    width: var(--diameter, 0.3em);
    height: var(--diameter, 0.3em);
    border-radius: 100%;
    margin-inline: 0.5em;
    transform: translateY(-0.35em);
    background-color: var(--color, var(--key-color));
  }
  :where(.edit-block) ol {
    list-style: none;
    list-style-position: inside;
    counter-reset: number;
    font-size: var(--font-variable, var(--base-font-size));
    line-height: var(--line-height-variable, 1.8);
  }
  :where(.edit-block) ol li {
    padding-inline-start: 1em;
  }
  :where(.edit-block) ol li:not(:last-child) {
    margin-bottom: 0.3em;
  }
  :where(.edit-block) ol li:before {
    text-indent: -1em;
  }
  :where(.edit-block) ol > li {
    margin-left: 0.7em;
    text-indent: -1.6em;
  }
  :where(.edit-block) ol > li::before {
    counter-increment: number;
    content: counter(number);
    display: inline-grid;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    text-align: center;
    background-color: var(--color, var(--base-color));
    font-family: Arial, sans-serif;
    font-size: var(--font-variable, 1.6rem);
    line-height: 1.15;
    color: #fff;
    text-indent: 0px;
    margin-right: 0.5em;
  }
  :where(.edit-block) figcaption {
    font-size: var(--font-variable, 1.6rem);
    margin-top: 5px;
    line-height: 1.3;
    text-align: center;
  }
  :where(.edit-block) table:not([class]) {
    margin-block-end: var(--margin, 70px);
  }
  :where(.edit-block) table:not([class]) th,
  :where(.edit-block) table:not([class]) td {
    padding: 0.9em 1.1em 0.7em 1.1em;
    border: 1px solid #cccccc;
  }
  @media screen and (max-width: 834px) {
    :where(.edit-block) table:not([class]) th,
    :where(.edit-block) table:not([class]) td {
      padding-block: 0.7em;
      padding-inline: 0.5em;
    }
  }
  :where(.edit-block) table:not([class]) th {
    text-align: center;
    background-color: var(--color, #fafafa);
  }
  :where(.edit-block) dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.4em 4em;
  }
  @media screen and (max-width: 834px) {
    :where(.edit-block) dl {
      gap: 0.4em 1.6em;
    }
  }
  :where(.edit-block) dl dt {
    color: var(--color, var(--key-color));
    font-weight: var(--font-weight-bold);
  }
  :where(.edit-block) .box {
    background-color: var(--key-light-color);
    border: none !important;
    padding: clamp(15px, 5vw, 50px) clamp(15px, 5vw, 80px) !important;
    border-radius: 20px;
  }
  :where(.edit-block) .grid-columns {
    --min-width: 220px;
    --gap: 22px;
  }
  @media screen and (max-width: 834px) {
    :where(.edit-block) .grid-columns {
      --gap: 15px;
      grid-template-columns: repeat(2, 1fr);
    }
  }
  :where(.edit-block) .grid-columns img {
    width: 100%;
    height: auto;
  }
  :where(.edit-block) > :where(* + *:not(p)) {
    margin-bottom: 20px;
  }
  .gallery {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  }
  @media screen and (max-width: 834px) {
    .gallery {
      gap: 20px 15px;
      grid-template-columns: 1fr 1fr;
    }
  }
  .gallery img {
    object-fit: cover;
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
  }
  .gallery figcaption {
    --font-variable: 1.4rem;
  }
  @media screen and (max-width: 480px) {
    .gallery figcaption {
      --font-variable: 1.4rem ;
    }
  }
  @media screen and (max-width: 834px) {
    .glightbox-clean .gprev,
    .glightbox-clean .gnext {
      top: 50%;
    }
    .glightbox-clean .gprev {
      left: 0;
    }
    .glightbox-clean .gnext {
      right: 0;
    }
  }
  .glightbox-mobile .goverlay {
    background-color: rgba(0, 0, 0, 0.7);
  }
  :is(.safari, .ios.mobile) .edit-block h3 {
    padding: 0.25em 1.5em 0.05em;
  }
  .img-row2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(20px, 3vw, 40px);
  }
  .img-row2 img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  .img-row3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 3vw, 40px);
  }
  @media screen and (max-width: 834px) {
    .img-row3 {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .img-row3 img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}
@layer components {
  .btn {
    display: inline-flex;
    align-items: center;
    transition: all 200ms ease-in-out;
    padding: 0.6em 1em 0.5em 1em;
    line-height: 1;
  }
  .btn-more {
    cursor: pointer;
    display: inline-grid;
    gap: var(--row-gap, 0) var(--column-gap, 20px);
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 380px;
    min-width: var(--min-width, 0);
    min-height: 80px;
    padding: 0.7em 20px;
    color: var(--base-color);
    position: relative;
    background-color: var(--bg-color, #fff);
    border: 1px solid currentColor;
    text-decoration: none;
    transition: all 200ms ease-in-out;
    border-radius: 40px;
    container-type: inline-size;
  }
  @media screen and (max-width: 834px) {
    .btn-more {
      --min-width: inherit;
    }
  }
  @media screen and (max-width: 480px) {
    .btn-more {
      gap: 0 5px;
      width: 100%;
      max-width: 335px;
    }
  }
  .btn-more__front {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
    display: inline-flex;
  }
  .btn-more__text {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    letter-spacing: 0.05em;
    font-size: var(--font-variable, 1.8rem);
    font-weight: var(--font-weight-bold);
    line-height: 1.4;
    transition: all 200ms ease-in-out;
  }
  @media screen and (max-width: 1180px) {
    .btn-more__text {
      font-size: clamp(var(--font-variable, 1.2rem), 10cqw, var(--font-variable, 1.8rem));
    }
  }
  .btn-more__back {
    grid-column: 3;
    grid-row: 1;
    justify-self: start;
  }
  .btn-more:hover {
    color: #fff;
    background-color: var(--base-color);
  }
  .btn-more .pict-tel {
    background-size: 24px auto;
  }
  .btn-more .pict-mail-white {
    background-size: 22px auto;
  }
  .btn-more.--tel .btn-more__text {
    font-family: var(--en-font-family);
    font-size: 3.2rem;
    justify-self: start;
    padding-top: 3px;
  }
  @media screen and (max-width: 1180px) {
    .btn-more.--tel .btn-more__text {
      font-size: 9cqw;
    }
  }
  .btn-more .pict-white-arrow {
    background-size: 9px 16px;
    background-position: 17px center;
  }
  .btn-more.--offer {
    color: #fff;
    --bg-color: var(--base-color);
    --font-variable: 2.4rem;
  }
  .btn-more.--offer .pict-base-arrow {
    justify-self: end;
    width: 38px;
    height: 38px;
    border-radius: 100%;
    background-size: 8px 14px;
    background-position: 16px center;
    background-color: #fff;
  }
  .btn-more.--offer:hover {
    background-color: var(--key-color);
  }
  .btn-more:has(.btn-more__front) {
    gap: 0 12px;
    grid-template-columns: 42px auto;
  }
  .btn-more:has(.arrow) .btn-more__back {
    justify-self: end;
  }
  .btn-more:has(.arrow):hover .arrow {
    background-color: #fff;
    background-image: url(/assets/images/pict/pict-arrow-base.svg);
  }
  .btn-tel {
    pointer-events: none;
    display: grid;
    grid-template-columns: 34px auto;
    grid-template-rows: auto 1fr;
  }
  @media screen and (max-width: 480px) {
    .btn-tel {
      pointer-events: auto;
    }
  }
  .btn-tel .pict {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
  }
  .btn-tel .btn-tel-text {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
  }
  .btn-tel .btn-tel__child {
    grid-column: 2;
    grid-row: 2;
    font-size: clamp(1rem, 1.6cqw, 1.4rem);
  }
  @media screen and (max-width: 480px) {
    .btn-tel .btn-tel__child {
      grid-column: 1/3;
      justify-self: center;
      font-size: 1.4rem;
    }
  }
  .btn-tel-text {
    font-size: clamp(2rem, 6.3cqw, 4rem);
    font-family: var(--en-font-family);
    font-weight: var(--font-weight-bold);
    color: var(--base-color);
    line-height: 1;
  }
  @media screen and (max-width: 834px) {
    .btn-tel-text {
      font-size: clamp(2rem, 6cqw, 3rem);
    }
  }
  @media screen and (max-width: 480px) {
    .btn-tel-text {
      font-size: 3.2rem;
    }
  }
  .form > .btn-more {
    display: inline-grid;
    gap: var(--row-gap, 0) var(--column-gap, 20px);
    grid-template-columns: 1fr auto;
    align-items: center;
    justify-content: center;
    width: 380px;
    min-width: var(--min-width, 0);
    min-height: 80px;
    padding: 0.7em 20px;
    color: var(--base-color);
    position: relative;
    background-color: var(--bg-color, #fff);
    border: 1px solid currentColor;
    text-decoration: none;
    transition: all 200ms ease-in-out;
    border-radius: 40px;
    background-size: 12px auto;
    background-repeat: no-repeat;
    background-position: calc(100% - 20px) center;
    background-image: url(/assets/images/pict/pict-arrow-base.svg);
  }
  @media screen and (max-width: 834px) {
    .form > .btn-more {
      --min-width: inherit;
    }
  }
  @media screen and (max-width: 480px) {
    .form > .btn-more {
      gap: 0 5px;
      width: 300px;
    }
  }
  .form > .btn-more:hover {
    color: #fff;
    background-color: var(--base-color);
    background-position: calc(100% - 17px) center;
    background-image: url(/assets/images/pict/pict-arrow-white.svg);
  }
  .form-confirm .btn-more {
    width: 200px;
  }
  @media screen and (max-width: 480px) {
    .form-confirm .btn-more {
      width: 100%;
      flex-grow: 1;
    }
  }
  .form-confirm .btn-more__back {
    cursor: pointer;
    display: inline-grid;
    gap: var(--row-gap, 0) var(--column-gap, 20px);
    grid-template-columns: 1fr auto;
    align-items: center;
    justify-content: center;
    width: 200px;
    min-width: var(--min-width, 0);
    min-height: 80px;
    padding: 0.7em 20px;
    color: var(--gray-color);
    position: relative;
    background-color: var(--bg-color, #fff);
    border: 1px solid var(--gray-color);
    text-decoration: none;
    transition: all 200ms ease-in-out;
    border-radius: 40px;
  }
  @media screen and (max-width: 834px) {
    .form-confirm .btn-more__back {
      --min-width: inherit;
    }
  }
  @media screen and (max-width: 480px) {
    .form-confirm .btn-more__back {
      width: 100%;
      flex-grow: 1;
    }
  }
  .form-confirm .btn-more__back:hover {
    color: #fff;
    background-color: var(--base-color);
  }
  .btn-text {
    display: inline-flex;
    gap: 5px;
    align-items: center;
    color: var(--base-color);
  }
  .btn-text:hover {
    color: var(--color, var(--key-color));
  }
  .menu-link-list {
    display: flex;
    flex-wrap: wrap;
    gap: 24px 30px;
  }
  .menu-link-list > li {
    width: 210px;
  }
  @media screen and (max-width: 980px) {
    .menu-link-list > li {
      max-width: 210px;
      width: 100%;
    }
  }
  @media screen and (max-width: 480px) {
    .menu-link-list {
      display: grid;
      grid-template-columns: 1fr;
    }
    .menu-link-list > li {
      max-width: none;
    }
  }
  .menu-link {
    --color: var(--black-color);
    display: grid;
    align-items: center;
    grid-template-columns: 1fr auto;
    gap: 0 10px;
    max-width: 210px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--color);
    text-decoration: none;
    transition: all 200ms ease-in-out;
  }
  @media screen and (max-width: 480px) {
    .menu-link {
      width: 100%;
      max-width: none;
      grid-template-columns: 1fr 28px;
    }
  }
  .menu-link__text {
    --font-variable: 1.6rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.4;
    color: var(--color);
    transition: all 200ms ease-in-out;
  }
  .menu-link__icon {
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(/assets/images/pict/pict-arrow-white.svg);
    background-repeat: no-repeat;
    background-size: 6px 10px;
    background-position: center;
    background-color: var(--bg-color, var(--base-color));
    border-radius: 100%;
    transition: all 200ms ease-in-out;
  }
  .menu-link:hover {
    --color: var(--key-color);
    --bg-color: var(--key-color);
  }
  .list-style-none {
    list-style-type: none;
  }
  .dl-list {
    display: grid;
    justify-content: start;
    grid-template-columns: auto 1fr;
    column-gap: var(--gap, 1em);
    row-gap: 0.3em;
    line-height: var(--line-height-variable, 1.8);
    margin-block-end: 0.3em;
  }
  .dl-list[style] {
    grid-column-gap: 0;
    column-gap: 0;
  }
  .dl-list dt {
    text-align: justify;
    text-align-last: justify;
    white-space: nowrap;
  }
  .dl-list dt::after {
    content: var(--dt-content, "");
  }
  .dl-list dd {
    justify-self: start;
  }
  .kakko dt {
    clear: left;
    float: left;
  }
  .kakko dt::before {
    content: "【";
  }
  .kakko dt::after {
    content: "】";
  }
  .kakko dd {
    float: left;
  }
  .list-arrow {
    font-size: var(--font-variable, var(--base-font-size));
    line-height: var(--line-height-variable, 1.8);
  }
  .list-arrow li {
    padding-inline-start: 1em;
  }
  .list-arrow li:not(:last-child) {
    margin-bottom: 0.3em;
  }
  .list-arrow li:before {
    text-indent: -1em;
  }
  .list-arrow > li:before {
    display: inline-block;
    content: ">";
    transform: scale(0.8, 1.1) translate(0px, -2px);
    color: var(--color, var(--base-color));
    transition: all 150ms ease-in-out;
  }
  .list-arrow > li:hover::before {
    transform: scale(0.8, 1.1) translate(3px, -2px);
    color: var(--key-color, var(--base-color));
  }
  .list-dot {
    font-size: var(--font-variable, var(--base-font-size));
    line-height: var(--line-height-variable, 1.8);
  }
  .list-dot li {
    padding-inline-start: 1em;
  }
  .list-dot li:not(:last-child) {
    margin-bottom: 0.3em;
  }
  .list-dot li:before {
    text-indent: -1em;
  }
  .list-dot {
    text-indent: -1em;
  }
  .list-dot > li::before {
    display: inline-flex;
    align-items: center;
    content: "";
    width: var(--diameter, 0.3em);
    height: var(--diameter, 0.3em);
    border-radius: 100%;
    margin-inline: 0.5em;
    transform: translateY(-0.35em);
    background-color: var(--color, var(--key-color));
  }
  .--list-inline > li {
    display: inline-block;
    margin-inline-end: 1em;
  }
  .list-dot.--row {
    display: flex;
    flex-wrap: wrap;
    column-gap: 15px;
  }
  .list-dot.--black {
    --diameter: 0.5em;
    --color: var(--black-color);
    --line-height-variable: 1.6;
  }
  .list-no {
    list-style: none;
    list-style-position: inside;
    counter-reset: number;
    font-size: var(--font-variable, var(--base-font-size));
    line-height: var(--line-height-variable, 1.8);
  }
  .list-no li {
    padding-inline-start: 1em;
  }
  .list-no li:not(:last-child) {
    margin-bottom: 0.3em;
  }
  .list-no li:before {
    text-indent: -1em;
  }
  .list-no > li {
    margin-left: 0.7em;
    text-indent: -1.6em;
  }
  .list-no > li::before {
    counter-increment: number;
    content: counter(number);
    display: inline-grid;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    text-align: center;
    background-color: var(--color, var(--base-color));
    font-family: Arial, sans-serif;
    font-size: var(--font-variable, 1.6rem);
    line-height: 1.15;
    color: #fff;
    text-indent: 0px;
    margin-right: 0.5em;
  }
  li:has(a[href*=".pdf"]) a::after {
    transform: translateY(5px);
  }
  .home-news-item:has(a[href*=".pdf"]) .news-text::after,
  .news-item:has(a[href*=".pdf"]) .news-text::after {
    flex: 0 0 auto;
    content: "";
    display: inline-block;
    width: 20px;
    height: 25px;
    margin-left: 10px;
    background-image: url(/assets/images/pict/pict-pdf.svg);
    background-size: contain;
    background-repeat: no-repeat;
    transition: transform 200ms ease-out;
  }
  .home-news-item::has(a[href*=".pdf"]:hover) .news-text::after,
  .news-item:has(a[href*=".pdf"]:hover) .news-text::after {
    background-image: url(/assets/images/pict/pict-pdf_r.svg);
  }
  li:has(a[href*=".pdf"]) a::after {
    transform: translateY(5px);
  }
  .box-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    --bg-color: #e0e8f3;
    gap: 3px;
  }
  @media screen and (max-width: 834px) {
    .box-list {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .box-list > li {
    display: inline-flex;
    align-items: center;
    color: var(--black-color);
    font-weight: var(--font-weight-bold);
    background-color: var(--bg-color);
    min-height: 90px;
    padding-inline: 20px;
    line-height: 1.4;
  }
  .table-fixed {
    table-layout: fixed;
  }
  :where(table) {
    --border-color: #e5e5e5;
    margin: 0 0 20px 0;
    border-collapse: collapse;
  }
  :where(table) caption {
    text-align: left;
    margin-bottom: 5px;
  }
  :where(table) th,
  :where(table) td {
    padding: 0.65em 0.9em 0.5em 0.9em;
  }
  :where(table) ul,
  :where(table) ol {
    list-style-position: outside;
    margin-left: 1.2em;
  }
  :where(.set-scroll) {
    overflow-x: auto;
    overflow-y: hidden;
    max-width: var(--innerWidth, 1180px);
  }
  .border-table th,
  .border-table td {
    padding: 1.3em 1em 1.2em 1em;
    line-height: 1.7;
  }
  .border-table tr:first-child th {
    border-top: 1px solid var(--key-color);
  }
  .border-table tr:first-child td {
    border-top: 1px solid #ccc;
  }
  .border-table th {
    width: var(--th-width, 180px);
    border-bottom: 1px solid var(--key-color);
    text-align: left;
    vertical-align: top;
  }
  @media screen and (max-width: 834px) {
    .border-table th {
      width: auto;
      white-space: nowrap;
    }
  }
  .border-table td {
    border-bottom: 1px solid #ccc;
  }
  @media screen and (max-width: 834px) {
    .border-table th {
      padding-left: 0;
      padding-right: 0;
    }
  }
  @media screen and (max-width: 834px) {
    .border-table.--md-wrap {
      width: 100%;
    }
    .border-table.--md-wrap tr {
      display: flex;
      flex-direction: column;
      margin-bottom: 45px;
    }
    .border-table.--md-wrap tr:first-child th {
      border-top: none;
    }
    .border-table.--md-wrap tr:first-child td {
      border-top: none;
    }
    .border-table.--md-wrap th {
      width: fit-content;
      margin-right: auto;
      padding: 0 0 0.1em 0;
    }
    .border-table.--md-wrap td {
      width: 100%;
      padding: 1.8em 0 0.8em;
    }
  }
  .border-table.--history {
    --font-variable: 1.6rem;
  }
  .border-table.--history th {
    vertical-align: top;
  }
  .border-table.--history .year {
    display: inline-flex;
    align-items: center;
    font-weight: var(--font-weight-normal);
    font-feature-settings: "palt";
  }
  @media screen and (max-width: 834px) {
    .border-table.--history .year {
      flex-wrap: wrap;
    }
  }
  .year-text {
    font-family: var(--en-font-family);
    font-size: 2.4rem;
    color: var(--base-color);
    font-weight: var(--font-weight-bold);
    padding-right: 5px;
  }
  :where(.common-table) th,
  :where(.common-table) td {
    line-height: 1.6;
    padding-inline: 1.5em;
  }
  :where(.common-table) tr:first-child th {
    border-top: 1px solid #3366ad;
  }
  :where(.common-table) tr:last-child th {
    border-bottom: 1px solid #3366ad;
  }
  :where(.common-table) th {
    width: 20%;
    max-width: 250px;
    color: #fff;
    background-color: #3366ad;
    font-weight: var(--font-weight-bold);
    padding-block: 1em;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
  :where(.common-table) td {
    --font-variable: 1.6rem;
    padding-block: 1em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    background-color: #fff;
  }
  @media screen and (max-width: 834px) {
    .common-table.--md-row-table tr {
      display: grid;
    }
    .common-table.--md-row-table tr th {
      width: 100%;
      max-width: none;
      border: none;
      border-left: 1px solid #3366ad;
      border-right: 1px solid #3366ad;
      padding-block: 0.5em 0.3em;
    }
    .common-table.--md-row-table tr th br {
      display: none;
    }
    .common-table.--md-row-table tr td {
      border: none;
      border-left: 1px solid #000;
      border-right: 1px solid #000;
    }
    .common-table.--md-row-table tr:last-child td {
      border-bottom: 1px solid #000;
    }
  }
  .th-light {
    color: var(--black-color);
    background-color: var(--key-light-color);
    font-weight: var(--font-weight-bold);
  }
  .tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin: 0;
    list-style: none;
  }
  .tag {
    align-self: start;
    min-width: 100px;
    max-width: inherit;
    display: inline-flex;
    justify-content: center;
    --font-variable: 1.4rem;
    line-height: 1;
    color: var(--base-color);
    border: 1px solid var(--base-color);
    padding: 0.3em 0.5em 0.25em;
    white-space: nowrap;
    text-align: center;
    transition: all 150ms ease-in;
  }
  .safari .tag {
    padding: 0.4em 0.5em 0.2em;
  }
  .safari.ios.mobile .tag {
    padding: 0.3em 0.5em 0.1em;
  }
  .tile-item .tag {
    padding: 0.15em 0.5em;
    letter-spacing: 0;
  }
  .tag.--white {
    --color: var(--black-color);
    background-color: #fff;
    border: 1px solid var(--black-color);
  }
  .tag.--left-top {
    position: absolute;
    top: 0;
    left: 0;
  }
  .en .product-item .tag {
    font-size: 1.3rem;
  }
  .row-block {
    container-type: inline-size;
    container-name: rowblock;
    display: flex;
    flex-wrap: nowrap;
    gap: var(--row-gap, 0) var(--column-gap, 40px);
  }
  @media screen and (max-width: 834px) {
    .row-block {
      flex-wrap: wrap;
    }
  }
  .row-block.--row-reverse {
    flex-direction: row-reverse;
  }
  @media screen and (max-width: 834px) {
    .row-block.--row-reverse {
      flex-direction: row;
    }
  }
  .card-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 14px;
  }
  @media screen and (max-width: 834px) {
    .card-container {
      grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    }
  }
  .card-item {
    display: flex;
    align-items: center;
    border: 1px solid #000;
  }
  .card-item img {
    width: 100%;
    height: auto;
    aspect-ratio: 12/6;
    object-fit: contain;
  }
  .card-item:hover {
    color: var(--base-color);
  }
  @keyframes rotate-loading {
    0% {
      transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      -webkit-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
      -ms-transform: rotate(360deg);
      -webkit-transform: rotate(360deg);
      -o-transform: rotate(360deg);
      -moz-transform: rotate(360deg);
    }
  }
  @-moz-keyframes rotate-loading {
    0% {
      transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      -webkit-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
      -ms-transform: rotate(360deg);
      -webkit-transform: rotate(360deg);
      -o-transform: rotate(360deg);
      -moz-transform: rotate(360deg);
    }
  }
  @-webkit-keyframes rotate-loading {
    0% {
      transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      -webkit-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
      -ms-transform: rotate(360deg);
      -webkit-transform: rotate(360deg);
      -o-transform: rotate(360deg);
      -moz-transform: rotate(360deg);
    }
  }
  @-o-keyframes rotate-loading {
    0% {
      transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      -webkit-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
      -ms-transform: rotate(360deg);
      -webkit-transform: rotate(360deg);
      -o-transform: rotate(360deg);
      -moz-transform: rotate(360deg);
    }
  }
  @keyframes rotate-loading {
    0% {
      transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      -webkit-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
      -ms-transform: rotate(360deg);
      -webkit-transform: rotate(360deg);
      -o-transform: rotate(360deg);
      -moz-transform: rotate(360deg);
    }
  }
  @-moz-keyframes rotate-loading {
    0% {
      transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      -webkit-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
      -ms-transform: rotate(360deg);
      -webkit-transform: rotate(360deg);
      -o-transform: rotate(360deg);
      -moz-transform: rotate(360deg);
    }
  }
  @-webkit-keyframes rotate-loading {
    0% {
      transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      -webkit-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
      -ms-transform: rotate(360deg);
      -webkit-transform: rotate(360deg);
      -o-transform: rotate(360deg);
      -moz-transform: rotate(360deg);
    }
  }
  @-o-keyframes rotate-loading {
    0% {
      transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      -webkit-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
      -ms-transform: rotate(360deg);
      -webkit-transform: rotate(360deg);
      -o-transform: rotate(360deg);
      -moz-transform: rotate(360deg);
    }
  }
  @keyframes loading-text-opacity {
    0% {
      opacity: 0;
    }
    20% {
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  @-moz-keyframes loading-text-opacity {
    0% {
      opacity: 0;
    }
    20% {
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  @-webkit-keyframes loading-text-opacity {
    0% {
      opacity: 0;
    }
    20% {
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  @-o-keyframes loading-text-opacity {
    0% {
      opacity: 0;
    }
    20% {
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  #loading {
    z-index: 9999;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100svh;
  }
  .loading-container {
    width: 100%;
    max-width: 100svw;
    height: 100svh;
    border-image-source: linear-gradient(var(--base-color), var(--base-color));
    border-image-slice: 0 fill;
    border-image-outset: 0 100vw 0 100vw;
    display: grid;
    transition: display ease-in 400ms;
    transition-behavior: allow-discrete;
  }
  .is-hidden {
    display: none;
    pointer-events: none;
    z-index: -1;
  }
  .is-complete {
    visibility: hidden;
    pointer-events: none;
  }
  #loading:not(.is-hidden) .loading,
  #calendar-loading:not(.is-hidden) .loading {
    grid-area: 1/-1;
    align-self: center;
    justify-self: center;
    height: 100px;
    position: relative;
    width: 100px;
    border-radius: 100%;
    border: 2px solid transparent;
    border-color: transparent var(--key-color) transparent var(--key-color);
    animation: rotate-loading 1.5s linear 0s infinite normal;
    transform-origin: 50% 50%;
  }
  .loading-container:hover .loading {
    border-color: transparent #E45635 transparent #E45635;
  }
  .loading-container:hover .loading,
  .loading-container .loading {
    transition: all 0.5s ease-in-out;
  }
  .loading-text {
    grid-area: 1/-1;
    justify-self: center;
    align-self: center;
    animation: loading-text-opacity 2s linear 0s infinite normal;
    color: var(--key-color);
    font-size: 1.2rem;
    font-weight: var(--font-weight-bold);
    margin-top: 145px;
    text-align: center;
    text-transform: uppercase;
  }
  #calendar-loading.loading-layer {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%);
    width: 100svw;
    z-index: 3;
  }
  #calendar-loading .loading-text {
    display: none;
  }
  #calendar-loading .loading-container {
    height: 400px;
    align-content: center;
    border-image-source: none;
  }
  .separater {
    display: flex;
    align-items: center;
    gap: 2em;
  }
  .separater:before {
    content: "";
    align-self: stretch;
    border: 0.5px solid var(--color, var(--base-color));
    transform: scaleY(0.9);
  }
  .separater__item {
    flex: 1;
    min-width: 0;
    overflow-wrap: break-word;
  }
  .separater__item--start {
    order: -1;
    flex: 0 0 auto;
  }
  figcaption {
    font-size: var(--font-variable, 1.4rem);
    margin-top: var(--margin-top, 5px);
  }
  .caption {
    --font-variable: 1.4rem;
    line-height: 1.4;
    margin-block-start: 6px;
  }
  .fit {
    inline-size: fit-content;
    max-inline-size: 100%;
    margin-inline: auto;
  }
  .fit figcaption {
    inline-size: 0;
    min-inline-size: fit-content;
    margin-inline-end: auto;
    margin-block-start: var(--margin-top, 6px);
    line-height: var(--l-height, 1.4);
  }
  .tile-list {
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    column-gap: clamp(30px, 5.2vw, 60px);
    row-gap: 60px;
  }
  @media screen and (max-width: 834px) {
    .tile-list {
      grid-template-columns: repeat(auto-fill, 2);
    }
  }
  @media screen and (max-width: 480px) {
    .tile-list {
      grid-template-columns: 1fr;
    }
  }
  @container news (width <=510px) {
    .tile-list {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .tile-item {
    position: relative;
    display: grid;
    grid-template-rows: 200px auto 1fr;
    row-gap: 0;
    overflow: hidden;
    padding-block-end: 20px;
    border-bottom: 3px solid var(--tile-item-hover, var(--base-color));
    transition: all 200ms ease-in-out;
  }
  .tile-item .click-expand {
    grid-column: 1/-1;
    grid-row: 1/-1;
  }
  .tile-item:hover {
    --bg-color: var(--key-color);
    --title-hover-color: var(--key-color);
    --tile-item-hover: var(--key-color);
  }
  .tile-img {
    grid-column: 1;
    grid-row: 1;
  }
  .tile-img img {
    width: 100%;
    height: 100%;
    aspect-ratio: 320/200;
    object-fit: cover;
  }
  .tile-item-title {
    grid-column: 1;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    padding-block: 22px 15px;
  }
  .tile-item-title .tile-item-title__child {
    margin-bottom: 0;
    flex-grow: 1;
    color: var(--title-hover-color, var(--base-color));
    transition: all 200ms ease-in-out;
  }
  .tile-item-title .menu-link__icon {
    flex: 0 0 auto;
  }
  .tile-item-text {
    grid-column: 1;
    grid-row: 3;
  }
  .inner-link {
    list-style: none;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 25px;
  }
  .inner-link > li {
    flex: 1 1 auto;
    max-width: 290px;
    width: 100%;
  }
  @media screen and (max-width: 834px) {
    .inner-link {
      gap: 10px;
    }
    .inner-link > li {
      flex: 0 1 calc(50% - 5px);
      width: auto;
    }
  }
  .inner-link-btn {
    display: grid;
    grid-template-rows: 9px 1fr 16px;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 70px;
    --font-variable: 2rem;
    color: #fff;
    text-decoration: none;
    line-height: 1;
    background-color: var(--base-color);
    border-radius: 10px;
    transition: all 300ms ease-in;
  }
  .inner-link-btn::before {
    content: "";
  }
  .inner-link-btn::after {
    justify-self: center;
    align-self: start;
    content: "";
    display: block;
    width: 9px;
    height: 7px;
    background-color: #fff;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    transition: all 200ms ease-in-out;
  }
  .inner-link-btn:hover {
    background-color: var(--key-color);
  }
  @media screen and (max-width: 834px) {
    .inner-link-btn {
      --font-variable: 1.6rem;
      height: inherit;
      align-items: center;
      grid-template-columns: 1fr;
      grid-template-rows: auto;
      position: relative;
      min-height: 60px;
      line-height: 1.3;
      padding: 0.4em 30px 0.4em 1em;
      text-align: center;
    }
    .inner-link-btn::before {
      display: none;
    }
    .inner-link-btn::after {
      position: absolute;
      top: 50%;
      right: 15px;
      transform: translate(0, -50%);
    }
  }
  .tel {
    font-size: 4rem;
    font-family: var(--en-font-family);
    font-weight: var(--font-weight-medium);
    line-height: 1;
    text-decoration: none;
  }
  @media screen and (max-width: 480px) {
    .tel {
      font-size: 3.2rem;
    }
  }
  .tel-link {
    pointer-events: none;
  }
  @media screen and (max-width: 480px) {
    .tel-link {
      pointer-events: auto;
    }
  }
  .inquiry-block .tel-link {
    color: #fff;
  }
  .tel-text {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #fff;
    font-size: 2.4rem;
    line-height: 1.1;
    font-family: var(--en-font-family);
    font-weight: var(--font-weight-bold);
  }
  @media screen and (max-width: 834px) {
    .header-nav__tel .tel-text {
      color: var(--base-color);
      display: grid;
      grid-template-columns: 42px 1fr;
      align-items: center;
      column-gap: 18px;
      pointer-events: auto;
      background-color: #fff;
      border-radius: 40px;
      width: 100%;
      height: 80px;
      padding-left: 20px;
      font-size: 3.2rem;
    }
  }
  .contact-block {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: center;
    align-items: center;
    gap: 20px 0;
    padding-block: 70px;
    container-type: inline-size;
  }
  @media screen and (max-width: 480px) {
    .contact-block {
      grid-template-columns: 1fr;
      gap: 15px 0;
      padding-block: 20px 45px;
    }
  }
  .contact-block .btn-tel {
    justify-self: end;
    padding-inline: clamp(10px, 5.8cqw, 48px);
  }
  @media screen and (max-width: 834px) {
    .contact-block .btn-tel {
      justify-self: center;
      padding-inline: 10px;
    }
  }
  .recruit-banner {
    position: absolute;
    left: calc(50% + clamp(280px, 40vw, 420px));
    transform: translateX(-50%);
    bottom: 55px;
    z-index: 1;
    display: grid;
    justify-content: center;
    align-items: end;
    width: 150px;
    height: 230px;
    background-image: url(/assets/images/common/recruit-bnr.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .recruit-banner:hover {
    background-image: url(/assets/images/common/recruit-bnr-hover.png);
  }
  @media screen and (max-width: 834px) {
    .recruit-banner {
      position: static;
      transform: none;
    }
  }
  .recruit-banner__inner {
    display: inline-grid;
    gap: 3px 0;
    width: 90px;
    height: fit-content;
    max-height: 150px;
    margin-bottom: 46px;
    color: #fff;
    font-size: 1.6rem;
    text-align: center;
    line-height: 1.4;
  }
  .recruit-banner__inner .--content {
    font-size: 1.8rem;
    font-weight: var(--font-weight-bold);
    padding-block: 4px;
    border-top: 1.5px solid #fff;
    border-bottom: 1.5px solid #fff;
  }
  .recruit-banner.--top {
    position: absolute;
    left: auto;
    right: 17.8%;
    bottom: 0;
    transform: translate(50%, 0);
  }
  @media screen and (max-width: 834px) {
    .recruit-banner.--top {
      right: 8%;
      scale: 0.6;
      transform: translate(50%, 70px);
    }
  }
  input,
  select,
  textarea {
    line-height: 1.5;
  }
  input,
  textarea {
    -webkit-appearance: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px white inset;
  }
  input {
    line-height: 1.6;
    appearance: none;
    border-radius: 4px;
    border: 1px solid #aaa;
  }
  input[type=checkbox] {
    border-radius: 2px;
  }
  .form input[type=checkbox],
  .form input[type=radio] {
    width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: top;
    position: relative;
    margin: 0;
    cursor: pointer;
    border: 1px solid var(--base-color);
    transition: background 0.3s, border-color 0.3s;
  }
  .form input[type=checkbox]:after,
  .form input[type=radio]:after {
    content: "";
    display: block;
    left: 0;
    top: 0;
    position: absolute;
    width: 20px;
    height: 20px;
  }
  .form input[type=checkbox]:checked,
  .form input[type=radio]:checked {
    position: relative;
    z-index: 0;
  }
  .form input[type=radio] {
    border-radius: 100%;
  }
  .form input[type=radio]:after {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    opacity: 0;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  .form input[type=radio]:checked {
    background-color: var(--base-color);
  }
  .form input[type=radio]:checked:after {
    opacity: 1;
  }
  .form input[type=checkbox]:checked {
    background-color: var(--base-color);
    background-image: url("data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyMSAyMSIgdmlld0JveD0iMCAwIDIxIDIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im00IDEyIDUgNCA3LTEwIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiLz48L3N2Zz4=");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  .form button {
    background-color: transparent;
  }
  select {
    text-indent: 0.01px;
    text-overflow: "";
    background: none transparent;
    vertical-align: middle;
    color: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    cursor: pointer;
  }
  select::-ms-expand {
    display: none;
  }
  textarea {
    resize: vertical;
  }
  textarea:not([rows]) {
    height: 10em;
    min-height: 8em;
    max-height: 24em;
  }
  textarea::placeholder,
  input::placeholder {
    color: #b5b5b6;
  }
  .form {
    max-width: 660px;
    margin-top: 20px;
    justify-self: center;
  }
  .form__inner {
    padding-left: 5vw;
    padding-right: 5vw;
  }
  .input {
    width: 100%;
    align-items: center;
    border: 1px solid #dbdbdb;
    border-radius: 4px;
    box-shadow: none;
    display: inline-flex;
    justify-content: flex-start;
    padding-bottom: calc(0.5em - 1px);
    padding-left: calc(0.75em - 1px);
    padding-right: calc(0.75em - 1px);
    padding-top: calc(0.5em - 1px);
    position: relative;
    vertical-align: top;
  }
  .input:focus {
    border: 1px solid var(--base-color);
  }
  .input[name=zip] {
    width: 50%;
    min-width: 9em;
  }
  .select-input {
    position: relative;
    width: fit-content;
  }
  .select-input select {
    width: 100%;
    padding-bottom: calc(0.5em - 1px);
    padding-left: calc(0.75em - 1px);
    padding-top: calc(0.5em - 1px);
    border: 1px solid #dbdbdb;
    border-radius: 4px;
    position: relative;
    padding-right: 2em;
    background-color: #fff;
  }
  .select-input select:focus {
    border: 1px solid var(--base-color);
  }
  .select-input::after {
    content: "";
    display: block;
    width: 0.7em;
    height: 0.7em;
    position: absolute;
    top: 50%;
    transform: translateY(calc(-50% - 2px)) rotate(-45deg);
    transform-origin: center;
    border: 2px solid var(--base-color);
    border-radius: 2px;
    border-right: 0;
    border-top: 0;
    right: 0.8em;
    z-index: 1;
    pointer-events: none;
  }
  .form-title {
    padding-bottom: 0.5em;
  }
  .form-title:not(:first-child) {
    margin-top: 3em;
  }
  @media screen and (max-width: 480px) {
    .form-title:not(:first-child) {
      margin-top: 1.5em;
    }
  }
  .form-item {
    margin-bottom: 1em;
  }
  .form-item-child {
    display: flex;
    align-items: center;
  }
  .form-item-child :not(:first-child) {
    margin-left: 0.5em;
  }
  .form-item-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8em 10px;
  }
  .form-item-list > * {
    display: inline-flex;
    align-items: center;
    line-height: 1.1;
  }
  .form-item-list .form-label {
    cursor: pointer;
    padding-top: 0.2em;
  }
  .form-item-list .form-label span {
    display: inline-block;
    padding-left: 5px;
  }
  .form-item-row {
    margin-top: 10px;
  }
  .form-item-row > * {
    margin-bottom: 10px;
  }
  .form-item-row .form-label {
    margin-left: 5px;
    cursor: pointer;
  }
  .number-user {
    width: 5em;
    text-align: center;
  }
  .required {
    display: inline-flex;
    align-items: center;
    padding: 3px 4px 2px 4px;
    color: #fff;
    line-height: 1;
    border-radius: 2px;
    transform: translateY(-1px);
    margin-left: 5px;
    background-color: #b8272d;
    font-size: 1.4rem;
  }
  .any {
    display: inline-flex;
    align-items: center;
    padding: 3px 4px 2px 4px;
    color: #fff;
    line-height: 1;
    border-radius: 2px;
    transform: translateY(-1px);
    margin-left: 5px;
    background-color: var(--gray-color);
    font-size: 1.4rem;
  }
  .form-flex-btn {
    display: flex;
    justify-content: center;
    gap: 15px;
    align-items: center;
  }
  /* Error Placeholder */
  input.error,
  select.error,
  textarea.error {
    border-color: rgba(255, 17, 68, 0.4);
  }
  .alert {
    background-color: #ffe9e9;
    padding: 1.54em;
  }
  .errorMessage {
    color: #b8272d;
  }
  .is-error {
    color: #b8272d;
  }
  .form-title:has(.is-error) + .form-item input,
  .form-title:has(.is-error) + .form-item textarea {
    border-color: #b8272d;
  }
  .form-confirm .form-item {
    background-color: #f7fbfc;
    padding: 0.6em 1em 0.45em;
  }
  .form-btn {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin: 50px 5vw;
  }
  .form-btn .btn:hover {
    color: #fff;
    background-color: var(--base-color);
  }
  .form-btn .btn-solid {
    border: none;
    padding-right: 1.1em;
  }
  .form-search {
    display: none;
    margin-right: auto;
  }
  .form-search > form {
    display: grid;
    grid-template-columns: 1fr auto;
  }
  .form-search .form-group .control-label {
    display: none;
  }
  .form-search .form-group .form-control {
    width: 100%;
    min-width: 200px;
    height: 50px;
    border: 2px solid var(--base-color);
    border-right: none;
    padding: 6px 0.8em 4px;
    border-radius: 0;
  }
  .form-search .btn-success {
    min-width: inherit;
    width: 110px;
    height: 50px;
  }
  .btn-success {
    font-weight: var(--font-weight-bold);
    color: #fff;
    background-color: var(--base-color);
    border: none;
    letter-spacing: 0.2em;
    justify-content: center;
    justify-self: center;
    border-radius: 0;
  }
  .btn-success:hover {
    background-color: var(--key-color);
  }
  .form-invalid {
    border-image-source: linear-gradient(#ffe9e9, #ffe9e9);
    border-image-slice: 0 fill;
    border-image-outset: 5px 10px 5px 10px;
    border-image-width: auto auto auto auto;
  }
  .error-message {
    color: #b8272d;
    padding-top: 0.5em;
  }
  .first-view-content {
    display: grid;
    grid-template-columns: calc(17.8% - 30px) auto calc(17.8% - 30px);
    grid-template-rows: auto;
  }
  @media screen and (max-width: 480px) {
    .first-view-content {
      grid-template-columns: var(--sp_margin_px) 1fr var(--sp_margin_px);
    }
  }
  .first-view-catch {
    grid-column: 2;
    grid-row: 1;
    z-index: 1;
    display: grid;
    align-self: center;
    row-gap: 0.2em;
    --font-variable: clamp(6.4rem, 5vw, 8.4rem);
    font-weight: var(--font-weight-bold);
    line-height: 1;
    letter-spacing: 0.1em;
    padding-bottom: 40px;
  }
  @media screen and (max-width: 1285px) {
    .first-view-catch {
      --font-variable: clamp(3rem, 5vw, 6.4rem);
    }
  }
  @media screen and (max-width: 480px) {
    .first-view-catch {
      padding-bottom: 21px;
    }
  }
  .first-view-catch > span {
    position: relative;
    display: block;
    width: fit-content;
    color: var(--ch-color, transparent);
    overflow: hidden;
    padding: 8px 3px 8px 12px;
  }
  .first-view-catch > span::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background-color: #fff;
    z-index: -1;
    width: var(--bg-width, 0%);
    transform: translateX(var(--bg-x, 0%));
  }
  .first-view__top {
    grid-column: 1/-1;
    grid-row: 1;
    overflow: hidden;
    position: relative;
    padding-block: 25px 0;
  }
  @media screen and (max-width: 480px) {
    .first-view__top {
      grid-column: 2;
    }
  }
  .first-view__top .splide__slider {
    height: 100%;
  }
  @media screen and (max-width: 834px) {
    .first-view__top .splide__slider {
      height: auto;
    }
  }
  .first-view__top .splide__track {
    display: inline-grid;
    width: 100%;
    height: 100%;
  }
  @media screen and (max-width: 834px) {
    .first-view__top .splide__track {
      height: auto;
    }
  }
}
@layer foundation {
  .ffs-palt {
    font-feature-settings: "palt" 1;
  }
  [class*="--text-"] {
    font-size: var(--font-variable);
  }
  .--text-10 {
    --font-variable: 1rem;
  }
  .--text-11 {
    --font-variable: 1.1rem;
  }
  .--text-12 {
    --font-variable: 1.2rem;
  }
  .--text-13 {
    --font-variable: 1.3rem;
  }
  .--text-14 {
    --font-variable: 1.4rem;
  }
  .--text-15 {
    --font-variable: 1.5rem;
  }
  .--text-16 {
    --font-variable: 1.6rem;
  }
  .--text-17 {
    --font-variable: 1.7rem;
  }
  .--text-18 {
    --font-variable: 1.8rem;
  }
  .--text-19 {
    --font-variable: 1.9rem;
  }
  .--text-20 {
    --font-variable: 2rem;
  }
  .--text-21 {
    --font-variable: 2.1rem;
  }
  .--text-22 {
    --font-variable: 2.2rem;
  }
  .--text-23 {
    --font-variable: 2.3rem;
  }
  .--text-24 {
    --font-variable: 2.4rem;
  }
  .--text-25 {
    --font-variable: 2.4rem;
  }
  .--text-26 {
    --font-variable: 2.6rem;
  }
  .--text-27 {
    --font-variable: 2.7rem;
  }
  .--text-28 {
    --font-variable: 2.8rem;
  }
  .--text-29 {
    --font-variable: 2.9rem;
  }
  .--text-30 {
    --font-variable: 3rem;
  }
  .--text-32 {
    --font-variable: 3.2rem;
  }
  .--text-34 {
    --font-variable: 3.4rem;
  }
  .--text-48 {
    --font-variable: 4.8rem;
  }
  .text-shadow {
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.9), 0 0 4px rgba(0, 0, 0, 0.5);
  }
  .text-center {
    text-align: center;
  }
  .text-justify {
    text-align: justify;
  }
  .text-right {
    text-align: right;
  }
  .text-left {
    text-align: left;
  }
  .text-balance {
    text-wrap: balance;
  }
  .wb-keep-all {
    word-break: keep-all;
  }
  @media screen and (max-width: 834px) {
    .md--text-20 {
      --font-variable: 2rem;
    }
    .md--text-24 {
      --font-variable: 2.4rem;
    }
    .md-text-center {
      text-align: center;
    }
    .md-text-right {
      text-align: right;
    }
    .md-text-left {
      text-align: left;
    }
  }
  @media screen and (max-width: 480px) {
    sup {
      font-size: 70%;
    }
    .--sp-text-20 {
      --font-variable: 2rem;
    }
    .sp-text-center {
      text-align: center;
    }
    .sp-text-right {
      text-align: right;
    }
    .sp-text-left {
      text-align: left;
    }
  }
  .underline {
    text-decoration: underline;
  }
  .no-decoration {
    text-decoration: none;
  }
  .bold,
  b,
  strong {
    font-weight: var(--font-weight-bold);
  }
  .normal {
    font-weight: var(--font-weight-normal);
  }
  .italic {
    font-style: italic;
  }
  .indent {
    text-indent: 1em;
  }
  .para {
    --font-variable: 1.4rem;
    --line-height-variable: 1.6;
    text-indent: -1em;
    padding-left: 1em;
  }
  .para:has(+ .para) {
    margin-bottom: 0;
  }
  .en .para {
    padding-left: 1.4em;
    text-indent: -0.65em;
  }
  .ls-05 {
    letter-spacing: -0.05em;
  }
  .ls-1 {
    letter-spacing: -0.1em;
  }
  .ls-3 {
    letter-spacing: -0.3em;
  }
  .ls0 {
    letter-spacing: 0;
  }
  .ls1 {
    letter-spacing: 0.1em;
  }
  .ls02 {
    letter-spacing: 0.02em;
  }
  .ls05 {
    letter-spacing: 0.05em;
  }
  .ls2 {
    letter-spacing: 0.2em;
  }
  .ls3 {
    letter-spacing: 0.3em;
  }
  .ls4 {
    letter-spacing: 0.4em;
  }
  .ls10 {
    letter-spacing: 1em;
  }
  @media screen and (max-width: 480px) {
    .sp-ls0 {
      letter-spacing: 0;
    }
  }
  .noindent {
    letter-spacing: 0;
    text-indent: 0;
  }
  .lh12 {
    line-height: 1.2;
  }
  .lh14 {
    line-height: 1.4;
  }
  .lh16 {
    line-height: 1.6;
  }
  .lh18 {
    line-height: 1.8;
  }
  .lh20 {
    line-height: 2;
  }
  .lh21 {
    line-height: 2.1;
  }
  .lh22 {
    line-height: 2.2;
  }
  .nowrap {
    white-space: nowrap;
  }
  @media screen and (max-width: 834px) {
    .md-wrap {
      white-space: normal;
    }
  }
  .vertical-rl {
    writing-mode: vertical-rl;
  }
  .--text-crop::before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.2) * 0.5em);
  }
  .hidetxt {
    -moz-user-select: none;
    -ms-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
  }
  .space1em {
    letter-spacing: 1em;
    text-indent: 1em;
  }
  .static {
    position: static;
  }
  .relative {
    position: relative;
  }
  .absolute {
    position: absolute;
  }
  .sticky {
    position: sticky;
  }
  .zindex0 {
    z-index: 0;
  }
  .zindex1 {
    z-index: 1;
  }
  .zindex2 {
    z-index: 2;
  }
  .zindex3 {
    z-index: 3;
  }
  .zindex4 {
    z-index: 4;
  }
  .zindex5 {
    z-index: 5;
  }
  .floL {
    float: left;
  }
  .floR {
    float: right;
  }
  .imgL {
    float: left;
    margin-right: 30px;
    margin-bottom: 35px;
    width: fit-content;
    text-align: center;
  }
  @media screen and (max-width: 480px) {
    .imgL {
      float: none;
      margin: 0 auto 20px auto;
    }
  }
  .imgR {
    float: right;
    margin-left: 30px;
    margin-bottom: 35px;
    width: fit-content;
    text-align: center;
  }
  @media screen and (max-width: 480px) {
    .imgR {
      float: none;
      margin: 0 auto 20px auto;
    }
  }
  .clear {
    clear: both;
  }
  .clear-left {
    clear: left;
  }
  .clear-right {
    clear: right;
  }
  .v-top {
    vertical-align: top;
  }
  .v-middle {
    vertical-align: middle;
  }
  .v-bottom {
    vertical-align: bottom;
  }
  .margin-auto {
    margin: auto;
  }
  .mt-auto {
    margin-block-start: auto;
  }
  .mb-auto {
    margin-block-end: auto;
  }
  .ml-auto {
    margin-inline-start: auto;
  }
  .mr-auto {
    margin-inline-end: auto;
  }
  .block {
    display: block;
  }
  .inline {
    display: inline;
  }
  .overhidden {
    overflow: hidden;
  }
  .inline-block {
    display: inline-block;
  }
  .visible {
    visibility: visible;
  }
  .invisible {
    visibility: hidden;
  }
  .hidden {
    display: none;
  }
  @media screen and (max-width: 1180px) {
    .hidden-pc {
      display: none;
    }
  }
  @media screen and (max-width: 834px) {
    .hidden-md {
      display: none;
    }
  }
  @media screen and (max-width: 480px) {
    .hidden-sp {
      display: none;
    }
  }
  @media screen and (max-width: 1180px) {
    .display-pc {
      display: block;
    }
  }
  .display-md {
    display: none;
  }
  @media screen and (max-width: 834px) {
    .display-md {
      display: block;
    }
  }
  .display-sp {
    display: none;
  }
  @media screen and (max-width: 480px) {
    .display-sp {
      display: block;
    }
  }
  .flex {
    display: flex;
  }
  @media screen and (max-width: 480px) {
    .sp-flex {
      display: flex;
    }
  }
  .inline-flex {
    display: inline-flex;
  }
  @media screen and (max-width: 480px) {
    .sp-inline-flex {
      display: inline-flex;
    }
  }
  .flex-row-wrap {
    flex-flow: row wrap;
  }
  .flex-row-nowrap {
    flex-flow: row nowrap;
  }
  .flex-column-wrap {
    flex-flow: column wrap;
  }
  .flex-column-nowrap {
    flex-flow: column nowrap;
  }
  @media screen and (max-width: 834px) {
    .md-flex-row-wrap {
      flex-flow: row wrap;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-flex-row-wrap {
      flex-flow: row wrap;
    }
  }
  @media screen and (max-width: 834px) {
    .md-flex-column-nowrap {
      flex-flow: column nowrap;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-flex-column-nowrap {
      flex-flow: column nowrap;
    }
  }
  .direction-row {
    flex-direction: row;
  }
  .direction-row-reverse {
    flex-direction: row-reverse;
  }
  @media screen and (max-width: 480px) {
    .sp-direction-row {
      flex-direction: row;
    }
  }
  .direction-column {
    flex-direction: column;
  }
  @media screen and (max-width: 834px) {
    .md-direction-column {
      flex-direction: column;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-direction-column {
      flex-direction: column;
    }
  }
  .direction-column-reverse {
    flex-direction: column-reverse;
  }
  @media screen and (max-width: 1180px) {
    .pc-direction-column-reverse {
      flex-direction: column-reverse;
    }
  }
  @media screen and (max-width: 834px) {
    .md-direction-column-reverse {
      flex-direction: column-reverse;
    }
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .flex-nowrap {
    flex-wrap: nowrap;
  }
  @media screen and (max-width: 834px) {
    .md-flex-wrap {
      flex-wrap: wrap;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-flex-wrap {
      flex-wrap: wrap;
    }
  }
  .justify-spacebetween {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-spacearound {
    justify-content: space-around;
  }
  .justify-start {
    justify-content: start;
  }
  .justify-end {
    justify-content: end;
  }
  @media screen and (max-width: 834px) {
    .md-justify-center {
      justify-content: center;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-justify-spacebetween {
      justify-content: space-between;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-justify-center {
      justify-content: center;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-justify-spacearound {
      justify-content: space-around;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-justify-start {
      justify-content: start;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-justify-end {
      justify-content: end;
    }
  }
  .align-content-spacebetween {
    align-content: space-between;
  }
  .align-content-strech {
    align-content: strech;
  }
  .flex-grow {
    flex-grow: 1;
  }
  .flex-grow-off {
    flex-grow: 0;
  }
  .flex-shrink {
    flex-shrink: 1;
  }
  .flex-shrink-off {
    flex-shrink: 0;
  }
  @media screen and (max-width: 480px) {
    .sp-flex-grow {
      flex-grow: 1;
    }
    .sp-flex-grow-off {
      flex-grow: 0;
    }
    .sp-flex-shrink {
      flex-shrink: 1;
    }
    .sp-flex-shrink-off {
      flex-shrink: 0;
    }
  }
  .align-items-start {
    align-items: start;
  }
  .align-items-end {
    align-items: end;
  }
  .align-items-strech {
    align-items: strech;
  }
  .align-items-center {
    align-items: center;
  }
  @media screen and (max-width: 834px) {
    .md-align-item-center {
      align-items: center;
    }
    .md-align-item-start {
      align-items: start;
    }
    .md-align-item-end {
      align-items: end;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-align-item-center {
      align-items: center;
    }
    .sp-align-item-start {
      align-items: start;
    }
    .sp-align-item-end {
      align-items: end;
    }
  }
  .align-self-center {
    align-self: center;
  }
  .align-self-start {
    align-self: start;
  }
  .align-self-end {
    align-self: end;
  }
  .justify-self-center {
    justify-self: center;
  }
  .justify-self-start {
    justify-self: start;
  }
  .justify-self-end {
    justify-self: end;
  }
  @media screen and (max-width: 834px) {
    .md-align-self-center {
      align-self: center;
    }
    .md-align-self-start {
      align-self: start;
    }
    .md-align-self-end {
      align-self: end;
    }
    .md-justify-self-center {
      justify-self: center;
    }
    .md-justify-self-start {
      justify-self: start;
    }
    .md-justify-self-end {
      justify-self: end;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-justify-self-auto {
      justify-self: auto;
    }
  }
  .order1 {
    order: 1;
  }
  .order2 {
    order: 2;
  }
  .order3 {
    order: 3;
  }
  .order4 {
    order: 4;
  }
  .order5 {
    order: 6;
  }
  .order6 {
    order: 6;
  }
  @media screen and (max-width: 834px) {
    .md-order1 {
      order: 1;
    }
    .md-order2 {
      order: 2;
    }
    .md-order3 {
      order: 3;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-order1 {
      order: 1;
    }
    .sp-order2 {
      order: 2;
    }
    .sp-order3 {
      order: 3;
    }
    .sp-order4 {
      order: 4;
    }
    .sp-order5 {
      order: 5;
    }
    .sp-order6 {
      order: 6;
    }
  }
  .grid {
    display: grid;
  }
  .inline-grid {
    display: inline-grid;
  }
  @media screen and (max-width: 480px) {
    .sp-grid {
      display: grid;
    }
  }
  .gap {
    gap: var(--gap, 1%);
  }
  .--gap10 {
    --gap: 10px;
  }
  .--gap20 {
    --gap: 20px;
  }
  .--gap30 {
    --gap: 30px;
  }
  .--gap40 {
    --gap: 40px;
  }
  .--gap50 {
    --gap: 50px;
  }
  @media screen and (max-width: 480px) {
    .--sp-gap10 {
      --gap: 10px;
    }
  }
  .grid-columns {
    display: grid;
    grid-template-columns: repeat(var(--column-num, auto-fill), minmax(var(--min-width, 260px), 1fr));
    gap: var(--row-gap, 30px) var(--column-gap, 30px);
  }
  .--columns2 {
    --column-num: 2;
  }
  @media screen and (max-width: 834px) {
    .--columns2 {
      --column-num: 1;
    }
  }
  .--columns3 {
    --min-width: 278px;
  }
  .grid-columns.--img {
    --min-width: 300px;
    --column-gap: 15px;
  }
  @media screen and (max-width: 834px) {
    .grid-columns.--img {
      --min-width: 100px;
    }
  }
  .grid-columns.--img img {
    width: 100%;
    height: auto;
  }
  @media screen and (max-width: 834px) {
    .grid-columns.--md-clolumn {
      grid-template-columns: 1fr;
    }
  }
  .grid-template-auto-row {
    grid-template-rows: auto 1fr;
  }
  .hover-underline:hover {
    text-decoration: underline;
  }
  .hover-img {
    position: relative;
    overflow: hidden;
  }
  .hover-img img {
    position: relative;
    z-index: 0;
    transform: scale(1);
    transition: transform 400ms ease-out;
  }
  *:hover > .hover-img img {
    transform: scale(1.05);
  }
  .radius {
    border-radius: 100%;
  }
  .radius-s {
    border-radius: var(--radius, 4px);
  }
  .radius-m {
    border-radius: var(--radius, 8px);
  }
  .radius-l {
    border-radius: var(--radius, 16px);
  }
  @media screen and (max-width: 834px) {
    .md-radius-none {
      border-radius: 0;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-radius-none {
      border-radius: 0;
    }
  }
  .gray-box {
    display: inline-flex;
    align-items: center;
    background-color: var(--gray-light-color);
    padding: 5px 14px;
  }
  .radius-box {
    padding: 1.5em;
    border-radius: 0.5em;
  }
  .box {
    padding: 1em;
    border-width: 1px;
    border-style: solid;
  }
  .box-solid {
    padding: 30px;
  }
  @media screen and (max-width: 480px) {
    .box-solid {
      padding: var(--sp_margin_px);
    }
  }
  .box-solid.--wide {
    padding: 45px 50px;
  }
  @media screen and (max-width: 834px) {
    .box-solid.--wide {
      padding: 30px var(--sp_margin_px);
    }
  }
  .box-narrow {
    padding: clamp(0.5em, 2vw, 1em);
  }
  .box-border {
    padding: 1.5em;
    border-width: 0.2em;
    border-style: solid;
  }
  .inner-content {
    width: 100%;
    max-width: 800px;
    margin-inline: auto;
  }
  .border-none {
    border: none;
  }
  .border-bottom {
    border-bottom: 1px solid #e4e4e4;
  }
  .border-top {
    border-top: 1px solid var(--color);
  }
  .border-top-none {
    border-top: none;
  }
  .border-bottom-none {
    border-bottom: none;
  }
  @media screen and (max-width: 480px) {
    .sp-border-bottom-none {
      border-bottom: none;
    }
  }
  .img-border {
    border: 1px solid #e4e4e4;
    vertical-align: top;
  }
  .object-cover {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  @media screen and (max-width: 1180px) {
    .pc-object-cover {
      object-fit: cover;
      width: 100%;
      height: 100%;
    }
  }
  @media screen and (max-width: 834px) {
    .md-object-cover {
      object-fit: cover;
      width: 100%;
      height: 100%;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-object-cover {
      object-fit: cover;
      width: 100%;
      height: 100%;
    }
  }
  .object-cover-child > * {
    width: inherit;
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .object-contain {
    object-fit: contain;
    width: 100%;
    height: 100%;
  }
  .object-fit-cover {
    object-fit: cover;
  }
  .object-fit-contain {
    object-fit: contain;
  }
  .object-position-left-top {
    object-position: left top;
  }
  .object-position-left-center {
    object-position: left center;
  }
  .object-position-left-bottom {
    object-position: left bottom;
  }
  .object-position-right-top {
    object-position: right top;
  }
  .object-position-right-center {
    object-position: right center;
  }
  .object-position-right-bottom {
    object-position: right bottom;
  }
  .object-position-center-top {
    object-position: center top;
  }
  .object-position-center {
    object-position: center;
  }
  .object-position-center-bottom {
    object-position: center bottom;
  }
  .aspect-ratio16-9 {
    aspect-ratio: 16/9;
  }
  .aspect-ratio4-3 {
    aspect-ratio: 4/3;
  }
  .aspect-ratio1 {
    aspect-ratio: 1/1;
  }
  @media screen and (max-width: 834px) {
    .md-aspect-ratio16-9 {
      aspect-ratio: 16/9;
    }
    .md-aspect-ratio4-3 {
      aspect-ratio: 4/3;
    }
  }
  .at-container {
    container: inline-size;
  }
  .btn-container {
    container: btn-container/inline-size;
  }
}
@layer utility {
  [class*="--color-"]:not(:has(.background-color)),
  [class*="--color-"]:not(:has(.border-color)) {
    color: var(--color);
  }
  .--color-base {
    --color: var(--base-color);
  }
  .--color-base-light {
    --color: var(--base-light-color);
  }
  .--color-key {
    --color: var(--key-color);
  }
  .--color-key-light {
    --color: var(--key-light-color);
  }
  .--color-key-dark {
    --color: var(--key-dark-color);
  }
  .--color-red {
    --color: red;
  }
  .--color-black {
    --color: #000;
  }
  .--color-white {
    --color: #fff;
  }
  .--color-gray {
    --color: #e4e4e4;
  }
  .--color-gray-light {
    --color: var(--gray-light-color);
  }
  .--color-hover {
    --color: var(--hover-color);
  }
  .--color-link {
    --color: var(--link-color);
  }
  .background-color {
    background-color: var(--color);
  }
  .border-color {
    border-color: var(--color);
  }
  .important {
    color: #b8272d;
  }
  .require {
    color: var(--base-color);
  }
  .c-base {
    color: var(--base-color);
  }
  .c-key {
    color: var(--key-color);
  }
  .c-black {
    color: #000;
  }
  .c-white {
    color: #fff;
  }
  .c-red {
    color: var(--red-color);
  }
  .c-gray {
    color: var(--gray-color);
  }
  .c-hover:hover {
    color: var(--key-color);
  }
  .bg-base {
    background-color: var(--base-color);
  }
  .bg-key-light {
    background-color: var(--key-light-color);
  }
  .bg-black {
    background-color: #000;
  }
  .bg-white {
    background-color: #fff;
  }
  .bg-red {
    background-color: #ed1c24;
  }
  .bg-gray {
    background-color: var(--gray-light-color);
  }
  .multiply {
    mix-blend-mode: multiply;
  }
  .bg-base-full {
    border-image-source: linear-gradient(var(--color, var(--base-color)), var(--color, var(--base-color)));
    border-image-slice: 0 fill;
    border-image-outset: 0 100vw 0 100vw;
  }
  .bg-black-full {
    border-image-source: linear-gradient(var(--black-color), var(--black-color));
    border-image-slice: 0 fill;
    border-image-outset: 0 100vw 0 100vw;
  }
  .success {
    color: #0f5132;
    background-color: #d1e7dd;
    border-color: #badbcc;
  }
  .danger {
    color: #842029;
    background-color: #f8d7da;
    border-color: #f5c2c7;
  }
  .warning {
    color: #664d03;
    background-color: #fff3cd;
    border-color: #ffecb5;
  }
  .info {
    color: #055160;
    background-color: #cff4fc;
    border-color: #b6effb;
  }
  .error {
    color: #842029;
    background-color: #f8d7da;
    border-color: #f5c2c7;
  }
  .primary {
    color: #084298;
    background-color: #cfe2ff;
    border-color: #b6d4fe;
  }
  .secondary {
    color: #41464b;
    background-color: #e2e3e5;
    border-color: #d3d6d8;
  }
  .light {
    color: #636464;
    background-color: #fefefe;
    border-color: #fdfdfe;
  }
  .dark {
    color: #141619;
    background-color: #d3d3d4;
    border-color: #bcbebf;
  }
  .init-transparent {
    opacity: 0;
    transform: translateY(30px);
    transition: all 800ms ease-in-out;
  }
  .init-transparent.is-active {
    transition: all 800ms ease-in-out;
    opacity: 1;
    transform: translateY(0);
  }
  .fade-in {
    animation: fadeIn 150ms ease-in-out 1 forwards;
  }
  @keyframes fadeIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  .fade-out {
    animation: fadeOut 400ms ease-in-out 1 forwards;
  }
  @keyframes fadeOut {
    0% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  .clip-to-right {
    clip-path: inset(0 100% 0 0);
    transition: 0.8s ease-in;
    transition: clip-path 800ms ease-in-out;
  }
  .clip-to-right.is-visible {
    clip-path: inset(0);
  }
  .clip-to-left {
    clip-path: inset(0 0 0 100%);
    transition: 0.8s ease-in;
    transition: clip-path 800ms ease-in-out;
  }
  .clip-to-left.is-visible {
    clip-path: inset(0);
  }
  @keyframes border-anime {
    0% {
      background-position: 200% 100%;
    }
    100% {
      background-position: 0% 100%;
    }
  }
  a:focus-visible,
  input:focus-visible,
  textarea:focus-visible,
  button:focus-visible,
  select:focus-visible {
    outline: Highlight auto 2px;
    outline: -webkit-focus-ring-color auto 2px;
    outline-offset: 2px;
  }
  .mt0 {
    margin-top: 0rem;
  }
  .mr0 {
    margin-right: 0rem;
  }
  .mb0 {
    margin-bottom: 0rem;
  }
  .ml0 {
    margin-left: 0rem;
  }
  .mt5 {
    margin-top: 0.5rem;
  }
  .mr5 {
    margin-right: 0.5rem;
  }
  .mb5 {
    margin-bottom: 0.5rem;
  }
  .ml5 {
    margin-left: 0.5rem;
  }
  .mt10 {
    margin-top: 1rem;
  }
  .mr10 {
    margin-right: 1rem;
  }
  .mb10 {
    margin-bottom: 1rem;
  }
  .ml10 {
    margin-left: 1rem;
  }
  .mt15 {
    margin-top: 1.5rem;
  }
  .mr15 {
    margin-right: 1.5rem;
  }
  .mb15 {
    margin-bottom: 1.5rem;
  }
  .ml15 {
    margin-left: 1.5rem;
  }
  .mt20 {
    margin-top: 2rem;
  }
  .mr20 {
    margin-right: 2rem;
  }
  .mb20 {
    margin-bottom: 2rem;
  }
  .ml20 {
    margin-left: 2rem;
  }
  .mt25 {
    margin-top: 2.5rem;
  }
  .mr25 {
    margin-right: 2.5rem;
  }
  .mb25 {
    margin-bottom: 2.5rem;
  }
  .ml25 {
    margin-left: 2.5rem;
  }
  .mt30 {
    margin-top: 3rem;
  }
  .mr30 {
    margin-right: 3rem;
  }
  .mb30 {
    margin-bottom: 3rem;
  }
  .ml30 {
    margin-left: 3rem;
  }
  .mt35 {
    margin-top: 3.5rem;
  }
  .mr35 {
    margin-right: 3.5rem;
  }
  .mb35 {
    margin-bottom: 3.5rem;
  }
  .ml35 {
    margin-left: 3.5rem;
  }
  .mt40 {
    margin-top: 4rem;
  }
  .mr40 {
    margin-right: 4rem;
  }
  .mb40 {
    margin-bottom: 4rem;
  }
  .ml40 {
    margin-left: 4rem;
  }
  .mt45 {
    margin-top: 4.5rem;
  }
  .mr45 {
    margin-right: 4.5rem;
  }
  .mb45 {
    margin-bottom: 4.5rem;
  }
  .ml45 {
    margin-left: 4.5rem;
  }
  .mt50 {
    margin-top: 5rem;
  }
  .mr50 {
    margin-right: 5rem;
  }
  .mb50 {
    margin-bottom: 5rem;
  }
  .ml50 {
    margin-left: 5rem;
  }
  .mt55 {
    margin-top: 5.5rem;
  }
  .mr55 {
    margin-right: 5.5rem;
  }
  .mb55 {
    margin-bottom: 5.5rem;
  }
  .ml55 {
    margin-left: 5.5rem;
  }
  .mt60 {
    margin-top: 6rem;
  }
  .mr60 {
    margin-right: 6rem;
  }
  .mb60 {
    margin-bottom: 6rem;
  }
  .ml60 {
    margin-left: 6rem;
  }
  .mt65 {
    margin-top: 6.5rem;
  }
  .mr65 {
    margin-right: 6.5rem;
  }
  .mb65 {
    margin-bottom: 6.5rem;
  }
  .ml65 {
    margin-left: 6.5rem;
  }
  .mt70 {
    margin-top: 7rem;
  }
  .mr70 {
    margin-right: 7rem;
  }
  .mb70 {
    margin-bottom: 7rem;
  }
  .ml70 {
    margin-left: 7rem;
  }
  .mt75 {
    margin-top: 7.5rem;
  }
  .mr75 {
    margin-right: 7.5rem;
  }
  .mb75 {
    margin-bottom: 7.5rem;
  }
  .ml75 {
    margin-left: 7.5rem;
  }
  .mt80 {
    margin-top: 8rem;
  }
  .mr80 {
    margin-right: 8rem;
  }
  .mb80 {
    margin-bottom: 8rem;
  }
  .ml80 {
    margin-left: 8rem;
  }
  .mt85 {
    margin-top: 8.5rem;
  }
  .mr85 {
    margin-right: 8.5rem;
  }
  .mb85 {
    margin-bottom: 8.5rem;
  }
  .ml85 {
    margin-left: 8.5rem;
  }
  .mt90 {
    margin-top: 9rem;
  }
  .mr90 {
    margin-right: 9rem;
  }
  .mb90 {
    margin-bottom: 9rem;
  }
  .ml90 {
    margin-left: 9rem;
  }
  .mt95 {
    margin-top: 9.5rem;
  }
  .mr95 {
    margin-right: 9.5rem;
  }
  .mb95 {
    margin-bottom: 9.5rem;
  }
  .ml95 {
    margin-left: 9.5rem;
  }
  .mt100 {
    margin-top: 10rem;
  }
  .mr100 {
    margin-right: 10rem;
  }
  .mb100 {
    margin-bottom: 10rem;
  }
  .ml100 {
    margin-left: 10rem;
  }
  .mt110 {
    margin-top: 110px;
  }
  .mt130 {
    margin-top: 130px;
  }
  .mt150 {
    margin-top: 150px;
  }
  .mt180 {
    margin-top: 180px;
  }
  @media screen and (max-width: 480px) {
    .sp-mt0 {
      margin-top: 0px;
    }
    .sp-mt15 {
      margin-top: 15px;
    }
    .sp-mt30 {
      margin-top: 30px;
    }
    .sp-mt60 {
      margin-top: 60px;
    }
    .sp-mt90 {
      margin-top: 90px;
    }
    .sp-mt100 {
      margin-top: 100px;
    }
    .sp-mt140 {
      margin-top: 140px;
    }
  }
  .pt0 {
    padding-top: 0rem;
  }
  .pr0 {
    padding-right: 0rem;
  }
  .pb0 {
    padding-bottom: 0rem;
  }
  .pl0 {
    padding-left: 0rem;
  }
  .pt5 {
    padding-top: 0.5rem;
  }
  .pr5 {
    padding-right: 0.5rem;
  }
  .pb5 {
    padding-bottom: 0.5rem;
  }
  .pl5 {
    padding-left: 0.5rem;
  }
  .pt10 {
    padding-top: 1rem;
  }
  .pr10 {
    padding-right: 1rem;
  }
  .pb10 {
    padding-bottom: 1rem;
  }
  .pl10 {
    padding-left: 1rem;
  }
  .pt15 {
    padding-top: 1.5rem;
  }
  .pr15 {
    padding-right: 1.5rem;
  }
  .pb15 {
    padding-bottom: 1.5rem;
  }
  .pl15 {
    padding-left: 1.5rem;
  }
  .pt20 {
    padding-top: 2rem;
  }
  .pr20 {
    padding-right: 2rem;
  }
  .pb20 {
    padding-bottom: 2rem;
  }
  .pl20 {
    padding-left: 2rem;
  }
  .pt25 {
    padding-top: 2.5rem;
  }
  .pr25 {
    padding-right: 2.5rem;
  }
  .pb25 {
    padding-bottom: 2.5rem;
  }
  .pl25 {
    padding-left: 2.5rem;
  }
  .pt30 {
    padding-top: 3rem;
  }
  .pr30 {
    padding-right: 3rem;
  }
  .pb30 {
    padding-bottom: 3rem;
  }
  .pl30 {
    padding-left: 3rem;
  }
  .pt35 {
    padding-top: 3.5rem;
  }
  .pr35 {
    padding-right: 3.5rem;
  }
  .pb35 {
    padding-bottom: 3.5rem;
  }
  .pl35 {
    padding-left: 3.5rem;
  }
  .pt40 {
    padding-top: 4rem;
  }
  .pr40 {
    padding-right: 4rem;
  }
  .pb40 {
    padding-bottom: 4rem;
  }
  .pl40 {
    padding-left: 4rem;
  }
  .pt45 {
    padding-top: 4.5rem;
  }
  .pr45 {
    padding-right: 4.5rem;
  }
  .pb45 {
    padding-bottom: 4.5rem;
  }
  .pl45 {
    padding-left: 4.5rem;
  }
  .pt50 {
    padding-top: 5rem;
  }
  .pr50 {
    padding-right: 5rem;
  }
  .pb50 {
    padding-bottom: 5rem;
  }
  .pl50 {
    padding-left: 5rem;
  }
  .pt55 {
    padding-top: 5.5rem;
  }
  .pr55 {
    padding-right: 5.5rem;
  }
  .pb55 {
    padding-bottom: 5.5rem;
  }
  .pl55 {
    padding-left: 5.5rem;
  }
  .pt60 {
    padding-top: 6rem;
  }
  .pr60 {
    padding-right: 6rem;
  }
  .pb60 {
    padding-bottom: 6rem;
  }
  .pl60 {
    padding-left: 6rem;
  }
  .pt65 {
    padding-top: 6.5rem;
  }
  .pr65 {
    padding-right: 6.5rem;
  }
  .pb65 {
    padding-bottom: 6.5rem;
  }
  .pl65 {
    padding-left: 6.5rem;
  }
  .pt70 {
    padding-top: 7rem;
  }
  .pr70 {
    padding-right: 7rem;
  }
  .pb70 {
    padding-bottom: 7rem;
  }
  .pl70 {
    padding-left: 7rem;
  }
  .pt75 {
    padding-top: 7.5rem;
  }
  .pr75 {
    padding-right: 7.5rem;
  }
  .pb75 {
    padding-bottom: 7.5rem;
  }
  .pl75 {
    padding-left: 7.5rem;
  }
  .pt80 {
    padding-top: 8rem;
  }
  .pr80 {
    padding-right: 8rem;
  }
  .pb80 {
    padding-bottom: 8rem;
  }
  .pl80 {
    padding-left: 8rem;
  }
  .pt85 {
    padding-top: 8.5rem;
  }
  .pr85 {
    padding-right: 8.5rem;
  }
  .pb85 {
    padding-bottom: 8.5rem;
  }
  .pl85 {
    padding-left: 8.5rem;
  }
  .pt90 {
    padding-top: 9rem;
  }
  .pr90 {
    padding-right: 9rem;
  }
  .pb90 {
    padding-bottom: 9rem;
  }
  .pl90 {
    padding-left: 9rem;
  }
  .pt95 {
    padding-top: 9.5rem;
  }
  .pr95 {
    padding-right: 9.5rem;
  }
  .pb95 {
    padding-bottom: 9.5rem;
  }
  .pl95 {
    padding-left: 9.5rem;
  }
  .pt100 {
    padding-top: 10rem;
  }
  .pr100 {
    padding-right: 10rem;
  }
  .pb100 {
    padding-bottom: 10rem;
  }
  .pl100 {
    padding-left: 10rem;
  }
  .w5 {
    width: 5%;
  }
  .w10 {
    width: 10%;
  }
  .w15 {
    width: 15%;
  }
  .w20 {
    width: 20%;
  }
  .w25 {
    width: 25%;
  }
  .w30 {
    width: 30%;
  }
  .w35 {
    width: 35%;
  }
  .w40 {
    width: 40%;
  }
  .w45 {
    width: 45%;
  }
  .w50 {
    width: 50%;
  }
  .w55 {
    width: 55%;
  }
  .w60 {
    width: 60%;
  }
  .w65 {
    width: 65%;
  }
  .w70 {
    width: 70%;
  }
  .w75 {
    width: 75%;
  }
  .w80 {
    width: 80%;
  }
  .w85 {
    width: 85%;
  }
  .w90 {
    width: 90%;
  }
  .w95 {
    width: 95%;
  }
  .w100 {
    width: 100%;
  }
  @media screen and (max-width: 1180px) {
    .pc-mt0 {
      margin-top: 0px;
    }
    .pc-mt50 {
      margin-top: 50px;
    }
  }
  @media screen and (max-width: 834px) {
    .md-mt0 {
      margin-top: 0rem;
    }
    .md-mr0 {
      margin-right: 0rem;
    }
    .md-mb0 {
      margin-bottom: 0rem;
    }
    .md-ml0 {
      margin-left: 0rem;
    }
    .md-pt0 {
      padding-top: 0rem;
    }
    .md-pr0 {
      padding-right: 0rem;
    }
    .md-pb0 {
      padding-bottom: 0rem;
    }
    .md-pl0 {
      padding-left: 0rem;
    }
    .md-mt5 {
      margin-top: 0.5rem;
    }
    .md-mr5 {
      margin-right: 0.5rem;
    }
    .md-mb5 {
      margin-bottom: 0.5rem;
    }
    .md-ml5 {
      margin-left: 0.5rem;
    }
    .md-pt5 {
      padding-top: 0.5rem;
    }
    .md-pr5 {
      padding-right: 0.5rem;
    }
    .md-pb5 {
      padding-bottom: 0.5rem;
    }
    .md-pl5 {
      padding-left: 0.5rem;
    }
    .md-mt10 {
      margin-top: 1rem;
    }
    .md-mr10 {
      margin-right: 1rem;
    }
    .md-mb10 {
      margin-bottom: 1rem;
    }
    .md-ml10 {
      margin-left: 1rem;
    }
    .md-pt10 {
      padding-top: 1rem;
    }
    .md-pr10 {
      padding-right: 1rem;
    }
    .md-pb10 {
      padding-bottom: 1rem;
    }
    .md-pl10 {
      padding-left: 1rem;
    }
    .md-mt15 {
      margin-top: 1.5rem;
    }
    .md-mr15 {
      margin-right: 1.5rem;
    }
    .md-mb15 {
      margin-bottom: 1.5rem;
    }
    .md-ml15 {
      margin-left: 1.5rem;
    }
    .md-pt15 {
      padding-top: 1.5rem;
    }
    .md-pr15 {
      padding-right: 1.5rem;
    }
    .md-pb15 {
      padding-bottom: 1.5rem;
    }
    .md-pl15 {
      padding-left: 1.5rem;
    }
    .md-mt20 {
      margin-top: 2rem;
    }
    .md-mr20 {
      margin-right: 2rem;
    }
    .md-mb20 {
      margin-bottom: 2rem;
    }
    .md-ml20 {
      margin-left: 2rem;
    }
    .md-pt20 {
      padding-top: 2rem;
    }
    .md-pr20 {
      padding-right: 2rem;
    }
    .md-pb20 {
      padding-bottom: 2rem;
    }
    .md-pl20 {
      padding-left: 2rem;
    }
    .md-mt25 {
      margin-top: 2.5rem;
    }
    .md-mr25 {
      margin-right: 2.5rem;
    }
    .md-mb25 {
      margin-bottom: 2.5rem;
    }
    .md-ml25 {
      margin-left: 2.5rem;
    }
    .md-pt25 {
      padding-top: 2.5rem;
    }
    .md-pr25 {
      padding-right: 2.5rem;
    }
    .md-pb25 {
      padding-bottom: 2.5rem;
    }
    .md-pl25 {
      padding-left: 2.5rem;
    }
    .md-mt30 {
      margin-top: 3rem;
    }
    .md-mr30 {
      margin-right: 3rem;
    }
    .md-mb30 {
      margin-bottom: 3rem;
    }
    .md-ml30 {
      margin-left: 3rem;
    }
    .md-pt30 {
      padding-top: 3rem;
    }
    .md-pr30 {
      padding-right: 3rem;
    }
    .md-pb30 {
      padding-bottom: 3rem;
    }
    .md-pl30 {
      padding-left: 3rem;
    }
    .md-mt35 {
      margin-top: 3.5rem;
    }
    .md-mr35 {
      margin-right: 3.5rem;
    }
    .md-mb35 {
      margin-bottom: 3.5rem;
    }
    .md-ml35 {
      margin-left: 3.5rem;
    }
    .md-pt35 {
      padding-top: 3.5rem;
    }
    .md-pr35 {
      padding-right: 3.5rem;
    }
    .md-pb35 {
      padding-bottom: 3.5rem;
    }
    .md-pl35 {
      padding-left: 3.5rem;
    }
    .md-mt40 {
      margin-top: 4rem;
    }
    .md-mr40 {
      margin-right: 4rem;
    }
    .md-mb40 {
      margin-bottom: 4rem;
    }
    .md-ml40 {
      margin-left: 4rem;
    }
    .md-pt40 {
      padding-top: 4rem;
    }
    .md-pr40 {
      padding-right: 4rem;
    }
    .md-pb40 {
      padding-bottom: 4rem;
    }
    .md-pl40 {
      padding-left: 4rem;
    }
    .md-mt45 {
      margin-top: 4.5rem;
    }
    .md-mr45 {
      margin-right: 4.5rem;
    }
    .md-mb45 {
      margin-bottom: 4.5rem;
    }
    .md-ml45 {
      margin-left: 4.5rem;
    }
    .md-pt45 {
      padding-top: 4.5rem;
    }
    .md-pr45 {
      padding-right: 4.5rem;
    }
    .md-pb45 {
      padding-bottom: 4.5rem;
    }
    .md-pl45 {
      padding-left: 4.5rem;
    }
    .md-mt50 {
      margin-top: 5rem;
    }
    .md-mr50 {
      margin-right: 5rem;
    }
    .md-mb50 {
      margin-bottom: 5rem;
    }
    .md-ml50 {
      margin-left: 5rem;
    }
    .md-pt50 {
      padding-top: 5rem;
    }
    .md-pr50 {
      padding-right: 5rem;
    }
    .md-pb50 {
      padding-bottom: 5rem;
    }
    .md-pl50 {
      padding-left: 5rem;
    }
    .md-mt55 {
      margin-top: 5.5rem;
    }
    .md-mr55 {
      margin-right: 5.5rem;
    }
    .md-mb55 {
      margin-bottom: 5.5rem;
    }
    .md-ml55 {
      margin-left: 5.5rem;
    }
    .md-pt55 {
      padding-top: 5.5rem;
    }
    .md-pr55 {
      padding-right: 5.5rem;
    }
    .md-pb55 {
      padding-bottom: 5.5rem;
    }
    .md-pl55 {
      padding-left: 5.5rem;
    }
    .md-mt60 {
      margin-top: 6rem;
    }
    .md-mr60 {
      margin-right: 6rem;
    }
    .md-mb60 {
      margin-bottom: 6rem;
    }
    .md-ml60 {
      margin-left: 6rem;
    }
    .md-pt60 {
      padding-top: 6rem;
    }
    .md-pr60 {
      padding-right: 6rem;
    }
    .md-pb60 {
      padding-bottom: 6rem;
    }
    .md-pl60 {
      padding-left: 6rem;
    }
    .md-mt65 {
      margin-top: 6.5rem;
    }
    .md-mr65 {
      margin-right: 6.5rem;
    }
    .md-mb65 {
      margin-bottom: 6.5rem;
    }
    .md-ml65 {
      margin-left: 6.5rem;
    }
    .md-pt65 {
      padding-top: 6.5rem;
    }
    .md-pr65 {
      padding-right: 6.5rem;
    }
    .md-pb65 {
      padding-bottom: 6.5rem;
    }
    .md-pl65 {
      padding-left: 6.5rem;
    }
    .md-mt70 {
      margin-top: 7rem;
    }
    .md-mr70 {
      margin-right: 7rem;
    }
    .md-mb70 {
      margin-bottom: 7rem;
    }
    .md-ml70 {
      margin-left: 7rem;
    }
    .md-pt70 {
      padding-top: 7rem;
    }
    .md-pr70 {
      padding-right: 7rem;
    }
    .md-pb70 {
      padding-bottom: 7rem;
    }
    .md-pl70 {
      padding-left: 7rem;
    }
    .md-mt75 {
      margin-top: 7.5rem;
    }
    .md-mr75 {
      margin-right: 7.5rem;
    }
    .md-mb75 {
      margin-bottom: 7.5rem;
    }
    .md-ml75 {
      margin-left: 7.5rem;
    }
    .md-pt75 {
      padding-top: 7.5rem;
    }
    .md-pr75 {
      padding-right: 7.5rem;
    }
    .md-pb75 {
      padding-bottom: 7.5rem;
    }
    .md-pl75 {
      padding-left: 7.5rem;
    }
    .md-mt80 {
      margin-top: 8rem;
    }
    .md-mr80 {
      margin-right: 8rem;
    }
    .md-mb80 {
      margin-bottom: 8rem;
    }
    .md-ml80 {
      margin-left: 8rem;
    }
    .md-pt80 {
      padding-top: 8rem;
    }
    .md-pr80 {
      padding-right: 8rem;
    }
    .md-pb80 {
      padding-bottom: 8rem;
    }
    .md-pl80 {
      padding-left: 8rem;
    }
    .md-mt85 {
      margin-top: 8.5rem;
    }
    .md-mr85 {
      margin-right: 8.5rem;
    }
    .md-mb85 {
      margin-bottom: 8.5rem;
    }
    .md-ml85 {
      margin-left: 8.5rem;
    }
    .md-pt85 {
      padding-top: 8.5rem;
    }
    .md-pr85 {
      padding-right: 8.5rem;
    }
    .md-pb85 {
      padding-bottom: 8.5rem;
    }
    .md-pl85 {
      padding-left: 8.5rem;
    }
    .md-mt90 {
      margin-top: 9rem;
    }
    .md-mr90 {
      margin-right: 9rem;
    }
    .md-mb90 {
      margin-bottom: 9rem;
    }
    .md-ml90 {
      margin-left: 9rem;
    }
    .md-pt90 {
      padding-top: 9rem;
    }
    .md-pr90 {
      padding-right: 9rem;
    }
    .md-pb90 {
      padding-bottom: 9rem;
    }
    .md-pl90 {
      padding-left: 9rem;
    }
    .md-mt95 {
      margin-top: 9.5rem;
    }
    .md-mr95 {
      margin-right: 9.5rem;
    }
    .md-mb95 {
      margin-bottom: 9.5rem;
    }
    .md-ml95 {
      margin-left: 9.5rem;
    }
    .md-pt95 {
      padding-top: 9.5rem;
    }
    .md-pr95 {
      padding-right: 9.5rem;
    }
    .md-pb95 {
      padding-bottom: 9.5rem;
    }
    .md-pl95 {
      padding-left: 9.5rem;
    }
    .md-mt100 {
      margin-top: 10rem;
    }
    .md-mr100 {
      margin-right: 10rem;
    }
    .md-mb100 {
      margin-bottom: 10rem;
    }
    .md-ml100 {
      margin-left: 10rem;
    }
    .md-pt100 {
      padding-top: 10rem;
    }
    .md-pr100 {
      padding-right: 10rem;
    }
    .md-pb100 {
      padding-bottom: 10rem;
    }
    .md-pl100 {
      padding-left: 10rem;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-mt0 {
      margin-top: 0rem;
    }
    .sp-mr0 {
      margin-right: 0rem;
    }
    .sp-mb0 {
      margin-bottom: 0rem;
    }
    .sp-ml0 {
      margin-left: 0rem;
    }
    .sp-pt0 {
      padding-top: 0rem;
    }
    .sp-pr0 {
      padding-right: 0rem;
    }
    .sp-pb0 {
      padding-bottom: 0rem;
    }
    .sp-pl0 {
      padding-left: 0rem;
    }
    .sp-mt5 {
      margin-top: 0.5rem;
    }
    .sp-mr5 {
      margin-right: 0.5rem;
    }
    .sp-mb5 {
      margin-bottom: 0.5rem;
    }
    .sp-ml5 {
      margin-left: 0.5rem;
    }
    .sp-pt5 {
      padding-top: 0.5rem;
    }
    .sp-pr5 {
      padding-right: 0.5rem;
    }
    .sp-pb5 {
      padding-bottom: 0.5rem;
    }
    .sp-pl5 {
      padding-left: 0.5rem;
    }
    .sp-mt10 {
      margin-top: 1rem;
    }
    .sp-mr10 {
      margin-right: 1rem;
    }
    .sp-mb10 {
      margin-bottom: 1rem;
    }
    .sp-ml10 {
      margin-left: 1rem;
    }
    .sp-pt10 {
      padding-top: 1rem;
    }
    .sp-pr10 {
      padding-right: 1rem;
    }
    .sp-pb10 {
      padding-bottom: 1rem;
    }
    .sp-pl10 {
      padding-left: 1rem;
    }
    .sp-mt15 {
      margin-top: 1.5rem;
    }
    .sp-mr15 {
      margin-right: 1.5rem;
    }
    .sp-mb15 {
      margin-bottom: 1.5rem;
    }
    .sp-ml15 {
      margin-left: 1.5rem;
    }
    .sp-pt15 {
      padding-top: 1.5rem;
    }
    .sp-pr15 {
      padding-right: 1.5rem;
    }
    .sp-pb15 {
      padding-bottom: 1.5rem;
    }
    .sp-pl15 {
      padding-left: 1.5rem;
    }
    .sp-mt20 {
      margin-top: 2rem;
    }
    .sp-mr20 {
      margin-right: 2rem;
    }
    .sp-mb20 {
      margin-bottom: 2rem;
    }
    .sp-ml20 {
      margin-left: 2rem;
    }
    .sp-pt20 {
      padding-top: 2rem;
    }
    .sp-pr20 {
      padding-right: 2rem;
    }
    .sp-pb20 {
      padding-bottom: 2rem;
    }
    .sp-pl20 {
      padding-left: 2rem;
    }
    .sp-mt25 {
      margin-top: 2.5rem;
    }
    .sp-mr25 {
      margin-right: 2.5rem;
    }
    .sp-mb25 {
      margin-bottom: 2.5rem;
    }
    .sp-ml25 {
      margin-left: 2.5rem;
    }
    .sp-pt25 {
      padding-top: 2.5rem;
    }
    .sp-pr25 {
      padding-right: 2.5rem;
    }
    .sp-pb25 {
      padding-bottom: 2.5rem;
    }
    .sp-pl25 {
      padding-left: 2.5rem;
    }
    .sp-mt30 {
      margin-top: 3rem;
    }
    .sp-mr30 {
      margin-right: 3rem;
    }
    .sp-mb30 {
      margin-bottom: 3rem;
    }
    .sp-ml30 {
      margin-left: 3rem;
    }
    .sp-pt30 {
      padding-top: 3rem;
    }
    .sp-pr30 {
      padding-right: 3rem;
    }
    .sp-pb30 {
      padding-bottom: 3rem;
    }
    .sp-pl30 {
      padding-left: 3rem;
    }
    .sp-mt35 {
      margin-top: 3.5rem;
    }
    .sp-mr35 {
      margin-right: 3.5rem;
    }
    .sp-mb35 {
      margin-bottom: 3.5rem;
    }
    .sp-ml35 {
      margin-left: 3.5rem;
    }
    .sp-pt35 {
      padding-top: 3.5rem;
    }
    .sp-pr35 {
      padding-right: 3.5rem;
    }
    .sp-pb35 {
      padding-bottom: 3.5rem;
    }
    .sp-pl35 {
      padding-left: 3.5rem;
    }
    .sp-mt40 {
      margin-top: 4rem;
    }
    .sp-mr40 {
      margin-right: 4rem;
    }
    .sp-mb40 {
      margin-bottom: 4rem;
    }
    .sp-ml40 {
      margin-left: 4rem;
    }
    .sp-pt40 {
      padding-top: 4rem;
    }
    .sp-pr40 {
      padding-right: 4rem;
    }
    .sp-pb40 {
      padding-bottom: 4rem;
    }
    .sp-pl40 {
      padding-left: 4rem;
    }
    .sp-mt45 {
      margin-top: 4.5rem;
    }
    .sp-mr45 {
      margin-right: 4.5rem;
    }
    .sp-mb45 {
      margin-bottom: 4.5rem;
    }
    .sp-ml45 {
      margin-left: 4.5rem;
    }
    .sp-pt45 {
      padding-top: 4.5rem;
    }
    .sp-pr45 {
      padding-right: 4.5rem;
    }
    .sp-pb45 {
      padding-bottom: 4.5rem;
    }
    .sp-pl45 {
      padding-left: 4.5rem;
    }
    .sp-mt50 {
      margin-top: 5rem;
    }
    .sp-mr50 {
      margin-right: 5rem;
    }
    .sp-mb50 {
      margin-bottom: 5rem;
    }
    .sp-ml50 {
      margin-left: 5rem;
    }
    .sp-pt50 {
      padding-top: 5rem;
    }
    .sp-pr50 {
      padding-right: 5rem;
    }
    .sp-pb50 {
      padding-bottom: 5rem;
    }
    .sp-pl50 {
      padding-left: 5rem;
    }
  }
  .click-expand::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: all 150ms ease-in;
  }
  .width-fit-content {
    width: fit-content;
  }
  .box-shadow {
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.03), 0px 0px 10px 5px rgba(0, 0, 0, 0.08), 0px 0px 20px -10px rgba(0, 0, 0, 0.06);
  }
  .map {
    overflow: hidden;
    height: 460px;
  }
  .map iframe {
    aspect-ratio: 16/9;
    width: 100%;
    height: 100%;
    max-height: 550px;
  }
  @media screen and (max-width: 834px) {
    .map iframe {
      min-height: 245px;
      height: 350px;
      aspect-ratio: 16/9;
    }
  }
  hr {
    font-size: clamp(1rem, 2.1vw, 1.6rem);
    padding: 50px 0;
    margin: 0;
    border: none;
  }
  hr.border {
    border-top: 1px solid var(--base-color);
  }
  hr.border-top-gray {
    border-top: 1px solid #e4e4e4;
    margin-block: 90px 0;
    padding-block: 0 40px;
  }
  .no-bg {
    background: none;
  }
  .img-full {
    width: 100%;
    height: auto;
  }
  @media screen and (max-width: 1180px) {
    .pc-img-full {
      width: 100%;
      height: auto;
    }
  }
  @media screen and (max-width: 834px) {
    .md-img-full {
      width: 100%;
      height: auto;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-img-full {
      width: 100%;
      height: auto;
    }
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
  .skip-link:focus {
    width: auto;
    height: auto;
    margin: 0;
    clip: unset;
    z-index: 9999;
  }
  .home-news {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 20px;
    padding-block-start: 15px;
  }
  @media screen and (max-width: 834px) {
    .home-news {
      display: grid;
    }
  }
  .--home-news .home-news {
    padding-left: var(--margin_px);
  }
  @media screen and (max-width: 1285px) {
    .--home-news .home-news {
      grid-column: 1/3;
    }
  }
  @media screen and (max-width: 834px) {
    .--home-news .home-news {
      grid-column: 2;
      padding-left: 0;
    }
  }
  .home-news-block {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 20px;
  }
  .home-news__child {
    flex-shrink: 0;
    display: grid;
    justify-content: center;
    align-items: center;
    height: 40px;
    border-left: 5px solid var(--key-color);
    border-right: 1px solid var(--black-color);
  }
  @media screen and (max-width: 834px) {
    .home-news__child {
      justify-content: start;
      border-right: none;
    }
  }
  .home-news-item:has(> a:focus-visible) .news-text,
  .news-item:has(> a:focus-visible) .news-text {
    outline: Highlight auto 1px;
    outline: -webkit-focus-ring-color auto 1px;
  }
  .home-news-title {
    --font-variable: 1.6rem;
    font-weight: var(--font-weight-bold);
    line-height: 1;
    letter-spacing: 0.1em;
    margin: 0;
    padding-inline: 20px;
  }
  .home-news-item {
    position: relative;
    display: grid;
    grid-template-columns: subgrid;
    grid-template-rows: auto;
    grid-column: span 3;
    align-items: center;
  }
  .home-news-item > * {
    grid-row: 1;
  }
  .home-news-item .date {
    --color: #999999;
    grid-column: 1;
    height: 25px;
    line-height: 1.6;
  }
  .home-news-item .tag-list {
    grid-column: 2;
  }
  .home-news-item .news-text {
    grid-column: 3;
    display: inline-flex;
    align-items: center;
  }
  .home-news-item .click-expand {
    grid-column: 1/-1;
  }
  @media screen and (max-width: 834px) {
    .home-news-item {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 10px 15px;
    }
    .home-news-item .date {
      grid-column: 1;
      grid-row: 1;
      align-self: start;
    }
    .home-news-item .tag-list {
      grid-column: 2;
      grid-row: 1;
    }
    .home-news-item .news-text {
      grid-column: 1/3;
      grid-row: 2;
    }
  }
  .home-news-item:hover .news-text {
    text-decoration: underline;
  }
  .fig1 {
    width: 100%;
    height: auto;
    max-width: 550px;
  }
  .bg-pack {
    width: 762px;
    height: 464px;
    background-image: url(/assets/images/common/bg-pack.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    top: 0px;
    right: -381px;
    z-index: -1;
  }
  @media screen and (max-width: 834px) {
    .bg-pack {
      width: 509px;
      height: 311px;
      right: -255px;
    }
  }
  .bg-pack.--left {
    left: -381px;
  }
  @media screen and (max-width: 834px) {
    .bg-pack.--left {
      left: -255px;
    }
  }
}
:root {
  --fc-base-color: #024098;
  --business-days: #d5ecf9;
  --closed-days: #d2d2d2;
  --temporary-closures-day: #f0cdc8;
  --other-days: #f5ebb4;
}

.calendar-block {
  position: relative;
}

@media screen and (max-width: 834px) {
  .calendar-block {
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 834px) {
  .calendar-block {
    margin-bottom: 0px;
  }
}
.fc {
  --fc-bg-event-opacity: 1;
  --fc-event-text-color: var(--black-color);
  --fc-event-border-color: transparent;
  --fc-event-bg-color: var(--fc-base-color);
  --fc-small-font-size: 14px;
  --fc-neutral-bg-color: hsl(0 0% 97%);
  --fc-button-hover-bg-color: transparent;
  --fc-button-hover-border-color: transparent;
  --fc-button-text-color: var(--black-color);
  --fc-button-active-bg-color: transparent;
  --fc-button-active-border-color: transparent;
  --fc-button-text-color: var(--black-color);
  --fc-page-bg-color: transparent;
}

.fc .fc-bg-event .fc-event-title {
  font-style: normal;
  margin: 0;
  padding: 0.5em;
  text-align: center;
}

.business-days,
.fc .fc-daygrid-day:has(.business-days) {
  background-color: var(--business-days);
}

.closed-days,
.fc .fc-daygrid-day:has(.closed-days) {
  background-color: var(--closed-days);
}

.temporary-closures-day,
.fc .fc-daygrid-day:has(.temporary-closures-day) {
  background-color: var(--temporary-closures-day);
}

.other-days,
.fc .fc-daygrid-day:has(.other-days) {
  background-color: var(--other-days);
}

.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
  color: #fff;
  background-color: var(--fc-event-bg-color);
  border-radius: 100%;
  width: 25px;
  height: 25px;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1px 0 0 0;
}

@media screen and (max-width: 834px) {
  .fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
    width: 20px;
    height: 20px;
    padding-top: 0;
  }
}
.fc .fc-daygrid-body-balanced .fc-daygrid-day-events {
  position: relative !important;
}

.fc .fc-daygrid-day-frame {
  min-height: 70px;
}

@media screen and (max-width: 480px) {
  .fc .fc-daygrid-day-frame {
    min-height: 50px;
  }
}
.fc .fc-daygrid-day-number {
  text-decoration: none !important;
  font-family: var(--en-font-family);
  white-space: nowrap;
  --font-variable: 15px;
}

@media screen and (max-width: 480px) {
  .fc .fc-daygrid-day-number {
    --font-variable: 13px;
  }
}
.fc .fc-daygrid-day-number:hover {
  color: var(--black-color);
}

.fc-event:is(.business-days,
.closed-days,
.temporary-closures-day,
.other-days) {
  display: none;
}

.fc-daygrid-event-harness:has(.other-days) {
  overflow: hidden;
}

.fc .fc-daygrid-day-top {
  display: flex;
  justify-content: center;
  align-items: center;
  max-height: 25px;
  padding-top: 5px;
}

.fc .fc-multimonth {
  border: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 50px;
}

@media screen and (max-width: 480px) {
  .fc .fc-multimonth {
    grid-template-columns: 1fr;
  }
}
.fc .fc-multimonth-multicol .fc-multimonth-month {
  padding: 0;
}

.fc .fc-multimonth-multicol .fc-multimonth-month:first-child {
  padding-right: 15px;
}

.fc .fc-multimonth-multicol .fc-multimonth-month:last-child {
  padding-left: 15px;
}

.fc .fc-multimonth-title {
  text-align: left;
  padding: 8px 0;
}

.fc-theme-standard td,
.fc-theme-standard th {
  border: 2px solid #fff;
}

.fc-theme-standard th {
  background-color: var(--fc-base-color);
  height: 20px;
}

.fc-theme-standard th .fc-scrollgrid-sync-inner {
  display: grid;
  align-items: center;
  height: 20px;
  padding-top: 1px;
}

.safari .fc-theme-standard th .fc-scrollgrid-sync-inner {
  padding-top: 3px;
}

.fc .fc-col-header-cell-cushion {
  display: inline;
  color: #fff;
  padding: 0;
  font-weight: var(--font-weight-normal);
  --font-variable: 1.4rem;
  line-height: 1;
  text-decoration: none;
}

.fc-daygrid-event.other-days {
  border-radius: 0;
}

/*
複数日にわたるイベントクリックがあるとき
.fc-h-event.other-days {
  background-color: transparent;
  border: none;
  color: #fff; //ellipsisで必要

  .fc-event-main {
    overflow: hidden;
    background-color: var(--fc-event-bg-color);
    border-radius: 2px;
    line-height: 1;
    padding: 2px 2px 2px 2px;
    text-overflow: ellipsis;
    color: #fff; //ellipsisで必要
    font-size: 9px;
  }
}
*/
.event-text {
  color: #fff;
  font-size: 13px;
}

@media screen and (max-width: 480px) {
  .event-text {
    font-size: 11px;
  }
}
.fc .fc-toolbar.fc-header-toolbar {
  margin-bottom: 25px;
  line-height: 1;
}

.fc .fc-button {
  padding: 0 12px;
  line-height: 1;
}

.fc .fc-button-primary {
  background-color: transparent;
  border-color: transparent;
  color: var(--black-color);
}

.fc .fc-button-primary:hover {
  text-decoration: underline;
}

.fc .fc-button-group > .fc-button:not(:first-child) {
  border-left: 1px solid var(--black-color);
}

.fc .fc-button-primary:focus,
.fc .fc-button-primary:not(:disabled).fc-button-active:focus,
.fc .fc-button-primary:not(:disabled):active:focus {
  box-shadow: none;
}

.tippy-box[data-theme=event] {
  background-color: #5f96d2;
  border: 1px solid #5f96d2;
}

.tippy-box[data-theme=event] .tippy-arrow {
  color: #5f96d2;
}

.tippy-box[data-theme=time] {
  background-color: #5f96d2;
  border: 1px solid #5f96d2;
}

.tippy-box[data-theme=time] .tippy-arrow {
  color: #5f96d2;
}

.calendar-legend-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px 25px;
  margin-block: 5px 95px;
}

@media screen and (max-width: 834px) {
  .calendar-legend-list {
    margin-block-end: 0;
  }
}
.calendar-legend-list > li {
  display: flex;
  align-items: center;
  column-gap: 9px;
}

.cal-icon {
  display: inline-block;
  width: 25px;
  height: 25px;
}

.cal-icon.--holiday {
  background-color: var(--close-bg-color);
}

.cal-icon.--event {
  display: inline-flex;
  align-items: center;
  color: #ee1b24;
  width: auto;
}
