@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: 1200px;
      --large-outer-width: 1500px;
      --inner-width: 1110px;
      --header-height: 110px;
      --scrollbarWidth: 0;
      --left-space: 254px;
      --base-font-size: 1.8rem;
      --line-height: 2;
      --base-color: #880001;
      --base-light-color: #fcebec;
      --key-color: #276793;
      --link-color: #3fc2ff;
      --hover-color: #3fc2ff;
      --gray-color: #808080;
      --gray-light-color: #e6e6e6;
      --gray-bg-color: #f1f3f4;
      --black-color: #000000;
      --red-color: #b8272d;
      --margin_px: 35px;
      --sp_margin_px: 20px;
      --home_margin: 70px;
      --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:
        "游ゴシック体",
        "游ゴシック体 Pr6N",
        "Yu Gothic",
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        Meiryo,
        sans-serif;
      --en-font-family: Roboto, Arial, 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.533 0 0.004);
          --key-color: color(display-p3 0.153 0.404 0.576);
        }
      }
    }
    @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: 500;
      src: local("Roboto Medium"), local("Roboto-Medium"), url("./fonts/Roboto-Medium.ttf") format("truetype");
      font-display: swap;
    }
    @font-face {
      font-family: "Roboto";
      font-style: normal;
      font-weight: 600;
      src: local("Roboto SemiBold"), local("Roboto-SemiBold"), url("./fonts/Roboto-SemiBold.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;
    }
  }
}
@layer base {
  @layer layout, breadcrumb;
  @layer layout {
    @media screen and (max-width: 1180px) {
      :root {
        --header-height: 65px;
      }
    }
    @media screen and (max-width: 834px) {
      :root {
        --header-height: 65px;
        --home_margin: 30px;
      }
    }
    .is-change,
    body:not(.home) {
      --header-height: 80px;
    }
    @media screen and (max-width: 1180px) {
      .is-change,
      body:not(.home) {
        --header-height: 65px;
      }
    }
    html {
      font-size: var(--default-font-size);
      scroll-behavior: smooth;
      scroll-padding-top: var(--header-height);
    }
    body {
      font-size: var(--font-variable, 1rem);
      color: var(--color, var(--black-color));
      font-weight: var(--font-weight-medium);
      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-normal: 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(.en p) {
      text-align: initial;
    }
    :where(main *) {
      font-size: var(--font-variable, var(--base-font-size));
    }
    :where(p) {
      font-size: var(--font-variable, 1.8rem);
      line-height: var(--line-height-variable, 2);
      text-align: justify;
    }
    :where(.multilingual-active p) {
      text-align: left;
    }
    :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) {
      .home .page {
        overflow: hidden;
      }
    }
    @media screen and (max-width: 1180px) {
      .sp-scroll-container::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::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 min(var(--inner-width), 100%) 1fr;
    }
    @media screen and (max-width: 1180px) {
      .container {
        grid-template-columns: var(--margin_px) 1fr var(--margin_px);
      }
    }
    @media screen and (max-width: 480px) {
      .container {
        grid-template-columns: var(--sp_margin_px) 1fr var(--sp_margin_px);
      }
    }
    .container > * {
      grid-column: 2;
    }
    .xl-full-bleed {
      width: 100%;
    }
    @media screen and (max-width: 1280px) {
      .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;
    }
    .header {
      position: fixed;
      z-index: 999;
      background-color: #fff;
      width: 100%;
    }
    .home .header {
      position: absolute;
    }
    @media screen and (max-width: 834px) {
      .home .header {
        position: fixed;
      }
    }
    .home .header.is-change {
      position: fixed;
    }
    .header__child {
      display: grid;
      grid-template-columns: 1fr min(var(--outer-width), 100%) 1fr;
    }
    @media screen and (max-width: 834px) {
      .header__child {
        grid-template-columns: var(--sp_margin_px) 1fr var(--sp_margin_px);
      }
    }
    .container-header {
      grid-column: 2/3;
      position: relative;
      z-index: 1;
      display: flex;
      width: 100%;
      max-width: var(--base-width);
      height: var(--header-height);
      margin-inline: auto;
      padding-inline: 20px var(--home_margin);
      background-color: #fff;
      transition: background-color 150ms ease-in;
    }
    @media screen and (max-width: 1180px) {
      .container-header {
        grid-column: 1/4;
      }
    }
    @media screen and (max-width: 920px) {
      .container-header {
        padding-inline-end: 0;
      }
    }
    @media screen and (max-width: 834px) {
      .container-header {
        display: grid;
        gap: 0;
        align-items: center;
        grid-template-columns: 1fr auto auto;
        padding-inline: var(--sp_margin_px) 0;
      }
    }
    @media screen and (max-width: 320px) {
      .container-header {
        column-gap: 10px;
      }
    }
    .is-change .container-header,
    body:not(.home) .container-header {
      grid-column: 1/4;
      padding-inline: 20px 0;
      max-width: none;
    }
    @media screen and (max-width: 834px) {
      .is-change .container-header,
      body:not(.home) .container-header {
        grid-column: 1/4;
      }
    }
    .header-nav {
      display: none;
    }
    .header-nav__tel .tel-text {
      white-space: nowrap;
    }
    @media screen and (max-width: 1180px) {
      .header-nav__tel {
        display: none;
      }
    }
    @media screen and (max-width: 834px) {
      .header-nav__tel {
        display: block;
      }
    }
    .header-nav__inquiry {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      width: 80px;
      height: 80px;
      flex-shrink: 0;
      line-height: 1.1;
      font-size: 14px;
      font-size: 1.4rem;
      color: #fff;
      background-color: var(--black-color);
    }
    .header-nav__inquiry:hover {
      color: #fff;
      background-color: var(--base-color);
    }
    .header-nav__inquiry .pict {
      margin-top: 9px;
      margin-bottom: 5px;
    }
    @media screen and (max-width: 920px) {
      .header-nav__inquiry .pict {
        margin-block: 5px;
      }
    }
    .header-nav__inquiry .btn-inquiry-br {
      display: block;
    }
    @media screen and (max-width: 1180px) {
      .header-nav__inquiry {
        width: var(--header-height);
        height: var(--header-height);
        font-size: 1.2rem;
      }
    }
    @media screen and (max-width: 834px) {
      .header-nav__inquiry {
        flex-direction: row;
        width: fit-content;
        height: auto;
        padding: 1.5em 3em;
        border-radius: 30px;
        transition: all 200ms ease-in-out;
      }
      .header-nav__inquiry .pict {
        margin: 0 12px 0 0;
      }
      .header-nav__inquiry .header-nav__inquiry__text {
        font-size: 1.4rem;
      }
      .header-nav__inquiry .btn-inquiry-br {
        display: none;
      }
    }
    @media screen and (max-width: 920px) {
      .header-nav.--is-changed {
        display: flex;
        align-items: center;
      }
    }
    @media screen and (max-width: 834px) {
      .header-nav.--is-changed {
        display: none;
      }
    }
    .is-change .header-nav.--is-changed,
    body:not(.home) .header-nav.--is-changed {
      display: flex;
      align-items: center;
      flex: 0 0 auto;
      column-gap: 14px;
      padding-left: 17px;
    }
    @media screen and (max-width: 920px) {
      .is-change .header-nav.--is-changed,
      body:not(.home) .header-nav.--is-changed {
        padding-left: 0;
      }
    }
    @media screen and (max-width: 834px) {
      .is-change .header-nav.--is-changed,
      body:not(.home) .header-nav.--is-changed {
        display: none;
      }
    }
    .header-nav.--is-mobile {
      display: none;
    }
    @media screen and (max-width: 834px) {
      .header-nav.--is-mobile {
        display: flex;
        row-gap: 30px;
        flex-direction: column;
        align-items: center;
        margin-top: 50px;
      }
    }
    .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: calc(100dvh - var(--header-height));
        top: var(--header-height);
        overflow-y: scroll;
        overscroll-behavior: none;
        background-color: #eee;
        transform: translateX(100%);
        padding-block-end: 50px;
      }
    }
    .fixed {
      position: fixed;
      transform: translateY(0);
      top: 0;
    }
    .container-nav {
      position: relative;
      display: flex;
      margin-inline-start: auto;
    }
    @media screen and (max-width: 834px) {
      .container-nav {
        display: grid;
        margin-inline-start: 0;
      }
    }
    .logo {
      position: relative;
      display: inline-flex;
      align-items: center;
    }
    @media screen and (max-width: 834px) {
      .logo {
        align-items: end;
        padding-bottom: 6px;
        width: calc(100vw - var(--scrollbarWidthpx) - 175px);
      }
    }
    .logo > a {
      display: inline-grid;
      row-gap: 8px;
      margin: 0;
      color: var(--black-color);
    }
    @media screen and (max-width: 834px) {
      .logo > a {
        row-gap: 5px;
      }
    }
    .logo-top-text {
      display: none;
      font-size: 1.2rem;
      line-height: 1;
      letter-spacing: 0.08em;
      font-weight: var(--font-weight-medium);
    }
    @media screen and (max-width: 834px) {
      .logo-top-text {
        display: block;
        font-size: 0.95rem;
        letter-spacing: 0;
      }
    }
    .is-change .logo-top-text,
    body:not(.home) .logo-top-text {
      display: block;
    }
    .logo-text {
      color: var(--base-color);
      font-size: clamp(1.8rem, 5vw, 2.5rem);
      font-weight: var(--font-weight-bold);
      line-height: 1;
      letter-spacing: 0.05em;
      white-space: nowrap;
    }
    @media screen and (max-width: 834px) {
      .logo-text {
        font-size: 1.9rem;
        letter-spacing: 0.06em;
      }
    }
    .logo-en {
      width: 172px;
      height: 9px;
    }
    @media screen and (max-width: 834px) {
      .logo-en {
        width: 140px;
        height: auto;
        object-fit: contain;
      }
    }
    .is-change .logo-en,
    body:not(.home) .logo-en {
      display: none;
    }
    @media screen and (max-width: 834px) {
      .is-change .logo-en,
      body:not(.home) .logo-en {
        display: block;
      }
    }
    .site-description {
      align-self: center;
      display: inline-flex;
      font-size: 1.4rem;
      line-height: 1.5;
      padding-left: 14px;
      margin-left: 14px;
      border-left: 1px solid var(--gray-light-color);
      white-space: nowrap;
    }
    @media screen and (max-width: 1180px) {
      .site-description {
        display: none;
      }
    }
    .is-change .site-description,
    body:not(.home) .site-description {
      display: none;
    }
    .gnav {
      display: flex;
      align-items: center;
      align-items: stretch;
      gap: 0 clamp(10px, 1.8vw, 15px);
      padding-inline: clamp(10px, 2.9vw, 54px) 10px;
    }
    @media screen and (max-width: 834px) {
      .gnav {
        grid-column: 1;
        grid-row: 2;
        display: block;
        padding-inline: 0;
      }
    }
    .gnav__item {
      position: relative;
      display: flex;
      align-items: center;
    }
    .gnav__item.--home {
      display: none;
    }
    @media screen and (max-width: 834px) {
      .gnav__item {
        display: block;
      }
    }
    .gnav__item__child {
      position: relative;
      display: inline-grid;
      justify-content: center;
      gap: 7px;
      grid-template-columns: auto 11px;
    }
    @media screen and (max-width: 834px) {
      .gnav__item__child {
        flex: 1 0 auto;
        width: 100%;
        grid-template-columns: 1fr 50px;
      }
    }
    .gnav__item__child > a {
      grid-column: 1;
      grid-row: 1;
      padding-block: 1.6em;
      transition: color 150ms ease-in-out;
      line-height: 1;
    }
    @media screen and (max-width: 834px) {
      .gnav__item__child > a {
        padding: 20px 0 20px 20px;
      }
    }
    .gnav__item__child > a:hover {
      color: var(--link-color);
    }
    .gnav__item-text {
      line-height: 1;
      white-space: nowrap;
      font-size: 1.6rem;
      transition: color 150ms ease-in;
    }
    @media screen and (max-width: 834px) {
      .gnav__item-text {
        font-size: 1.8rem;
        letter-spacing: 0.05em;
      }
    }
    @media screen and (max-width: 834px) {
      .home .is-change .gnav__item-text {
        color: #fff;
      }
    }
    @media screen and (max-width: 834px) {
      .is-sp-open .gnav__item-text {
        color: var(--black-color) !important;
      }
    }
    .pc-nav-toggle {
      grid-column: 2;
      grid-row: 1;
      justify-self: center;
      display: inline-grid;
      grid-template-rows: auto;
      align-self: center;
      cursor: pointer;
      padding: 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);
    }
    :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-bar {
      display: inline-block;
      width: auto;
      height: 1px;
      background-color: var(--base-color);
      position: absolute;
      bottom: 36px;
      left: 30px;
      transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
      pointer-events: none;
    }
    @media screen and (max-width: 1180px) {
      .nav-bar {
        bottom: 17px;
      }
    }
    @media screen and (max-width: 834px) {
      .nav-bar {
        display: none;
      }
    }
    .is-change .nav-bar,
    html:not(:has(.home)) .nav-bar {
      bottom: 23px;
    }
    @media screen and (max-width: 1180px) {
      .is-change .nav-bar,
      html:not(:has(.home)) .nav-bar {
        bottom: 17px;
      }
    }
    .nav-sub {
      position: absolute;
      top: calc(var(--header-height) - 20px);
      left: 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;
    }
    .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: 1180px) {
      .nav-sub {
        top: calc(var(--header-height) - 8px);
      }
    }
    @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;
      }
      .nav-sub[aria-hidden=true] {
        opacity: 1;
        grid-template-rows: 0fr;
      }
      .nav-sub[aria-hidden=false] {
        opacity: 1;
        grid-template-rows: 1fr;
        transform: none;
      }
    }
    .nav-sub__inner {
      pointer-events: auto;
      background-color: #fff;
      border-radius: 5px;
      box-shadow: 0px 0px 15px -5px rgba(0, 0, 0, 0.3);
    }
    @media screen and (max-width: 834px) {
      .nav-sub__inner {
        overflow: hidden;
        box-shadow: none;
        margin-inline: 20px;
      }
    }
    .nav-language {
      display: inline-flex;
      align-self: center;
    }
    .sub-menu-nav {
      padding-bottom: 15px;
    }
    .sub-menu-item {
      white-space: nowrap;
      padding-inline: 14px;
    }
    @media screen and (max-width: 834px) {
      .sub-menu-item {
        white-space: normal;
      }
    }
    .sub-menu-item__child {
      display: grid;
      grid-template-columns: 1fr 14px;
      gap: 0 10px;
      justify-content: space-between;
      align-items: center;
      padding-block: 17px 15px;
      border-bottom: 1px solid var(--gray-light-color);
    }
    @media screen and (max-width: 834px) {
      .sub-menu-item__child {
        padding-inline: 5px;
      }
    }
    .sub-menu-item__child__text {
      display: block;
      line-height: 1.3;
      font-size: 1.6rem;
      transition: all 200ms ease-in-out;
    }
    .sub-menu-item:hover .sub-menu-item__child__text {
      color: var(--link-color);
    }
    .sub-menu-item__child[href="https://www.nagasaki-mg.jp/about.html"] > .pict-arrow {
      background-image: url(/assets/images/pict/pict-external.svg) !important;
      background-size: 14px auto !important;
      background-position: 0px center !important;
    }
    .sub-menu-item__child[href="https://www.nagasaki-mg.jp/about.html"]:hover > .pict-arrow {
      background-image: url(/assets/images/pict/pict-external-hover.svg) !important;
    }
    .nav-backbg {
      display: none;
    }
    .nav-backbg[aria-hidden=true] {
      opacity: 0;
      transition: opacity 300ms ease-out;
    }
    .nav-backbg[aria-hidden=false] {
      opacity: 1;
      transition: opacity 200ms ease-in;
      pointer-events: auto;
    }
    .gnav-contact {
      display: inline-flex;
      align-items: center;
    }
    .gnav-contact__btn {
      display: inline-grid;
      grid-template-columns: auto auto;
      align-items: center;
      gap: 0 5px;
      background-color: var(--base-color);
      padding: 13px 15px;
      height: 40px;
      border-radius: 20px;
      transition: all 200ms ease-in-out;
    }
    .gnav-contact__btn:hover {
      background-color: var(--key-color);
    }
    @media screen and (max-width: 834px) {
      .gnav-contact__btn {
        gap: 0 12px;
        width: 100%;
        background-color: var(--black-color);
        padding-block: 0;
        border-radius: 30px;
        margin-top: 30px;
        height: 56px;
      }
      .safari .gnav-contact__btn {
        padding-top: 3px;
      }
    }
    .gnav-contact__btn-text {
      font-size: 1.6rem;
      color: #fff;
      white-space: nowrap;
      font-feature-settings: "palt";
      align-self: center;
      line-height: 1;
    }
    @media screen and (max-width: 834px) {
      .gnav-contact__btn-text {
        font-size: 1.6rem;
      }
    }
    @media screen and (max-width: 834px) {
      .sp-nav-toggle {
        display: inline-grid;
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
      }
    }
    .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: 16px;
        height: 1px;
        background-color: var(--base-color);
        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-btn {
      display: none;
    }
    .sp-menu-block__child {
      display: none;
    }
    @media screen and (max-width: 834px) {
      .sp-menu-block__child {
        display: block;
        width: 65px;
        height: 65px;
      }
    }
    @media screen and (max-width: 834px) {
      .sp-menu-btn {
        align-self: center;
        display: inline-grid;
        width: 65px;
        height: 65px;
        will-change: transition, position;
        background-color: var(--base-color);
      }
      .sp-menu-btn > span {
        display: block;
        width: inherit;
        height: inherit;
        cursor: pointer;
      }
    }
    @media screen and (max-width: 834px) {
      .sp-menu-btn svg {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
      }
      .sp-menu-btn .line--1,
      .sp-menu-btn .line--3 {
        --total-length: 100;
        --offset: -40;
        --length: 30;
      }
      .sp-menu-btn .line--2 {
        --total-length: 100;
        --offset: -29;
        --length: 30;
      }
      .sp-menu-btn path {
        fill: none;
        stroke: #fff;
        stroke-width: 3;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-dasharray: var(--length) var(--total-length);
        stroke-dashoffset: var(--offset);
        transition: all 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
        transform: translateX(-15px);
      }
      .sp-menu-toggle[aria-haspopup=false] svg path {
        transform: translateX(9px);
      }
      .sp-menu-toggle[aria-haspopup=false] svg .line--1,
      .sp-menu-toggle[aria-haspopup=false] svg .line--3 {
        --offset: -13;
        --length: 25;
      }
      .sp-menu-toggle[aria-haspopup=false] svg .line--2 {
        --offset: -18;
        --total-length: 30;
        --length: 0;
      }
    }
    @media screen and (max-width: 834px) {
      .sp-menu-contact {
        display: inline-grid;
        align-items: center;
        justify-content: center;
        width: 65px;
        height: 65px;
        background-color: var(--black-color);
        transition: background-color 200ms ease-in-out;
      }
      .sp-menu-contact:hover {
        background-color: var(--key-color);
      }
    }
    .container-pagetop {
      position: fixed;
      z-index: 991;
      bottom: 20px;
      left: 0;
      opacity: 0;
      pointer-events: none;
      display: flex;
      justify-content: flex-end;
      width: 100%;
      padding-inline: var(--margin_px);
      height: 35px;
      transition: opacity 300ms ease-in, top 300ms linear, bottom 300ms linear;
    }
    @media screen and (max-width: 480px) {
      .container-pagetop {
        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: auto;
      display: inline-block;
      width: 35px;
      height: 35px;
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      background-image: url(data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxOCA4LjYiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDE4IDguNiIgd2lkdGg9IjE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0xNy40IDguNi04LjQtNy4zLTguMyA3LjMtLjctLjcgOS03LjkgOSA3Ljl6IiBmaWxsPSIjMjkzODU1Ii8+PC9zdmc+);
    }
    @media screen and (max-width: 834px) {
      .pagetop-btn {
        background-size: 20px;
        background-position: center 12px;
        background-color: var(--base-color);
        vertical-align: top;
        background-image: url(data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxOCA4LjYiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDE4IDguNiIgd2lkdGg9IjE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0xNy40IDguNi04LjQtNy4zLTguMyA3LjMtLjctLjcgOS03LjkgOSA3Ljl6IiBmaWxsPSIjZmZmZmZmIi8+PC9zdmc+);
      }
    }
    .footer-container {
      position: relative;
      background-color: var(--black-color);
      display: grid;
      justify-content: center;
      grid-template-columns: 30px minmax(auto, 1120px) 30px;
    }
    @media screen and (max-width: 834px) {
      .footer-container {
        grid-template-columns: var(--sp_margin_px) 1fr var(--sp_margin_px);
      }
    }
    .footer {
      grid-column: 2;
      display: flex;
      gap: 70px 30px;
      padding-block: 40px;
    }
    @media screen and (max-width: 980px) {
      .footer {
        flex-direction: column-reverse;
      }
    }
    .footer__left {
      flex: 1 1 auto;
      display: grid;
    }
    .footer__right {
      flex: 0 1 auto;
    }
    @media screen and (max-width: 834px) {
      .footer {
        row-gap: 25px;
      }
    }
    .footer-logo {
      display: grid;
      grid-template-columns: 102px auto;
      align-items: center;
      column-gap: 13px;
      container-type: inline-size;
    }
    @media screen and (max-width: 480px) {
      .footer-logo {
        grid-template-columns: auto 1fr;
        column-gap: 5px;
      }
    }
    .footer-logo .logo-mark {
      grid-column: 1;
      grid-row: 1/3;
      mix-blend-mode: hard-light;
      max-width: 102px;
    }
    @media screen and (max-width: 480px) {
      .footer-logo .logo-mark {
        width: 30cqw;
        height: auto;
      }
    }
    .footer-logo .logo-text {
      grid-column: 2;
      grid-row: 1;
      font-size: 1.6rem;
      color: #fff;
      line-height: 1.4;
    }
    @media screen and (max-width: 480px) {
      .footer-logo .logo-text {
        font-size: clamp(1rem, 4.5cqw, 1.4rem);
      }
    }
    .footer-logo .logo-name {
      grid-column: 2;
      grid-row: 2;
      font-size: 3.2rem;
      font-weight: var(--font-weight-bold);
      color: #fff;
      white-space: nowrap;
      line-height: 1;
    }
    @media screen and (max-width: 480px) {
      .footer-logo .logo-name {
        font-size: clamp(2rem, 9.5cqw, 3rem);
      }
    }
    @media screen and (max-width: 980px) {
      .footer-content {
        grid-row: 2;
      }
    }
    @media screen and (max-width: 834px) {
      .footer-content {
        display: grid;
        gap: 45px;
      }
      .footer-content .footer-info {
        grid-row: 2;
      }
      .footer-content .mark-list {
        grid-row: 1;
      }
    }
    .address {
      color: #fff;
      --font-variable: 1.6rem;
      margin-block: 20px 15px;
    }
    .footer-nav {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px clamp(10px, 4vw, 70px);
    }
    @media screen and (max-width: 980px) {
      .footer-nav {
        grid-template-columns: repeat(auto-fill, 215px);
      }
    }
    @media screen and (max-width: 834px) {
      .footer-nav {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px clamp(20px, 5vw, 40px);
      }
    }
    .footer-nav__item {
      max-width: 215px;
      width: 100%;
    }
    @media screen and (max-width: 834px) {
      .footer-nav__item {
        max-width: inherit;
      }
    }
    .footer-nav__item.--about {
      grid-column: 1;
      grid-row: 1;
    }
    @media screen and (max-width: 980px) {
      .footer-nav__item.--about {
        grid-area: auto;
      }
    }
    .footer-nav__item.--schoollife {
      grid-column: 2;
      grid-row: 1;
    }
    @media screen and (max-width: 980px) {
      .footer-nav__item.--schoollife {
        grid-area: auto;
      }
    }
    .footer-nav__item.--admission {
      grid-column: 1;
      grid-row: 2/4;
    }
    @media screen and (max-width: 980px) {
      .footer-nav__item.--admission {
        grid-area: auto;
      }
    }
    .footer-nav__item.--news {
      grid-column: 2;
      grid-row: 2;
      align-self: end;
      padding-bottom: 5px;
    }
    @media screen and (max-width: 980px) {
      .footer-nav__item.--news {
        grid-area: auto;
        align-self: start;
      }
    }
    .footer-nav__item.--contact {
      grid-column: 2;
      grid-row: 3;
    }
    @media screen and (max-width: 980px) {
      .footer-nav__item.--contact {
        grid-area: auto;
      }
    }
    .footer-nav__item__child {
      display: block;
      color: #fff;
      font-size: 1.8rem;
      font-weight: var(--font-weight-bold);
      transition: all 200ms ease-in-out;
    }
    @media screen and (max-width: 480px) {
      .footer-nav__item__child {
        line-height: 1.2;
      }
    }
    .footer-nav__item__child:hover {
      color: var(--link-color);
    }
    .footer-subnav {
      margin-top: 13px;
    }
    @media screen and (max-width: 480px) {
      .footer-subnav {
        margin-top: 16px;
      }
    }
    .footer-bottom {
      align-self: end;
    }
    .footer-other-menu {
      display: grid;
      row-gap: 3px;
      width: fit-content;
    }
    .footer-other-menu a {
      display: flex;
      align-items: center;
      column-gap: 7px;
      width: 100%;
      justify-content: space-between;
      color: #fff;
      text-decoration: none;
      font-size: 1.6rem;
      font-weight: var(--font-weight-medium) !important;
    }
    @media screen and (max-width: 480px) {
      .footer-other-menu a {
        font-size: 1.4rem;
        line-height: 1.4;
      }
    }
    .footer-other-menu a:hover {
      color: var(--link-color) !important;
    }
    .footer-subnav-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      grid-template-columns: 1fr 20px;
      gap: 0 5px;
      margin-bottom: 5px;
    }
    @media screen and (max-width: 480px) {
      .footer-subnav-item {
        margin-bottom: 12px;
      }
    }
    .footer-subnav-item__text {
      font-size: 1.6rem;
      color: #fff;
      font-feature-settings: "palt";
      transition: all 200ms ease-in-out;
    }
    @media screen and (max-width: 480px) {
      .footer-subnav-item__text {
        font-size: 1.4rem;
        line-height: 1.4;
      }
    }
    .footer-subnav-item__icon {
      display: inline-flex;
      justify-content: end;
      align-items: center;
      width: 20px;
      height: 20px;
    }
    .footer-subnav-item__icon::before {
      transform: translateY(0px) rotate(37deg) skew(-15deg);
    }
    .footer-subnav-item:hover .footer-subnav-item__text {
      color: var(--link-color);
    }
    .pagination {
      display: flex;
      align-items: center;
      column-gap: clamp(10px, 5vw, 20px);
      justify-content: center;
    }
    @media screen and (max-width: 834px) {
      .pagination {
        column-gap: 15px;
        overflow: hidden;
      }
    }
    .pagination__pages {
      display: flex;
      align-items: center;
      column-gap: inherit;
      list-style-type: none;
    }
    .pagination li > a {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      color: var(--black-color);
      font-weight: var(--font-weight-medium);
      width: 50px;
      height: 50px;
      padding-top: 2px;
      text-decoration: none;
      line-height: 1;
      border-radius: 100%;
      transition: all 200ms ease-in-out;
    }
    .pagination li > a:hover {
      color: var(--key-color);
      background-color: #e6f4fa;
    }
    .pagination li.current a {
      color: var(--key-color);
      background-color: #e6f4fa;
    }
    @container news (width <=510px) {
      .pagination li > a {
        width: 25px;
        height: 25px;
        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;
      --font-variable: 1.6rem;
      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: 10px;
      height: 10px;
      border-top: 1px solid #000;
      border-right: 1px solid #000;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) translateX(-2px) rotate(42deg) skew(-9deg);
    }
    @container news (width <=510px) {
      .after-arrow,
      .prev-arrow {
        height: 25px;
      }
    }
    .prev-arrow::after {
      transform: translate(-50%, -50%) translateX(2px) rotate(42deg) skew(-9deg) scale(-1, -1);
    }
    a:hover > .after-arrow::after,
    a:hover > .prev-arrow::after {
      border-top: 1px solid var(--key-color);
      border-right: 1px solid var(--key-color);
    }
    .after-arrow.--white::after {
      border-top: 1px solid #fff;
      border-right: 1px solid #fff;
    }
    .pagination .pagination__prev:not(:has(a)) .prev-arrow::after {
      border-top: 1px solid #c8c8c8;
      border-right: 1px solid #c8c8c8;
    }
    .pagination .pagination__next:not(:has(a)) .after-arrow::after {
      border-top: 1px solid #c8c8c8;
      border-right: 1px solid #c8c8c8;
    }
    .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__left:hover,
    .page-nav .page-nav__right:hover,
    .page-nav .page-nav__back:hover {
      color: var(--color, var(--base-color));
    }
    .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(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxMSAxNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMS42MzIgMTYuNzcxLTEuMzQ3LTEuNDc5IDcuNDU5LTYuNzkyLTcuNDU5LTYuNzkyIDEuMzQ3LTEuNDc5IDkuMDgzIDguMjcxeiIgZmlsbD0iIzVkMjc2MSIvPjwvc3ZnPg==);
      background-repeat: no-repeat;
      background-position: center 7px;
      transition: all 200ms ease-out;
      background-size: 10px auto;
    }
    .page-nav .prev {
      margin-left: auto;
      transform: scale(-1, 1);
    }
    .page-nav .next {
      margin-right: auto;
    }
  }
}
@layer third-party {
  /**
   * Swiper 11.2.10
   * Most modern mobile touch slider and framework with hardware accelerated transitions
   * https://swiperjs.com
   *
   * Copyright 2014-2025 Vladimir Kharlampidi
   *
   * Released under the MIT License
   *
   * Released on: June 28, 2025
   */
  @font-face {
    font-family: "swiper-icons";
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
    font-weight: 400;
    font-style: normal;
  }
  :root {
    --swiper-theme-color: #007aff;
    /*
    --swiper-preloader-color: var(--swiper-theme-color);
    --swiper-wrapper-transition-timing-function: initial;
    */
  }
  :host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
  }
  .swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    /* Fix of Webkit flickering */
    z-index: 1;
    display: block;
  }
  .swiper-vertical > .swiper-wrapper {
    flex-direction: column;
  }
  .swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box;
  }
  .swiper-android .swiper-slide,
  .swiper-ios .swiper-slide,
  .swiper-wrapper {
    transform: translate3d(0px, 0, 0);
  }
  .swiper-horizontal {
    touch-action: pan-y;
  }
  .swiper-vertical {
    touch-action: pan-x;
  }
  .swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block;
  }
  .swiper-slide-invisible-blank {
    visibility: hidden;
  }
  /* Auto Height */
  .swiper-autoheight,
  .swiper-autoheight .swiper-slide {
    height: auto;
  }
  .swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height;
  }
  .swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    backface-visibility: hidden;
  }
  /* 3D Effects */
  .swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px;
  }
  .swiper-3d .swiper-wrapper {
    transform-style: preserve-3d;
  }
  .swiper-3d {
    perspective: 1200px;
  }
  .swiper-3d .swiper-slide,
  .swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d;
  }
  /* CSS Mode */
  .swiper-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
  }
  .swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none;
  }
  .swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  .swiper-css-mode.swiper-horizontal > .swiper-wrapper {
    scroll-snap-type: x mandatory;
  }
  .swiper-css-mode.swiper-vertical > .swiper-wrapper {
    scroll-snap-type: y mandatory;
  }
  .swiper-css-mode.swiper-free-mode > .swiper-wrapper {
    scroll-snap-type: none;
  }
  .swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: none;
  }
  .swiper-css-mode.swiper-centered > .swiper-wrapper::before {
    content: "";
    flex-shrink: 0;
    order: 9999;
  }
  .swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always;
  }
  .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before);
  }
  .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after);
  }
  .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before);
  }
  .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after);
  }
  /* Slide styles start */
  /* 3D Shadows */
  .swiper-3d .swiper-slide-shadow,
  .swiper-3d .swiper-slide-shadow-left,
  .swiper-3d .swiper-slide-shadow-right,
  .swiper-3d .swiper-slide-shadow-top,
  .swiper-3d .swiper-slide-shadow-bottom,
  .swiper-3d .swiper-slide-shadow,
  .swiper-3d .swiper-slide-shadow-left,
  .swiper-3d .swiper-slide-shadow-right,
  .swiper-3d .swiper-slide-shadow-top,
  .swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent;
  }
  .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
  .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
  .swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff;
  }
  .swiper-lazy-preloader-black {
    --swiper-preloader-color: #000;
  }
  @keyframes swiper-preloader-spin {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  /* Slide styles end */
  :root {
    --swiper-navigation-size: 44px;
    /*
    --swiper-navigation-top-offset: 50%;
    --swiper-navigation-sides-offset: 10px;
    --swiper-navigation-color: var(--swiper-theme-color);
    */
  }
  .swiper-button-prev,
  .swiper-button-next {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - var(--swiper-navigation-size) / 2);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
  }
  .swiper-button-prev.swiper-button-disabled,
  .swiper-button-next.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
  }
  .swiper-button-prev.swiper-button-hidden,
  .swiper-button-next.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
  }
  .swiper-navigation-disabled .swiper-button-prev,
  .swiper-navigation-disabled .swiper-button-next {
    display: none !important;
  }
  .swiper-button-prev svg,
  .swiper-button-next svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center;
  }
  .swiper-rtl .swiper-button-prev svg,
  .swiper-rtl .swiper-button-next svg {
    transform: rotate(180deg);
  }
  .swiper-button-prev,
  .swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto;
  }
  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
  }
  .swiper-button-lock {
    display: none;
  }
  /* Navigation font start */
  .swiper-button-prev:after,
  .swiper-button-next:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
  }
  .swiper-button-prev:after,
  .swiper-rtl .swiper-button-next:after {
    content: "prev";
  }
  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
  }
  .swiper-button-next:after,
  .swiper-rtl .swiper-button-prev:after {
    content: "next";
  }
  /* Navigation font end */
  .swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out;
  }
  .swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
  }
  .swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none;
  }
  .swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
  }
  .swiper-slide {
    height: auto;
  }
  .swiper-pagination-bullet {
    position: relative;
  }
  .swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer;
  }
  .swiper-pagination-bullet:only-child {
    display: none !important;
  }
}
@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-white {
    width: 28px;
    height: 30px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjggMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTIwLjAzMzc4IDI5Ljc2NDAyYy0uMTA1OTYgMC0uMjEyNC0uMDAxNDYtLjMyMDMxLS4wMDM0Mi0zLjE0MTExLS4wNjI5OS03Ljc0NDYzLTMuMDM1MTYtMTIuMDEzNjctNy43NTY4NC00Ljg1MjU0LTUuMzY4NjQtNy45MDQzLTEyLjMxMDU0LTcuMzkxNjEtMTQuOTMwNjYuNjI1OTgtMy4xOTU4IDQuMDU4MTEtNi43NzM5MiA2LjU1NzYyLTYuODM1OTMgMS4wOTcxNy0uMDM1NjQgMi41MDM5MS43MzE0NSAzLjY4NDA4IDIuMDMxMjUuOTI4MjIgMS4wMjE5NyAxLjg2Mzc3IDIuNTc1MiAxLjcwNzAzIDMuODY4MTYtLjIxNzc3IDEuNzkxNS0yLjQzMDY2IDMuMzAyMjUtMy4zNjQyNiAzLjg2NTIzLjM2OTYzLjkxNTUzIDEuNTQxOTkgMy40MzYwNCA0LjMwNTY2IDYuNTkxMzEgMi44NjgxNiAzLjI3NDkgNC40MzExNSA0LjY1ODY5IDUuODMxMDUgNS4xNDExMS4zMzc0LS4xNzc3My42MTA4NC0uNDc5OTguOTIxMzktLjgyMzI0LjYzNDc3LS43MDE2NiAxLjQyNTI5LTEuNTgwNTcgMy4wNzIyNy0xLjQ3NjU2IDEuMjQzNjUuMDc0MjIgMi44MDQyIDEuMTYyMTEgMy43OTQ5MiAyLjY0NTUxLjg3ODQyIDEuMzE1NDMgMS4xNDYgMi42NjM1Ny43NTM0MiAzLjc5NTktLjg0ODYzIDIuNDQ2NzgtMy42NTQ3OSAzLjg4ODE4LTcuNTM3NiAzLjg4ODE4em0tMTguNzQ0MTQtMjIuNDk4NTNjLS40NDg3MyAyLjI5MTUgMi42NDE2IDkuMDc3MTUgNy4xNTIzNCAxNC4wNjczOCA0LjAyNzgzIDQuNDU1NTcgOC40NjA0NSA3LjM3MTA5IDExLjI5MTUgNy40Mjc3MyAzLjU5NDI0LjA3NzY0IDYuMTcwNDEtMS4xMjg0MiA2Ljg5MjU4LTMuMjEyNC4yODM2OS0uODE3MzguMDUwMjktMS44NzkzOS0uNjM5NjUtMi45MTMwOS0uODE0OTQtMS4yMjAyMS0yLjA4NjQzLTIuMTQ2NDgtMy4wMjI5NS0yLjIwMjY0LTEuMTY3OTctLjA2OTM0LTEuNjc5Mi40OTU2MS0yLjI3MSAxLjE0OTktLjQwMzMyLjQ0NTMxLS44MjAzMS45MDYyNS0xLjQ0OTcxIDEuMTUyMzQtLjEwMzAzLjA0MDUzLS4yMTYzMS4wNDU0MS0uMzIzNzMuMDEzNjctMS42NTEzNy0uNDg2ODItMy4zNDUyMS0xLjkyNDgtNi40NzI2Ni01LjQ5NjA5LTMuNjMxMzUtNC4xNDYtNC42MDc0Mi03LjE5Njc4LTQuNjQ3NDYtNy4zMjQ3MS0uMDcwOC0uMjI4MDMuMDI5NzktLjQ3NDYxLjIzOTc1LS41ODgzOC44Mzk4NC0uNDU0MSAzLjA1NjY0LTEuOTM2NTIgMy4yMjUxLTMuMzIzMjQuMDk0NzMtLjc3NzM0LS40ODk3NS0yLjAxMzE4LTEuNDU0NTktMy4wNzUyLS45NzI2Ni0xLjA3MTI5LTIuMDc3NjQtMS43MzYzMy0yLjkxODk1LTEuNzAzNjEtMS44NTY5My4wNDU5LTUuMDI1MzkgMy4wOTI3Ny01LjYwMDU5IDYuMDI4MzJ6IiBmaWxsPSIjZmZmIi8+PC9zdmc+);
  }
  *:hover > .pict-tel-white {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDMwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6IzYxMjY2MTtzdHJva2Utd2lkdGg6MHB4O308L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0yMC4wMzM3OCwyOS43NjQwMmMtLjEwNTk2LDAtLjIxMjQtLjAwMTQ2LS4zMjAzMS0uMDAzNDItMy4xNDExMS0uMDYyOTktNy43NDQ2My0zLjAzNTE2LTEyLjAxMzY3LTcuNzU2ODRDMi44NDcyNiwxNi42MzUxMi0uMjA0NSw5LjY5MzIyLjMwODE5LDcuMDczMUguMzA4MTlDLjkzNDE3LDMuODc3Myw0LjM2NjMuMjk5MTgsNi44NjU4MS4yMzcxN2MxLjA5NzE3LS4wMzU2NCwyLjUwMzkxLjczMTQ1LDMuNjg0MDgsMi4wMzEyNS45MjgyMiwxLjAyMTk3LDEuODYzNzcsMi41NzUyLDEuNzA3MDMsMy44NjgxNi0uMjE3NzcsMS43OTE1LTIuNDMwNjYsMy4zMDIyNS0zLjM2NDI2LDMuODY1MjMuMzY5NjMuOTE1NTMsMS41NDE5OSwzLjQzNjA0LDQuMzA1NjYsNi41OTEzMSwyLjg2ODE2LDMuMjc0OSw0LjQzMTE1LDQuNjU4NjksNS44MzEwNSw1LjE0MTExLjMzNzQtLjE3NzczLjYxMDg0LS40Nzk5OC45MjEzOS0uODIzMjQuNjM0NzctLjcwMTY2LDEuNDI1MjktMS41ODA1NywzLjA3MjI3LTEuNDc2NTYsMS4yNDM2NS4wNzQyMiwyLjgwNDIsMS4xNjIxMSwzLjc5NDkyLDIuNjQ1NTEuODc4NDIsMS4zMTU0MywxLjE0NiwyLjY2MzU3Ljc1MzQyLDMuNzk1OS0uODQ4NjMsMi40NDY3OC0zLjY1NDc5LDMuODg4MTgtNy41Mzc2LDMuODg4MThaTTEuMjg5NjQsNy4yNjU0OWgwYy0uNDQ4NzMsMi4yOTE1LDIuNjQxNiw5LjA3NzE1LDcuMTUyMzQsMTQuMDY3MzgsNC4wMjc4Myw0LjQ1NTU3LDguNDYwNDUsNy4zNzEwOSwxMS4yOTE1LDcuNDI3NzMsMy41OTQyNC4wNzc2NCw2LjE3MDQxLTEuMTI4NDIsNi44OTI1OC0zLjIxMjQuMjgzNjktLjgxNzM4LjA1MDI5LTEuODc5MzktLjYzOTY1LTIuOTEzMDktLjgxNDk0LTEuMjIwMjEtMi4wODY0My0yLjE0NjQ4LTMuMDIyOTUtMi4yMDI2NC0xLjE2Nzk3LS4wNjkzNC0xLjY3OTIuNDk1NjEtMi4yNzEsMS4xNDk5LS40MDMzMi40NDUzMS0uODIwMzEuOTA2MjUtMS40NDk3MSwxLjE1MjM0LS4xMDMwMy4wNDA1My0uMjE2MzEuMDQ1NDEtLjMyMzczLjAxMzY3LTEuNjUxMzctLjQ4NjgyLTMuMzQ1MjEtMS45MjQ4LTYuNDcyNjYtNS40OTYwOS0zLjYzMTM1LTQuMTQ2LTQuNjA3NDItNy4xOTY3OC00LjY0NzQ2LTcuMzI0NzEtLjA3MDgtLjIyODAzLjAyOTc5LS40NzQ2MS4yMzk3NS0uNTg4MzguODM5ODQtLjQ1NDEsMy4wNTY2NC0xLjkzNjUyLDMuMjI1MS0zLjMyMzI0LjA5NDczLS43NzczNC0uNDg5NzUtMi4wMTMxOC0xLjQ1NDU5LTMuMDc1Mi0uOTcyNjYtMS4wNzEyOS0yLjA3NzY0LTEuNzM2MzMtMi45MTg5NS0xLjcwMzYxLTEuODU2OTMuMDQ1OS01LjAyNTM5LDMuMDkyNzctNS42MDA1OSw2LjAyODMyWiIvPjwvc3ZnPg==);
  }
  .pict-mail {
    width: 30px;
    height: 20px;
    background-image: url(/assets/images/pict/pict-mail.svg);
  }
  .pict-mail-inquiry {
    width: 38px;
    height: 25px;
    background-image: url(/assets/images/pict/pict-mail-inquiry.svg);
  }
  @media screen and (max-width: 480px) {
    .pict-mail-inquiry {
      width: 30px;
      height: 20px;
    }
  }
  .pict-bottom-arrow {
    width: 11px;
    height: 7px;
    background-image: url(/assets/images/pict/arrow-bottom-black.svg);
  }
  @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+);
    }
  }
  .round-arrow {
    width: 24px;
    height: 24px;
    background-image: url(/assets/images/pict/arrow.svg);
  }
  .pict-external {
    width: 17px;
    height: 15px;
    background-image: url(/assets/images/pict/pict-external.svg);
  }
  .pict-arrow {
    position: relative;
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(/assets/images/pict/pict-arrow-key.svg);
    background-repeat: no-repeat;
    background-size: contain;
  }
  *:hover > .pict-arrow {
    background-image: url(/assets/images/pict/pict-arrow-hover.svg);
  }
  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;
  }
  .h1 {
    display: flex;
    flex-direction: column;
    --font-variable: 3rem;
    color: var(--base-color);
    margin-bottom: 40px;
  }
  @media screen and (max-width: 480px) {
    .h1 {
      --font-variable: 3rem;
      line-height: 1.4;
    }
  }
  .h1::after {
    content: "";
    display: block;
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--base-color) 0%, var(--base-color) 50%, #ccc 50%, #ccc 100%);
    margin-top: 12px;
  }
  h1.logo {
    margin: 0;
  }
  .h2 {
    display: flex;
    flex-direction: column;
    font-size: var(--font-variable, 3.6rem);
    font-weight: var(--font-weight-medium);
    line-height: 1;
    color: var(--base-color);
    margin-bottom: 40px;
  }
  .h2::after {
    content: "";
    display: block;
    width: 30px;
    height: 6px;
    background-color: var(--base-color);
    margin-top: 22px;
  }
  .h3 {
    font-size: var(--font-variable, 2.6rem);
    color: var(--color, var(--base-color));
    font-weight: var(--font-weight-medium);
    line-height: 1.2;
    margin-block-end: 0.8em;
  }
  .h4 {
    color: var(--base-color);
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.2;
    padding: 1px 0px 0px 0;
    margin-bottom: 15px;
    width: fit-content;
  }
  .h5 {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 600;
  }
  .h5::before {
    content: "";
    display: inline-block;
    background-size: contain;
    width: 0.6em;
    height: 0.6em;
    background-color: var(--base-color);
    margin-right: 0.2em;
    position: relative;
    top: -1px;
  }
  .en-title {
    font-family: var(--en-font-family);
    font-weight: var(--font-weight-semi-bold);
    font-size: var(--font-variable, 6.4rem);
    color: var(--color, var(--black-color));
    line-height: 1;
    padding-bottom: 15px;
  }
  @media screen and (max-width: 480px) {
    .en-title {
      --font-variable: 5rem;
    }
  }
  .en-font {
    font-family: var(--en-font-family);
  }
  .page-title {
    display: grid;
    margin-block: 25px 70px;
  }
  .page-title__parent {
    font-size: 2.2rem;
    line-height: 1;
    letter-spacing: 0.05em;
    padding-top: 10px;
  }
  .page-title__en {
    width: fit-content;
    font-size: 2rem;
    line-height: 1;
    font-family: var(--en-font-family);
    font-weight: var(--font-weight-bold);
    color: var(--base-color);
    padding-bottom: 3px;
    border-bottom: 6px solid var(--base-color);
  }
  .page-title__text {
    font-size: 4.2rem;
    font-weight: var(--font-weight-medium);
    line-height: 1;
    padding-top: 15px;
    margin-bottom: 0;
    letter-spacing: 0.05em;
  }
  @media screen and (max-width: 834px) {
    .page-title__text {
      letter-spacing: 0;
      line-height: 1.2;
      font-size: clamp(3.6rem, 9.4vw, 4.2rem);
    }
  }
  .solid-title {
    font-size: var(--font-variable, 2rem);
    background-color: #d9eef6;
    padding: 0.75em 1em;
    margin-block-end: 30px;
    line-height: 1.4;
  }
  @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, 2.6rem);
    font-weight: var(--font-weight-medium);
    margin-bottom: 0;
    font-feature-settings: "palt";
  }
  @media screen and (max-width: 834px) {
    .lead-text {
      --font-variable: 2.2rem;
      line-height: 1.7;
    }
    .lead-text br {
      display: none;
    }
  }
  @media screen and (max-width: 320px) {
    .lead-text {
      line-height: 1.4;
    }
  }
  .home .lead-text {
    margin-bottom: 5px;
  }
  .lead-text.--large {
    --font-variable: 3rem;
    font-weight: var(--font-weight-bold);
  }
  .w100 {
    width: 100%;
  }
  @media screen and (max-width: 834px) {
    .md-w100 {
      width: 100%;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-w100 {
      width: 100%;
    }
  }
  .typo-flow-anime {
    position: relative;
    overflow: hidden;
  }
  .typo-flow-anime > span {
    display: inline-block;
    position: relative;
  }
  .iframe-block-full iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
  }
  .stagger-anime > * {
    opacity: 0;
  }
  .index-content {
    grid-column: 1/4;
    display: grid;
    justify-content: center;
    grid-template-columns: 1fr 590px 525px 1fr;
    grid-template-rows: auto auto;
    gap: 35px 0;
  }
  @media screen and (max-width: 1180px) {
    .index-content {
      grid-template-columns: 1.12fr 1fr;
    }
  }
  @media screen and (max-width: 834px) {
    .index-content {
      grid-template-columns: var(--margin_px) 1fr var(--margin_px);
    }
  }
  @media screen and (max-width: 480px) {
    .index-content {
      grid-template-columns: var(--sp_margin_px) 1fr var(--sp_margin_px);
    }
  }
  .index-content .--img {
    grid-column: 3/5;
    grid-row: 2;
    max-width: 525px;
  }
  @media screen and (max-width: 1180px) {
    .index-content .--img {
      grid-column: 2;
    }
  }
  @media screen and (max-width: 834px) {
    .index-content .--img {
      grid-column: 1/4;
      grid-row: 1;
      max-width: none;
    }
  }
  .index-content .--top {
    grid-column: 2/4;
    grid-row: 1;
  }
  @media screen and (max-width: 1180px) {
    .index-content .--top {
      grid-column: 1/3;
      padding-left: var(--margin_px);
    }
  }
  @media screen and (max-width: 834px) {
    .index-content .--top {
      grid-column: 2;
      grid-row: 2;
      padding-left: 0;
    }
  }
  .index-content .--left {
    grid-column: 2;
    grid-row: 2;
    padding-right: 50px;
  }
  @media screen and (max-width: 1180px) {
    .index-content .--left {
      grid-column: 1;
      padding-left: var(--margin_px);
    }
  }
  @media screen and (max-width: 834px) {
    .index-content .--left {
      grid-column: 2;
      grid-row: 3;
      padding-left: 0;
      padding-right: 0;
    }
  }
  .sublevel-content {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 40px 55px;
  }
  @media screen and (max-width: 834px) {
    .sublevel-content {
      grid-template-columns: 1fr;
    }
  }
  .sublevel-content .--img {
    grid-column: 2;
    grid-row: 1/3;
  }
  @media screen and (max-width: 834px) {
    .sublevel-content .--img {
      display: grid;
      justify-self: center;
      grid-column: 1;
      grid-row: 3;
    }
  }
  .sublevel-content .--top {
    grid-column: 1;
    grid-row: 1;
  }
  @media screen and (max-width: 834px) {
    .sublevel-content .--top {
      grid-column: 1;
    }
  }
  .sublevel-content .--left {
    grid-column: 1;
    grid-row: 2;
  }
  @media screen and (max-width: 834px) {
    .sublevel-content .--left {
      grid-row: 2;
    }
  }
  .sublevel-content.--img-bottom {
    row-gap: 30px;
    margin-top: -70px;
    grid-template-columns: 1fr minmax(364px, 1fr);
  }
  @media screen and (max-width: 834px) {
    .sublevel-content.--img-bottom {
      grid-template-columns: 1fr;
    }
  }
  @media screen and (max-width: 480px) {
    .sublevel-content.--img-bottom {
      row-gap: 0;
      margin-top: 0;
    }
  }
  .sublevel-content.--img-bottom .--top {
    padding-top: clamp(40px, 5vw, 70px);
  }
  @media screen and (max-width: 834px) {
    .sublevel-content.--img-bottom .--top {
      grid-column: 1;
      grid-row: 1;
    }
  }
  @media screen and (max-width: 480px) {
    .sublevel-content.--img-bottom .--top {
      padding-block: 0 30px;
    }
  }
  .sublevel-content.--img-bottom .--img {
    max-width: 564px;
    align-self: center;
  }
  @media screen and (max-width: 834px) {
    .sublevel-content.--img-bottom .--img {
      grid-column: 1;
      grid-row: 3;
    }
  }
  @media screen and (max-width: 834px) {
    .sublevel-content.--img-bottom .--left {
      grid-column: 1;
      grid-row: 2;
    }
  }
  .sublevel-content.--img-top {
    row-gap: 30px;
  }
  @media screen and (max-width: 834px) {
    .sublevel-content.--img-top {
      grid-template-columns: 1fr;
    }
  }
  .sublevel-content.--img-top .--top {
    grid-column: 1/3;
    grid-row: 1;
  }
  @media screen and (max-width: 834px) {
    .sublevel-content.--img-top .--top {
      grid-column: 1;
      grid-row: 2;
    }
  }
  .sublevel-content.--img-top .--img {
    grid-column: 2;
    grid-row: 2;
    max-width: 525px;
  }
  @media screen and (max-width: 834px) {
    .sublevel-content.--img-top .--img {
      grid-column: 1;
      grid-row: 1;
    }
  }
  @media screen and (max-width: 834px) {
    .sublevel-content.--img-top .--left {
      grid-column: 1;
      grid-row: 3;
    }
  }
  .inquiry-content {
    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;
    padding-block: 50px 50px;
  }
  .inquiry-title {
    color: #fff;
    font-size: 2.6rem;
    text-align: center;
    margin-bottom: 40px;
  }
  @media screen and (max-width: 834px) {
    .inquiry-title {
      font-size: clamp(2rem, 6.4vw, 2.6rem);
      margin-bottom: 25px;
    }
  }
  .inquiry-block {
    display: flex;
    align-items: center;
    color: var(--color, #fff);
    --link-color: #fff;
    gap: clamp(20px, 4.4vw, 65px);
    padding-inline: 40px 75px;
    padding-block: 45px 50px;
  }
  @media screen and (max-width: 1180px) {
    .inquiry-block {
      padding-inline: 0;
    }
  }
  @media screen and (max-width: 834px) {
    .inquiry-block {
      flex-direction: column;
      padding-block: 30px 40px;
      row-gap: 15px;
    }
  }
  .inquiry-block:before {
    content: "";
    align-self: stretch;
    border: 0.5px solid #fff;
  }
  @media screen and (max-width: 834px) {
    .inquiry-block:before {
      width: 75px;
      align-self: center;
    }
  }
  .inquiry-block__child {
    flex: 1;
    flex-basis: 50%;
    min-width: 0;
    overflow-wrap: break-word;
  }
  .inquiry-block__child > p {
    container: inline-size;
  }
  @media screen and (max-width: 834px) {
    .inquiry-block__child {
      flex: 1 1 auto;
      width: 100%;
    }
  }
  .inquiry-block__child.--start {
    order: -1;
  }
  .inquiry-tel {
    display: flex;
    justify-content: end;
    justify-self: end;
    color: #fff;
    font-family: var(--en-font-family);
    font-weight: var(--font-weight-bold);
    font-size: clamp(2.6rem, 3cqw, 4rem);
    text-decoration: none;
    white-space: nowrap;
  }
  @media screen and (max-width: 834px) {
    .inquiry-tel {
      justify-content: center;
      justify-self: center;
      font-size: 2.6rem;
      white-space: normal;
    }
  }
  @media screen and (max-width: 320px) {
    .inquiry-tel {
      font-size: clamp(2rem, 7cqw, 2.6rem);
    }
  }
  .inquiry-mail {
    display: flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
  }
  @media screen and (max-width: 834px) {
    .inquiry-mail {
      justify-content: center;
    }
  }
  @media screen and (max-width: 480px) {
    .inquiry-mail {
      column-gap: 10px;
    }
  }
  .inquiry-mail .pict-mail-inquiry {
    flex: 0 0 auto;
  }
  .inquiry-mail__text {
    transform: translateY(-1px);
    color: #fff;
    font-family: var(--en-font-family);
    font-weight: var(--font-weight-bold);
    font-size: clamp(2.4rem, 3cqw, 4rem);
    text-decoration: none;
    white-space: nowrap;
  }
  @media screen and (max-width: 480px) {
    .inquiry-mail__text {
      font-size: 2.4rem;
      white-space: normal;
    }
  }
  @media screen and (max-width: 320px) {
    .inquiry-mail__text {
      font-size: clamp(2rem, 6.5cqw, 2.6rem);
    }
  }
  .sns-block__title {
    font-size: 4rem;
    font-family: var(--en-font-family);
    font-weight: var(--font-weight-bold);
    line-height: 1;
    text-align: center;
    padding-block: 45px var(--margin_px);
  }
  @media screen and (max-width: 480px) {
    .sns-block__title {
      padding-block: 25px 20px;
    }
  }
  .sns-list {
    display: flex;
    justify-content: center;
    column-gap: clamp(25px, 5vw, 70px);
    padding-bottom: 50px;
  }
  @media screen and (max-width: 480px) {
    .sns-list {
      padding-bottom: 30px;
    }
    .sns-list img {
      height: 35px;
      width: auto;
      object-fit: contain;
    }
  }
  .index-menu-scroll {
    grid-column: 2;
  }
  .index-menu-block {
    display: grid;
    row-gap: 20px;
    align-items: center;
    padding-block: 25px 20px;
  }
  .index-menu-title {
    font-size: 2rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.5em;
    text-indent: 0.5em;
    margin-bottom: 0;
    justify-self: center;
  }
  @media screen and (max-width: 834px) {
    .index-menu-title {
      justify-self: start;
      text-indent: 0;
    }
  }
  .index-menu {
    justify-self: center;
  }
  .index-menu > ul {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 20px;
    list-style: none;
    width: inherit;
  }
  @media screen and (max-width: 834px) {
    .index-menu > ul {
      flex-wrap: nowrap;
    }
  }
  .index-menu__child {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    line-height: 1;
    text-decoration: none;
  }
  .index-menu__child.is-current {
    font-weight: var(--font-weight-bold);
  }
  .index-menu__child.is-current .index-menu-arrow {
    --bg-color: var(--base-color);
  }
  .index-menu__child:hover {
    --color: var(--link-color);
    --icon-color: var(--link-color);
  }
  .index-menu__child__text {
    --font-variable: 1.8rem;
    line-height: 1;
    color: var(--color, var(--black-color));
    transition: all 200ms ease-in-out;
  }
  @media screen and (max-width: 834px) {
    .index-menu__child__text {
      white-space: nowrap;
    }
  }
  .index-menu-arrow {
    display: inline-flex;
    align-items: center;
  }
  .index-menu-arrow::after {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    background-image: url(/assets/images/pict/pict-small-arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-color: var(--icon-color, var(--key-color));
    transition: all 150ms ease-in-out;
  }
  .index-menu__child[href="https://www.nagasaki-mg.jp/about.html"] .index-menu-arrow::after {
    background-image: url(/assets/images/pict/pict-external.svg) !important;
    background-size: 14px auto !important;
    background-position: 0px center !important;
    background-color: transparent !important;
    border-radius: 0 !important;
  }
  .index-menu__child[href="https://www.nagasaki-mg.jp/about.html"]:hover .index-menu-arrow::after {
    background-image: url(/assets/images/pict/pict-external-hover.svg) !important;
  }
  .menu-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: clamp(70px, 9vw, 100px) 50px;
    list-style-type: none;
    margin-top: 100px;
  }
  @media screen and (max-width: 1180px) {
    .menu-list {
      gap: clamp(70px, 9vw, 100px) clamp(30px, 6vw, 50px);
    }
  }
  @media screen and (max-width: 834px) {
    .menu-list {
      grid-template-columns: repeat(2, 1fr);
      margin-top: 50px;
      row-gap: 45px;
    }
  }
  @media screen and (max-width: 480px) {
    .menu-list {
      grid-template-columns: 1fr;
    }
  }
  .menu-list__item {
    position: relative;
    cursor: pointer;
    display: grid;
    grid-template-rows: auto auto 1fr;
    row-gap: 20px;
    --font-variable: 1.6rem;
  }
  .menu-list__item .click-expand::before {
    z-index: 1;
  }
  .link-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 30px;
  }
  .link-list a {
    display: inline-flex;
    column-gap: 8px;
    align-items: center;
    font-size: var(--font-variable, 1.8rem);
    color: var(--black-color);
    transition: all 150ms ease-in-out;
  }
  .link-list a::after {
    flex-shrink: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    background-image: url(/assets/images/pict/pict-small-arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-color: var(--icon-color, var(--key-color));
    transition: all 150ms ease-in-out;
  }
  .link-list a:hover {
    color: var(--link-color);
    text-decoration: none;
  }
  .link-list a:hover::after {
    --icon-color: var(--link-color);
  }
  .message-img {
    max-width: 340px;
    justify-self: center;
  }
  @media screen and (max-width: 480px) {
    .message-img {
      max-width: 210px;
    }
  }
  .message-caption {
    display: grid;
    justify-content: center;
    row-gap: 15px;
    margin: 35px 0 0 0;
    text-align: center;
  }
  .message-caption > span {
    line-height: 1;
  }
  .message-caption .name {
    font-size: 2.6rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.5em;
    text-indent: 0.5em;
  }
  .message-caption .en-name {
    font-size: 1.4rem;
    font-family: var(--en-font-family);
    color: var(--base-color);
  }
  .campus-img {
    width: 100%;
    height: 100%;
    max-height: 520px;
    aspect-ratio: 1180/520;
    object-fit: cover;
  }
  .location-slide .swiper-wrapper {
    transition-timing-function: linear;
  }
  .location-slide .swiper-slide {
    max-width: 310px;
    width: 100%;
  }
  @media screen and (max-width: 480px) {
    .location-slide .swiper-slide {
      max-width: 200px;
    }
  }
  .location-slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  @media screen and (max-width: 834px) {
    .future-img {
      margin-inline: calc(var(--margin_px) * -1);
    }
  }
  @media screen and (max-width: 834px) {
    .future-img {
      margin-inline: calc(var(--sp_margin_px) * -1);
    }
  }
  .voice {
    display: flex;
    padding-block: 50px;
    gap: 25px 50px;
  }
  .voice:not(:last-child) {
    border-bottom: 1px solid #cccccc;
  }
  .voice:nth-of-type(2n) {
    flex-direction: row-reverse;
  }
  @media screen and (max-width: 834px) {
    .voice:nth-of-type(2n) {
      flex-direction: column;
    }
  }
  @media screen and (max-width: 834px) {
    .voice {
      flex-direction: column;
      align-items: center;
    }
  }
  .voice-name {
    font-size: 2.2rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    margin-block: 5px 17px;
  }
  @media screen and (max-width: 480px) {
    .voice-name {
      font-size: 2rem;
      font-feature-settings: "palt";
    }
  }
  .voice-name span {
    font-size: 1.4rem;
    padding-left: 0.5em;
  }
  .voice-course {
    display: flex;
    flex-wrap: wrap;
    width: fit-content;
    --font-variable: 1.6rem;
    line-height: 1.2;
    margin-bottom: 45px;
  }
  .voice-course dt {
    color: #fff;
    background-color: var(--black-color);
    padding: 0.1em 0.5em;
  }
  .voice-course dd {
    color: var(--base-color);
    background-color: #fff;
    padding: 0.1em 0.5em;
  }
  .multilingual-only {
    display: none;
  }
  .multilingual-active .multilingual-only {
    display: block;
  }
  .multilingual-active .multilingual-hidden {
    display: none;
  }
  .facility-block {
    display: grid;
    grid-template-columns: 1fr minmax(335px, 0.84fr);
    grid-template-rows: auto 1fr;
    column-gap: 60px;
    padding-bottom: 50px;
    border-image-source: linear-gradient(var(--gray-bg-color), var(--gray-bg-color));
    border-image-slice: 0 fill;
    border-image-outset: 0 100vw 0 100vw;
    border-image-width: 90px auto auto auto;
  }
  @media screen and (max-width: 834px) {
    .facility-block {
      overflow: hidden;
      grid-template-columns: 1fr;
      grid-template-rows: auto auto auto;
      border-image-width: 63px auto auto auto;
    }
  }
  .facility-title {
    grid-column: 1;
    grid-row: 1;
    padding-inline: 40px 20px;
    margin-top: 72px;
  }
  @media screen and (max-width: 834px) {
    .facility-title {
      padding-inline: 0;
      margin-top: 45px;
    }
    .facility-title .h1 {
      margin-bottom: 25px;
    }
  }
  .facility-conetnt {
    grid-column: 1;
    grid-row: 2;
    padding-inline: 40px 20px;
  }
  @media screen and (max-width: 834px) {
    .facility-conetnt {
      grid-row: 3;
      padding-top: 45px;
      padding-inline: 0;
    }
  }
  .facility-photo {
    max-width: 480px;
    grid-column: 2;
    grid-row: 1/3;
  }
  @media screen and (max-width: 834px) {
    .facility-photo {
      grid-column: 1;
      grid-row: 2;
      max-width: none;
      width: calc(100svw - var(--scrollbarWidthpx) - var(--margin_px) * 2);
    }
  }
  @media screen and (max-width: 480px) {
    .facility-photo {
      width: calc(100svw - var(--scrollbarWidthpx) - var(--sp_margin_px) * 2);
    }
  }
  .facility-slide img {
    width: 100%;
    height: auto;
  }
  .common-slide-navigation {
    margin-bottom: 14px;
  }
  @media screen and (max-width: 480px) {
    .common-slide-navigation {
      margin-bottom: 10px;
    }
  }
  .common-slide-navigation .swiper-button-next,
  .common-slide-navigation .swiper-button-prev {
    background-image: none;
    width: 38px;
    height: 38px;
    border: none;
    border-radius: 100%;
  }
  .common-slide-navigation .swiper-button-next::after,
  .common-slide-navigation .swiper-button-prev::after {
    content: "";
    width: 35px;
    height: 35px;
    background-image: url(/assets/images/pict/pict-arrow.svg);
    background-color: rgba(0, 0, 0, 0.6);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    border-radius: 100%;
  }
  .common-slide-navigation .swiper-button-next:hover::after,
  .common-slide-navigation .swiper-button-prev:hover::after {
    background-color: var(--hover-color, var(--key-color));
    transition: all 200ms ease-in-out;
  }
  .common-slide-navigation .swiper-button-prev {
    transform: scaleX(-1);
  }
  .facility-thumb-slide .swiper-slide {
    opacity: 0.4;
    width: 100px;
    cursor: pointer;
  }
  @media screen and (max-width: 480px) {
    .facility-thumb-slide .swiper-slide {
      width: auto;
    }
  }
  .facility-thumb-slide .swiper-slide img {
    width: 100px;
    height: 70px;
    object-fit: cover;
  }
  @media screen and (max-width: 480px) {
    .facility-thumb-slide .swiper-slide img {
      width: 76px;
      height: 57px;
    }
  }
  .facility-thumb-slide .swiper-slide-thumb-active {
    opacity: 1;
  }
  .facility-block.--rev {
    grid-template-columns: minmax(335px, 0.84fr) 1fr;
  }
  @media screen and (max-width: 834px) {
    .facility-block.--rev {
      grid-template-columns: 1fr;
    }
  }
  .--rev .facility-title {
    grid-column: 2;
    padding-inline: 20px 40px;
  }
  @media screen and (max-width: 834px) {
    .--rev .facility-title {
      grid-column: 1;
      padding-inline: 0;
    }
  }
  .--rev .facility-conetnt {
    grid-column: 2;
    padding-inline: 20px 40px;
  }
  @media screen and (max-width: 834px) {
    .--rev .facility-conetnt {
      grid-column: 1;
      padding-inline: 0;
    }
  }
  .--rev .facility-photo {
    grid-column: 1;
  }
  .event-item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-columns: 0.29fr 1fr 0.7fr;
    gap: 0 clamp(15px, 3vw, 58px);
    padding-block: 50px;
  }
  @media screen and (max-width: 834px) {
    .event-item {
      grid-template-columns: 1fr;
      padding-block: 25px;
    }
  }
  .event-item:nth-child(2n+1) {
    border-image-source: linear-gradient(var(--gray-bg-color), var(--gray-bg-color));
    border-image-slice: 0 fill;
    border-image-outset: 0 100vw 0 100vw;
  }
  .event-item__month {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    display: inline-grid;
    align-items: center;
    height: fit-content;
    justify-self: center;
    font-family: var(--en-font-family);
    font-weight: var(--font-weight-medium);
    color: var(--base-color);
    line-height: 1;
  }
  @media screen and (max-width: 834px) {
    .event-item__month {
      grid-template-columns: auto 1fr;
      column-gap: 13px;
      justify-self: start;
    }
  }
  .month {
    font-size: 8rem;
    text-align: center;
  }
  .en-month {
    font-size: 2.4rem;
    padding-block: 5px;
  }
  .event-content {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    row-gap: 15px;
  }
  @media screen and (max-width: 834px) {
    .event-content {
      grid-column: 1;
      grid-row: 3;
      padding-top: 23px;
    }
  }
  .event-content__news {
    position: relative;
    padding-top: 30px;
    border-top: 1px solid #ccc;
    --font-variable: 1.6rem;
  }
  .event-content__news .news-header {
    grid-template-columns: auto 1fr;
    column-gap: 15px;
    margin-top: 10px;
  }
  @media screen and (max-width: 834px) {
    .event-content__news .news-header {
      margin-bottom: 20px;
    }
  }
  .event-content__news .news-header .date {
    line-height: 1.5;
  }
  .event-content__news:hover {
    color: var(--link-color);
  }
  .event-content__news:hover .date {
    --color: var(--link-color);
  }
  .event-img {
    grid-column: 3;
    grid-row: 1;
  }
  @media screen and (max-width: 834px) {
    .event-img {
      grid-column: 1;
      grid-row: 2;
      padding-top: 15px;
    }
  }
  .event-img img {
    width: 100%;
    height: auto;
    aspect-ratio: 35/25;
    object-fit: cover;
  }
  .event-content .link-arrow {
    justify-self: end;
    align-self: end;
  }
  .step-title {
    display: flex;
    border: 2px solid #000;
  }
  @media screen and (max-width: 834px) {
    .step-title {
      flex-direction: column;
      border: none;
    }
  }
  .step-title__head {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 220px;
    font-family: var(--en-font-family);
    font-size: 3rem;
    font-weight: var(--font-weight-bold);
    line-height: 1;
    color: #fff;
    background-color: #000;
  }
  @media screen and (max-width: 834px) {
    .step-title__head {
      width: auto;
      align-self: flex-start;
      padding: 8px 10px 7px 10px;
    }
  }
  .step-title__text {
    font-size: 3rem;
    padding: 0.35em 1em 0.3em;
    line-height: 1.5;
    align-self: center;
  }
  @media screen and (max-width: 834px) {
    .step-title__text {
      border: 2px solid #000;
      padding: 0.15em 0.5em 0.1em;
      align-self: stretch;
    }
  }
  .step-content {
    position: relative;
    padding-left: 220px;
    margin-top: 20px;
    margin-bottom: 30px;
    padding-bottom: 60px;
    overflow: hidden;
  }
  @media screen and (max-width: 834px) {
    .step-content {
      padding-left: 0;
      padding-bottom: 80px;
      margin-bottom: 30px;
      background-position: center 100%;
    }
  }
  .step-content::before {
    position: absolute;
    z-index: 0;
    left: 110px;
    content: "";
    display: block;
    width: 5px;
    height: 100%;
    background-image: url(/assets/images/common/dot.svg);
    background-repeat: repeat-y;
    background-size: 5px 15px;
    top: -100%;
    transition: top 800ms linear;
    clip-path: polygon(0 0, 100% 0, 100% 97%, 0 97%);
  }
  @media screen and (max-width: 834px) {
    .step-content::before {
      top: -150px;
      opacity: 0;
      left: calc(50% - 2.5px);
      transition: opacity 600ms linear 1.1s;
      clip-path: polygon(0 50px, 100% 50px, 100% 97%, 0 97%);
    }
  }
  .step-content::after {
    position: absolute;
    left: 100px;
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 22px 12.5px 0 12.5px;
    border-color: var(--base-color) transparent transparent transparent;
    bottom: 100%;
    transition: bottom 800ms linear;
  }
  @media screen and (max-width: 834px) {
    .step-content::after {
      bottom: 0;
      opacity: 0;
      left: 50%;
      transform: translateX(-50%);
      transition: opacity 600ms linear 1.2s;
    }
  }
  .step-content.is-visible::before {
    top: 0;
  }
  @media screen and (max-width: 834px) {
    .step-content.is-visible::before {
      opacity: 1;
    }
  }
  .step-content.is-visible::after {
    bottom: 0;
  }
  @media screen and (max-width: 834px) {
    .step-content.is-visible::after {
      opacity: 1;
    }
  }
  .step-content__child {
    background-color: #fff;
    --row-gap: 30px;
    position: relative;
    z-index: 1;
  }
  .step-content.--arrow-off::before, .step-content.--arrow-off::after {
    display: none;
  }
  @media screen and (max-width: 834px) {
    .step-content.--arrow-off {
      padding-bottom: 0;
      margin-bottom: 0;
    }
  }
  .step-content.--arrow-off::after {
    display: none;
  }
  .sublevel-content.--voice {
    row-gap: 25px;
  }
  @media screen and (max-width: 480px) {
    .sublevel-content.--voice {
      row-gap: 20px;
    }
  }
  .sublevel-content.--voice .lead-text {
    --font-variable: 3rem;
  }
  @media screen and (max-width: 834px) {
    .sublevel-content.--voice .lead-text {
      padding-top: 10px;
    }
  }
  @media screen and (max-width: 480px) {
    .sublevel-content.--voice .lead-text {
      --font-variable: clamp(1.8rem, 6.4vw, 3rem);
    }
  }
  .sublevel-content.--voice .tag {
    margin-bottom: 0;
  }
  .sublevel-content.--voice .--img {
    z-index: 1;
    max-width: 440px;
    justify-self: end;
  }
  @media screen and (max-width: 834px) {
    .sublevel-content.--voice .--img {
      z-index: 0;
      grid-row: 2;
      max-width: none;
      justify-self: center;
      border-image-source: linear-gradient(var(--gray-bg-color), var(--gray-bg-color));
      border-image-slice: 0 fill;
      border-image-outset: 0 100vw 26px 100vw;
      border-image-width: 50% auto auto auto;
    }
  }
  @media screen and (max-width: 834px) {
    .sublevel-content.--voice .--left {
      z-index: 1;
      grid-row: 3;
    }
  }
  .sublevel-content.--voice.--rev .--top {
    grid-column: 2;
  }
  @media screen and (max-width: 834px) {
    .sublevel-content.--voice.--rev .--top {
      grid-column: 1;
    }
  }
  .sublevel-content.--voice.--rev .--img {
    grid-column: 1;
  }
  .sublevel-content.--voice.--rev .--left {
    grid-column: 2;
  }
  @media screen and (max-width: 834px) {
    .sublevel-content.--voice.--rev .--left {
      grid-column: 1;
    }
  }
  .voice-pofile {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 15px 30px;
    padding-block: 25px 0;
  }
  @media screen and (max-width: 834px) {
    .voice-pofile {
      grid-template-columns: auto 1fr;
      gap: 15px 10px;
      padding-block: 0 25px;
    }
  }
  .voice-pofile .flag {
    grid-column: 1;
    grid-row: 1/3;
  }
  @media screen and (max-width: 834px) {
    .voice-pofile .flag {
      grid-row: 1;
    }
    .voice-pofile .flag img {
      width: 30px;
      height: 30px;
      object-fit: contain;
    }
  }
  .voice-pofile .tag {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    white-space: normal !important;
  }
  .voice-pofile__child {
    grid-column: 2;
    grid-row: 2;
  }
  @media screen and (max-width: 834px) {
    .voice-pofile__child {
      grid-column: 1/3;
    }
  }
  .voice-pofile__child .voice-name {
    margin-block: 0 5px;
  }
  .qa-item {
    display: grid;
    grid-template-columns: 80px 1fr;
    align-items: center;
    margin-block-end: 30px;
  }
  .qa-item:first-child {
    margin-block-start: 50px;
  }
  @media screen and (max-width: 834px) {
    .qa-item:first-child {
      margin-block-start: 0;
    }
  }
  .qa-item:last-child {
    margin-block-end: 50px;
  }
  @media screen and (max-width: 834px) {
    .qa-item {
      grid-template-columns: 70px 1fr;
      row-gap: 15px;
      background-color: #fff;
      border-radius: 10px;
      padding: var(--sp_margin_px);
    }
  }
  .qa-no {
    grid-column: 1;
    grid-row: 1/3;
    font-size: 4.2rem;
    font-family: var(--en-font-family);
    font-weight: var(--font-weight-bold);
    color: var(--base-color);
  }
  @media screen and (max-width: 834px) {
    .qa-no {
      grid-row: 1;
    }
  }
  .qa-title {
    grid-column: 2;
    grid-row: 1;
    color: var(--base-color);
    font-size: 2.6rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.6;
    margin-bottom: 0;
    padding: 25px 25px 0 25px;
    background-color: #fff;
    border-radius: 10px 10px 0 0;
  }
  @media screen and (max-width: 834px) {
    .qa-title {
      font-size: 2.2rem;
      padding: 0;
    }
  }
  .qa-answer {
    grid-column: 2;
    grid-row: 2;
    padding: 15px 25px 25px 25px;
    background-color: #fff;
    border-radius: 0 0 10px 10px;
  }
  @media screen and (max-width: 834px) {
    .qa-answer {
      grid-column: 1/3;
      padding: 0;
    }
  }
  .inner-block {
    border-image-width: 1.1em auto auto auto;
    padding-inline: clamp(var(--sp_margin_px), 5.4vw, 45px);
  }
  @media screen and (max-width: 480px) {
    .inner-block {
      padding-inline: 0;
    }
  }
  .step-title.--entry .step-title__head {
    width: 220px;
    flex-shrink: 0;
    flex-direction: column;
    row-gap: 12px;
    padding-block: 10px 15px;
    margin-bottom: 0;
  }
  @media screen and (max-width: 834px) {
    .step-title.--entry .step-title__head {
      width: fit-content;
      flex-direction: row;
      padding-block: 10px 5px;
      column-gap: 20px;
    }
  }
  .step-title.--entry .step-title__head .--step {
    font-size: 2rem;
    letter-spacing: 0.5em;
  }
  .step-title.--entry .step-title__head .--step span {
    font-size: 3rem;
  }
  .step-title.--entry .step-title__head__child {
    font-size: 3rem;
  }
  .safari .step-title.--entry .step-title__head {
    padding-block: 12px 10px;
  }
  .step-title.--entry .step-title__text {
    font-size: 3rem;
    padding: 0.35em 1em 0.3em;
  }
  @media screen and (max-width: 834px) {
    .step-title.--entry .step-title__text {
      font-size: 2.4rem;
      border: 2px solid #000;
      padding: 0.45em 0.5em 0.4em;
    }
  }
  .total {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 5px 15px;
    font-size: 2.6rem;
    font-weight: var(--font-weight-bold);
    line-height: 1;
  }
  .tuition {
    font-family: var(--en-font-family);
    font-size: 4.8rem;
    line-height: 1;
    transform: translateY(7px);
  }
  .yen {
    font-size: 3rem;
  }
  .date {
    font-family: var(--en-font-family);
    --font-variable: 1.6rem;
    letter-spacing: 0.1em;
    color: var(--color, var(--black-color));
  }
  @media screen and (max-width: 480px) {
    .date {
      --font-variable: 1.4rem;
    }
  }
  .news-container {
    container-type: inline-size;
    container-name: news;
  }
  .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);
    }
  }
  @media screen and (max-width: 834px) {
    .news-detail {
      margin: 50px 0 0 0;
    }
  }
  .news-detail-header {
    display: flex;
    align-items: center;
    gap: 0 20px;
    margin-bottom: 18px;
  }
  .news-detail-header .date {
    font-weight: var(--font-weight-bold);
  }
  .news-detail-header .tag {
    --bg-color: var(--base-color);
    min-height: 23px;
  }
  .news-detail-title {
    display: flex;
    flex-direction: column;
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.4;
    margin-bottom: 50px;
  }
  .news-detail-title::after {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--base-color) 0%, var(--base-color) 30px, #ccc 30px, #ccc 100%);
    margin-top: 7px;
  }
  .news-main-img {
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-bottom: 50px;
  }
  .news-main-img img {
    max-width: 650px;
    max-height: 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;
  }
  .border-list {
    border-top: 1px solid #ccc;
  }
  .border-list > li {
    padding: 14px 20px;
    border-bottom: 1px solid #ccc;
    line-height: 1.5;
  }
  @media screen and (max-width: 480px) {
    .border-list > li {
      padding-inline: 0;
    }
  }
  .sitename {
    color: var(--color, var(--black-color));
  }
  @media screen and (max-width: 480px) {
    .sitename {
      font-size: 1.6rem;
    }
  }
  *:hover > .sitename {
    --color: var(--link-color);
  }
  .sitelink {
    font-size: 1.4rem;
    color: var(--color, var(--key-color));
  }
  *:hover > .sitelink {
    --color: var(--link-color);
  }
  .border-list.--download {
    max-width: 555px;
  }
  .border-list.--download > li {
    display: grid;
    grid-template-columns: 1fr 30px 30px;
    align-items: center;
    gap: 0 40px;
    padding-block: 25px;
  }
  .border-list.--download .pdf-icon {
    grid-column: 2;
    grid-row: 1;
  }
  .border-list.--download .word-icon {
    grid-column: 3;
    grid-row: 1;
  }
  .pdf-icon,
  .word-icon {
    display: inline-block;
    width: 30px;
    height: 32px;
    position: relative;
  }
  .pdf-icon::after,
  .word-icon::after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 30px;
    height: 32px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    transition: background-image 150ms ease-in-out;
  }
  .pdf-icon::after {
    background-image: url(/assets/images/pict/pdf.svg);
  }
  .pdf-icon:hover::after {
    background-image: url(/assets/images/pict/pdf_r.svg);
  }
  .word-icon::after {
    background-image: url(/assets/images/pict/word.svg);
  }
  .word-icon:hover::after {
    background-image: url(/assets/images/pict/word_r.svg);
  }
  .download-name {
    font-size: 1.8rem;
    grid-column: 1;
    grid-row: 1;
  }
  .list-dot {
    font-size: var(--font-variable, var(--base-font-size));
    line-height: var(--line-height-variable, 1.8);
    text-indent: -1em;
  }
  .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 > li::before {
    display: inline-flex;
    align-items: center;
    content: "";
    width: 0.6em;
    height: 0.6em;
    border-radius: 100%;
    margin-inline: 0.3em;
    transform: translateY(-0.38em);
    background-color: var(--color, #ccc);
  }
  .firefox .list-dot > li::before {
    transform: translateY(-2px);
  }
  .--list-inline > li {
    display: inline-block;
    margin-inline-end: 1em;
  }
  .list-dot.--row {
    display: flex;
    flex-wrap: wrap;
    column-gap: 15px;
  }
  .list-dot.--base > li::before {
    --color: var(--base-color);
  }
  .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;
  }
  :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 {
    color: #fff;
    padding: 0.3em 1em 0.2em 1em;
    background-color: var(--base-color);
    width: fit-content;
    margin-bottom: 30px;
    line-height: 1.4;
  }
  :where(.edit-block) h2 {
    font-size: var(--font-variable, 2.6rem);
    color: var(--color, var(--base-color));
    font-weight: var(--font-weight-medium);
    line-height: 1.2;
    margin-block-end: 0.8em;
  }
  :where(.edit-block) h3 {
    color: var(--base-color);
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.2;
    padding: 1px 0px 0px 0;
    margin-bottom: 15px;
    width: fit-content;
    color: var(--base-color);
    margin-bottom: 5px;
  }
  :where(.edit-block) h4 {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 600;
  }
  :where(.edit-block) h4::before {
    content: "";
    display: inline-block;
    background-size: contain;
    width: 0.6em;
    height: 0.6em;
    background-color: var(--base-color);
    margin-right: 0.2em;
    position: relative;
    top: -1px;
  }
  :where(.edit-block) ul:not([class]) {
    list-style-type: none;
    --color: var(--base-color);
    font-size: var(--font-variable, var(--base-font-size));
    line-height: var(--line-height-variable, 1.8);
    text-indent: -1em;
  }
  :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]) > li::before {
    display: inline-flex;
    align-items: center;
    content: "";
    width: 0.6em;
    height: 0.6em;
    border-radius: 100%;
    margin-inline: 0.3em;
    transform: translateY(-0.38em);
    background-color: var(--color, #ccc);
  }
  :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]) {
    --font-variable: 1.6rem;
    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: #d9eef6;
    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) .btn {
    cursor: pointer;
    display: inline-grid;
    gap: 0 15px;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    min-width: var(--min-width, 0);
    padding: 0.5em clamp(20px, 5vw, 30px);
    color: #fff;
    position: relative;
    background-color: var(--bg-color, var(--key-color));
    text-decoration: none;
    font-size: var(--font-variable, 1.8rem);
    font-weight: var(--font-weight, var(--font-weight-medium));
    line-height: 1.4;
    transition: all 200ms ease-in-out;
  }
  @media screen and (max-width: 834px) {
    :where(.edit-block) .btn {
      --min-width: inherit;
    }
  }
  @media screen and (max-width: 480px) {
    :where(.edit-block) .btn {
      gap: 0 5px;
      width: 100%;
    }
  }
  :where(.edit-block) .btn::after {
    grid-column: 3;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    justify-self: end;
    content: "";
    display: inline-flex;
    align-items: center;
    width: 24px;
    height: 24px;
    background-image: url(/assets/images/pict/arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
  }
  :where(.edit-block) .btn:hover {
    background-color: var(--link-color);
  }
  @media screen and (max-width: 834px) {
    :where(.edit-block) video {
      width: 100%;
      height: auto;
      aspect-ratio: auto;
    }
    :where(.edit-block) iframe[src^="https://www.youtube.com/"] {
      width: 100%;
      height: auto;
      aspect-ratio: 16/9;
    }
    :where(.edit-block) iframe[src^="https://www.youtube.com/"][width="453"] {
      aspect-ratio: 9/16;
    }
  }
  :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% !important;
    }
    .glightbox-clean .gprev {
      left: 0;
    }
    .glightbox-clean .gnext {
      right: 0;
    }
  }
  .glightbox-mobile .goverlay {
    background-color: rgba(0, 0, 0, 0.7);
  }
  .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-inquiry {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 174px;
    height: 50px;
    padding-inline: 24px;
    color: #fff;
    background-color: var(--black-color);
    border-radius: 30px;
    transition: all 200ms ease-in-out;
  }
  .btn-inquiry .pict {
    margin-right: 12px;
  }
  .btn-inquiry:hover {
    color: #fff;
    background-color: var(--base-color);
  }
  .btn-inquiry .btn-inquiry-br {
    display: none;
  }
  .btn-inquiry__text {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .btn-more {
    cursor: pointer;
    display: inline-grid;
    gap: 0 15px;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    min-width: var(--min-width, 0);
    min-height: 75px;
    padding: 0.7em clamp(20px, 5vw, 30px);
    color: #fff;
    position: relative;
    background-color: var(--bg-color, var(--key-color));
    text-decoration: none;
    transition: all 200ms ease-in-out;
  }
  @media screen and (max-width: 834px) {
    .btn-more {
      --min-width: inherit;
    }
  }
  @media screen and (max-width: 480px) {
    .btn-more {
      gap: 0 5px;
      width: 100%;
    }
  }
  .btn-more__front {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
  }
  .btn-more__text {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    font-size: var(--font-variable, 1.8rem);
    font-weight: var(--font-weight, var(--font-weight-bold));
    line-height: 1.4;
  }
  .btn-more__back {
    grid-column: 3;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    justify-self: end;
  }
  .btn-more:hover {
    background-color: var(--link-color);
  }
  .btn-more:not(:has(.btn-more__front.pict)) .btn-more__front:empty {
    width: 0;
  }
  .btn-more__back.menu-link__icon {
    --color: #fff;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTRweCIgaGVpZ2h0PSI3cHgiIHZpZXdCb3g9IjAgMCAxNCA3IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0xMy40ODM4OSAzLjUtNy4yNDkyNy0zLjM3NDAydjIuNjA5ODZoLTYuMjM0NjJ2MS41MjgzMmg2LjIzNDYydjIuNjA5ODZ6Ii8+PHBhdGggZD0ibTEzLjQ4Mzg5IDMuNS03LjI0OTI3LTMuMzc0MDJ2Mi42MDk4NmgtNi4yMzQ2MnYxLjUyODMyaDYuMjM0NjJ2Mi42MDk4NnoiLz48L3N2Zz4=);
    background-size: 14px 7px;
  }
  .btn-more:hover .btn-more__back.menu-link__icon {
    --color: var(--black-color);
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTRweCIgaGVpZ2h0PSI3cHgiIHZpZXdCb3g9IjAgMCAxNCA3IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9IiNmZmYiPjxwYXRoIGQ9Im0xMy40ODM4OSAzLjUtNy4yNDkyNy0zLjM3NDAydjIuNjA5ODZoLTYuMjM0NjJ2MS41MjgzMmg2LjIzNDYydjIuNjA5ODZ6Ii8+PHBhdGggZD0ibTEzLjQ4Mzg5IDMuNS03LjI0OTI3LTMuMzc0MDJ2Mi42MDk4NmgtNi4yMzQ2MnYxLjUyODMyaDYuMjM0NjJ2Mi42MDk4NnoiLz48L2c+PC9zdmc+);
  }
  .btn-more.--large {
    width: 100%;
    max-width: 410px;
  }
  @media screen and (max-width: 834px) {
    .btn-more.--large {
      padding-inline: 1em;
    }
  }
  @media screen and (max-width: 480px) {
    .btn-more.--large {
      width: 100%;
      max-width: 335px;
    }
  }
  .btn-solid {
    cursor: pointer;
    display: inline-grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    padding: 0.8em 1.5em 0.65em 1.5em;
    font-weight: var(--font-weight-bold);
    font-size: var(--font-variable, 1.8rem);
    color: #fff;
    background-color: var(--base-color);
    transition: all 300ms cubic-bezier(0.23, 1, 0.32, 1);
  }
  .btn-solid.--back {
    background-color: var(--gray-color);
  }
  .btn-solid:hover {
    color: #fff;
    background-color: var(--key-color);
  }
  .btn-text {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    color: #fff;
  }
  .btn-border {
    display: inline-grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    transition: all 200ms cubic-bezier(0.23, 1, 0.32, 1);
    padding: 1.5em 1em 1.4em 1em;
    border: 2px solid currentColor;
    column-gap: 7px;
    position: relative;
  }
  .btn-border__text {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: var(--font-weight-bold);
    line-height: 1;
    justify-self: center;
  }
  @media screen and (max-width: 480px) {
    .btn-border__text {
      line-height: 1.2;
    }
  }
  .btn-border .round-arrow {
    margin-left: auto;
  }
  @media screen and (max-width: 480px) {
    .btn-border {
      width: 100%;
    }
  }
  .btn-border.--inquiry {
    color: #fff;
    max-width: 412px;
    width: 100%;
  }
  .btn-border.--inquiry:hover {
    color: var(--base-color);
    background-color: #fff;
  }
  .btn-border.--inquiry:hover .round-arrow {
    background-image: url(/assets/images/pict/arrow-base.svg);
  }
  .btn-border-radius {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0.4em 1em 0.3em 1em;
    border: 1px solid var(--gray-color);
    font-size: 1.6rem;
    line-height: 1;
    position: relative;
    border-radius: 15px;
    min-width: 100px;
    transition: all 200ms ease-in-out;
  }
  .btn-border-radius:hover {
    color: var(--base-color);
  }
  @media screen and (max-width: 480px) {
    .ios.mobile .btn-border-radius {
      padding-bottom: 0.4em;
    }
  }
  .menu-link-list {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 7px 30px;
  }
  @media screen and (max-width: 834px) {
    .menu-link-list {
      display: grid;
      align-items: end;
      grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    }
  }
  @media screen and (max-width: 480px) {
    .menu-link-list {
      column-gap: 20px;
    }
  }
  .menu-link {
    --color: var(--black-color);
    display: inline-grid;
    align-items: center;
    grid-template-columns: 1fr 25px;
    gap: 0 5px;
    width: 210px;
    padding-block: 16px;
    border-bottom: 1px solid var(--gray-light-color);
    text-decoration: none;
    transition: all 200ms ease-in-out;
  }
  @media screen and (max-width: 834px) {
    .menu-link {
      width: 100%;
    }
  }
  .menu-link__text {
    font-size: 1.6rem;
    line-height: 1.4;
    color: var(--color);
    transition: all 200ms ease-in-out;
  }
  @media screen and (max-width: 480px) {
    .menu-link__text {
      font-size: 1.5rem;
      font-feature-settings: "palt";
    }
  }
  .menu-link__icon {
    transform: translateX(8px);
  }
  .menu-link:hover {
    --color: var(--link-color);
    border-bottom-color: var(--link-color);
  }
  .link-arrow {
    display: inline-grid;
    grid-template-columns: auto 25px;
    align-items: center;
    column-gap: 5px;
  }
  .link-arrow__text {
    color: var(--color, var(--black-color));
    font-size: var(--font-variable, 1.8rem);
    line-height: 1.4;
    transition: all 150ms ease-in-out;
  }
  .link-arrow__icon {
    display: inline-block;
    width: 25px;
    height: 25px;
    border-radius: 100%;
    background-image: url(/assets/images/pict/pict-arrow.svg);
    background-size: 25px;
    background-repeat: no-repeat;
    background-color: var(--icon-color, var(--key-color));
    transition: all 150ms ease-in-out;
  }
  .link-arrow:hover {
    text-decoration: none;
  }
  .link-arrow:hover .link-arrow__text {
    --color: var(--link-color);
  }
  .link-arrow:hover .link-arrow__icon {
    --icon-color: var(--link-color);
    transform: translateX(5px);
  }
  .link-arrow.--large {
    grid-template-columns: auto 25px;
    font-weight: var(--font-weight-bold);
    column-gap: 17px;
    --font-variable: 1.8rem;
  }
  .link-arrow.--large .link-arrow__icon {
    width: 25px;
    height: 25px;
    background-image: url(/assets/images/pict/pict-arrow.svg);
    background-size: 25px;
  }
  .menu-list__item .link-arrow {
    display: grid;
  }
  .menu-list__item .link-arrow__text {
    font-weight: var(--font-weight-bold);
    --font-variable: 2.2rem;
  }
  .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;
  }
  .border-list {
    border-top: 1px solid #ccc;
  }
  .border-list > li {
    padding: 14px 20px;
    border-bottom: 1px solid #ccc;
    line-height: 1.5;
  }
  @media screen and (max-width: 480px) {
    .border-list > li {
      padding-inline: 0;
    }
  }
  .sitename {
    color: var(--color, var(--black-color));
  }
  @media screen and (max-width: 480px) {
    .sitename {
      font-size: 1.6rem;
    }
  }
  *:hover > .sitename {
    --color: var(--link-color);
  }
  .sitelink {
    font-size: 1.4rem;
    color: var(--color, var(--key-color));
  }
  *:hover > .sitelink {
    --color: var(--link-color);
  }
  .border-list.--download {
    max-width: 555px;
  }
  .border-list.--download > li {
    display: grid;
    grid-template-columns: 1fr 30px 30px;
    align-items: center;
    gap: 0 40px;
    padding-block: 25px;
  }
  .border-list.--download .pdf-icon {
    grid-column: 2;
    grid-row: 1;
  }
  .border-list.--download .word-icon {
    grid-column: 3;
    grid-row: 1;
  }
  .pdf-icon,
  .word-icon {
    display: inline-block;
    width: 30px;
    height: 32px;
    position: relative;
  }
  .pdf-icon::after,
  .word-icon::after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 30px;
    height: 32px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    transition: background-image 150ms ease-in-out;
  }
  .pdf-icon::after {
    background-image: url(/assets/images/pict/pdf.svg);
  }
  .pdf-icon:hover::after {
    background-image: url(/assets/images/pict/pdf_r.svg);
  }
  .word-icon::after {
    background-image: url(/assets/images/pict/word.svg);
  }
  .word-icon:hover::after {
    background-image: url(/assets/images/pict/word_r.svg);
  }
  .download-name {
    font-size: 1.8rem;
    grid-column: 1;
    grid-row: 1;
  }
  .list-dot {
    font-size: var(--font-variable, var(--base-font-size));
    line-height: var(--line-height-variable, 1.8);
    text-indent: -1em;
  }
  .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 > li::before {
    display: inline-flex;
    align-items: center;
    content: "";
    width: 0.6em;
    height: 0.6em;
    border-radius: 100%;
    margin-inline: 0.3em;
    transform: translateY(-0.38em);
    background-color: var(--color, #ccc);
  }
  .firefox .list-dot > li::before {
    transform: translateY(-2px);
  }
  .--list-inline > li {
    display: inline-block;
    margin-inline-end: 1em;
  }
  .list-dot.--row {
    display: flex;
    flex-wrap: wrap;
    column-gap: 15px;
  }
  .list-dot.--base > li::before {
    --color: var(--base-color);
  }
  .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;
  }
  .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(.set-scroll) {
    overflow-x: auto;
    overflow-y: hidden;
    max-width: var(--innerWidth, 1200px);
  }
  .set-scroll.--course table {
    min-width: 600px;
  }
  .cell-justify {
    text-align: justify;
    text-align-last: justify;
  }
  .border-table th {
    font-weight: normal;
    border-bottom: 1.5px solid var(--base-color);
    padding: 0.8em 1em 0.7em 1em;
    line-height: 1.4;
    text-align: left;
    vertical-align: top;
  }
  .border-table td {
    border-bottom: 1.5px solid #ccc;
    padding: 0.8em 1em 0.7em 1.2em;
    line-height: 1.4;
  }
  @media screen and (max-width: 834px) {
    .border-table th {
      padding-left: 0;
      padding-right: 0;
    }
  }
  @media screen and (max-width: 480px) {
    .border-table.--sp-wrap {
      display: block;
    }
    .border-table.--sp-wrap tr {
      display: flex;
      flex-direction: column;
      margin-bottom: 15px;
    }
    .border-table.--sp-wrap th {
      min-width: 5.5em;
      display: block;
      width: fit-content;
      text-align: justify;
      text-align-last: justify;
    }
    .border-table.--sp-wrap td {
      display: block;
      padding-inline: 0;
      padding: 0.8em 0 0.6em 0;
      border-bottom: 1px solid #ccc;
    }
  }
  .border-table.--tuition {
    width: fit-content;
  }
  @media screen and (max-width: 480px) {
    .border-table.--tuition {
      width: 100%;
    }
  }
  .border-table.--tuition tbody th {
    width: 130px;
    text-align: justify;
    text-align-last: justify;
  }
  @media screen and (max-width: 480px) {
    .border-table.--tuition tbody th {
      width: auto;
      text-align: left;
      text-align-last: left;
    }
  }
  .border-table.--tuition td {
    width: 250px;
    text-align: right;
  }
  @media screen and (max-width: 480px) {
    .border-table.--tuition td {
      width: auto;
    }
  }
  .border-table.--cost td:last-child {
    white-space: nowrap;
  }
  .old-safari .border-table tr {
    display: flex;
  }
  .old-safari .border-table th {
    display: inline-flex;
    justify-content: space-between;
  }
  .old-safari .border-table td {
    flex-grow: 1;
  }
  :where(.common-table) {
    --font-variable: 1.6rem;
  }
  :where(.common-table) th,
  :where(.common-table) td {
    line-height: 1.6;
  }
  :where(.common-table) tr:first-child th {
    color: #fff;
    background-color: var(--base-color);
    padding: 1.1em 1.5em 1em;
    white-space: nowrap;
    font-weight: var(--font-weight-medium);
    font-feature-settings: "palt";
    border-left: 1px solid var(--base-color);
  }
  :where(.common-table) tr:first-child th:not(:first-child) {
    border-left: 1px solid #fff;
  }
  :where(.common-table) tr:first-child th:last-child {
    border-right: 1px solid var(--base-color);
  }
  :where(.common-table) tr:not(:first-child) th {
    font-weight: var(--font-weight-bold);
    padding-block: 1em;
    border-left: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }
  :where(.common-table) td {
    padding-block: 1em 0.9em;
    padding-inline: clamp(0.5em, 1.5vw, 50px);
    border: 1px solid #ccc;
    border-top: none;
  }
  .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-list .tag {
    align-self: start;
    min-width: 100px;
    max-width: inherit;
  }
  .tag-list .tag > a {
    color: #fff;
    text-decoration: none;
  }
  .tag {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: var(--font-variable, 1.2rem);
    line-height: 1;
    width: fit-content;
    color: var(--color, #fff);
    background-color: var(--bg-color, var(--gray-color));
    letter-spacing: 0.1em;
    white-space: nowrap;
    text-align: center;
    transition: all 150ms ease-in;
  }
  .tag span {
    font-size: inherit;
    padding: 0.3em 0.5em 0.25em;
  }
  .tile-item .tag {
    padding: 0.15em 0.5em;
    letter-spacing: 0;
    white-space: normal;
  }
  .safari .tile-item .tag {
    padding: 0.2em 0.5em 0.1em;
  }
  .tag.--base {
    --bg-color: var(--base-color);
  }
  .tag.--white {
    --color: var(--black-color);
    background-color: #fff;
    border: 1px solid var(--black-color);
  }
  .tag.--case {
    --font-variable: 2rem;
    font-family: var(--en-font-family);
    --bg-color: var(--base-color);
  }
  .tag.--case span {
    padding: 0.15em 0.3em 0.05em;
  }
  .safari .tag.--case span {
    padding: 0.15em 0.3em 0.15em;
  }
  .tag.--voice {
    --font-variable: 1.6rem;
    --color: var(--key-color);
    --bg-color: #fff;
  }
  .row-block {
    container-type: inline-size;
    container-name: rowblock;
    display: flex;
    flex-wrap: nowrap;
    gap: var(--row-gap, 0) var(--column-gap, 55px);
  }
  @media screen and (max-width: 834px) {
    .row-block {
      flex-wrap: wrap;
      justify-content: center;
    }
  }
  .row-block.--row-reverse {
    flex-direction: row-reverse;
  }
  @media screen and (max-width: 834px) {
    .row-block.--row-reverse {
      flex-direction: row;
    }
  }
  .row-content {
    grid-column: 1/4;
    display: grid;
    justify-content: center;
    column-gap: 60px;
    row-gap: 20px;
    grid-template-columns: 575px 510px;
    grid-template-rows: auto 1fr auto;
    overflow: hidden;
  }
  @media screen and (max-width: 1180px) {
    .row-content {
      grid-template-columns: 1.17fr 1fr;
    }
  }
  @media screen and (max-width: 834px) {
    .row-content {
      gap: 40px 0;
      grid-template-columns: var(--margin_px) 1fr var(--margin_px);
    }
  }
  @media screen and (max-width: 480px) {
    .row-content {
      grid-template-columns: var(--sp_margin_px) 1fr var(--sp_margin_px);
      row-gap: 30px;
    }
  }
  .row-content-item {
    grid-column: 1;
    grid-row: 1/3;
    display: grid;
    row-gap: 24px;
    padding-left: var(--margin_px);
  }
  @media screen and (max-width: 1180px) {
    .row-content-item {
      max-width: 610px;
    }
  }
  @media screen and (max-width: 834px) {
    .row-content-item {
      grid-column: 2;
      grid-row: 2;
      padding: 0;
      max-width: none;
      row-gap: 30px;
      margin-top: -60px;
    }
  }
  .--link-block {
    grid-column: 1;
    grid-row: 3/4;
    padding-top: 40px;
    padding-left: var(--margin_px);
  }
  @media screen and (max-width: 980px) {
    .--link-block {
      grid-column: 1/3;
      padding-inline: var(--margin_px);
    }
  }
  @media screen and (max-width: 834px) {
    .--link-block {
      grid-column: 2;
      grid-row: 3;
      padding: 0;
    }
  }
  .row-content-title {
    display: flex;
    flex-direction: column;
    margin-left: auto;
    position: relative;
    z-index: 1;
    width: 100%;
    container-type: inline-size;
    transform: translateX(105px);
  }
  @media screen and (max-width: 834px) {
    .row-content-title {
      margin-left: 0;
      margin-right: auto;
      padding-right: 0;
      transform: none;
    }
  }
  .row-content-title__text {
    display: inline-flex;
    align-items: center;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: var(--font-weight-medium);
    color: var(--base-color);
    margin-left: 6px;
    margin-bottom: 0;
  }
  .row-content-title__text::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    background-color: var(--base-color);
    border-radius: 100%;
    margin-right: 5px;
  }
  .en-line-text {
    font-family: var(--en-font-family);
    font-weight: var(--font-weight-bold);
    font-size: 10rem;
    line-height: 1;
    color: var(--base-color);
    -webkit-text-stroke: 1px var(--base-color);
    text-stroke: 1px var(--base-color);
    position: relative;
    width: fit-content;
    font-size: 18.2cqw;
  }
  @media screen and (max-width: 834px) {
    .en-line-text {
      font-size: 10rem;
      font-size: 13.4cqw;
    }
  }
  @media screen and (max-width: 480px) {
    .en-line-text {
      font-size: 6rem;
    }
  }
  @media screen and (max-width: 320px) {
    .en-line-text {
      font-size: 5rem;
    }
  }
  .en-line-text > span {
    font-size: inherit;
  }
  .en-line-text::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translate(100px, -50%);
    display: inline-block;
    width: 120px;
    height: 6px;
    background-color: var(--base-color);
    opacity: 0;
    right: 0;
  }
  @media screen and (max-width: 834px) {
    .en-line-text::after {
      transform: none;
      top: -15px;
      left: 0;
      width: 80px;
      opacity: 0;
    }
  }
  .en-line-text.type-end {
    overflow: visible;
  }
  .en-line-text.type-end::after {
    transition: all 0.8s;
    transform: translate(145px, -50%);
    opacity: 1;
  }
  @media screen and (max-width: 834px) {
    .en-line-text.type-end::after {
      transform: none;
      left: -20px;
      opacity: 1;
    }
  }
  .row-content-text {
    font-size: 1.8rem;
  }
  .row-content__img-top {
    grid-column: 2;
    grid-row: 1;
  }
  @media screen and (max-width: 1180px) {
    .row-content__img-top {
      max-width: 510px;
    }
  }
  @media screen and (max-width: 834px) {
    .row-content__img-top {
      grid-column: 2/4;
      grid-row: 1;
      justify-self: end;
      padding-left: var(--sp_margin_px);
    }
  }
  .row-content__img-bottom {
    grid-column: 2;
    grid-row: 2/4;
    max-width: 360px;
  }
  @media screen and (max-width: 1180px) {
    .row-content__img-bottom {
      grid-column: 2;
    }
  }
  @media screen and (max-width: 980px) {
    .row-content__img-bottom {
      grid-row: 2;
    }
  }
  @media screen and (max-width: 834px) {
    .row-content__img-bottom {
      grid-column: 1/3;
      grid-row: 4;
    }
  }
  @media screen and (max-width: 480px) {
    .row-content__img-bottom {
      max-width: 210px;
    }
  }
  .row-content.--rev {
    grid-template-columns: 510px 575px;
  }
  @media screen and (max-width: 1180px) {
    .row-content.--rev {
      grid-column: 1/4;
      grid-template-columns: 1fr 1.17fr;
    }
  }
  @media screen and (max-width: 834px) {
    .row-content.--rev {
      grid-template-columns: var(--margin_px) 1fr var(--margin_px);
    }
  }
  @media screen and (max-width: 480px) {
    .row-content.--rev {
      grid-template-columns: var(--sp_margin_px) 1fr var(--sp_margin_px);
    }
  }
  .row-content.--rev .row-content-item {
    grid-column: 2;
    padding-inline: 0 var(--margin_px);
  }
  @media screen and (max-width: 834px) {
    .row-content.--rev .row-content-item {
      padding: 0;
    }
  }
  .row-content.--rev .--link-block {
    grid-column: 2;
    padding-inline: 0 var(--margin_px);
  }
  @media screen and (max-width: 980px) {
    .row-content.--rev .--link-block {
      grid-column: 1/3;
      padding-left: var(--margin_px);
    }
  }
  @media screen and (max-width: 834px) {
    .row-content.--rev .--link-block {
      grid-column: 2;
      padding: 0;
    }
  }
  .row-content.--rev .row-content__img-top {
    grid-column: 1;
  }
  @media screen and (max-width: 834px) {
    .row-content.--rev .row-content__img-top {
      grid-column: 1/3;
      justify-self: flex-start;
      padding-inline: 0 var(--sp_margin_px);
    }
  }
  .row-content.--rev .row-content__img-bottom {
    grid-column: 1;
    justify-self: end;
  }
  @media screen and (max-width: 834px) {
    .row-content.--rev .row-content__img-bottom {
      grid-column: 2/4;
    }
  }
  .row-content.--rev .row-content-title {
    margin-inline: 0 auto;
    transform: none;
  }
  @media screen and (max-width: 834px) {
    .row-content.--rev .row-content-title {
      margin-inline: 0;
      display: inline-grid;
      justify-content: end;
    }
  }
  .--rev .en-line-text::after {
    right: auto;
    left: 0;
    transform: translate(-100px, -50%);
  }
  @media screen and (max-width: 834px) {
    .--rev .en-line-text::after {
      right: 0;
      left: auto;
      transform: none;
    }
  }
  .--rev .en-line-text.type-end::after {
    transform: translate(-145px, -50%);
    opacity: 1;
  }
  @media screen and (max-width: 834px) {
    .--rev .en-line-text.type-end::after {
      transform: none;
      right: -20px;
      opacity: 1;
    }
  }
  .row-content.--third {
    grid-template-rows: auto auto auto;
    overflow: hidden;
  }
  @media screen and (max-width: 834px) {
    .row-content.--third {
      grid-template-rows: auto auto auto auto;
    }
  }
  .--third .row-content-title {
    grid-column: 1/3;
    grid-row: 1;
    padding-left: 35px;
    transform: none;
  }
  @media screen and (max-width: 834px) {
    .--third .row-content-title {
      grid-column: 2;
      grid-row: 2;
      padding-inline: 0;
      margin-top: -60px;
    }
  }
  .--third .en-line-text {
    font-size: 9.07cqw;
    width: fit-content;
  }
  @media screen and (max-width: 834px) {
    .--third .en-line-text {
      font-size: 11cqw;
    }
  }
  @media screen and (max-width: 480px) {
    .--third .en-line-text {
      font-size: 6rem;
    }
  }
  @media screen and (max-width: 320px) {
    .--third .en-line-text {
      font-size: 5rem;
    }
  }
  .--third .row-content-item {
    grid-row: 2;
  }
  @media screen and (max-width: 834px) {
    .--third .row-content-item {
      grid-row: 3;
      margin-top: 0;
    }
  }
  .--third .--link-block {
    grid-row: 3;
  }
  @media screen and (max-width: 834px) {
    .--third .--link-block {
      grid-row: 4;
    }
  }
  .--third .row-content__img-top {
    grid-row: 2/4;
  }
  @media screen and (max-width: 834px) {
    .--third .row-content__img-top {
      grid-row: 1;
    }
  }
  @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;
    transition: opacity ease-in 400ms;
  }
  .loading-container {
    width: 100%;
    max-width: 100svw;
    height: 100svh;
    background-color: var(--base-color);
    display: grid;
  }
  .is-complete {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  #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;
  }
  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;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 80px clamp(30px, 7.2vw, 85px);
  }
  @media screen and (max-width: 834px) {
    .tile-list {
      grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
    }
  }
  @container news (width <=510px) {
    .tile-list {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .tile-item {
    position: relative;
    display: grid;
    row-gap: 10px;
  }
  .news-header {
    display: grid;
    row-gap: 8px;
  }
  .news-tile-img {
    overflow: hidden;
  }
  .news-tile-img img {
    width: 100%;
    height: auto;
    object-fit: cover;
    transform: scale(1);
    transition: transform 400ms ease-out;
  }
  .news-tile-text {
    --font-variable: 1.6rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
    margin-bottom: 0;
  }
  @media screen and (max-width: 480px) {
    .news-tile-text {
      font-size: 1.5rem;
    }
  }
  .tile-item:has(img[src*="empty-img.png"]) .news-tile-img {
    border: 1px solid #ccc;
  }
  .tile-list.--home-news {
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: var(--margin_px) clamp(20px, 7.2vw, var(--margin_px));
  }
  .tile-list.--home-news .date {
    line-height: 1;
    font-weight: var(--font-weight-bold);
  }
  .tile-list.--home-news .news-tile-img {
    grid-row: 1;
  }
  .tile-list.--home-news .news-header {
    grid-row: 2;
  }
  .tile-list.--home-news .news-tile-text {
    grid-row: 3;
    padding-top: 5px;
  }
  .tile-list.--home-news .tile-item {
    grid-template-rows: auto 44px minmax(50px, 1fr);
  }
  .tile-list.--home-news .tile-item:hover .news-tile-img img {
    transform: scale(1.05);
  }
  .tile-list.--home-news .click-expand {
    grid-row: 3;
  }
  .tile-list.--news {
    grid-template-columns: repeat(auto-fill, minmax(255px, 1fr));
    gap: 50px clamp(20px, 7.2vw, 67px);
  }
  .tile-list.--news .date {
    line-height: 1;
    font-weight: var(--font-weight-bold);
  }
  .tile-list.--news .news-tile-img {
    grid-row: 1;
  }
  .tile-list.--news .news-tile-img img {
    aspect-ratio: 325/190;
  }
  .tile-list.--news .news-header {
    grid-row: 2;
  }
  .tile-list.--news .news-tile-text {
    grid-row: 3;
  }
  .tile-list.--news .tile-item {
    row-gap: 20px;
  }
  .tile-list.--news .tile-item:hover .news-tile-img img {
    transform: scale(1.05);
  }
  .tile-list.--news .click-expand {
    grid-row: 4;
    justify-self: end;
  }
  .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;
    }
  }
  .inquiry-block__child .btn-more {
    justify-self: center;
  }
  @media screen and (max-width: 1280px) {
    .inquiry-block__child .tel {
      font-size: 3.2cqw;
    }
  }
  @media screen and (max-width: 834px) {
    .inquiry-block__child .tel {
      font-size: 4rem;
    }
  }
  @media screen and (max-width: 480px) {
    .inquiry-block__child .tel {
      font-size: 9cqw;
    }
  }
  .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-block;
    color: var(--black-color);
    line-height: 1;
    font-size: 2.1rem;
    font-family: var(--en-font-family);
    font-weight: var(--font-weight-bold);
    padding-top: 4px;
  }
  @media screen and (max-width: 834px) {
    .tel-text {
      font-size: 2.5rem;
    }
  }
  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;
  }
  button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    appearance: none;
  }
  select {
    text-indent: 0.01px;
    text-overflow: unset;
    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: 680px;
    margin-top: 20px;
    justify-self: center;
  }
  .form__inner {
    padding-left: 5vw;
    padding-right: 5vw;
  }
  .form .btn-more {
    --min-width: 160px;
  }
  @media screen and (max-width: 480px) {
    .form .btn-more {
      --min-width: inherit;
    }
  }
  .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[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::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 20px;
  }
  .form-item-list > * {
    display: inline-flex;
    align-items: center;
    line-height: 1.1;
    column-gap: 7px;
  }
  .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 3px 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 3px 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;
  }
  @media screen and (max-width: 480px) {
    .form-flex-btn {
      flex-direction: column-reverse;
    }
  }
  /* 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;
  }
  .select-language {
    position: relative;
  }
  .select-language__child {
    position: relative;
    padding-top: calc(0.7em - 1px);
    padding-bottom: calc(0.75em - 1px);
    padding-left: calc(2.25em - 1px);
    border: 1px solid #dbdbdb;
    border-radius: 4px;
    font-size: 1.4rem;
    padding-right: 2em;
    width: 150px;
  }
  @media screen and (max-width: 1180px) {
    .select-language__child {
      padding-top: calc(0.2em - 1px);
      padding-bottom: calc(0.25em - 1px);
    }
  }
  .select-language::before {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    background-image: url(/assets/images/pict/pict-globe.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  .select-language::after {
    content: "";
    display: block;
    width: 0.85em;
    height: 0.85em;
    position: absolute;
    top: 50%;
    transform: translateY(calc(-50% - 2px)) rotate(-45deg);
    transform-origin: center;
    border: 2px solid var(--black-color);
    border-radius: 2px;
    border-right: 0;
    border-top: 0;
    right: 1.2em;
    z-index: 1;
    pointer-events: none;
  }
  @media screen and (max-width: 920px) {
    .select-language::after {
      display: none;
    }
  }
  .select-language:focus {
    border: 1px solid var(--base-color);
  }
  .translate-by-google {
    position: absolute;
    top: -23px;
    left: 3px;
  }
  @media screen and (max-width: 1180px) {
    .translate-by-google {
      top: -15px;
    }
    .translate-by-google img {
      width: 100px;
      height: auto;
    }
  }
  @media screen and (max-width: 920px) {
    .translate-by-google {
      display: none;
    }
  }
  @media screen and (max-width: 920px) {
    .btn-language {
      display: block;
      position: relative;
      align-self: start;
    }
    .btn-language::before {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      content: "";
      display: block;
      width: 30px;
      height: 30px;
      background-image: url(/assets/images/pict/pict-globe-white.svg);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      z-index: 1;
      pointer-events: none;
    }
    .btn-language .select-language__child {
      width: 65px;
      height: 65px;
      padding: 0;
      border: none;
      border-radius: 0;
      background-color: var(--black-color);
      color: transparent;
    }
    .btn-language .select-language__child:hover {
      background-color: var(--base-color);
    }
  }
  .mobile-translate-by-google {
    display: none;
    position: absolute;
    bottom: -19px;
    right: 24px;
  }
  @media screen and (max-width: 834px) {
    .mobile-translate-by-google {
      display: block;
    }
  }
  .first-view {
    max-width: var(--base-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--home_margin);
    padding-right: var(--home_margin);
  }
  @media screen and (max-width: 834px) {
    .first-view {
      padding-left: 0;
      padding-right: 0;
    }
  }
  .first-view-content {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 73px 180px;
    height: calc(100svh - var(--header-height));
  }
  @media screen and (max-width: 834px) {
    .first-view-content {
      grid-template-columns: 1fr;
      grid-template-rows: auto auto auto auto;
      height: auto;
    }
  }
  .home-lead-text {
    display: flex;
    flex-direction: column;
    position: relative;
    align-self: center;
  }
  @media screen and (max-width: 834px) {
    .home-lead-text {
      padding-inline: var(--sp_margin_px);
      padding-block: 20px 10px;
    }
  }
  .home-lead-text::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    position: absolute;
    background-image: url(/assets/images/common/r.svg);
    background-repeat: no-repeat;
    background-size: 10px;
    transform: scale(-1, -1);
    top: -10px;
    left: 0;
  }
  .home-lead-text::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    position: absolute;
    background-image: url(/assets/images/common/r.svg);
    background-repeat: no-repeat;
    background-size: 10px;
    transform: scale(-1, -1);
    top: 63px;
    right: -10px;
  }
  .home-lead-text__child {
    font-size: 3rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.6;
    letter-spacing: 0.02em;
  }
  .home-lead-text__child span {
    font-size: inherit;
  }
  @media screen and (max-width: 1180px) {
    .home-lead-text__child {
      font-size: clamp(2rem, 6cqw, 3rem);
      white-space: normal;
    }
  }
  @media screen and (max-width: 480px) {
    .home-lead-text__child {
      font-size: clamp(2rem, 8cqw, 3rem);
    }
    .home-lead-text__child:first-child {
      font-size: 1.8rem;
      color: var(--base-color);
      font-weight: var(--font-weight-medium);
      padding-bottom: 5px;
    }
    .home-lead-text__child:not(:first-child) {
      line-height: 1.4;
      color: var(--black-color);
    }
    .home-lead-text__child:not(:first-child) span {
      color: inherit !important;
    }
  }
  .multilingual-active .home-lead-text__child {
    font-size: clamp(2rem, 6cqw, 2.5rem);
  }
  .point {
    display: flex;
    flex-wrap: wrap;
    margin-left: var(--margin_px);
    gap: 10px;
    padding-bottom: 30px;
  }
  @media screen and (max-width: 1180px) {
    .point {
      margin-left: 15px;
      padding-bottom: 10px;
    }
  }
  @media screen and (max-width: 834px) {
    .point {
      margin-inline: var(--sp_margin_px);
      margin-top: -15px;
    }
  }
  @media screen and (max-width: 480px) {
    .point {
      gap: 7px;
    }
  }
  .point > li {
    display: inline-flex;
    align-self: center;
    font-size: 2.2rem;
    line-height: 1;
    padding: 0.75em 0.8em 0.7em 0.8em;
    color: #fff;
    background-color: var(--base-color);
    white-space: nowrap;
    font-feature-settings: "palt";
  }
  @media screen and (max-width: 1180px) {
    .point > li {
      white-space: normal;
      line-height: 1.2;
      font-size: clamp(1.4rem, 3vw, 1.8rem);
    }
  }
  .home-badge {
    position: absolute;
    top: 50px;
    left: -50px;
    z-index: 1;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.5em;
    min-width: 5.9em;
    min-height: 5.9em;
    aspect-ratio: 1/1;
    padding: 0.5em;
    font-size: 2.2rem;
    line-height: 1;
    text-align: center;
    background-color: var(--key-color);
    border-radius: 100%;
  }
  .home-badge .badge__child {
    font-size: inherit;
    color: #fff;
    font-weight: var(--font-weight-bold);
  }
  @media screen and (max-width: 1180px) {
    .home-badge {
      top: 20px;
      left: 20px;
    }
  }
  @media screen and (max-width: 834px) {
    .home-badge {
      position: static;
      grid-column: 1;
      grid-row: 2;
      display: block;
      min-height: auto;
      border-radius: 0;
      aspect-ratio: auto;
      font-size: clamp(1.8rem, 5.2vw, 2rem);
      padding: 15px var(--sp_margin_px);
      text-align: left;
      transform: none;
    }
  }
  .multilingual-active .home-badge {
    grid-column: 1;
    grid-row: 1/3;
    align-self: end;
    display: block;
    position: static;
    transform: none;
    border-radius: 0;
    min-width: initial;
    min-height: initial;
    aspect-ratio: auto;
    text-align: left;
    font-size: 3rem;
    margin-left: calc(var(--home_margin) * -1 / 2);
  }
  @media screen and (max-width: 1180px) {
    .multilingual-active .home-badge {
      margin-left: 0;
    }
  }
  @media screen and (max-width: 834px) {
    .multilingual-active .home-badge {
      grid-row: 2;
    }
  }
  .multilingual-active .home-badge .badge__child {
    display: inline-block;
  }
  .multilingual-active .home-badge br {
    display: none;
  }
  .home-slide {
    overflow: hidden;
    grid-column: 1/3;
    grid-row: 1/3;
  }
  @media screen and (max-width: 834px) {
    .home-slide {
      grid-column: 1;
      grid-row: 3;
    }
  }
  .home-slide .slide__content {
    position: absolute;
    top: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    background-color: transparent !important;
  }
  .home-slide .slide__content__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
  }
  @media screen and (max-width: 834px) {
    .home-slide .slide__content__img {
      object-position: center;
      border-radius: 0;
      height: auto;
      aspect-ratio: 375/252;
    }
  }
  .first-view-inquiry {
    grid-column: 1/-1;
    grid-row: 1;
    justify-self: end;
    z-index: 1;
    position: relative;
    width: fit-content;
    display: inline-flex;
    align-self: start;
    column-gap: 20px;
    justify-content: space-between;
    background-color: #fff;
    border-radius: 0 0 0 10px;
    padding-left: 20px;
    padding-bottom: 20px;
  }
  @media screen and (max-width: 920px) {
    .first-view-inquiry {
      display: none;
    }
  }
  .first-view-inquiry::before {
    top: 0;
    left: -10px;
    z-index: 1;
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    position: absolute;
    background-image: url(/assets/images/common/r.svg);
    background-repeat: no-repeat;
    background-size: 10px;
  }
  @media screen and (max-width: 834px) {
    .first-view-inquiry::before {
      display: none;
    }
  }
  .first-view-inquiry::after {
    right: 0;
    bottom: -10px;
    z-index: 1;
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    position: absolute;
    background-image: url(/assets/images/common/r.svg);
    background-repeat: no-repeat;
    background-size: 10px;
  }
  @media screen and (max-width: 834px) {
    .first-view-inquiry::after {
      display: none;
    }
  }
  .first-view-bottom-left {
    grid-column: 1/2;
    grid-row: 2/4;
    z-index: 1;
    container-type: inline-size;
    display: grid;
    padding-top: 15px;
    border-radius: 0 10px 0 0;
    background-color: #fff;
  }
  @media screen and (max-width: 834px) {
    .first-view-bottom-left {
      grid-column: 1;
      grid-row: 1;
    }
  }
  .multilingual-active .first-view-bottom-left {
    grid-row: 3;
  }
  @media screen and (max-width: 834px) {
    .multilingual-active .first-view-bottom-left {
      grid-row: 1;
    }
  }
  .first-view-bottom-right {
    grid-column: 2/3;
    grid-row: 2/4;
    z-index: 2;
    align-self: end;
    margin-right: -50px;
  }
  @media screen and (max-width: 1180px) {
    .first-view-bottom-right {
      margin-right: 0px;
    }
  }
  @media screen and (max-width: 834px) {
    .first-view-bottom-right {
      grid-column: 1;
      grid-row: 4;
    }
  }
  .first-view-bottom-right-bg {
    grid-column: 2/3;
    grid-row: 3/4;
    background-color: #fff;
    z-index: 1;
  }
}
@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-14 {
      font-size: 1.4rem;
    }
    .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);
  }
  @media screen and (max-width: 480px) {
    .sp-bold {
      font-weight: var(--font-weight-bold);
    }
  }
  .normal {
    font-weight: var(--font-weight-medium);
  }
  .italic {
    font-style: italic;
  }
  .indent {
    text-indent: 1em;
  }
  .para {
    --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: 0.3em;
  }
  .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;
  }
  .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;
  }
  .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;
  }
}
@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-light {
    background-color: var(--base-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-light-gray-full {
    border-image-source: linear-gradient(var(--gray-bg-color), var(--gray-bg-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;
  }
  .form a:focus-visible,
  .form input:focus-visible,
  .form textarea:focus-visible,
  .form button:focus-visible,
  .form select:focus-visible {
    border-color: transparent;
    outline-color: var(--base-color);
  }
  .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 1px 5px 0px rgba(0, 0, 0, 0.1), 0px 3px 10px -5px rgba(0, 0, 0, 0.08), 0px 5px 20px -10px rgba(0, 0, 0, 0.06);
  }
  .map {
    overflow: hidden;
  }
  .map iframe {
    aspect-ratio: 111/50;
    width: 100%;
    height: 100%;
    max-height: 500px;
  }
  @media screen and (max-width: 834px) {
    .map iframe {
      min-height: 210px;
      aspect-ratio: 375/210;
    }
  }
  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 {
    grid-column: 2/4;
    display: grid;
    grid-template-columns: 195px 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    padding-block: 30px 24px;
    row-gap: 30px;
    margin-top: 100px;
    overflow: hidden;
  }
  @media screen and (max-width: 834px) {
    .home-news {
      grid-column: 2;
      grid-template-columns: 1fr 1fr;
    }
  }
  @media screen and (max-width: 480px) {
    .home-news {
      margin-top: 50px;
    }
  }
  .home-news .btn-border-radius {
    grid-column: 1/2;
    grid-row: 2/3;
    justify-self: center;
    align-self: start;
  }
  @media screen and (max-width: 834px) {
    .home-news .btn-border-radius {
      grid-column: 1/3;
      grid-row: 3;
    }
  }
  .home-news-title {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    display: inline-grid;
    justify-content: center;
    align-items: center;
    row-gap: 8px;
    text-align: center;
  }
  @media screen and (max-width: 834px) {
    .home-news-title {
      grid-column: 1/3;
      align-self: center;
    }
  }
  .home-news-title__child {
    font-size: 2rem;
    margin-bottom: 2px;
    line-height: 1;
  }
  .home-news-title .en-title {
    font-size: 1.2rem;
    padding-bottom: 0;
  }
  .home-news .tile-list {
    grid-column: 2;
    grid-row: 1/3;
    overflow: auto;
    grid-template-columns: repeat(4, minmax(210px, 1fr));
  }
  @media screen and (max-width: 834px) {
    .home-news .tile-list {
      grid-column: 1/3;
      grid-row: 2;
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .glightbox-clean .gslide-title {
    font-size: 1.6rem !important;
  }
}
