@charset "UTF-8";
@layer reset, base, layout, components, project, objects, utilities;
@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: outside;
    margin-inline-start: var(--margin-inline, 1.4em);
    margin-block-end: var(--margin-bottom, 1.6em);
  }
  :where(ol:not([class])) {
    list-style-type: decimal;
    list-style-position: outside;
    margin-inline-start: var(--margin-inline, 1.2em);
    margin-block-end: var(--margin-bottom, 1.6em);
  }
  :where(ul:not([class]), ol:not([class])) :is(ul:not([class]), ol:not([class])) {
    margin-inline-start: var(--margin-inline, 1.6em);
  }
  :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;
  }
  :root {
    --default-font-size: 62.5%;
    --base-width: 1180px;
    --outer-width: 1500px;
    --inner-width: 980px;
    --header-height: 85px;
    --base-font-size: 1.6rem;
    --line-height: 1.6;
    --base-color: #29275e;
    --caution: #b8272d;
    --gray: #c2ccd2;
    --light-gray: #e8ecee;
    --black-color: #000;
    --yellow: #fbce00;
    --light-yellow: #fff9e0;
    --font-trim-top: 0;
    --font-trim-bottom: 0;
    --logo-width: 288px;
    --header-margin-inline: 15px;
    --margin_px: 50px;
    --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-extra-bold: 800;
    --font-weight-black: 900;
    --font-family:
      Barlow,
      "Noto Sans JP",
      meiryo,
      sans-serif;
    --en-font-family: Barlow, sans-serif;
  }
  @media screen and (max-width: 834px) {
    :root {
      --logo-width: 217px;
      --header-height: 90px;
      --margin_px: 20px;
    }
  }
  @font-face {
    font-family: Barlow;
    font-style: normal;
    font-weight: 400;
    src: url("/css/fonts/Barlow-Regular.ttf") format("truetype");
    font-display: swap;
  }
  @font-face {
    font-family: Barlow;
    font-style: normal;
    font-weight: 500;
    src: url("/css/fonts/Barlow-Medium.ttf") format("truetype");
    font-display: swap;
  }
  @font-face {
    font-family: Barlow;
    src: url("/css/fonts/Barlow-Bold.ttf") format("truetype");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
  }
  .barlow-regular {
    font-family: Barlow;
    font-weight: 400;
  }
  .barlow-medium {
    font-family: Barlow;
    font-weight: 500;
  }
  .barlow-bold {
    font-family: Barlow;
    font-weight: 700;
  }
}
@layer base {
  html {
    font-size: var(--default-font-size);
    scroll-padding-top: var(--header-height);
  }
  html:not(.lenis) {
    scroll-behavior: smooth;
  }
  @media screen and (max-width: 834px) {
    html.safari:not(.lenis) {
      scroll-behavior: auto !important;
    }
  }
  html.lenis {
    scroll-behavior: auto !important;
  }
  body {
    font-size: var(--font-variable, 1rem);
    color: var(--color);
    font-weight: var(--font-weight-normal);
    font-family: var(--font-family);
    line-height: var(--line-height);
  }
  @media screen and (max-width: 834px) {
    body {
      text-size-adjust: 100%;
    }
  }
  :where(a) {
    text-underline-offset: 0.2ex;
    text-decoration: none;
    color: var(--color, var(--base-color));
    transition: all 150ms ease-out;
  }
  :where(a):hover {
    color: var(--hover-color, var(--base-color));
  }
  :where(a[href^="https://"]),
  :where(a[href^="http://"]) {
    overflow-wrap: anywhere;
    word-break: normal;
  }
  :where(p) {
    font-size: var(--font-variable, var(--base-font-size));
    color: var(--color, var(--black-color));
    line-height: var(--line-height-variable, 2);
    text-align: justify;
    margin-block-end: var(--margin-bottom);
  }
  :where(.en p) {
    text-align: initial;
  }
  :where(main *) {
    font-size: var(--font-variable, var(--base-font-size));
  }
  :where(main p:not(:last-of-type):has(+ p)) {
    margin-block-end: var(--flow-space, 1.6em);
  }
  :where(main :is(p, li, dt, dd, th, td) :is(a:link, a:visited)) {
    color: var(--color, var(--base-color));
    text-decoration: underline;
  }
  :where(main :is(p, li, dt, dd, th, td) :is(a:hover, a:active)) {
    text-decoration: none;
  }
  address {
    font-style: normal;
  }
  input,
  textarea {
    appearance: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  input:-webkit-autofill {
    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;
  }
  button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
  }
  select {
    text-indent: 0.01px;
    text-overflow: "";
    background: none transparent;
    vertical-align: middle;
    color: inherit;
    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;
  }
}
@layer layout {
  .page {
    position: relative;
  }
  .sp-scroll-container {
    display: contents;
  }
  @media screen and (max-width: 834px) {
    .sp-scroll-container::before {
      content: "";
      display: block;
      width: 100%;
      height: calc(100dvh - var(--header-height));
      margin-block-start: var(--header-height);
      background-color: rgba(0, 0, 0, 0.5);
      position: fixed;
      top: 0;
      right: 0;
      z-index: 2;
      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: 834px) {
    .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 body {
    scrollbar-gutter: stable;
  }
  .is-sp-open .page {
    overflow: auto;
    scrollbar-gutter: stable;
    scrollbar-color: var(--gray) 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;
  }
  .is-sp-open .body-scroll {
    pointer-events: none;
  }
  body:not(.home) .body-scroll {
    padding-block-start: calc(var(--header-height) + var(--header-margin-inline) * 2);
  }
  .container {
    display: grid;
    grid-template-columns: 1fr var(--outer-width) 1fr;
  }
  @media screen and (max-width: 1615px) {
    .container {
      grid-template-columns: var(--margin_px) 1fr var(--margin_px);
    }
  }
  @media screen and (max-width: 834px) {
    .container {
      grid-template-columns: var(--margin_px) 1fr var(--margin_px);
    }
  }
  .container > * {
    grid-column: 2;
  }
  .container__inner {
    max-width: var(--inner-width);
  }
  .xl-full-bleed {
    width: 100%;
  }
  @media screen and (max-width: 1615px) {
    .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;
    }
  }
  .content-inner {
    max-width: 670px;
    margin-inline: auto;
  }
  .header {
    position: fixed;
    top: 0;
    z-index: 6;
    width: 100%;
    height: calc(var(--header-height) + var(--header-margin-inline) * 2);
    padding: var(--header-margin-inline);
  }
  @media screen and (max-width: 834px) {
    .header {
      position: fixed;
      top: 0;
      left: 0;
      z-index: 993;
      height: var(--header-height);
      padding: 0;
      overflow-y: scroll;
      width: 100vw;
    }
  }
  .header.is-changed {
    position: fixed;
  }
  .container-header {
    display: flex;
    align-items: center;
    height: var(--header-height);
    background-color: rgba(255, 255, 255, 0.9);
    padding-inline: var(--header-margin-inline);
    column-gap: 15px;
  }
  @media screen and (max-width: 834px) {
    .container-header {
      position: relative;
      background-color: rgb(255, 255, 255);
    }
  }
  .drawer-menu {
    display: contents;
  }
  @media screen and (max-width: 834px) {
    .drawer-menu {
      display: flex;
      flex-direction: column;
      position: fixed;
      right: 0;
      z-index: 3;
      width: 100%;
      padding-block-start: var(--header-height);
      max-width: 375px;
      height: fit-content;
      top: 0;
      overflow-y: scroll;
      overscroll-behavior: none;
      transform: translateX(100%);
    }
  }
  .fixed {
    position: fixed;
    transform: translateY(0);
    top: 0;
  }
  .container-nav {
    display: flex;
    margin-inline-start: auto;
    --gnav-text: clamp(1.3rem, 1.5vw, 1.6rem);
  }
  @media screen and (max-width: 834px) {
    .container-nav {
      display: grid;
      grid-template-rows: auto 1fr;
      background-color: var(--base-color);
      padding: 25px 0 50px 0;
      margin: 0;
    }
  }
  @media screen and (max-width: 834px) {
    .univ-logo-img {
      width: 46px;
      height: 45px;
    }
  }
  .logo {
    display: inline-flex;
    align-items: center;
    margin-inline: clamp(5px, 1.8vw, 20px);
    --margin-bottom: 0;
  }
  @media screen and (max-width: 834px) {
    .logo {
      margin-inline: 0 var(--header-margin-inline);
    }
  }
  .logo-img {
    width: var(--logo-width);
    height: 59px;
    object-fit: contain;
  }
  @media screen and (max-width: 834px) {
    .logo-img {
      height: 44px;
    }
  }
  .gnav {
    display: flex;
    justify-content: end;
    flex-wrap: wrap;
    gap: 0 clamp(5px, 1.8vw, 23px);
    padding-inline: var(--header-margin-inline);
  }
  @media screen and (max-width: 834px) {
    .gnav {
      display: grid;
      justify-content: center;
      gap: 0;
      padding-inline: 0;
    }
  }
  .gnav__item > a {
    display: inline-flex;
    height: 30px;
    align-items: center;
    column-gap: 5px;
  }
  .gnav__item > a:hover {
    font-weight: var(--font-weight-bold);
  }
  .gnav__item.is-current {
    --color: var(--yellow) ;
  }
  @media screen and (max-width: 834px) {
    .gnav__item > a {
      display: flex;
      align-items: center;
      height: 55px;
      --color: #fff;
      --hover-color: var(--yellow);
      --gnav-text: 1.6rem;
      column-gap: 7px;
    }
  }
  .gnav__item-text {
    display: block;
    white-space: nowrap;
    line-height: 1;
    letter-spacing: 0.05em;
    font-size: var(--gnav-text);
  }
  .other-nav {
    display: none;
  }
  .mobile-menu-block {
    display: none;
  }
  .sp-menu-btn {
    display: none;
  }
  @media screen and (max-width: 834px) {
    .mobile-menu-block {
      z-index: 4;
      cursor: pointer;
      display: flex;
      align-items: center;
      flex-direction: column;
      gap: 11px;
      overflow: hidden;
      width: 42px;
      position: absolute;
      right: 10px;
      transition: transform 400ms ease-in-out;
      -webkit-tap-highlight-color: transparent;
    }
    .sp-menu-btn {
      display: inline-grid;
      width: 30px;
      height: 23px;
      will-change: transition, position;
      transition: 0.6s cubic-bezier(0.23, -0.195, 0, 1.165);
    }
    .sp-menu-btn label {
      display: block;
      width: inherit;
      height: inherit;
      cursor: pointer;
    }
    .sp-menu-btn input[type=checkbox] {
      border: none;
      width: inherit;
      height: inherit;
      -webkit-appearance: none;
    }
    .sp-menu-btn input[type=checkbox]::after {
      display: none;
    }
  }
  .sp-menu-btn-bar {
    justify-self: center;
    align-self: center;
    display: inline-block;
    position: relative;
    width: 30px;
    height: 23px;
    background: none;
    border: none;
    appearance: none;
    cursor: pointer;
  }
  .sp-menu-btn-bar span {
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 1px;
    background: var(--base-color);
    transition: 0.3s 0.2s;
  }
  .sp-menu-btn-bar span:nth-of-type(1) {
    top: 0;
    left: 0;
  }
  .sp-menu-btn-bar span:nth-of-type(2) {
    bottom: 11px;
    left: 0;
  }
  .sp-menu-btn-bar span:nth-of-type(3) {
    top: 22px;
    left: 0;
  }
  .mobile-menu-block[aria-expanded=true] .sp-menu-btn-bar span:nth-of-type(1) {
    transform: translateY(10px) rotate(-45deg);
  }
  .mobile-menu-block[aria-expanded=true] .sp-menu-btn-bar span:nth-of-type(2) {
    opacity: 0;
  }
  .mobile-menu-block[aria-expanded=true] .sp-menu-btn-bar span:nth-of-type(3) {
    transform: translateY(-12px) rotate(45deg);
  }
  .sp-menu-btn-text {
    align-self: start;
    font-size: 1.2rem;
    line-height: 1;
    color: var(--base-color);
    font-weight: var(--font-weight-medium);
    align-self: center;
    letter-spacing: 0.1em;
  }
  :has(.mobile-menu-block[aria-expanded=true]) .other-nav {
    display: block;
    margin-top: 50px;
    padding-inline: 40px;
  }
  .other-nav .tel-link {
    --color: #fff;
    display: grid;
    justify-items: center;
    row-gap: 10px;
    line-height: 1;
    grid-template-columns: auto 1fr;
    grid-template-areas: "text text" "no no" "note note";
  }
  .other-nav .tel-link__text {
    grid-area: text;
    font-size: 1.6rem;
  }
  .other-nav .tel-link__child {
    grid-area: no;
    display: inline-flex;
    align-items: center;
    column-gap: 8px;
  }
  .other-nav .tel-link__child__no {
    font-size: 3.2rem;
    letter-spacing: 0.05em;
    font-weight: var(--font-weight-medium);
  }
  .other-nav .tel-link__note {
    grid-area: note;
    font-size: 1.4rem;
  }
  .container-pagetop {
    position: fixed;
    z-index: 991;
    bottom: 55px;
    left: 0;
    opacity: 0;
    pointer-events: none;
    display: flex;
    justify-content: flex-end;
    width: 100%;
    padding-inline: 35px 0;
    height: 106px;
    transition: opacity 300ms ease-in, top 300ms linear, bottom 300ms linear;
  }
  @media screen and (max-width: 834px) {
    .container-pagetop {
      bottom: 180px;
      height: auto;
      padding-inline: 0 0;
    }
  }
  .container-pagetop.is-active {
    opacity: 1;
  }
  .container-pagetop.is-active .pagetop-btn {
    pointer-events: auto;
  }
  .container-pagetop.is-bottom {
    position: absolute;
    top: -25px;
    bottom: auto;
    transition: opacity 300ms ease-in, top 300ms linear, bottom 300ms linear;
  }
  @media screen and (max-width: 480px) {
    .container-pagetop.is-bottom {
      top: -18px;
    }
  }
  .pagetop-btn {
    pointer-events: none;
    display: inline-grid;
    justify-items: center;
    row-gap: 8px;
    width: 50px;
    height: 106px;
    position: relative;
    z-index: 0;
  }
  @media screen and (max-width: 480px) {
    .pagetop-btn {
      row-gap: 2px;
      width: 30px;
      height: 40px;
    }
  }
  .pagetop-btn__icon {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    display: inline-grid;
    width: 1px;
    height: 20px;
  }
  .pagetop-btn__icon .line {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1px;
    height: 20px;
    transform: translateX(-50%);
    background-color: var(--color, #000);
    transform-origin: center bottom;
  }
  .pagetop-btn__icon .dot {
    position: relative;
    top: -5px;
    left: -2px;
    display: inline-block;
    width: 5px;
    height: 5px;
    background-color: inherit;
    border-radius: 100%;
    background-color: var(--color, #000);
    transform-origin: center bottom;
  }
  .pagetop-btn:hover .line {
    animation: pagetopTopIcon 1.5s infinite 0.4s ease-out forwards;
  }
  .pagetop-btn:hover .dot {
    animation: pagetopTopPin 1.5s infinite 0.4s ease-out forwards;
  }
  @keyframes pagetopTopIcon {
    0% {
      height: 0;
      opacity: 1;
    }
    70% {
      height: 20px;
      opacity: 1;
    }
    90% {
      height: 20px;
      opacity: 0;
    }
    100% {
      height: 0;
      opacity: 0;
    }
  }
  @keyframes pagetopTopPin {
    0% {
      top: 18px;
      opacity: 1;
    }
    70% {
      top: -5px;
      opacity: 1;
    }
    90% {
      height: -5px;
      opacity: 0;
    }
    100% {
      opacity: 0;
    }
  }
  .pagetop-btn-text {
    grid-column: 1;
    grid-row: 2;
    color: var(--color, var(--black-color));
    font-family: var(--en-font-family);
    font-weight: var(--font-weight-normal);
    font-size: 1.5rem;
    line-height: 1;
    width: 15px;
    height: 72px;
    white-space: nowrap;
    position: relative;
    z-index: 2;
    writing-mode: vertical-rl;
    transition: color 200ms ease-out;
  }
  @media screen and (max-width: 834px) {
    .pagetop-btn-text {
      display: grid;
      align-items: center;
    }
  }
  @media screen and (max-width: 480px) {
    .pagetop-btn-text {
      font-size: 0.9rem;
    }
  }
  .footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .footer__left {
    grid-column: 1;
    grid-row: 1;
  }
  .footer__right {
    grid-column: 2;
    grid-row: 1;
  }
  @media screen and (max-width: 834px) {
    .footer {
      grid-template-columns: 1fr;
    }
    .footer__left {
      grid-column: 1;
      grid-row: 2;
    }
    .footer__right {
      grid-column: 1;
      grid-row: 1;
    }
  }
  .footer-info {
    display: grid;
    grid-template-rows: auto 1fr auto;
    padding-block-end: 20px;
    height: 100%;
    max-height: 478px;
    padding-inline: var(--margin_px);
  }
  .footer-logo {
    display: flex;
    column-gap: 30px;
    padding-block: 50px 30px;
  }
  .footer-logo .logo {
    margin-inline: 0;
  }
  .footer-logo .logo img {
    width: 252px;
    height: 52px;
    object-fit: contain;
  }
  @media screen and (max-width: 480px) {
    .footer-logo .logo img {
      max-width: 252px;
      width: 100%;
      height: auto;
    }
  }
  @media screen and (max-width: 834px) {
    .footer-logo {
      padding-block: 40px 30px;
      column-gap: 15px;
    }
    .footer-logo .univ-logo-img {
      width: 56px;
      height: 55px;
    }
  }
  .address {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  @media screen and (max-width: 834px) {
    .address {
      --line-height-variable: 1.7;
    }
  }
  .footer-other-menu {
    align-self: end;
    width: fit-content;
  }
  @media screen and (max-width: 834px) {
    .footer-other-menu {
      margin-block-start: 40px;
    }
  }
  .footer-other-menu a {
    --color: var(--black-color);
    display: inline-flex;
    align-items: center;
    column-gap: 10px;
    font-size: 1.6rem;
    padding-bottom: 8px;
    transition: all 150ms ease-out;
  }
  .footer-other-menu a:hover {
    text-decoration: underline;
    transition: all 150ms ease-out;
  }
  .sns-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 90px;
    min-height: 240px;
  }
  .sns-container__body {
    display: flex;
    column-gap: 40px;
    margin-block: 50px;
  }
  @media screen and (max-width: 834px) {
    .sns-container__body {
      margin-block-start: 40px;
    }
  }
  .sns-item {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 80px;
    height: 80px;
    background-color: #fff;
    border-radius: 100%;
  }
  .sns-item:hover {
    background-color: var(--yellow);
  }
  @media screen and (max-width: 834px) {
    .sns-item {
      width: 60px;
      height: 60px;
    }
  }
  .pagination {
    display: flex;
    align-items: center;
    column-gap: clamp(5px, 5vw, 25px);
    justify-content: center;
  }
  @media screen and (max-width: 480px) {
    .pagination {
      column-gap: 15px;
    }
  }
  .pagination__pages {
    display: flex;
    column-gap: 10px;
    list-style-type: none;
  }
  @media screen and (max-width: 480px) {
    .pagination__pages {
      column-gap: 10px;
    }
  }
  .pagination li {
    display: inline-flex;
    align-items: center;
  }
  .pagination li > a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 1.8rem;
    color: var(--black-color);
    font-weight: var(--font-weight-normal);
    width: 50px;
    height: 50px;
    text-decoration: none;
    line-height: 1;
    border-radius: 100%;
    transition: all 200ms ease-in-out;
  }
  @media screen and (max-width: 480px) {
    .pagination li > a {
      width: 35px;
      height: 35px;
      font-size: 1.6rem;
    }
  }
  .pagination li > a:hover {
    background-color: var(--yellow);
    color: var(--base-color);
  }
  .pagination li.current a {
    background-color: var(--yellow);
    color: var(--base-color);
  }
  @container news (width <=510px) {
    .pagination li > a {
      width: 35px;
      height: 35px;
      font-size: 1.6rem;
    }
    .pagination__pages {
      column-gap: 10px;
    }
  }
  .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;
    column-gap: 2px;
    --hover-color: var(--yellow);
    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(--hover-color, var(--base-color));
  }
  .pagination__prev .prev,
  .pagination__next .prev {
    justify-content: flex-start;
  }
  .pagination__prev .prev:hover .arrow-circle,
  .pagination__next .prev:hover .arrow-circle {
    transform: scale(-1) translateX(5px);
  }
  .pagination__prev .next,
  .pagination__next .next {
    justify-content: flex-end;
  }
  .pagination__prev .next:hover .arrow-circle,
  .pagination__next .next:hover .arrow-circle {
    transform: translateX(5px);
  }
  @container news (width <=510px) {
    .pagination__prev,
    .pagination__next {
      height: 25px;
    }
    .pagination__prev .prev,
    .pagination__prev .next,
    .pagination__next .prev,
    .pagination__next .next {
      min-width: 25px;
      height: 25px;
      border: none;
    }
  }
  .after-arrow,
  .prev-arrow {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 32px;
  }
  .after-arrow::after,
  .prev-arrow::after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 8px;
    height: 12px;
    top: calc(50% + 1px);
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: url("/img/pict/pict-page-next.svg");
    background-repeat: no-repeat;
    background-position: center;
    transition: all 200ms ease-out;
  }
  @container news (width <=510px) {
    .after-arrow,
    .prev-arrow {
      height: 25px;
    }
  }
  .prev-arrow::after {
    transform: translate(-50%, -50%) translateX(2px) scale(-1, -1);
  }
  .prev:hover .after-arrow::after,
  .prev:hover .prev-arrow::after,
  .next:hover .after-arrow::after,
  .next:hover .prev-arrow::after {
    background-image: url("/img/pict/pict-page-next-hover.svg");
  }
  .prev:hover .prev-arrow::after {
    transform: translate(-50%, -50%) translateX(-3px) scale(-1, -1);
  }
  .next:hover .after-arrow::after {
    transform: translate(-50%, -50%) translateX(5px);
  }
  .page-nav {
    padding-block-start: 80px;
    display: grid;
    margin-inline: auto;
    gap: 0 75px;
    grid-template-columns: 1fr auto 1fr;
    grid-template-areas: "prev pageback next";
  }
  @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: 25px;
    height: 25px;
    border-radius: 100%;
    background-image: url("/img/pict/pict-page-next.svg");
    background-repeat: no-repeat;
    background-position: center;
    transition: all 200ms ease-out;
  }
  .page-nav .prev {
    margin-left: auto;
    transform: scale(-1, 1);
  }
  .page-nav .next {
    margin-right: auto;
  }
  .page-nav .page-nav__left:hover {
    --color: var(--yellow);
  }
  .page-nav .page-nav__left:hover .prev {
    transform: scale(-1, 1) translateX(5px);
    background-image: url("/img/pict/pict-page-next-hover.svg");
  }
  .page-nav .page-nav__right:hover {
    --color: var(--yellow);
  }
  .page-nav .page-nav__right:hover .next {
    transform: translateX(5px);
    background-image: url("/img/pict/pict-page-next-hover.svg");
  }
  .page-nav .page-nav__back:hover {
    --color: var(--yellow);
  }
}
@layer components {
  .text-trim {
    text-box-trim: trim-both;
    text-box-edge: text;
  }
  .text-trim-fallback {
    display: flow-root;
  }
  .text-trim-fallback::before,
  .text-trim-fallback::after {
    content: "";
    display: table;
  }
  .text-trim-fallback::before {
    margin-bottom: var(--trim-top, 0);
  }
  .text-trim-fallback::after {
    margin-top: var(--trim-bottom, 0);
  }
  .btn {
    display: inline-flex;
    align-items: center;
    transition: all 200ms ease-in-out;
    padding: 0.6em 1em 0.5em;
    line-height: 1;
  }
  .btn-more {
    display: inline-grid;
    gap: 0 15px;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    align-self: center;
    width: var(--width, 335px);
    min-height: 70px;
    padding: 0.7em 13px 0.6em;
    color: var(--color, var(--base-color));
    position: relative;
    border: 1px solid var(--bd-color, var(--base-color));
    background-color: var(--bg-color, #fff);
    text-decoration: none;
    border-radius: 0;
    transition: all 200ms ease-in-out;
    font-weight: var(--font-weight-normal);
  }
  @media screen and (max-width: 834px) {
    .btn-more {
      --min-width: auto;
      --width: 100%;
      max-width: 335px;
      --font-variable: 1.6rem;
    }
  }
  @media screen and (max-width: 480px) {
    .btn-more {
      gap: 0 5px;
      max-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;
    letter-spacing: 0.05em;
    font-size: var(--font-variable, 2rem);
    font-weight: var(--font-weight-normal);
    line-height: 1.3;
    text-align: center;
  }
  .btn-more__back {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    transition: all 200ms ease-in-out;
  }
  .btn-more .btn-more__back:has(.pict) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    transition: all 200ms ease-out;
  }
  .btn-more:hover {
    --color: #fff;
    --bg-color: var(--base-color);
  }
  .btn-more:not(:has(.btn-more__front)) {
    grid-template-columns: 1fr auto;
  }
  .btn-more:not(:has(.btn-more__front)) .btn-more__text {
    grid-column: 1;
    padding-inline-start: clamp(0px, 1.6vw, 1.5em);
  }
  .btn-more:not(:has(.btn-more__front)) .btn-more__back {
    grid-column: 2;
  }
  .btn-more.--small {
    grid-template-columns: 1fr 32px;
    width: var(--width, 280px);
    min-height: 45px;
    padding: 6px;
    color: var(--color, var(--black-color));
    position: relative;
    border: 1px solid var(--bd-color, var(--black-color));
    background-color: var(--bg-color, #fff);
  }
  .btn-more.--small .btn-more__text {
    grid-column: 1;
    font-size: var(--font-variable, 1.8rem);
    font-weight: var(--font-weight-normal);
    line-height: 1.3;
    padding-block-start: 2px;
  }
  .btn-more.--small__back {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
  }
  .btn-more.--small .btn-more__back:has(.pict) {
    width: 32px;
    height: 32px;
    background-color: var(--bg-icon-color, var(--black-color));
  }
  .btn-more.--small:hover {
    --color: #fff;
    --bg-color: var(--base-color);
    --bg-icon-color: #fff;
  }
  .btn-more.--disabled {
    border: none;
    --bg-color: var(--light-gray);
    grid-template-columns: 1fr;
    gap: 0;
  }
  .btn-more.--disabled .btn-more__text {
    grid-column: 1/3;
    padding-inline: 0;
  }
  .btn-more.--disabled .btn-more__back {
    display: none;
  }
  .inversion .btn-more {
    --color: #fff;
    --bd-color: #fff;
    --bg-color: var(--base-color);
  }
  .inversion .btn-more:hover {
    --color: var(--base-color);
    --bg-color: #fff;
  }
  .btn-more.--yellow-mode {
    --color: var(--base-color);
    --bg-color: var(--yellow);
  }
  .btn-more.--yellow-mode:hover {
    --bg-color: var(--base-color);
    --color: #fff;
  }
  .btn-more.--mail {
    padding-inline-end: 16px;
    background-color: transparent;
    --font-variable: 2rem;
  }
  @media screen and (max-width: 480px) {
    .btn-more.--mail {
      --width: 100%;
    }
  }
  .btn-more.--mail:hover {
    background-color: var(--base-color);
  }
  .btn-text {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    --font-variable: 1.6rem;
  }
  .list-style-none {
    list-style-type: none;
  }
  .dl-list {
    display: grid;
    justify-content: start;
    grid-template-columns: auto 1fr;
    gap: 0.3em var(--gap, 1em);
    line-height: var(--line-height-variable, 1.8);
    margin-block-end: 0.3em;
  }
  .dl-list[style] {
    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;
  }
  .ol-normal {
    font-size: var(--font-variable, var(--base-font-size));
    line-height: var(--line-height-variable, 1.9);
  }
  .ol-normal li {
    padding-inline-start: 1em;
  }
  .ol-normal li:not(:last-child) {
    margin-block-end: 0.1em;
  }
  .ol-normal li::before {
    text-indent: -1em;
  }
  .ol-normal > li {
    padding-inline-start: 0;
  }
  .ol-normal > li::marker {
    color: var(--marker-color, var(--green-color));
  }
  .list-dot {
    font-size: var(--font-variable, var(--base-font-size));
    line-height: var(--line-height-variable, 1.9);
  }
  .list-dot li {
    padding-inline-start: 1em;
  }
  .list-dot li:not(:last-child) {
    margin-block-end: 0.1em;
  }
  .list-dot li::before {
    text-indent: -1em;
  }
  .list-dot {
    text-indent: -1em;
  }
  .list-dot > li::before {
    display: inline-flex;
    align-items: center;
    content: "";
    width: 0.5em;
    height: 0.5em;
    border-radius: 100%;
    margin-inline: 0.3em;
    transform: translateY(-0.35em);
    -moz-transform: translateY(-0.15em);
    background-color: var(--dot-color, var(--base-color));
  }
  @media screen and (max-width: 480px) {
    .safari .list-dot > li::before {
      transform: translateY(-0.15em);
    }
  }
  .list-square {
    list-style: none;
    list-style-position: inside;
    font-size: var(--font-variable, var(--base-font-size));
    line-height: var(--line-height-variable, 1.9);
  }
  .list-square li {
    padding-inline-start: 1em;
  }
  .list-square li:not(:last-child) {
    margin-block-end: 0.1em;
  }
  .list-square li::before {
    text-indent: -1em;
  }
  .list-square > li {
    text-indent: 0;
    padding-inline-start: 1em;
    margin-inline-start: 1em;
  }
  .list-square > li::before {
    color: var(--icon-color, #f2809b);
    content: "■";
    transform: translateX(-1em);
    display: inline-block;
  }
  .list-inline li {
    display: inline-block;
    margin-right: 2em;
  }
  .list-normal {
    list-style-type: disc;
  }
  .list-normal > li {
    margin-inline-start: 1em;
    margin-block-end: 10px;
  }
  .list-no {
    counter-reset: number;
    font-size: var(--font-variable, var(--base-font-size));
    line-height: var(--line-height-variable, 1.9);
  }
  .list-no li {
    padding-inline-start: 1em;
  }
  .list-no li:not(:last-child) {
    margin-block-end: 0.1em;
  }
  .list-no li::before {
    text-indent: -1em;
  }
  .list-no {
    margin-inline-start: 1.2em;
  }
  .list-no > li {
    position: relative;
    padding-inline-start: 0;
  }
  .list-no > li::before {
    position: absolute;
    top: var(--top, 6.5px);
    left: -1.2em;
    counter-increment: number;
    content: counter(number);
    display: inline-flex;
    justify-items: center;
    justify-self: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    line-height: var(--marker-line-height, 1.05);
    background-color: var(--color, var(--base-color));
    font-family: Arial, sans-serif;
    font-size: var(--font-variable, 1.1em);
    color: #fff;
    text-indent: 0;
    border-radius: 100%;
  }
  :is(.safari, .firefox) .list-no {
    --top: 7px;
    --marker-line-height: 1.065;
  }
  a[href*=".pdf"]::after {
    flex: 0 0 auto;
    content: "";
    display: inline-block;
    width: 20px;
    height: 25px;
    margin-left: 10px;
    background-image: url("/img/pict/pict-pdf.svg");
    background-size: contain;
    background-repeat: no-repeat;
    transition: transform 200ms ease-out;
  }
  a[href*=".pdf"]:hover::after {
    background-image: url("/img/pict/pict-pdf_r.svg");
  }
  li:has(a[href*=".pdf"]) a::after {
    transform: translateY(5px);
  }
  a.btn-more[href*=".pdf"]::after {
    display: none;
  }
  .table-fixed {
    table-layout: fixed;
  }
  :where(table) {
    --border-color: var(--light-gray);
    margin: 0 0 20px;
    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;
  }
  :where(.set-scroll) {
    overflow: auto hidden;
    max-width: var(--innerWidth, 1200px);
    container-type: inline-size;
  }
  :where(.common-table) th,
  :where(.common-table) td {
    line-height: var(--line-height, 1.9);
    padding: 1.5em 1.8em;
  }
  :where(.common-table) th {
    max-width: var(--max-with);
    text-align: left;
    vertical-align: top;
  }
  :where(.common-table) thead th,
  :where(.common-table) thead td {
    color: var(--color, #fff);
    border-right: 1px solid #fff;
    background-color: var(--bg-color, var(--green-color));
  }
  :where(.common-table) thead tr > *:first-child {
    border-left: 1px solid var(--bg-color, var(--green-color));
  }
  :where(.common-table) thead tr > *:last-child {
    border-right: 1px solid var(--bg-color, var(--green-color));
  }
  :where(.common-table) tr:not(:first-child) > :is(th, td) {
    border-top: 1px solid var(--gray);
  }
  @media screen and (max-width: 480px) {
    :where(.common-table) {
      border-bottom: 1px solid var(--green-color);
    }
    :where(.common-table) tr {
      display: grid;
    }
    :where(.common-table) th,
    :where(.common-table) td {
      display: block;
      border-bottom: none;
    }
    :where(.common-table) th {
      padding: 0.4em 1em 0.5em;
    }
    :where(.common-table) td {
      padding: 1em;
    }
  }
  .th-light {
    color: var(--black-color);
    background-color: var(--key-color);
    font-weight: var(--font-weight-bold);
  }
  .border-table {
    width: 100%;
    line-height: 1.8;
    margin-block: 0;
    --font-variable: 1.8rem;
  }
  .border-table th {
    width: var(--th-width, 160px);
    border-bottom: 2px solid var(--th-color, var(--yellow));
    padding: 1.6em 1em 1.5em 0;
    vertical-align: top;
    text-align: left;
  }
  .border-table td {
    border-bottom: 2px solid var(--td-color, var(--base-color));
    padding-block: 1.6em 1.5em;
    padding-inline: 3em 1em;
    --margin-bottom: 0;
    vertical-align: middle;
  }
  @media screen and (max-width: 980px) {
    .border-table td {
      padding-inline: clamp(1em, 2cqw, 3.1em) 1em;
    }
  }
  @media screen and (max-width: 980px) {
    .border-table {
      min-width: inherit;
    }
  }
  @container (width <=550px) {
    .border-table {
      margin-block: 40px 15px;
    }
    .border-table tr {
      display: flex;
      flex-direction: column;
      margin-bottom: 25px;
    }
    .border-table th {
      min-width: 90px;
      width: fit-content;
      margin-right: auto;
      padding: 0 0 0.1em 0;
    }
    .border-table td {
      width: 100%;
      padding: 1.5em 0 1.8em;
    }
    .border-table tr:last-child td {
      border-bottom: none;
      padding-block-end: 0;
    }
  }
  .old-safari .border-table th,
  .old-safari .border-table td {
    padding-block: 40px 10px;
  }
  .table-margin {
    padding: 0 clamp(var(--margin_px), 5vw, 50px);
  }
  .tag-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
  }
  .tag-container .tag {
    align-self: start;
  }
  .tag {
    min-width: 72px;
    max-width: inherit;
    display: inline-flex;
    justify-content: center;
    font-size: var(--font-variable, 1.4rem);
    line-height: 1;
    color: var(--tag-color, var(--base-color));
    background-color: var(--tag-bg-color, var(--yellow));
    min-height: 21px;
    padding: 0.25em 0.5em 0.15em;
    white-space: nowrap;
    text-align: center;
    transition: all 150ms ease-in;
  }
  .tag.--base {
    --tag-color: #fff;
    --tag-bg-color: var(--base-color);
  }
  a.tag:hover {
    --tag-color: #fff;
    --tag-bg-color: var(--base-color);
    text-decoration: none;
  }
  .tag-lists {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
  }
  .tag-lists .tag {
    width: 150px;
    padding-block: 0.7em;
    --tag-color: #fff;
    --tag-bg-color: var(--base-color);
    border: 1px solid var(--base-color);
  }
  .tag-lists .tag:hover {
    --tag-color: var(--base-color);
    --tag-bg-color: #fff;
  }
  .row-block {
    container-type: inline-size;
    container-name: rowblock;
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
    gap: var(--row-gap, 0) var(--column-gap, 50px);
  }
  @media screen and (max-width: 834px) {
    .row-block {
      flex-wrap: wrap;
      --row-gap: 30px;
    }
  }
  @keyframes rotate-loading {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  @keyframes rotate-loading {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  @keyframes rotate-loading {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  @keyframes rotate-loading {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  @keyframes rotate-loading {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  @keyframes rotate-loading {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  @keyframes rotate-loading {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  @keyframes rotate-loading {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  @keyframes loading-text-opacity {
    0% {
      opacity: 0;
    }
    20% {
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  @keyframes loading-text-opacity {
    0% {
      opacity: 0;
    }
    20% {
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  @keyframes loading-text-opacity {
    0% {
      opacity: 0;
    }
    20% {
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  @keyframes loading-text-opacity {
    0% {
      opacity: 0;
    }
    20% {
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  .loading-block {
    z-index: 9999;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100svh;
    --loading-color: #fff;
    transition: opacity ease-in 400ms;
  }
  .loading-container {
    width: 100%;
    max-width: 100svw;
    height: 100svh;
    background-color: var(--base-color);
    display: grid;
  }
  .is-complete {
    visibility: hidden;
    pointer-events: none;
  }
  .loading-block:not(.is-hidden) .loading {
    grid-area: 1/-1;
    place-self: center center;
    height: 100px;
    position: relative;
    width: 100px;
    border-radius: 100%;
    border: 2px solid transparent;
    border-color: transparent var(--loading-color) transparent var(--loading-color);
    animation: rotate-loading 1.2s linear 0s infinite normal;
    transform-origin: 50% 50%;
  }
  .loading-container:hover .loading {
    border-color: transparent var(--loading-color) transparent var(--loading-color);
  }
  .loading-container:hover .loading,
  .loading-container .loading {
    transition: all 0.5s ease-in-out;
  }
  .loading-text {
    grid-area: 1/-1;
    place-self: center center;
    animation: loading-text-opacity 1.2s linear 0s infinite normal;
    color: var(--loading-color);
    font-size: 1.2rem;
    font-weight: var(--font-weight-bold);
    margin-top: 145px;
    text-align: center;
    text-transform: uppercase;
  }
  .hr {
    padding-block: var(--pt, 100px) var(--pb, 40px);
  }
  @media screen and (max-width: 834px) {
    .hr {
      padding-block: var(--md-pt, 100px) var(--md-pb, 0);
    }
  }
  .separater {
    display: flex;
    align-items: center;
    gap: var(--gap, 2em);
  }
  @media screen and (max-width: 834px) {
    .separater {
      flex-direction: column;
    }
  }
  .separater::before {
    content: "";
    align-self: stretch;
    border: var(--separater-border-width, 0.5px) solid var(--separater-color, var(--base-color));
    transform: scaleY(0.9);
  }
  .separater__item {
    flex: 1;
    min-width: 0;
    overflow-wrap: break-word;
  }
  .separater__item--start {
    order: -1;
    flex: 0 0 auto;
  }
  figcaption {
    font-size: var(--font-variable, 1.4rem);
    margin-top: var(--margin-top, 5px);
  }
  .caption {
    --font-variable: 1.4rem;
    line-height: 1.4;
    margin-block-start: 6px;
    text-align: center;
  }
  .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);
  }
  .details-toggle summary::-webkit-details-marker {
    display: none;
  }
  .details-toggle summary {
    display: block;
    cursor: pointer;
  }
  .details-toggle summary:hover {
    cursor: pointer;
    color: var(--base-color);
  }
  .toggle__inner {
    container-type: inline-size;
    background-color: var(--light-yellow);
    padding: clamp(20px, 5vw, 60px);
  }
  @media screen and (max-width: 480px) {
    .toggle__inner {
      padding-block: 25px;
    }
  }
  .accordion {
    overflow: hidden;
    display: grid;
    grid-template-rows: 0fr;
    animation-duration: 0.5s;
  }
  .accordion__child {
    min-height: 0;
  }
  .is-opened.details-toggle .accordion {
    grid-template-rows: 1fr;
  }
  .details-toggle[data-anim-status=running] .accordion {
    animation-name: grid-expand;
    animation-timing-function: ease-out;
  }
  .details-toggle[data-anim-status=closing] .accordion {
    animation-name: grid-close;
    animation-timing-function: ease-in-out;
  }
  @keyframes grid-expand {
    0% {
      grid-template-rows: 0fr;
    }
    100% {
      grid-template-rows: 1fr;
    }
  }
  @keyframes grid-close {
    0% {
      grid-template-rows: 1fr;
    }
    100% {
      grid-template-rows: 0fr;
    }
  }
  /* is-openedクラスが付与されたときのスタイル */
  .details-toggle.is-opened .toggle-btn::after {
    transform: rotate(-90deg);
  }
  .toggle-title {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr auto;
    padding-inline: 50px 40px;
    min-height: 120px;
    --color: var(--base-color);
  }
  @media screen and (max-width: 834px) {
    .toggle-title {
      column-gap: 40px;
      padding-inline: 20px;
    }
  }
  .toggle-title__text {
    --font-variable: 2.4rem;
    --font-weight: var(--font-weight-normal);
    letter-spacing: 0.1em;
    transition: all 200ms ease-out;
    --margin-bottom: 0;
  }
  .news-tile-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: auto 1fr auto;
    column-gap: clamp(20px, 2.5vw, 40px);
  }
  .tile-item {
    position: relative;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    row-gap: 24px;
    margin-block-end: 80px;
  }
  .tile-item__link {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    row-gap: 24px;
    text-decoration: none;
    border-image-source: linear-gradient(var(--hover-color, transparent), var(--hover-color, transparent));
    border-image-slice: 0 fill;
    border-image-outset: clamp(10px, 1.25vw, 20px);
    transition: all 200ms ease-out;
  }
  .tile-item__link:hover {
    --hover-color: var(--light-yellow);
  }
  .tile-item .tag-container {
    grid-column: 1;
    grid-row: 1;
    z-index: 1;
  }
  .tile-item__thumb {
    grid-column: 1;
    grid-row: 1;
  }
  .tile-item__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  @media screen and (max-width: 480px) {
    .tile-item__thumb img {
      height: auto;
      aspect-ratio: 167/125;
    }
  }
  .tile-item__head {
    grid-column: 1;
    grid-row: 3;
    justify-self: end;
  }
  .tile-item__body {
    grid-column: 1;
    grid-row: 2;
    --font-variable: 1.4rem;
  }
  .tile-item-title {
    color: var(--base-color);
    --font-variable: 1.6rem;
    --font-weight: var(--font-weight-normal);
    --margin-bottom: 0;
    --line-height-variable: 1.7;
    transition: all 200ms ease-out;
  }
  @media screen and (max-width: 834px) {
    .tile-item-title {
      --font-variable: 1.4rem;
      --line-height-variable: 1.55;
    }
  }
  .tile-item:has(a:hover) {
    --color: var(--base-color);
    --bg-color: var(--base-color);
    --hover-scale: 1.3;
  }
  .tile-item:has(a:hover) .menu-link__icon::after {
    background-image: url("/img/pict/pict-large-arrow-white.svg");
  }
  .empty-img {
    background-color: var(--light-gray);
  }
  @container (width >490px) and (width <=834px) {
    .news-tile-list {
      grid-template-columns: repeat(2, 1fr);
    }
    .news-tile-list .tile-item:nth-child(n+3) {
      padding-block-start: 33px;
      position: relative;
    }
    .tile-item {
      margin-block-end: 50px;
    }
  }
  @container (width <490px) {
    .news-tile-list {
      grid-template-columns: 1fr;
    }
    .tile-item {
      grid-template-rows: auto;
      grid-row: auto;
      padding-block: 20px;
      margin-block-end: 0;
      border-bottom: 1px solid var(--base-color);
    }
    .tile-item:last-child {
      border-bottom: none;
    }
    .tile-item__link {
      grid-template-columns: 1fr 1fr;
      grid-template-rows: auto auto 1fr;
      grid-row: auto;
      gap: 10px 20px;
      align-content: start;
      margin-bottom: 0;
    }
    .tile-item__link:hover {
      border-image: none;
    }
    .tile-item__thumb {
      grid-column: 1;
      grid-row: 1/4;
    }
    .tile-item .tag-container {
      grid-column: 2;
      grid-row: 1;
    }
    .tile-item__head {
      grid-column: 2;
      grid-row: 2;
      justify-self: start;
      line-height: 1;
    }
    .tile-item__body {
      grid-column: 2;
      grid-row: 3;
    }
  }
  .tel {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 8px 8px;
    pointer-events: none;
  }
  @media screen and (max-width: 834px) {
    .tel {
      pointer-events: auto;
    }
  }
  .tel .pict-tel {
    grid-column: 1;
    grid-row: 1/3;
    transform: translateY(8px);
    align-self: start;
  }
  .tel .tel-text {
    grid-column: 2;
    grid-row: 1;
  }
  .tel__note {
    grid-column: 2;
    grid-row: 2;
    font-size: 1.4rem;
    justify-self: end;
  }
  .cta-bg {
    grid-column: 1/5;
    background-image: url(/img/common/cta-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding-block: 90px;
  }
  @media screen and (max-width: 834px) {
    .cta-bg {
      padding-block: 50px 180px;
    }
  }
  .cta-block {
    display: grid;
    background-color: rgba(255, 255, 255, 0.9);
    width: 100%;
    max-width: 900px;
    margin-inline: var(--margin_px);
    --en-color: var(--black-color);
    --main-color: var(--black-color);
    padding-block: 30px 50px;
    padding-inline: 20px;
    text-align: center;
  }
  @media screen and (max-width: 834px) {
    .cta-block {
      padding-block: 30px;
    }
  }
  .cta-content {
    display: flex;
    align-items: center;
    gap: 0 1px;
  }
  @media screen and (max-width: 834px) {
    .cta-content {
      flex-direction: column;
    }
  }
  .cta-content::before {
    content: "";
    border: var(--separater-border-width, 0.5px) solid var(--separater-color, var(--base-color));
    align-self: stretch;
  }
  @media screen and (max-width: 834px) {
    .cta-content::before {
      width: 183px;
      margin-inline: auto;
    }
  }
  .cta-item {
    flex: 1;
    min-width: 0;
    display: grid;
    justify-items: center;
    padding: 22px 20px;
  }
  @media screen and (max-width: 834px) {
    .cta-item {
      padding: 30px 20px 25px 20px;
    }
  }
  @media screen and (max-width: 480px) {
    .cta-item {
      width: 100%;
      padding-inline: 0;
    }
  }
  .cta-item:first-child {
    order: -1;
  }
  .tel-link {
    pointer-events: none;
  }
  @media screen and (max-width: 480px) {
    .tel-link {
      pointer-events: auto;
    }
  }
  .cta-title {
    --font-variable: clamp(1.5rem, 6cqw, 2rem);
    --line-height-variable: 1.4;
    --margin-bottom: 35px;
    letter-spacing: 0.05em;
  }
  @media screen and (max-width: 834px) {
    .cta-title {
      --margin-bottom: 15px;
    }
  }
  .tel-text {
    color: var(--black-color);
    line-height: 1;
    font-size: 4rem;
    font-family: var(--en-font-family);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.03em;
  }
  input,
  select,
  textarea {
    line-height: 1.5;
  }
  input[type=submit].btn-more__text {
    background-color: transparent;
    border: none;
    cursor: pointer;
  }
  .form input[type=checkbox],
  .form input[type=radio] {
    width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: top;
    position: relative;
    margin: 0;
    cursor: pointer;
    border: 1px solid var(--base-color);
    transition: background 0.3s, border-color 0.3s;
  }
  .form input[type=checkbox]::after,
  .form input[type=radio]::after {
    content: "";
    display: block;
    left: 0;
    top: 0;
    position: absolute;
    width: 20px;
    height: 20px;
  }
  .form input[type=checkbox]:checked,
  .form input[type=radio]:checked {
    position: relative;
    z-index: 0;
  }
  .form input[type=radio] {
    border-radius: 100%;
  }
  .form input[type=radio]::after {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    opacity: 0;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  .form input[type=radio]:checked {
    background-color: var(--base-color);
  }
  .form input[type=radio]:checked::after {
    opacity: 1;
  }
  .form input[type=checkbox]:checked {
    background-color: var(--base-color);
    background-image: url("data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyMSAyMSIgdmlld0JveD0iMCAwIDIxIDIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im00IDEyIDUgNCA3LTEwIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiLz48L3N2Zz4=");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  .form {
    margin-top: 20px;
    justify-self: center;
  }
  .form__inner {
    padding-left: var(--margin_px);
    padding-right: var(--margin_px);
  }
  .input {
    width: 100%;
    align-items: center;
    border: 1px solid #dbdbdb;
    border-radius: 4px;
    box-shadow: none;
    display: inline-flex;
    justify-content: flex-start;
    padding: calc(0.5em - 1px) calc(0.75em - 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: calc(0.5em - 1px) 2em calc(0.5em - 1px) calc(0.75em - 1px);
    border: 1px solid #dbdbdb;
    border-radius: 4px;
    position: relative;
    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 10px;
  }
  .form-item-list > * {
    display: inline-flex;
    align-items: center;
    line-height: 1.1;
  }
  .form-item-list .form-label {
    cursor: pointer;
    padding-top: 0.2em;
  }
  .form-item-list .form-label span {
    display: inline-block;
    padding-left: 5px;
  }
  .form-item-row {
    margin-top: 10px;
  }
  .form-item-row > * {
    margin-bottom: 10px;
  }
  .form-item-row .form-label {
    margin-left: 5px;
    cursor: pointer;
  }
  .number-user {
    width: 5em;
    text-align: center;
  }
  .required {
    display: inline-flex;
    align-items: center;
    padding: 3px 4px;
    color: #fff;
    line-height: 1;
    border-radius: 2px;
    transform: translateY(-1px);
    margin-left: 5px;
    background-color: var(--caution);
    --font-variable: 1.4rem;
  }
  .any {
    display: inline-flex;
    align-items: center;
    padding: 3px 4px;
    line-height: 1;
    border-radius: 2px;
    transform: translateY(-1px);
    margin-left: 5px;
    background-color: var(--light-gray);
    --font-variable: 1.4rem;
  }
  .form-flex-btn {
    display: flex;
    justify-content: center;
    gap: 15px;
    align-items: center;
    --width: 200px;
  }
  @media screen and (max-width: 834px) {
    .form-flex-btn {
      flex-direction: column-reverse;
    }
    .form-flex-btn .btn-more {
      --font-variable: 2rem;
      --width: 200px;
    }
  }
  /* 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: var(--caution);
  }
  .is-error {
    color: var(--caution);
  }
  .form-title:has(.is-error) + .form-item input,
  .form-title:has(.is-error) + .form-item textarea {
    border-color: var(--caution);
  }
  .form-confirm .form-item {
    background-color: var(--light-yellow);
    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-more {
    border: none;
    padding-right: 1.1em;
  }
  .btn-more.--back {
    --bg-color: var(--gray);
  }
  .btn-more.--back .btn-more__front .pict-base-arrow {
    transform: scale(-1, 1);
  }
  .btn-more.--back .btn-more__text {
    border-radius: 0;
    border: none;
    background-color: transparent;
  }
  .btn-more.--back:hover {
    --bg-color: var(--base-color);
  }
  .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: var(--caution);
    padding-top: 0.5em;
  }
  .glightbox-container {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999999 !important;
    overflow: hidden;
    -ms-touch-action: none;
    touch-action: none;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    outline: none;
  }
  .glightbox-container.inactive {
    display: none;
  }
  .glightbox-container .gcontainer {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 9999;
    overflow: hidden;
  }
  .glightbox-container .gslider {
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease;
    height: 100%;
    left: 0;
    top: 0;
    width: 100%;
    position: relative;
    overflow: hidden;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  .glightbox-container .gslide {
    width: 100%;
    position: absolute;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: 0;
  }
  .glightbox-container .gslide.current {
    opacity: 1;
    z-index: 99999;
    position: relative;
  }
  .glightbox-container .gslide.prev {
    opacity: 1;
    z-index: 9999;
  }
  .glightbox-container .gslide-inner-content {
    width: 100%;
  }
  .glightbox-container .ginner-container {
    position: relative;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 100%;
    margin: auto;
    height: 100vh;
  }
  .glightbox-container .ginner-container.gvideo-container {
    width: 100%;
  }
  .glightbox-container .ginner-container.desc-bottom,
  .glightbox-container .ginner-container.desc-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .glightbox-container .ginner-container.desc-left,
  .glightbox-container .ginner-container.desc-right {
    max-width: 100% !important;
  }
  .gslide iframe,
  .gslide video {
    outline: none !important;
    border: none;
    min-height: 165px;
    -webkit-overflow-scrolling: touch;
    -ms-touch-action: auto;
    touch-action: auto;
  }
  .gslide:not(.current) {
    pointer-events: none;
  }
  .gslide-image {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .gslide-image img {
    max-height: 100vh;
    display: block;
    padding: 0;
    float: none;
    outline: none;
    border: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    max-width: 100vw;
    width: auto;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    -ms-touch-action: none;
    touch-action: none;
    margin: auto;
    min-width: 200px;
  }
  .desc-top .gslide-image img,
  .desc-bottom .gslide-image img {
    width: auto;
  }
  .desc-left .gslide-image img,
  .desc-right .gslide-image img {
    width: auto;
    max-width: 100%;
  }
  .gslide-image img.zoomable {
    position: relative;
  }
  .gslide-image img.dragging {
    cursor: -webkit-grabbing !important;
    cursor: grabbing !important;
    -webkit-transition: none;
    transition: none;
  }
  .gslide-video {
    position: relative;
    max-width: 100vh;
    width: 100% !important;
  }
  .gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster {
    display: none;
  }
  .gslide-video .gvideo-wrapper {
    width: 100%;
    /* max-width: 160vmin; */
    margin: auto;
  }
  .gslide-video::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(255, 0, 0, 0.34);
    display: none;
  }
  .gslide-video.playing::before {
    display: none;
  }
  .gslide-video.fullscreen {
    max-width: 100% !important;
    min-width: 100%;
    height: 75vh;
  }
  .gslide-video.fullscreen video {
    max-width: 100% !important;
    width: 100% !important;
  }
  .gslide-inline {
    background: #fff;
    text-align: left;
    max-height: calc(100vh - 40px);
    overflow: auto;
    max-width: 100%;
    margin: auto;
  }
  .gslide-inline .ginlined-content {
    padding: 20px;
    width: 100%;
  }
  .gslide-inline .dragging {
    cursor: -webkit-grabbing !important;
    cursor: grabbing !important;
    -webkit-transition: none;
    transition: none;
  }
  .ginlined-content {
    overflow: auto;
    display: block !important;
    opacity: 1;
  }
  .gslide-external {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    min-width: 100%;
    background: #fff;
    padding: 0;
    overflow: auto;
    max-height: 75vh;
    height: 100%;
  }
  .gslide-media {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: auto;
  }
  .zoomed .gslide-media {
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
  }
  .desc-top .gslide-media,
  .desc-bottom .gslide-media {
    margin: 0 auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .gslide-description {
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 100%;
    flex: 1 0 100%;
  }
  .gslide-description.description-left,
  .gslide-description.description-right {
    max-width: 100%;
  }
  .gslide-description.description-bottom,
  .gslide-description.description-top {
    margin: 0 auto;
    width: 100%;
  }
  .gslide-description p {
    margin-bottom: 12px;
  }
  .gslide-description p:last-child {
    margin-bottom: 0;
  }
  .zoomed .gslide-description {
    display: none;
  }
  .glightbox-button-hidden {
    display: none;
  }
  /*
   * Description for mobiles
   * something like facebook does the description
   * for the photos
  */
  .glightbox-mobile .glightbox-container .gslide-description {
    height: auto !important;
    width: 100%;
    position: absolute;
    bottom: 0;
    padding: 19px 11px;
    max-width: 100vw !important;
    -webkit-box-ordinal-group: 3 !important;
    -ms-flex-order: 2 !important;
    order: 2 !important;
    max-height: 78vh;
    overflow: auto !important;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.75)));
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
    -webkit-transition: opacity 0.3s linear;
    transition: opacity 0.3s linear;
    padding-bottom: 50px;
  }
  .glightbox-mobile .glightbox-container .gslide-title {
    color: #fff;
    font-size: 1em;
  }
  .glightbox-mobile .glightbox-container .gslide-desc {
    color: #a1a1a1;
  }
  .glightbox-mobile .glightbox-container .gslide-desc a {
    color: #fff;
    font-weight: bold;
  }
  .glightbox-mobile .glightbox-container .gslide-desc * {
    color: inherit;
  }
  .glightbox-mobile .glightbox-container .gslide-desc .desc-more {
    color: #fff;
    opacity: 0.4;
  }
  .gdesc-open .gslide-media {
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    opacity: 0.4;
  }
  .gdesc-open .gdesc-inner {
    padding-bottom: 30px;
  }
  .gdesc-closed .gslide-media {
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    opacity: 1;
  }
  .greset {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .gabsolute {
    position: absolute;
  }
  .grelative {
    position: relative;
  }
  .glightbox-desc {
    display: none !important;
  }
  .glightbox-open {
    overflow: hidden;
  }
  .gloader {
    height: 25px;
    width: 25px;
    -webkit-animation: lightboxLoader 0.8s infinite linear;
    animation: lightboxLoader 0.8s infinite linear;
    border: 2px solid #fff;
    border-right-color: transparent;
    border-radius: 50%;
    position: absolute;
    display: block;
    z-index: 9999;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 47%;
  }
  .goverlay {
    width: 100%;
    height: calc(100vh + 1px);
    position: fixed;
    top: -1px;
    left: 0;
    background: #000;
    will-change: opacity;
  }
  .glightbox-mobile .goverlay {
    background: #000;
  }
  .gprev,
  .gnext,
  .gclose {
    z-index: 99999;
    cursor: pointer;
    width: 26px;
    height: 44px;
    border: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .gprev svg,
  .gnext svg,
  .gclose svg {
    display: block;
    width: 25px;
    height: auto;
    margin: 0;
    padding: 0;
  }
  .gprev.disabled,
  .gnext.disabled,
  .gclose.disabled {
    opacity: 0.1;
  }
  .gprev .garrow,
  .gnext .garrow,
  .gclose .garrow {
    stroke: #fff;
  }
  .gbtn.focused {
    outline: 2px solid #0f3d81;
  }
  iframe.wait-autoplay {
    opacity: 0;
  }
  .glightbox-closing .gnext,
  .glightbox-closing .gprev,
  .glightbox-closing .gclose {
    opacity: 0 !important;
  }
  /*Skin */
  .glightbox-clean .gslide-description {
    background: #fff;
  }
  .glightbox-clean .gdesc-inner {
    padding: 22px 20px;
  }
  .glightbox-clean .gslide-title {
    font-size: 1em;
    font-weight: normal;
    font-family: arial;
    color: #000;
    margin-bottom: 19px;
    line-height: 1.4em;
  }
  .glightbox-clean .gslide-desc {
    font-size: 0.86em;
    margin-bottom: 0;
    font-family: arial;
    line-height: 1.4em;
  }
  .glightbox-clean .gslide-video {
    background: #000;
  }
  .glightbox-clean .gprev,
  .glightbox-clean .gnext,
  .glightbox-clean .gclose {
    background-color: rgba(0, 0, 0, 0.75);
    border-radius: 4px;
  }
  .glightbox-clean .gprev path,
  .glightbox-clean .gnext path,
  .glightbox-clean .gclose path {
    fill: #fff;
  }
  .glightbox-clean .gprev {
    position: absolute;
    top: -100%;
    left: 30px;
    width: 40px;
    height: 50px;
  }
  .glightbox-clean .gnext {
    position: absolute;
    top: -100%;
    right: 30px;
    width: 40px;
    height: 50px;
  }
  .glightbox-clean .gclose {
    width: 35px;
    height: 35px;
    top: 15px;
    right: 10px;
    position: absolute;
  }
  .glightbox-clean .gclose svg {
    width: 18px;
    height: auto;
  }
  .glightbox-clean .gclose:hover {
    opacity: 1;
  }
  /*CSS Animations*/
  .gfadeIn {
    -webkit-animation: gfadeIn 0.5s ease;
    animation: gfadeIn 0.5s ease;
  }
  .gfadeOut {
    -webkit-animation: gfadeOut 0.5s ease;
    animation: gfadeOut 0.5s ease;
  }
  .gslideOutLeft {
    -webkit-animation: gslideOutLeft 0.3s ease;
    animation: gslideOutLeft 0.3s ease;
  }
  .gslideInLeft {
    -webkit-animation: gslideInLeft 0.3s ease;
    animation: gslideInLeft 0.3s ease;
  }
  .gslideOutRight {
    -webkit-animation: gslideOutRight 0.3s ease;
    animation: gslideOutRight 0.3s ease;
  }
  .gslideInRight {
    -webkit-animation: gslideInRight 0.3s ease;
    animation: gslideInRight 0.3s ease;
  }
  .gzoomIn {
    -webkit-animation: gzoomIn 0.5s ease;
    animation: gzoomIn 0.5s ease;
  }
  .gzoomOut {
    -webkit-animation: gzoomOut 0.5s ease;
    animation: gzoomOut 0.5s ease;
  }
  @-webkit-keyframes lightboxLoader {
    0% {
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg);
    }
    100% {
      -webkit-transform: rotate(360deg);
      transform: rotate(360deg);
    }
  }
  @keyframes lightboxLoader {
    0% {
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg);
    }
    100% {
      -webkit-transform: rotate(360deg);
      transform: rotate(360deg);
    }
  }
  @-webkit-keyframes gfadeIn {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @keyframes gfadeIn {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @-webkit-keyframes gfadeOut {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
    }
  }
  @keyframes gfadeOut {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
    }
  }
  @-webkit-keyframes gslideInLeft {
    from {
      opacity: 0;
      -webkit-transform: translate3d(-60%, 0, 0);
      transform: translate3d(-60%, 0, 0);
    }
    to {
      visibility: visible;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
      opacity: 1;
    }
  }
  @keyframes gslideInLeft {
    from {
      opacity: 0;
      -webkit-transform: translate3d(-60%, 0, 0);
      transform: translate3d(-60%, 0, 0);
    }
    to {
      visibility: visible;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
      opacity: 1;
    }
  }
  @-webkit-keyframes gslideOutLeft {
    from {
      opacity: 1;
      visibility: visible;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    to {
      -webkit-transform: translate3d(-60%, 0, 0);
      transform: translate3d(-60%, 0, 0);
      opacity: 0;
      visibility: hidden;
    }
  }
  @keyframes gslideOutLeft {
    from {
      opacity: 1;
      visibility: visible;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    to {
      -webkit-transform: translate3d(-60%, 0, 0);
      transform: translate3d(-60%, 0, 0);
      opacity: 0;
      visibility: hidden;
    }
  }
  @-webkit-keyframes gslideInRight {
    from {
      opacity: 0;
      visibility: visible;
      -webkit-transform: translate3d(60%, 0, 0);
      transform: translate3d(60%, 0, 0);
    }
    to {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
      opacity: 1;
    }
  }
  @keyframes gslideInRight {
    from {
      opacity: 0;
      visibility: visible;
      -webkit-transform: translate3d(60%, 0, 0);
      transform: translate3d(60%, 0, 0);
    }
    to {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
      opacity: 1;
    }
  }
  @-webkit-keyframes gslideOutRight {
    from {
      opacity: 1;
      visibility: visible;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    to {
      -webkit-transform: translate3d(60%, 0, 0);
      transform: translate3d(60%, 0, 0);
      opacity: 0;
    }
  }
  @keyframes gslideOutRight {
    from {
      opacity: 1;
      visibility: visible;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    to {
      -webkit-transform: translate3d(60%, 0, 0);
      transform: translate3d(60%, 0, 0);
      opacity: 0;
    }
  }
  @-webkit-keyframes gzoomIn {
    from {
      opacity: 0;
      -webkit-transform: scale3d(0.3, 0.3, 0.3);
      transform: scale3d(0.3, 0.3, 0.3);
    }
    to {
      opacity: 1;
    }
  }
  @keyframes gzoomIn {
    from {
      opacity: 0;
      -webkit-transform: scale3d(0.3, 0.3, 0.3);
      transform: scale3d(0.3, 0.3, 0.3);
    }
    to {
      opacity: 1;
    }
  }
  @-webkit-keyframes gzoomOut {
    from {
      opacity: 1;
    }
    50% {
      opacity: 0;
      -webkit-transform: scale3d(0.3, 0.3, 0.3);
      transform: scale3d(0.3, 0.3, 0.3);
    }
    to {
      opacity: 0;
    }
  }
  @keyframes gzoomOut {
    from {
      opacity: 1;
    }
    50% {
      opacity: 0;
      -webkit-transform: scale3d(0.3, 0.3, 0.3);
      transform: scale3d(0.3, 0.3, 0.3);
    }
    to {
      opacity: 0;
    }
  }
  @media (min-width: 769px) {
    .glightbox-container .ginner-container {
      width: auto;
      height: auto;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
    }
    .glightbox-container .ginner-container.desc-top .gslide-description {
      -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
      order: 0;
    }
    .glightbox-container .ginner-container.desc-top .gslide-image,
    .glightbox-container .ginner-container.desc-top .gslide-image img {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1;
    }
    .glightbox-container .ginner-container.desc-left .gslide-description {
      -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
      order: 0;
    }
    .glightbox-container .ginner-container.desc-left .gslide-image {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1;
    }
    .gslide-image img {
      max-height: 97vh;
      max-width: 100%;
    }
    .gslide-image img.zoomable {
      cursor: -webkit-zoom-in;
      cursor: zoom-in;
    }
    .zoomed .gslide-image img.zoomable {
      cursor: -webkit-grab;
      cursor: grab;
    }
    .gslide-inline {
      max-height: 95vh;
    }
    .gslide-external {
      max-height: 100vh;
    }
    .gslide-description.description-left,
    .gslide-description.description-right {
      max-width: 275px;
    }
    .glightbox-open {
      height: auto;
    }
    .goverlay {
      background: rgba(0, 0, 0, 0.92);
    }
    .glightbox-clean .gslide-media {
      -webkit-box-shadow: 1px 2px 9px 0px rgba(0, 0, 0, 0.65);
      box-shadow: 1px 2px 9px 0px rgba(0, 0, 0, 0.65);
    }
    .glightbox-clean .description-left .gdesc-inner,
    .glightbox-clean .description-right .gdesc-inner {
      position: absolute;
      height: 100%;
      overflow-y: auto;
    }
    .glightbox-clean .gprev,
    .glightbox-clean .gnext,
    .glightbox-clean .gclose {
      background-color: rgba(0, 0, 0, 0.32);
    }
    .glightbox-clean .gprev:hover,
    .glightbox-clean .gnext:hover,
    .glightbox-clean .gclose:hover {
      background-color: rgba(0, 0, 0, 0.7);
    }
    .glightbox-clean .gprev {
      top: 45%;
    }
    .glightbox-clean .gnext {
      top: 45%;
    }
  }
  @media (min-width: 992px) {
    .glightbox-clean .gclose {
      opacity: 0.7;
      right: 20px;
    }
  }
  @media screen and (max-height: 420px) {
    .goverlay {
      background: #000;
    }
  }
  html.glightbox-open {
    overflow: initial;
  }
  body.glightbox-open {
    overflow: initial;
    overflow-y: scroll;
  }
  body.gscrollbar-fixer {
    margin-right: 0 !important;
  }
  .first-view {
    position: relative;
    height: 100dvh;
  }
  .first-view-content {
    position: relative;
    container-type: inline-size;
    container-name: firstview;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }
  .first-view-content > * {
    grid-column: 1;
    grid-row: 1;
  }
  .first-view-img {
    width: 100%;
    height: 100dvh;
    object-fit: cover;
  }
}
@layer project {
  :where(.pict) {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    transition: all 150ms ease-in-out;
    background-position: center;
  }
  .pict-nav {
    width: 15px;
    height: 13px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEzIiB2aWV3Qm94PSIwIDAgMTUgMTMiIHdpZHRoPSIxNSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMS4yMzEgMTIuNjMxIDguNjU2LTEyLjI2MmgtMS4yMjVsLTguNjU1IDEyLjI2MnoiIGZpbGw9IiMyOTI3NWUiLz48cGF0aCBkPSJtNi40MTggMTIuNjMxIDguNTc1LTEyLjI2MmgtMS4yMmwtOC41NzUgMTIuMjYyeiIgZmlsbD0iI2ZiY2UwMCIvPjwvc3ZnPg==);
  }
  @media screen and (max-width: 834px) {
    .pict-nav {
      background-image: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEzIiB2aWV3Qm94PSIwIDAgMTUgMTMiIHdpZHRoPSIxNSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMS4yMzEgMTIuNjMxIDguNjU2LTEyLjI2MmgtMS4yMjVsLTguNjU1IDEyLjI2MnoiIGZpbGw9IiM5NDkzYWUiLz48cGF0aCBkPSJtNi40MTggMTIuNjMxIDguNTc1LTEyLjI2MmgtMS4yMmwtOC41NzUgMTIuMjYyeiIgZmlsbD0iI2ZiY2UwMCIvPjwvc3ZnPg==);
    }
  }
  .btn-icon {
    display: inline-grid;
    justify-content: center;
    align-items: center;
    width: var(--width, 40px);
    height: var(--height, 40px);
    scale: var(--hover-scale, 1);
    transition: all ease-out 150ms;
  }
  .btn-icon.--circle {
    border-radius: 100%;
    background-color: var(--bg-color, var(--base-color));
  }
  a:has(.btn-icon):hover {
    --hover-scale: 1.2;
  }
  .tel-icon {
    display: inline-grid;
    justify-content: center;
    align-items: center;
    width: var(--width, 40px);
    height: var(--height, 40px);
    scale: var(--hover-scale, 1);
    border-radius: 100%;
    background-color: var(--bg-color, var(--base-color));
    background-image: url(/img/pict/tel.svg);
    background-position: center;
    background-size: 40px;
  }
  .mail-icon {
    display: inline-grid;
    justify-content: center;
    align-items: center;
    width: var(--width, 40px);
    height: var(--height, 40px);
    scale: var(--hover-scale, 1);
    border-radius: 100%;
    background-color: var(--bg-color, var(--base-color));
    background-image: url(/img/pict/mail.svg);
    background-position: center;
    background-size: 40px;
  }
  .pict-tel-white {
    width: 28px;
    height: 30px;
    background-image: url(/img/pict/tel-white.svg);
  }
  .pict-tel {
    width: 23px;
    height: 31px;
    background-image: url(/img/pict/tel.svg);
  }
  .pict-mail-base {
    width: 31px;
    height: 23px;
    background-image: url("/img/pict/mail-base.svg");
  }
  .btn-more.--mail:hover .pict-mail-base {
    background-image: url("/img/pict/mail-white.svg");
  }
  .pict-external {
    width: 18px;
    height: 17px;
    background-image: url("/img/pict/pict-external.svg");
    background-size: contain;
  }
  .pict-base-arrow {
    width: 14px;
    height: 14px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjYiIHZpZXdCb3g9IjAgMCAxMiA2IiB3aWR0aD0iMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggc3R5bGU9ImZpbGw6ICMyOTI3NWU7IiBkPSJtMTIgMy0xMi0zdjZ6Ii8+PC9zdmc+);
  }
  .btn-more:hover .pict-base-arrow {
    background-image: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjYiIHZpZXdCb3g9IjAgMCAxMiA2IiB3aWR0aD0iMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggc3R5bGU9ImZpbGw6ICNmZmZmZmY7IiBkPSJtMTIgMy0xMi0zdjZ6Ii8+PC9zdmc+);
  }
  .pict-white-arrow {
    width: 12px;
    height: 6px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjYiIHZpZXdCb3g9IjAgMCAxMiA2IiB3aWR0aD0iMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggc3R5bGU9ImZpbGw6ICNmZmZmZmY7IiBkPSJtMTIgMy0xMi0zdjZ6Ii8+PC9zdmc+);
  }
  .btn-more:hover .pict-white-arrow {
    background-image: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjYiIHZpZXdCb3g9IjAgMCAxMiA2IiB3aWR0aD0iMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggc3R5bGU9ImZpbGw6ICMyOTI3NWU7IiBkPSJtMTIgMy0xMi0zdjZ6Ii8+PC9zdmc+);
  }
  *:hover > .pict-black-arrow {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTRweCIgaGVpZ2h0PSIxNHB4IiB2aWV3Qm94PSIwIDAgMTQgMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTcgLjE0NjQ4LS43MDcwMy43MDcwNCA1LjY0NjQ4IDUuNjQ2NDhoLTExLjc5Mjk3djFoMTEuNzkyOTdsLTUuNjQ2NDggNS42NDY0OC43MDcwMy43MDcwNCA2Ljg1MzUyLTYuODUzNTJ6IiBmaWxsPSIjZTUwMDM4Ii8+PC9zdmc+);
  }
  .pict-down-arrow {
    width: 14px;
    height: 14px;
    rotate: 180deg;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTRweCIgaGVpZ2h0PSIxNHB4IiB2aWV3Qm94PSIwIDAgMTQgMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTcgLjE0NjQ4LS43MDcwMy43MDcwNCA1LjY0NjQ4IDUuNjQ2NDhoLTExLjc5Mjk3djFoMTEuNzkyOTdsLTUuNjQ2NDggNS42NDY0OC43MDcwMy43MDcwNCA2Ljg1MzUyLTYuODUzNTJ6IiBmaWxsPSIjZmZmIi8+PC9zdmc+);
  }
  .pict-free-dial {
    width: 54px;
    height: 31px;
    background-image: url(/img/pict/freedial.svg);
    background-size: contain;
  }
  .common-arrow {
    display: inline-flex;
    align-items: center;
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 100%;
    border: 1px solid var(--base-color);
    transition: all 200ms ease-out;
  }
  .common-arrow:hover:not(:disabled) {
    transform: scale(1.1);
    background-color: var(--base-color);
  }
  .common-arrow:hover:not(:disabled) > .pict-base-arrow {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTRweCIgaGVpZ2h0PSIxNHB4IiB2aWV3Qm94PSIwIDAgMTQgMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTcgLjE0NjQ4LS43MDcwMy43MDcwNCA1LjY0NjQ4IDUuNjQ2NDhoLTExLjc5Mjk3djFoMTEuNzkyOTdsLTUuNjQ2NDggNS42NDY0OC43MDcwMy43MDcwNCA2Ljg1MzUyLTYuODUzNTJ6IiBmaWxsPSIjZmZmIi8+PC9zdmc+);
  }
  .pict-pdf {
    width: 24px;
    height: 29px;
    background-image: url("/img/pict/pict-pdf.svg");
    background-size: 24px 29px;
    transition: none;
  }
  .btn-more:hover .pict-pdf {
    background-image: url("/img/pict/pict-pdf_r.svg");
  }
  .pict-triangle-arrow {
    width: 12px;
    height: 6px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjYiIHZpZXdCb3g9IjAgMCAxMiA2IiB3aWR0aD0iMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggc3R5bGU9ImZpbGw6ICMyOTI3NWU7IiBkPSJtMTIgMy0xMi0zdjZ6Ii8+PC9zdmc+);
  }
  *:hover > .pict-triangle-arrow {
    transform: translateX(5px);
  }
  .pict-circle {
    width: 18px;
    height: 18px;
    border: 5px solid var(--bd-color, var(--yellow));
    border-radius: 100%;
  }
  h1 {
    color: var(--color);
    font-weight: var(--font-weight, var(--font-weight-bold));
    font-size: var(--font-variable, 3rem);
    margin-block-end: var(--margin-bottom, 2.5em);
    line-height: var(--line-height-variable, 1.2);
  }
  h2 {
    color: var(--color);
    font-weight: var(--font-weight, var(--font-weight-bold));
    font-size: var(--font-variable, 2.6rem);
    margin-block-end: var(--margin-bottom, 2em);
    line-height: var(--line-height-variable, 1.2);
  }
  h3 {
    color: var(--color);
    font-weight: var(--font-weight, var(--font-weight-bold));
    font-size: var(--font-variable, 2rem);
    margin-block-end: var(--margin-bottom, 2em);
    line-height: var(--line-height-variable, 1.25);
  }
  h4 {
    color: var(--color);
    font-weight: var(--font-weight, var(--font-weight-bold));
    font-size: var(--font-variable, 1.6rem);
    margin-block-end: var(--margin-bottom, 1em);
    line-height: var(--line-height-variable, 1.3);
  }
  h5 {
    color: var(--color);
    font-size: var(--font-variable, 1.4rem);
    margin-block-end: var(--margin-bottom, 0.5em);
    line-height: var(--line-height-variable, 1.35);
  }
  .h1 {
    font-size: var(--font-variable, 3.2rem);
    font-weight: var(--font-weight-normal);
    margin-block-end: 0;
    line-height: 1.4;
  }
  @media screen and (max-width: 480px) {
    .h1 {
      --font-variable: 2.4rem;
      letter-spacing: 0;
    }
  }
  body:not(.home) h1.logo {
    margin: 0;
  }
  .h2 {
    font-size: var(--font-variable, 2rem);
    color: var(--color, var(--base-color));
    font-weight: var(--font-weight-normal);
    line-height: 1.4;
    --margin-bottom: 1em;
  }
  .h3 {
    font-size: var(--font-variable, 2rem);
    color: var(--color, var(--black-color));
    font-weight: var(--font-weight-bold);
    line-height: 1.6;
    --margin-bottom: 0.5em;
    letter-spacing: 0.01em;
  }
  .en-font {
    font-family: var(--en-font-family);
  }
  .page-title {
    display: grid;
    grid-template-columns: 81px 1fr;
    grid-template-rows: auto auto;
    row-gap: 13px;
    line-height: 1;
    margin-block: 50px 40px;
    transform: translateX(calc(var(--margin_px) * -1));
  }
  @media screen and (max-width: 834px) {
    .page-title {
      grid-template-columns: 61px 1fr;
      margin-block: 0 25px;
    }
  }
  .page-title::before {
    grid-column: 1;
    grid-row: 1;
    content: "";
    display: block;
    width: 74px;
    height: 57px;
    background-image: url(/img/pict/title-icon.svg);
    background-repeat: no-repeat;
    background-size: 74px 57px;
    background-position: left top;
  }
  @media screen and (max-width: 834px) {
    .page-title::before {
      width: 53px;
      height: 41px;
      background-size: 53px 41px;
    }
  }
  .page-title__text {
    grid-column: 2;
    grid-row: 2;
    font-size: 2rem;
    letter-spacing: 0.1em;
    font-weight: var(--font-weight-normal);
    --margin-bottom: 0;
    color: var(--main-color, var(--black-color));
  }
  @media screen and (max-width: 834px) {
    .page-title__text {
      font-size: 1.8rem;
    }
  }
  .page-title__en {
    grid-column: 2;
    grid-row: 1;
    font-size: 5.6rem;
    letter-spacing: 0.1em;
    font-weight: var(--font-weight-medium);
    font-family: var(--en-font-family);
    color: var(--en-color, var(--base-color));
  }
  @media screen and (max-width: 834px) {
    .page-title__en {
      font-size: 4rem;
    }
  }
  .solid-title {
    font-size: var(--font-variable, 2rem);
    color: var(--color, #000);
    padding: 0.75em 1em;
    margin-block-end: 30px;
    line-height: 1.4;
  }
  @media screen and (max-width: 834px) {
    .solid-title {
      margin-block-end: 20px;
    }
  }
  .section-title {
    display: grid;
    grid-template-columns: 63px 1fr;
    grid-template-rows: auto auto;
    row-gap: 12px;
    padding: 0;
    margin-block: 70px;
    line-height: 1;
  }
  @media screen and (max-width: 834px) {
    .section-title {
      margin-block: 50px 40px;
    }
  }
  .section-title::before {
    grid-column: 1;
    grid-row: 1;
    content: "";
    display: block;
    width: 63px;
    height: 40px;
    background-image: url(/img/pict/title-icon.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
  }
  .section-title__main {
    grid-column: 2;
    grid-row: 2;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    font-weight: var(--font-weight-normal);
    --margin-bottom: 0;
    color: var(--main-color, var(--base-color));
  }
  .section-en-title {
    grid-column: 2;
    grid-row: 1;
    font-size: 4rem;
    letter-spacing: 0.1em;
    font-weight: var(--font-weight-medium);
    font-family: var(--en-font-family);
    color: var(--en-color, var(--base-color));
  }
  .inversion .section-title {
    --en-color: var(--yellow);
    --main-color: #fff;
  }
  .inversion .section-title::before {
    background-image: url(/img/pict/title-icon-base.svg);
  }
  .--yellow-mode .section-title::before {
    background-image: url(/img/pict/title-icon-yellow.svg);
  }
  @media screen and (max-width: 834px) {
    .section-title.--news {
      margin-block: 80px 30px;
    }
  }
  .section-title.--sns {
    --font-variable: 1.6rem;
    --en-color: var(--yellow);
    margin-block: 50px;
  }
  @media screen and (max-width: 834px) {
    .section-title.--sns {
      margin-block-end: 0;
    }
  }
  .section-title.--sns::before {
    background-image: url(/img/pict/title-icon-base.svg);
  }
  .char {
    display: inline-block;
    white-space: pre;
    font-size: inherit;
  }
  .border-bottom-title {
    padding-block-start: 70px;
    margin-block-end: 60px;
    --line-height-variable: 1.5;
  }
  @media screen and (max-width: 834px) {
    .border-bottom-title {
      padding-block-start: 40px;
      margin-block-end: 45px;
    }
  }
  .border-bottom-title::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, var(--left-border-color, var(--yellow)) 0%, var(--left-border-color, var(--yellow)) var(--border-width, 210px), var(--righgt-border-color, var(--base-color)) var(--border-width, 210px), var(--righgt-border-color, var(--base-color)) 100%);
  }
  @media screen and (max-width: 480px) {
    .border-bottom-title::after {
      background: linear-gradient(90deg, var(--left-border-color, var(--yellow)) 0%, var(--left-border-color, var(--yellow)) var(--border-width, 50%), var(--righgt-border-color, var(--base-color)) var(--border-width, 50%), var(--righgt-border-color, var(--base-color)) 100%);
    }
  }
  .border-bottom-title__text {
    --font-variable: 4rem;
    font-weight: var(--font-weight-normal);
    color: var(--color, var(--base-color));
    --margin-bottom: 0;
    letter-spacing: 0.2em;
  }
  @media screen and (max-width: 834px) {
    .border-bottom-title__text {
      --font-variable: 3.8rem;
      letter-spacing: 0.05em;
      --line-height-variable: 1.2;
    }
  }
  .border-bottom-title__en {
    --font-variable: 1.8rem;
    font-weight: var(--font-weight-normal);
    color: var(--color, var(--base-color));
    --margin-bottom: 0;
    letter-spacing: 0.1em;
    padding-block: 10px 17px;
    line-height: 1.4;
  }
  .border-bottom-title__text__sub {
    font-size: 3.2rem;
    letter-spacing: 0;
  }
  .inversion .border-bottom-title {
    --color: #fff;
    --righgt-border-color: #9493ae;
  }
  .yellow-mode .border-bottom-title {
    --left-border-color: #fff;
  }
  .border-bottom-title.--news {
    padding-block: 45px;
    position: relative;
    --font-variable: 2.4rem;
    --font-weight: var(--font-weight-normal);
  }
  .border-bottom-title.--news::after {
    position: absolute;
    bottom: 0;
    height: 7px;
  }
  .pict-front-title {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 0.6em;
    --margin-bottom: 45px;
  }
  .pict-front-title > * {
    margin-block-end: 0;
  }
  .pict-front-title .pict {
    transform: translateY(0.3em);
  }
  .pict-front-title__text {
    color: var(--base-color);
    --font-variable: 2.4rem;
    line-height: 1.2;
  }
  @media screen and (max-width: 980px) {
    @container catch (width <=600px) {
      br:not([class]) {
        display: none;
      }
    }
  }
  .catch-text {
    font-size: clamp(3rem, 3.8vw, 3.2rem);
    font-weight: var(--font-weight-normal);
    letter-spacing: 0.4em;
    color: var(--color, var(--black-color));
    margin-block-end: var(--flow-space, 2em);
    line-height: var(--line-height, 2);
  }
  @media screen and (max-width: 834px) {
    .catch-text {
      font-size: clamp(2.8rem, 5.5vw, 3.6rem);
      letter-spacing: 0.1em;
      --flow-space: 40px;
    }
  }
  @media screen and (max-width: 480px) {
    .catch-text {
      font-size: 2.8rem;
      margin-block-end: 1em;
      font-feature-settings: "palt";
    }
  }
  .inversion .catch-text {
    --color: #fff;
  }
  .--base-mode .catch-text {
    --color: #fff;
  }
  .w100 {
    width: 100%;
  }
  @media screen and (max-width: 834px) {
    .md-w100 {
      width: 100%;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-w100 {
      width: 100%;
    }
  }
  .stagger-anime > * {
    opacity: 0;
  }
  .split-wrapper {
    container-type: inline-size;
    container-name: splitblock;
  }
  .split-block {
    display: grid;
    justify-content: center;
    gap: 0 50px;
    grid-template-columns: 240px 1fr;
  }
  .split-block p {
    --flow-space: 1.9em;
  }
  .split-block .--left {
    grid-column: 1;
    grid-row: 1;
  }
  .split-block .--right {
    grid-column: 2;
    grid-row: 1;
  }
  @container splitblock (width <=700px) {
    .split-block {
      grid-template-columns: 1fr;
      row-gap: 45px;
      justify-items: center;
    }
    .split-block .--right {
      grid-column: 1;
      grid-row: 2;
    }
  }
  .entry-bnr {
    position: sticky;
    z-index: 1;
    bottom: 0;
    pointer-events: none;
    display: flex;
    justify-content: end;
    margin-top: -220px;
  }
  @media screen and (max-width: 834px) {
    .entry-bnr {
      bottom: -20px;
    }
  }
  .entry-bnr > a {
    pointer-events: auto;
    display: inline-block;
    margin-inline-end: 20px;
    padding: 20px;
    transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  @media screen and (max-width: 834px) {
    .entry-bnr > a {
      margin-inline-end: 0;
    }
  }
  .entry-bnr > a:hover {
    transform: translateY(-10px);
  }
  .entry-bnr-img {
    filter: drop-shadow(0 0 15px #99fdfd);
  }
  @media screen and (max-width: 834px) {
    .entry-bnr-img {
      width: 143px;
      height: 143px;
    }
  }
  .bnr-trigger-block {
    position: relative;
  }
  @media screen and (max-width: 834px) {
    .bnr-trigger-block {
      display: contents;
    }
  }
  .date {
    font-family: var(--en-font-family);
    font-size: var(--font-variable, 1.6rem);
    letter-spacing: 0.05em;
    color: var(--color, var(--base-color));
    line-height: 1;
    transition: all 150ms ease-out;
  }
  .news-head-title {
    --color: var(--base-color);
    margin: 0;
  }
  .news-list-item {
    padding-block: 10px 15px;
  }
  .news-list-item > a {
    color: var(--base-color);
  }
  .news-item:has(> a:focus) .news-text {
    outline: Highlight auto 1px;
    outline: -webkit-focus-ring-color auto 1px;
  }
  .tile-item__link:hover {
    --color: var(--yellow);
  }
  .news-container {
    container-type: inline-size;
    container-name: news;
    max-width: 1140px;
    width: 100%;
    margin-inline: auto;
    padding-block-start: 55px;
  }
  @media screen and (max-width: 834px) {
    .news-detail {
      margin: 50px 0 0;
    }
  }
  .news-detail-header {
    display: flex;
    align-items: center;
    gap: 0 20px;
  }
  .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;
  }
  .profile {
    display: grid;
    row-gap: 10px;
    --font-variable: 1.6rem;
    text-align: right;
    margin-block-start: 24px;
  }
  .name {
    display: block;
    --font-variable: 2.2rem;
    font-weight: var(--font-weight-bold);
  }
  .message {
    --color: var(--base-color);
    --font-variable: 2.2rem;
    letter-spacing: 0.2em;
  }
  .message ~ p {
    line-height: 2;
  }
  @container splitblock (width <=700px) {
    .profile {
      text-align: center;
    }
    .message {
      --font-variable: 2rem;
      letter-spacing: 0;
    }
  }
  .box-border {
    border: 2px solid var(--base-color);
  }
  .box-border-title {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    padding-inline: 50px 40px;
    position: relative;
    min-height: 120px;
    --color: var(--base-color);
    transition: all 200ms ease-out;
  }
  @media screen and (max-width: 834px) {
    .box-border-title {
      grid-template-columns: 1fr auto;
      column-gap: 40px;
      padding-inline: 20px;
    }
  }
  .box-border-title .update {
    display: inline-block;
    font-size: 1.8rem;
    color: var(--color);
    padding-inline-end: 60px;
    transition: all 200ms ease-out;
  }
  @media screen and (max-width: 834px) {
    .box-border-title .update {
      grid-column: 1;
      grid-row: 2;
      align-self: start;
    }
  }
  .box-border-title .pict-pdf {
    width: 30px;
    height: 37px;
    background-size: 30px 37px;
  }
  @media screen and (max-width: 834px) {
    .box-border-title .pict-pdf {
      grid-column: 2;
      grid-row: 1/3;
    }
  }
  .box-border-title:hover {
    --color: #fff;
    background-color: var(--base-color);
  }
  .box-border-title:hover .pict-pdf {
    background-image: url("/img/pict/pict-pdf_r.svg");
  }
  .box-border-title__text {
    font-size: 2.4rem;
    font-weight: var(--font-weight-noramal);
    letter-spacing: 0.1em;
    transition: all 200ms ease-out;
  }
  @media screen and (max-width: 834px) {
    .box-border-title__text {
      grid-column: 1;
      grid-row: 1;
      letter-spacing: 0;
      --line-height-variable: 1.4;
      font-feature-settings: "palt";
      align-self: end;
      padding-block-end: 4px;
    }
  }
  .box-border-title__text__sub {
    font-size: 80%;
  }
  .toggle-btn {
    display: inline-grid;
    justify-content: center;
    align-items: center;
    width: 35px;
    height: 35px;
  }
  @media screen and (max-width: 480px) {
    .toggle-btn {
      width: 20px;
      height: 20px;
    }
  }
  .toggle-btn::before, .toggle-btn::after {
    content: "";
    grid-area: 1/-1;
    display: inline-block;
    width: 35px;
    height: 2px;
    background-color: var(--base-color);
    transition: transform 0.3s ease-in-out;
  }
  .toggle-btn::after {
    rotate: 90deg;
  }
  .faq {
    padding-block: 80px;
  }
  @media screen and (max-width: 834px) {
    .faq {
      grid-column: 1/5;
    }
  }
  .faq > li {
    background-color: #fff;
    padding: clamp(20px, 5vw, 50px);
  }
  @media screen and (max-width: 834px) {
    .faq > li {
      padding: 30px var(--margin_px);
    }
  }
  .faq > li:not(:last-child) {
    margin-bottom: 50px;
  }
  @media screen and (max-width: 834px) {
    .faq > li:not(:last-child) {
      margin-bottom: 30px;
    }
  }
  .faq-title {
    display: flex;
    align-items: start;
    gap: 30px;
    font-size: 1.8rem;
    line-height: 1.6;
    --margin-bottom: 30px;
  }
  @media screen and (max-width: 834px) {
    .faq-title {
      gap: 20px;
      font-size: 1.6rem;
      --margin-bottom: 25px;
      padding-right: 1em;
    }
  }
  .faq-title.--answer {
    margin-inline-start: 100px;
  }
  @media screen and (max-width: 834px) {
    .faq-title.--answer {
      margin-inline-start: 0;
    }
  }
  .faq-title__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 1;
    width: 65px;
    height: 65px;
    font-size: 4.8rem;
    font-weight: var(--font-weight-medium);
  }
  @media screen and (max-width: 834px) {
    .faq-title__icon {
      width: 55px;
      height: 55px;
      font-size: 4rem;
    }
  }
  .faq-title__icon.--q {
    color: #fff;
    background-color: var(--base-color);
    padding-block-end: 8px;
  }
  .faq-title__icon.--a {
    color: var(--black-color);
    background-color: var(--yellow);
    padding-block-end: 1px;
  }
  .faq-question {
    font-size: 2.2rem;
    line-height: 1.7;
    font-weight: var(--font-weight-normal);
    color: var(--base-color);
    align-self: center;
  }
  .faq-question::before {
    content: "";
    display: block;
    margin-top: -5px;
  }
  .faq-answer__child {
    --margin-bottom: 0;
    align-items: start;
  }
  :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.1em;
  }
  :where(.edit-block) p + *:not(p) {
    margin-top: 70px;
  }
  :where(.edit-block) hr {
    clear: both;
  }
  :where(.edit-block) h1 {
    font-size: 2.4rem;
    margin-bottom: 1em;
    line-height: 1.5;
  }
  :where(.edit-block) h2 {
    position: relative;
    font-size: var(--font-variable, 2rem);
    color: var(--color, #000);
    padding: 0.5em 20px;
    margin-block-end: 30px;
    line-height: 1.4;
    border-left: 13px solid var(--yellow);
  }
  :where(.edit-block) h2::after {
    position: absolute;
    left: -13px;
    bottom: -1px;
    content: "";
    display: block;
    width: calc(100% + 13px);
    height: 1px;
    background-color: var(--base-color);
  }
  @media screen and (max-width: 834px) {
    :where(.edit-block) h2 {
      margin-block-end: 20px;
    }
  }
  :where(.edit-block) h3 {
    font-size: var(--font-variable, 2rem);
    color: var(--color, var(--base-color));
    font-weight: var(--font-weight-normal);
    line-height: 1.4;
    --margin-bottom: 1em;
    --margin-bottom: 0.5em;
  }
  :where(.edit-block) h4 {
    font-size: var(--font-variable, 2rem);
    color: var(--color, var(--black-color));
    font-weight: var(--font-weight-bold);
    line-height: 1.6;
    --margin-bottom: 0.5em;
    letter-spacing: 0.01em;
  }
  :where(.edit-block) ul:not([class]) {
    list-style-type: none;
    font-size: var(--font-variable, var(--base-font-size));
    line-height: var(--line-height-variable, 1.9);
  }
  :where(.edit-block) ul:not([class]) li {
    padding-inline-start: 1em;
  }
  :where(.edit-block) ul:not([class]) li:not(:last-child) {
    margin-block-end: 0.1em;
  }
  :where(.edit-block) ul:not([class]) li::before {
    text-indent: -1em;
  }
  :where(.edit-block) ul:not([class]) {
    text-indent: -1em;
  }
  :where(.edit-block) ul:not([class]) > li::before {
    display: inline-flex;
    align-items: center;
    content: "";
    width: 0.5em;
    height: 0.5em;
    border-radius: 100%;
    margin-inline: 0.3em;
    transform: translateY(-0.35em);
    -moz-transform: translateY(-0.15em);
    background-color: var(--dot-color, var(--base-color));
  }
  :where(.edit-block) ul:not([class]) {
    margin-inline-start: 0;
  }
  @media screen and (max-width: 480px) {
    .safari :where(.edit-block) ul:not([class]) > li::before {
      transform: translateY(-0.15em);
    }
  }
  :where(.edit-block) ol {
    counter-reset: number;
    font-size: var(--font-variable, var(--base-font-size));
    line-height: var(--line-height-variable, 1.9);
  }
  :where(.edit-block) ol li {
    padding-inline-start: 1em;
  }
  :where(.edit-block) ol li:not(:last-child) {
    margin-block-end: 0.1em;
  }
  :where(.edit-block) ol li::before {
    text-indent: -1em;
  }
  :where(.edit-block) ol {
    margin-inline-start: 1.2em;
  }
  :where(.edit-block) ol > li {
    position: relative;
    padding-inline-start: 0;
  }
  :where(.edit-block) ol > li::before {
    position: absolute;
    top: var(--top, 6.5px);
    left: -1.2em;
    counter-increment: number;
    content: counter(number);
    display: inline-flex;
    justify-items: center;
    justify-self: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    line-height: var(--marker-line-height, 1.05);
    background-color: var(--color, var(--base-color));
    font-family: Arial, sans-serif;
    font-size: var(--font-variable, 1.1em);
    color: #fff;
    text-indent: 0;
    border-radius: 100%;
  }
  :where(.edit-block) ol li::marker {
    content: "";
  }
  :where(.edit-block) figcaption {
    font-size: var(--font-variable, 1.6rem);
    margin-top: 5px;
    line-height: 1.3;
    text-align: center;
  }
  :where(.edit-block) table:not([class]) {
    margin-block-end: var(--margin, 70px);
  }
  :where(.edit-block) table:not([class]) th,
  :where(.edit-block) table:not([class]) td {
    padding: 0.9em 1.1em 0.7em;
    border: 1px solid #ccc;
  }
  @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;
      --font-variable: 1.5rem;
    }
  }
  :where(.edit-block) table:not([class]) th {
    color: #fff;
    text-align: center;
    background-color: var(--th-color, #000);
  }
  :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(--green-color));
    font-weight: var(--font-weight-bold);
  }
  :where(.edit-block) .box {
    background-color: var(--light-yellow);
    padding: clamp(15px, 5vw, 25px) clamp(15px, 5vw, 80px) !important;
  }
  @media screen and (max-width: 834px) {
    :where(.edit-block) .box {
      --font-variable: 1.5rem;
    }
  }
  :where(.edit-block) .grid-columns {
    --min-width: 220px;
    --gap: 22px;
  }
  @media screen and (max-width: 834px) {
    :where(.edit-block) .grid-columns {
      --gap: 15px;
      grid-template-columns: repeat(2, 1fr);
    }
  }
  :where(.edit-block) .grid-columns img {
    width: 100%;
    height: auto;
  }
  :where(.edit-block) > :where(* + *:not(p)) {
    margin-bottom: 20px;
  }
  :where(.edit-block) thead th:empty {
    padding: 0;
    border: none;
  }
  .gallery {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  }
  @media screen and (max-width: 834px) {
    .gallery {
      gap: 20px 15px;
      grid-template-columns: 1fr 1fr;
    }
  }
  .gallery img {
    object-fit: cover;
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
  }
  .gallery figcaption {
    --font-variable: 1.4rem;
  }
  @media screen and (max-width: 480px) {
    .gallery figcaption {
      --font-variable: 1.4rem ;
    }
  }
  @media screen and (max-width: 834px) {
    .glightbox-clean .gprev,
    .glightbox-clean .gnext {
      top: 50%;
    }
    .glightbox-clean .gprev {
      left: 0;
    }
    .glightbox-clean .gnext {
      right: 0;
    }
  }
  .glightbox-mobile .goverlay {
    background-color: rgba(0, 0, 0, 0.7);
  }
  .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;
  }
  .home-copy {
    position: relative;
    z-index: 1;
    align-self: end;
    display: inline-grid;
    row-gap: 20px;
    margin-inline-start: calc(var(--header-margin-inline) * 2);
    margin-block-end: 25px;
    width: fit-content;
    --color: #fff;
    --flow-space: 0;
    --line-height-variable: 1;
    letter-spacing: 0.1em;
    font-weight: var(--font-weight-bold);
  }
  @media screen and (max-width: 834px) {
    .home-copy {
      row-gap: 8px;
      align-self: center;
      margin-inline: var(--header-margin-inline);
    }
  }
  .home-copy__text__top {
    --font-variable: clamp(2rem, 3.6vw, 4rem);
  }
  .home-copy__text__bottom {
    --font-variable: clamp(4rem, 6.6vw, 8rem);
  }
  @media screen and (max-width: 834px) {
    .home-copy__text__bottom {
      --line-height-variable: 1.2;
    }
  }
  .aboutus-container {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 3;
  }
  .aboutus-container__child {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    width: fit-content;
    max-width: 383px;
    padding-block-end: 70px;
    --color: #fff;
    z-index: 1;
    border-image-source: linear-gradient(var(--base-color), var(--base-color));
    border-image-slice: 0 fill;
    border-image-outset: 0 50px 0 50px;
  }
  @media screen and (max-width: 834px) {
    .aboutus-container__child {
      grid-row: 2;
      max-width: inherit;
      padding-block: 45px;
    }
  }
  .aboutus-img-block {
    grid-column: 1/5;
    grid-row: 1;
  }
  .aboutus-img {
    width: 100%;
    height: 640px;
    object-fit: cover;
  }
  @media screen and (max-width: 834px) {
    .aboutus-img {
      height: 260px;
    }
  }
  .program-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto 1fr auto;
    gap: 50px;
    margin-block-start: 70px;
  }
  @media screen and (max-width: 834px) {
    .program-container {
      grid-template-columns: 1fr;
      margin-block-start: 40px;
    }
  }
  .program-item {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: subgrid;
    grid-row: span 5;
    grid-template-areas: "program_status" "program_thumb" "program_tag" "program_title" "program_btn";
    row-gap: 30px;
    background-color: #fff;
    padding: 0 35px 30px 35px;
  }
  @media screen and (max-width: 834px) {
    .program-item {
      padding: 0 20px 30px 20px;
    }
  }
  .program-item__status {
    grid-area: program_status;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    font-size: 2.4rem;
    font-weight: var(--font-weight-noraml);
    letter-spacing: 0.1em;
    background-color: var(--status-color, var(--gray));
  }
  .--possible {
    color: #fff;
    --status-color: #ff0000;
    font-weight: var(--font-weight-bold);
  }
  .program-item__thumb {
    grid-area: program_thumb;
  }
  .program-item__thumb img {
    width: 100%;
    height: 270px;
    object-fit: cover;
  }
  @media screen and (max-width: 834px) {
    .program-item__thumb img {
      height: auto;
      aspect-ratio: 295/190;
    }
  }
  .program-item__tag {
    grid-area: program_tag;
  }
  .program-item__title {
    grid-area: program_title;
    font-size: 2.4rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.1em;
    --line-height-variable: 1.6;
    --margin-bottom: 0;
  }
  .program-item__btn {
    grid-area: program_btn;
  }
}
@layer objects {
  .ffs-palt {
    font-feature-settings: "palt" 1;
  }
  @media screen and (max-width: 480px) {
    .sp-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-16 {
      --font-variable: 1.6rem;
    }
    .--md-text-18 {
      --font-variable: 1.8rem;
    }
    .--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;
    }
    .md-text-justify {
      text-align: justify;
    }
  }
  @media screen and (max-width: 480px) {
    sup {
      font-size: 70%;
    }
    .sp-text-16 {
      font-size: 1.6rem;
    }
    .sp-text-18 {
      font-size: 1.8rem;
    }
    .sp-text-20 {
      font-size: 2rem;
    }
    .sp-text-center {
      text-align: center;
    }
    .sp-text-right {
      text-align: right;
    }
    .sp-text-left {
      text-align: left;
    }
    .sp-text-justify {
      text-align: justify;
    }
  }
  .underline {
    text-decoration: underline;
  }
  .no-decoration {
    text-decoration: none;
  }
  .bold,
  b,
  strong {
    font-weight: var(--font-weight-bold);
  }
  .normal {
    font-weight: var(--font-weight-normal);
  }
  .italic {
    font-style: italic;
  }
  .indent {
    text-indent: 1em;
  }
  .para {
    --font-variable: 1.4rem;
    --line-height-variable: 1.6;
    text-indent: -1em;
    padding-left: 1em;
  }
  .para:has(+ .para) {
    margin-bottom: 0;
  }
  .ls-05 {
    letter-spacing: -0.05em;
  }
  .ls-1 {
    letter-spacing: -0.1em;
  }
  .ls-3 {
    letter-spacing: -0.3em;
  }
  .ls0 {
    letter-spacing: 0;
  }
  .ls1 {
    letter-spacing: 0.1em;
  }
  .ls02 {
    letter-spacing: 0.02em;
  }
  .ls05 {
    letter-spacing: 0.05em;
  }
  .ls2 {
    letter-spacing: 0.2em;
  }
  .ls3 {
    letter-spacing: 0.3em;
  }
  .ls4 {
    letter-spacing: 0.4em;
  }
  .ls10 {
    letter-spacing: 1em;
  }
  @media screen and (max-width: 480px) {
    .sp-ls0 {
      letter-spacing: 0;
    }
  }
  .noindent {
    letter-spacing: 0;
    text-indent: 0;
  }
  .lh12 {
    line-height: 1.2;
  }
  .lh14 {
    line-height: 1.4;
  }
  .lh16 {
    line-height: 1.6;
  }
  .lh18 {
    line-height: 1.8;
  }
  .lh20 {
    line-height: 2;
  }
  .lh21 {
    line-height: 2.1;
  }
  .lh22 {
    line-height: 2.2;
  }
  .nowrap {
    white-space: nowrap;
  }
  @media screen and (max-width: 834px) {
    .md-wrap {
      white-space: normal;
    }
  }
  .vertical-rl {
    writing-mode: vertical-rl;
  }
  .--text-crop::before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.2) * 0.5em);
  }
  .hidetxt {
    user-select: none;
    -webkit-touch-callout: none;
  }
  .space1em {
    letter-spacing: 1em;
    text-indent: 1em;
  }
  .marker {
    width: fit-content;
    padding-left: 0.2em;
    padding-right: 0.1em;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 55%, var(--yellow) 55%, var(--yellow) 100%);
  }
  .strong {
    color: var(--key-color);
    font-size: 2.4rem;
    font-weight: var(--font-weight-bold);
  }
  .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;
    }
  }
  .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;
    }
  }
  .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: 980px) {
    .hidden-pc {
      display: none;
    }
  }
  @media screen and (max-width: 834px) {
    .hidden-md {
      display: none;
    }
  }
  @media screen and (max-width: 480px) {
    .hidden-sp {
      display: none;
    }
  }
  .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: 980px) {
    .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;
    }
  }
  .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);
  }
  .radius-common {
    border-radius: var(--radius, 20px);
  }
  @media screen and (max-width: 834px) {
    .md-radius-none {
      border-radius: 0;
    }
  }
  @media screen and (max-width: 480px) {
    .sp-radius-none {
      border-radius: 0;
    }
  }
  .radius-box {
    padding: 1.5em;
    border-radius: 0.5em;
  }
  .box {
    padding: 1em;
  }
  .box-solid {
    padding: var(--block-padding, 30px) var(--inline-padding, 50px);
  }
  @media screen and (max-width: 834px) {
    .box-solid {
      --block-padding: clamp(var(--margin_px), 5vw, 30px);
      --inline-padding: clamp(var(--margin_px), 5vw, 30px);
    }
  }
  .box-narrow {
    padding: clamp(0.5em, 2vw, 1em);
  }
  .border-none {
    border: none;
  }
  .border-bottom {
    border-bottom: 1px solid var(--bd-color, var(--light-gray));
  }
  .border-top {
    border-top: 1px solid var(--bd-color, var(--light-gray));
  }
  .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 var(--bd-color, var(--light-gray));
    vertical-align: top;
  }
  .object-cover {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  @media screen and (max-width: 980px) {
    .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 > * {
    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-type: inline-size;
  }
  .btn-container {
    container: btn-container/inline-size;
  }
}
@layer utilities {
  .color {
    color: var(--color);
  }
  .background-color {
    background-color: var(--color);
  }
  .border-color {
    border-color: var(--color);
  }
  .--base {
    --color: var(--base-color);
  }
  .--color-red {
    --color: red;
  }
  .--yellow {
    --color: var(--yellow);
  }
  .--light-yellow {
    --color: var(--light-yellow);
  }
  .--black {
    --color: #000;
  }
  .--white {
    --color: #fff;
  }
  .--bg-white {
    --bg-color: #fff;
  }
  .--gray {
    --color: var(--gray);
  }
  .important {
    color: var(--caution);
  }
  .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);
  }
  .c-yellow {
    color: var(--yellow);
  }
  .c-gray {
    color: var(--gray);
  }
  .c-hover:hover {
    color: var(--key-color);
  }
  .bg-color {
    background-color: var(--color);
  }
  .bg-base {
    background-color: var(--base-color);
  }
  .bg-light-gray {
    background-color: var(--light-gray);
  }
  .bg-black {
    background-color: #000;
  }
  .bg-white {
    background-color: #fff;
  }
  .bg-red {
    background-color: #ed1c24;
  }
  .multiply {
    mix-blend-mode: multiply;
  }
  .bg-base-full {
    border-image-source: linear-gradient(var(--color, var(--base-color)), var(--color, var(--base-color)));
    border-image-slice: 0 fill;
    border-image-outset: 0 100vw 0 100vw;
  }
  .bg-yellow-full {
    border-image-source: linear-gradient(var(--yellow), var(--yellow));
    border-image-slice: 0 fill;
    border-image-outset: 0 100vw 0 100vw;
  }
  .bg-white-full {
    border-image-source: linear-gradient(#fff, #fff);
    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: 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: 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%;
    }
  }
  .is-current {
    color: red !important;
  }
  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;
  }
  .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: 0;
    }
    .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;
  }
  .pt140 {
    padding-top: 140px;
  }
  .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: 980px) {
    .pc-mt0 {
      margin-top: 0;
    }
    .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;
    inset: 0;
    transition: all 150ms ease-in;
  }
  .width-fit-content {
    width: fit-content;
  }
  .box-shadow {
    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1), 0 3px 10px -5px rgba(0, 0, 0, 0.08), 0 5px 20px -10px rgba(0, 0, 0, 0.06);
  }
  .map {
    overflow: hidden;
    width: 100%;
    height: 100%;
    min-height: 478px;
  }
  @media screen and (max-width: 834px) {
    .map {
      min-height: auto;
    }
  }
  .map iframe {
    width: 100%;
    height: 100%;
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
  }
  @media screen and (max-width: 834px) {
    .map iframe {
      max-height: 250px;
      aspect-ratio: 375/250;
    }
  }
  .univ-point {
    cursor: pointer;
    text-decoration: underline;
    color: #007bff;
    transition: opacity 0.2s;
  }
  .univ-point:hover {
    opacity: 0.7;
  }
  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: 980px) {
    .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;
  }
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   サードパーティライブラリ（必要に応じてコメント解除）
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   未使用コンポーネント（アーカイブ）
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
