@charset "UTF-8";
@layer reset {
  *,
  *::before,
  *::after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  html {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    -ms-text-size-adjust: none;
        text-size-adjust: none;
  }
  body,
  h1,
  h2,
  h3,
  h4,
  p,
  figure,
  blockquote,
  dl,
  dd {
    margin: 0;
  }
  ul[role=list],
  ol[role=list] {
    list-style: none;
  }
  body {
    line-height: 1.5;
    min-height: 100lvh;
  }
  h1,
  h2,
  h3,
  h4,
  button,
  input,
  label {
    line-height: 1.1;
  }
  a:not([class]) {
    -webkit-text-decoration-skip: ink;
            text-decoration-skip-ink: auto;
    color: currentColor;
  }
  a {
    word-break: break-all;
  }
  img,
  picture,
  svg {
    display: block;
    max-width: 100%;
  }
  input,
  button,
  textarea,
  select {
    font: inherit;
  }
  textarea:not([rows]) {
    min-height: 10em;
  }
  :target {
    scroll-margin-block: 2.5ex;
  }
}
html {
  scroll-behavior: smooth;
  scroll-padding-block: var(--header-height);
}

body {
  font-size: 1rem;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
  color: var(--color-main);
  font-family: var(--font-base), sans-serif;
  background-color: var(--color-sub);
}
@media screen and (width <= 768px) {
  body {
    font-size: 0.875rem;
  }
}
body[data-foreground=dark] {
  color: var(--color-sub);
}
body[data-background=light] {
  background-color: var(--color-tmp-light);
}
body[data-background=toki] {
  background-color: var(--color-toki-light);
}
body[data-background=spica] {
  background-color: var(--color-spica-light);
}
body[data-background=akatsuki] {
  background-color: var(--color-akatsuki-light);
}
body[data-background=muget] {
  background-color: var(--color-muget-light);
}

:root {
  --color-main: #f7f7f7;
  --color-main-light: #f0f0f0;
  --color-sub: #111111;
  --color-sub-light: #2b2b2b;
  --color-accent: #d2c4ff;
  --color-white: #ffffff;
  --color-white-light: #ececec;
  --color-gray: #999999;
  --color-gray-light: #8c8c8c;
  --color-gray-lighter: #cecece;
  --color-gray-lightest: #d7d7d7;
  --color-toki: #2f8169;
  --color-toki-light: #dae9e5;
  --color-toki-line: #b7d4cd;
  --color-akatsuki: #306cb3;
  --color-akatsuki-light: #e6edf6;
  --color-akatsuki-line: #bccde3;
  --color-spica: #ebb51e;
  --color-spica-light: #f7f6ec;
  --color-spica-line: #e1d8b9;
  --color-muget: #90529a;
  --color-muget-light: #f3ecf4;
  --color-muget-line: #d5c0d9;
  --color-tmp-light: #e8e8e8;
}

:root {
  --font-base: Noto Sans JP, sans-serif; /* メインフォント */
  --header-min-height: 100px; /* ヘッダー - 高さ */
  --header-gutter: min(80px, var(--gutter, 0px)); /* ヘッダーガイド */
  --footer-gutter: min(80px, var(--gutter, 0px)); /* フッターガイド */
  --content-max-inline-size: 1480px; /* コンテンツ最大幅 */
  --gutter: clamp(40px, -32px + 6vw, 64px); /* コンテンツガイド */
  --content-inner-gutter: clamp(10px, 0.8163265306px + 2.4489795918vw, 40px); /* コンテンツ内部ガイド */
  --contents-spacer: 100px; /* コンテンツ間隔 */
  --content-inset-inline: max((var(--viewport-width, var(--content-max-inline-size)) - var(--content-max-inline-size)) * 0.5, 0px); /* 画面端からコンテンツまでのスペース */
  --gutter-vertical-ruled-line-offset-1: calc(max(var(--gutter), var(--content-inset-inline)) * -1 + var(--gutter));
  --gutter-vertical-ruled-line-offset-2: calc(var(--gutter-vertical-ruled-line-offset-1) - var(--gutter) * 0.5);
  --gutter-vertical-ruled-line-offset-3: calc(var(--gutter-vertical-ruled-line-offset-1) - min(1rem, var(--gutter) * 0.5));
  /* コンテンツレイアウト変数 */
}
@media screen and (width <= 1200px) {
  :root {
    --gutter: clamp(25px, 18.1818181818px + 1.8181818182vw, 40px); /* コンテンツガイド */
    --header-min-height: 64px; /* ヘッダー - 高さ */
  }
}
@media screen and (width <= 768px) {
  :root {
    --gutter: clamp(10px, 4.2666666667vw, clamp(16px, 5.0909090909px + 2.9090909091vw, 40px)); /* コンテンツガイド */
    --contents-spacer: 80px; /* コンテンツ間隔 */
  }
}
@media screen and (width <= 374px) {
  :root {
    --content-inner-gutter: min(10px, 2.6666666667vw); /* コンテンツ内部ガイド */
  }
}

/* 回転アニメーションの定義 */
@-webkit-keyframes rotateAnimation {
  from {
    rotate: 0deg;
  }
  to {
    rotate: 360deg;
  }
}
@keyframes rotateAnimation {
  from {
    rotate: 0deg;
  }
  to {
    rotate: 360deg;
  }
}
:root {
  --tab-transition-duration: 0.3s;
  --tab-primary-color: #004b8d;
  --tab-text-color: #333333;
  --tab-active-text-color: #ffffff;
  --tab-spacing: 8px;
  --tab-border-radius: 20px;
  --tab-inactive-bg: #f0f0f0;
  --tab-font-size: 0.875rem;
  --tab-padding: 8px 16px;
}

:where(.js-tab-container) {
  display: grid;
}
:where(.js-tab-container) .js-tab-buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
:where(.js-tab-container) .js-tab-button {
  margin: 0;
  padding: 0;
  cursor: pointer;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
}
:where(.js-tab-container) .js-tab-contents {
  position: relative;
  display: grid;
  grid-template-areas: "tab-content";
}
:where(.js-tab-container) .js-tab-content {
  z-index: 0;
  display: grid;
  visibility: hidden;
  grid-template-rows: 0fr;
  grid-area: tab-content;
  opacity: 0;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-duration: var(--tab-transition-duration);
          transition-duration: var(--tab-transition-duration);
  -webkit-transition-property: visibility, opacity, z-index, grid-template-rows;
  transition-property: visibility, opacity, z-index, grid-template-rows;
  transition-property: visibility, opacity, z-index, grid-template-rows, -ms-grid-rows;
}
:where(.js-tab-container) .js-tab-content.is-active {
  z-index: 1;
  visibility: visible;
  grid-template-rows: 1fr;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  opacity: 1;
}
:where(.js-tab-container) .js-tab-content[aria-hidden=true] {
  display: none;
}
:where(.js-tab-container) .js-tab-content-inn {
  overflow: hidden;
}

.js-tab-container.tab-theme-default {
  gap: var(--tab-spacing);
}
.js-tab-container.tab-theme-default .js-tab-buttons {
  gap: var(--tab-spacing);
}
.js-tab-container.tab-theme-default .js-tab-button {
  font-size: var(--tab-font-size);
  padding: var(--tab-padding);
  color: var(--tab-text-color);
  border-radius: var(--tab-border-radius);
  background-color: var(--tab-inactive-bg);
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-duration: var(--tab-transition-duration);
          transition-duration: var(--tab-transition-duration);
  -webkit-transition-property: background-color, color, opacity;
  transition-property: background-color, color, opacity;
}
.js-tab-container.tab-theme-default .js-tab-button:hover {
  opacity: 0.9;
}
.js-tab-container.tab-theme-default .js-tab-button.is-active {
  color: var(--tab-active-text-color);
  background-color: var(--tab-primary-color);
}
.js-tab-container.tab-theme-default .js-tab-button:focus {
  outline: 2px solid rgb(from var(--tab-primary-color) r g b/0.5);
  outline-offset: 2px;
}
.js-tab-container.tab-theme-default .js-tab-button:focus:not(:focus-visible) {
  outline: none;
}
.js-tab-container.tab-theme-default .js-tab-contents {
  padding: var(--tab-spacing);
}

.js-res-dropdown {
  --dropdown-color-foreground: var(--color-main, currentColor);
  --dropdown-color-foreground-active: var(--color-main, currentColor);
  --dropdown-color-background: var(--color-sub, #ffffff);
  --dropdown-border: 1px solid var(--color-gray-lighter);
  --dropdown-box-shadow: 0 3px 6px rgb(from var(--dropdown-color-background) r g b / 0.16);
  --dropdown-border-radius-close: var(--dropdown-border-radius, 100vmax);
  --dropdown-border-radius-open: var(--dropdown-border-radius, 1rem);
}
:where(.js-res-dropdown) {
  width: 100%;
  margin: 0 auto;
}
:where(.js-res-dropdown).is-always-dropdown, :where(.js-res-dropdown).is-responsive {
  position: relative;
  width: 100%;
}

:where(.js-res-dropdown__current) {
  position: relative;
  display: none;
  width: 100%;
  padding: 0;
  cursor: pointer;
  -webkit-transition: border-radius 0s 0.15s, border 0.15s allow-discrete 0.15s, background-color 0.3s 0s, -webkit-box-shadow 0.3s 0.15s;
  transition: border-radius 0s 0.15s, border 0.15s allow-discrete 0.15s, background-color 0.3s 0s, -webkit-box-shadow 0.3s 0.15s;
  transition: border-radius 0s 0.15s, border 0.15s allow-discrete 0.15s, background-color 0.3s 0s, box-shadow 0.3s 0.15s;
  transition: border-radius 0s 0.15s, border 0.15s allow-discrete 0.15s, background-color 0.3s 0s, box-shadow 0.3s 0.15s, -webkit-box-shadow 0.3s 0.15s;
  text-align: left;
  color: var(--dropdown-color-foreground);
  border: none;
  border: var(--dropdown-border);
  border-radius: var(--dropdown-border-radius-close);
  background: var(--dropdown-color-background);
  -webkit-box-shadow: var(--dropdown-box-shadow);
          box-shadow: var(--dropdown-box-shadow);
}
:where(.js-res-dropdown__current):focus-visible {
  color: var(--dropdown-color-background);
  outline: none;
  background-color: var(--dropdown-color-background-hover, var(--dropdown-color-foreground));
}
@media (any-hover: hover) {
  :where(.js-res-dropdown__current):hover {
    color: var(--dropdown-color-background);
    outline: none;
    background-color: var(--dropdown-color-background-hover, var(--dropdown-color-foreground));
  }
}
.js-res-dropdown.is-always-dropdown :where(.js-res-dropdown__current), .js-res-dropdown.is-responsive :where(.js-res-dropdown__current) {
  display: block;
}
:where(.js-res-dropdown__current)[aria-expanded=true] {
  -webkit-transition: border-radius 0s 0.15s, border 0.3s allow-discrete 0s, background-color 0.3s 0s, -webkit-box-shadow 0.3s 0s;
  transition: border-radius 0s 0.15s, border 0.3s allow-discrete 0s, background-color 0.3s 0s, -webkit-box-shadow 0.3s 0s;
  transition: border-radius 0s 0.15s, border 0.3s allow-discrete 0s, background-color 0.3s 0s, box-shadow 0.3s 0s;
  transition: border-radius 0s 0.15s, border 0.3s allow-discrete 0s, background-color 0.3s 0s, box-shadow 0.3s 0s, -webkit-box-shadow 0.3s 0s;
  border-bottom-color: transparent;
  border-radius: var(--dropdown-border-radius-open) var(--dropdown-border-radius-open) 0 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}

:where(.js-res-dropdown__placeholder) {
  display: block;
  overflow: hidden;
  padding: 0.615em 0.71875em;
  padding-right: 40px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

:where(.js-res-dropdown__arrow) {
  position: absolute;
  top: 50%;
  right: 15px;
  display: block;
  width: 7px;
  aspect-ratio: 1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  translate: 0 -75%;
  rotate: 135deg;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  border-width: 2px 2px 0 0;
  border-style: solid;
  border-color: currentColor;
}
.js-res-dropdown__current[aria-expanded=true] :where(.js-res-dropdown__arrow) {
  translate: 0 -25%;
  rotate: -45deg;
}

:where(.js-res-dropdown__options-wrapper) {
  display: grid;
  width: 100%;
  -webkit-transition: visibility 0.15s, grid-template-rows 0.15s;
  transition: visibility 0.15s, grid-template-rows 0.15s;
  transition: visibility 0.15s, grid-template-rows 0.15s, -ms-grid-rows 0.15s;
}
.js-res-dropdown.is-always-dropdown :where(.js-res-dropdown__options-wrapper), .js-res-dropdown.is-responsive :where(.js-res-dropdown__options-wrapper) {
  position: absolute;
  z-index: 1000;
  top: calc(100% - 1px);
  left: 0;
  visibility: hidden;
  grid-template-rows: 0fr;
}
.js-res-dropdown.is-always-dropdown :where(.js-res-dropdown__options-wrapper):has(.is-open), .js-res-dropdown.is-responsive :where(.js-res-dropdown__options-wrapper):has(.is-open) {
  visibility: visible;
  grid-template-rows: 1fr;
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}

:where(.js-res-dropdown__options) {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 5px 20px;
  width: 100%;
}
.js-res-dropdown.is-always-dropdown :where(.js-res-dropdown__options), .js-res-dropdown.is-responsive :where(.js-res-dropdown__options) {
  display: block;
  overflow: hidden;
  -webkit-transition: border 0.3s allow-discrete 0s;
  transition: border 0.3s allow-discrete 0s;
  border-radius: 0 0 var(--dropdown-border-radius-open) var(--dropdown-border-radius-open);
  background-color: var(--dropdown-color-background);
  -webkit-box-shadow: var(--dropdown-box-shadow);
          box-shadow: var(--dropdown-box-shadow);
}
.js-res-dropdown.is-always-dropdown :where(.js-res-dropdown__options).is-open, .js-res-dropdown.is-responsive :where(.js-res-dropdown__options).is-open {
  -webkit-transition: border 0s allow-discrete 0s;
  transition: border 0s allow-discrete 0s;
  border: var(--dropdown-border);
  border-top: none;
}

:where(.js-res-dropdown__option) {
  color: var(--dropdown-color-foreground);
}
:where(.js-res-dropdown__option).is-active {
  pointer-events: none;
  color: var(--dropdown-color-foreground-active, currentColor);
}

.js-scroll-fade-up-trr {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: opacity 0.6s ease-out, -webkit-transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, -webkit-transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out, -webkit-transform 0.6s ease-out;
}

.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.c-form-annotation, .c-form-tag, .c-form-label {
  font-size: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
  font-weight: 500;
  line-height: 1.2;
  color: var(--color-main);
}
@media screen and (width <= 374px) {
  .c-form-annotation, .c-form-tag, .c-form-label {
    font-size: min(min(14px, 3.7333333333vw));
  }
}

.c-form-tag {
  background-color: #585858;
  padding: 2px 0.7em 2.5px;
  color: var(--color-white);
  border-radius: 100vmax;
  font-weight: 400;
}
.c-form-tag.-req {
  background-color: #d43939;
}

.c-form-annotation {
  opacity: 0.3;
  font-size: 0.875em;
  line-height: 1.35;
}
@media screen and (width <= 374px) {
  .c-form-annotation {
    font-size: max(10px, 0.75em);
  }
}
.c-form-annotation > .asterisk {
  display: inline-block;
  position: relative;
  padding-left: 1.2em;
}
.c-form-annotation > .asterisk::before {
  content: "※";
  position: absolute;
  left: 0;
}

.c-form-field-accept, .c-form-field-file, .c-form-field-checkbox, .c-form-field-radio, .c-form-field-select2, .c-form-field-select, .c-form-field-textarea, .c-form-field-text {
  font-size: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
  font-weight: 500;
  width: 100%;
}
.c-form-field-accept input, .c-form-field-file input, .c-form-field-checkbox input, .c-form-field-radio input, .c-form-field-select2 input, .c-form-field-select input, .c-form-field-textarea input, .c-form-field-text input,
.c-form-field-accept select,
.c-form-field-file select,
.c-form-field-checkbox select,
.c-form-field-radio select,
.c-form-field-select2 select,
.c-form-field-select select,
.c-form-field-textarea select,
.c-form-field-text select,
.c-form-field-accept textarea,
.c-form-field-file textarea,
.c-form-field-checkbox textarea,
.c-form-field-radio textarea,
.c-form-field-select2 textarea,
.c-form-field-select textarea,
.c-form-field-textarea textarea,
.c-form-field-text textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
}

.c-form-field-file__wrp, .c-form-field-select2__input, .c-form-field-select__input, .c-form-field-textarea__input, .c-form-field-text__input {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  font-family: inherit;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 50px;
  padding: 0.5em 1.25em;
  border: none;
  border: 1px solid #585858;
  outline-offset: 0;
  background-color: var(--color-sub-light);
  border-radius: 10px;
}
@media (any-hover: hover) {
  .c-form-field-file__wrp:hover, .c-form-field-select2__input:hover, .c-form-field-select__input:hover, .c-form-field-textarea__input:hover, .c-form-field-text__input:hover {
    outline: 1px solid rgba(var(--color-main), 0.5);
  }
}
.c-form-field-file__wrp:focus, .c-form-field-select2__input:focus, .c-form-field-select__input:focus, .c-form-field-textarea__input:focus, .c-form-field-text__input:focus {
  outline: 1px solid var(--color-main);
}
.c-form-field-file__wrp::-webkit-input-placeholder, .c-form-field-select2__input::-webkit-input-placeholder, .c-form-field-select__input::-webkit-input-placeholder, .c-form-field-textarea__input::-webkit-input-placeholder, .c-form-field-text__input::-webkit-input-placeholder {
  color: #d3d9df;
}
.c-form-field-file__wrp::-moz-placeholder, .c-form-field-select2__input::-moz-placeholder, .c-form-field-select__input::-moz-placeholder, .c-form-field-textarea__input::-moz-placeholder, .c-form-field-text__input::-moz-placeholder {
  color: #d3d9df;
}
.c-form-field-file__wrp:-ms-input-placeholder, .c-form-field-select2__input:-ms-input-placeholder, .c-form-field-select__input:-ms-input-placeholder, .c-form-field-textarea__input:-ms-input-placeholder, .c-form-field-text__input:-ms-input-placeholder {
  color: #d3d9df;
}
.c-form-field-file__wrp::-ms-input-placeholder, .c-form-field-select2__input::-ms-input-placeholder, .c-form-field-select__input::-ms-input-placeholder, .c-form-field-textarea__input::-ms-input-placeholder, .c-form-field-text__input::-ms-input-placeholder {
  color: #d3d9df;
}
.c-form-field-file__wrp::placeholder, .c-form-field-select2__input::placeholder, .c-form-field-select__input::placeholder, .c-form-field-textarea__input::placeholder, .c-form-field-text__input::placeholder {
  color: #d3d9df;
}
[aria-error][data-clicked=true]:not([aria-error=""]) .c-form-field-file__wrp:not(:focus):not(:hover), [aria-error][data-clicked=true]:not([aria-error=""]) .c-form-field-select2__input:not(:focus):not(:hover), [aria-error][data-clicked=true]:not([aria-error=""]) .c-form-field-select__input:not(:focus):not(:hover), [aria-error][data-clicked=true]:not([aria-error=""]) .c-form-field-textarea__input:not(:focus):not(:hover), [aria-error][data-clicked=true]:not([aria-error=""]) .c-form-field-text__input:not(:focus):not(:hover) {
  border-color: #d43939;
  outline: 1px solid #d43939;
}

.c-form-field-accept, .c-form-field-checkbox, .c-form-field-radio {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px clamp(24px, -61.7721518987px + 8.8607594937vw, 80px);
}

.c-form-field-checkbox__item, .c-form-field-radio__item {
  display: grid;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: repeat(2, auto);
  -webkit-column-gap: 12px;
     -moz-column-gap: 12px;
          column-gap: 12px;
}

.c-form-field-checkbox__item-label, .c-form-field-radio__item-label {
  font-size: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
  font-weight: 500;
  cursor: pointer;
}

.c-form-field-accept__input, .c-form-field-checkbox__item-input {
  position: relative;
  width: 24px;
  height: 24px;
  margin: 0;
  cursor: pointer;
  border: 1px solid #f7f7f7;
  background-color: transparent;
}
.c-form-field-accept__input:focus-visible, .c-form-field-checkbox__item-input:focus-visible {
  outline: 1px solid var(--color-main);
  outline-offset: 2px;
}
@media (any-hover: hover) {
  .c-form-field-accept__input:hover, .c-form-field-checkbox__item-input:hover {
    outline: 1px solid var(--color-main);
    outline-offset: 2px;
  }
}
.c-form-field-accept__input::before, .c-form-field-checkbox__item-input::before {
  aspect-ratio: 1.3;
  position: absolute;
  inset: 50%;
  display: block;
  width: 55%;
  content: none;
  translate: -10% -45%;
  rotate: -45deg;
  -webkit-transform-origin: 0% 100%;
          transform-origin: 0% 100%;
  border-bottom: 2px solid var(--color-main);
  border-left: 2px solid var(--color-main);
}
.c-form-field-accept__input:checked::before, .c-form-field-checkbox__item-input:checked::before {
  content: "";
}

.c-form-field-select2, .c-form-field-select {
  position: relative;
}
.c-form-field-select2::after, .c-form-field-select::after {
  position: absolute;
  top: 50%;
  right: 1.2rem;
  width: 0.85em;
  height: 0.85em;
  content: "";
  -webkit-transform: translateY(-45%);
          transform: translateY(-45%);
  pointer-events: none;
  background-color: var(--color-main);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M1 3L5 7L9 3' stroke='%23000000' fill='none' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M1 3L5 7L9 3' stroke='%23000000' fill='none' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}

.c-form-field-select2__input, .c-form-field-select__input {
  padding-right: calc(0.85em + 1.2rem + 0.6rem);
  cursor: pointer;
}
.c-form-field-select2__input:invalid, .c-form-field-select__input:invalid {
  color: #d3d9df;
}
.c-form-field-select2__input > option, .c-form-field-select__input > option {
  color: var(--color-main);
}

.c-form-field-textarea__input {
  height: 100%;
  resize: vertical;
  vertical-align: bottom;
}
.c-form-field-textarea__input:not([rows]) {
  min-height: 16em;
}

.c-form-field-select2 {
  position: relative;
}

.c-form-field-select2__list {
  position: absolute;
  z-index: 1000;
  top: 100%;
  right: 0;
  left: 0;
  display: none;
  overflow-y: auto;
  max-height: 200px;
  margin-top: 4px;
  border: 1px solid #cccccc;
  border-radius: 4px;
  background-color: #ffffff;
}
.c-form-field-select2__list.is-visible {
  display: block;
}

.c-form-field-select2__item {
  padding: 8px;
  cursor: pointer;
}
.c-form-field-select2__item:hover {
  background: #f0f0f0;
}

@media screen and (width <= 48rem) {
  .c-form-field-radio {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr));
  }
}

.c-form-field-radio__item-input {
  position: relative;
  width: 24px;
  height: 24px;
  margin: 0;
  cursor: pointer;
  border: 1px solid var(--color-main);
  border-radius: 50%;
  background-color: #ffffff;
}
.c-form-field-radio__item-input:focus-visible {
  border-color: var(--color-main);
  outline: 1px solid var(--color-main);
}
@media (any-hover: hover) {
  .c-form-field-radio__item-input:hover {
    border-color: var(--color-main);
    outline: 1px solid var(--color-main);
  }
}
.c-form-field-radio__item-input::before {
  aspect-ratio: 1/1;
  position: absolute;
  inset: 50%;
  display: block;
  width: 70%;
  content: "";
  translate: -50% -50%;
  border-radius: 50%;
}
.c-form-field-radio__item-input:checked::before {
  background-color: var(--color-main);
}

@media screen and (width <= 48rem) {
  .c-form-field-checkbox {
    display: grid;
  }
}

.c-form-field-file__wrp {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 1fr auto;
  gap: 8px;
  padding-right: 8px;
  cursor: pointer;
}

.c-form-field-file__name {
  display: block;
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #d3d9df;
}
.c-form-field-file__name.is-inputted {
  color: inherit;
}

.c-form-field-file__btn {
  padding: 4px 24px;
  cursor: pointer;
  border: 1px solid currentColor;
  border-radius: 5px;
}
.c-form-field-file:focus-visible .c-form-field-file__btn {
  color: #ffffff;
  background-color: var(--color-main);
}
@media (any-hover: hover) {
  .c-form-field-file:hover .c-form-field-file__btn {
    color: #ffffff;
    background-color: var(--color-main);
  }
}

.c-form-field-file__input {
  display: none;
}

.c-form-field-accept {
  line-height: 1.35;
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: repeat(2, auto);
  -webkit-column-gap: clamp(8px, 2.9333333333vw, 16px);
     -moz-column-gap: clamp(8px, 2.9333333333vw, 16px);
          column-gap: clamp(8px, 2.9333333333vw, 16px);
  font-size: clamp(11px, 3.2vw, 14px);
}

@media screen and (width <= 768px) {
  .c-form-field-accept__input {
    width: clamp(14px, 4.8vw, 18px);
    height: clamp(14px, 4.8vw, 18px);
  }
}

.c-form-field-accept__label {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  cursor: pointer;
  color: var(--color-main);
}

.c-form-field-accept__link {
  display: block;
  margin-right: 0.35em;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  color: inherit;
}
.c-form-field-accept__link:focus-visible {
  color: rgb(from #0059a1 r g b/0.75);
}
@media (any-hover: hover) {
  .c-form-field-accept__link:hover {
    color: rgb(from #0059a1 r g b/0.75);
  }
}
.c-form-field-accept__link::after {
  aspect-ratio: 10.74/10.5;
  display: inline-block;
  vertical-align: middle;
  width: max(10px, 0.625em);
  margin-left: 0.35em;
  content: "";
  translate: 0 -20%;
  background-color: currentColor;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../../assets/images/icn_blank-link_01.svg);
          mask-image: url(../../assets/images/icn_blank-link_01.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}

.c-form-field-group {
  --gap: clamp(32px, 8.5333333333vw, 48px);
  --negative: min(20px, var(--gutter, 0) * 0.5);
  display: grid;
  row-gap: calc(var(--gap) * 0.5);
}

.c-form-field-group__unit {
  display: grid;
  row-gap: calc(var(--gap) * 0.5);
  width: calc(100% + var(--negative) * 2);
  margin-inline: calc(var(--negative) * -1);
  padding: 24px var(--negative);
  border: 1px solid var(--color-main);
  border-radius: 10px;
}

.c-form-field-group__buttons {
  display: grid;
  grid-template: "add remove" max(30px, var(--gap) * 0.75)/0.9fr 0.1fr;
  -webkit-column-gap: min(20px, 1.25vw);
     -moz-column-gap: min(20px, 1.25vw);
          column-gap: min(20px, 1.25vw);
}

.c-form-field-group__add,
.c-form-field-group__remove {
  border: none;
  background-color: transparent;
}
.c-form-field-group__add > .txt.-sr-only,
.c-form-field-group__remove > .txt.-sr-only {
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  white-space: nowrap;
}

.c-form-field-group__add {
  display: block;
  grid-area: add;
  width: 100%;
  height: 100%;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  border-radius: 10px;
  background-color: var(--color-accent-light);
}
.c-form-field-group__add:focus-visible {
  background-color: rgb(from var(--color-accent-light) r g b/0.75);
}
@media (any-hover: hover) {
  .c-form-field-group__add:hover {
    background-color: rgb(from var(--color-accent-light) r g b/0.75);
  }
}
.c-form-field-group__add::after {
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--color-white);
  -webkit-mask-size: auto 90%;
          mask-size: auto 90%;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4C11.4477 4 11 4.44772 11 5V11H5C4.44772 11 4 11.4477 4 12C4 12.5523 4.44772 13 5 13H11V19C11 19.5523 11.4477 20 12 20C12.5523 20 13 19.5523 13 19V13H19C19.5523 13 20 12.5523 20 12C20 11.4477 19.5523 11 19 11H13V5C13 4.44772 12.5523 4 12 4Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4C11.4477 4 11 4.44772 11 5V11H5C4.44772 11 4 11.4477 4 12C4 12.5523 4.44772 13 5 13H11V19C11 19.5523 11.4477 20 12 20C12.5523 20 13 19.5523 13 19V13H19C19.5523 13 20 12.5523 20 12C20 11.4477 19.5523 11 19 11H13V5C13 4.44772 12.5523 4 12 4Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}

.c-form-field-group__remove {
  grid-area: remove;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.c-form-field-group__remove:focus-visible::after {
  background-color: #dc3545;
}
@media (any-hover: hover) {
  .c-form-field-group__remove:hover::after {
    background-color: #dc3545;
  }
}
.c-form-field-group__remove::after {
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  background-color: var(--color-accent-light);
  -webkit-mask-size: max(50%, 20px) auto;
          mask-size: max(50%, 20px) auto;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}

.c-form-error {
  font-size: clamp(0.75rem, 0.71875rem + 0.15625vw, 0.875rem);
  font-weight: 500;
  color: #d13030;
  visibility: hidden;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  word-break: keep-all;
  opacity: 0;
}

.c-form-error--mb10 {
  margin-bottom: 10px;
}

.c-form-error--sm {
  font-size: max(12px, 0.875em);
}

.c-form-msg {
  font-size: min(3.75vw, clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem));
  font-weight: 400;
  color: #d13030;
  margin-block: 16px;
}

.c-heading-02 {
  display: grid;
  row-gap: 0.25em;
  width: 100%;
}

.c-heading-02__label {
  font-family: "Archivo", sans-serif;
  font-size: clamp(16px, 15px + 0.3125vw, 20px);
  font-weight: 700;
  line-height: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: transparent;
  background: url(../images/bg_text_01.webp) no-repeat center center/cover;
  -webkit-background-clip: text;
          background-clip: text;
}

.c-heading-02__heading {
  font-size: clamp(24px, 8vw, clamp(30px, 23.8775510204px + 1.6326530612vw, 50px));
  line-height: 1.36;
  overflow-wrap: anywhere;
  word-break: keep-all;
}

.c-breadcrumb {
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  row-gap: 4px;
  width: 100%;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  color: var(--breadcrumb-color, var(--color-main));
}

.c-breadcrumb__item {
  font-size: clamp(10px, 3.2vw, clamp(12px, 10.7755102041px + 0.3265306122vw, 16px));
  font-weight: 500;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.c-breadcrumb__item:not(:last-of-type) > a {
  text-decoration: none;
  color: color-mix(var(--breadcrumb-color, var(--color-main)), transparent 50%);
}
.c-breadcrumb__item:last-of-type {
  -webkit-line-clamp: 1;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-flex: unset;
  -webkit-flex: unset;
      -ms-flex: unset;
          flex: unset;
  -webkit-box-orient: vertical;
  text-decoration: none;
}

.c-button-arrow {
  --button-color-foreground: var(--color-main);
  --button-color-foreground-hover: var(--color-sub);
  --button-color-background: var(--color-sub);
  --button-color-background-hover: var(--color-main);
  width: 100%;
  padding: 0.85em 2em;
  border: 1px solid currentColor;
  background-color: var(--button-color-background);
  display: grid;
  grid-template-columns: 1fr auto;
  color: var(--button-color-foreground);
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
  text-decoration: none;
  border-radius: 100vmax;
  line-height: 1.2;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  -webkit-transition: color 0.3s ease-out, background-color 0.3s ease-out;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
}

.c-button-arrow__icon {
  width: 2em;
  aspect-ratio: 1;
  -webkit-transition: translate 0.3s ease-out;
  transition: translate 0.3s ease-out;
}

.c-button-arrow:focus-visible {
  background-color: var(--button-color-background-hover);
  color: var(--button-color-foreground-hover);
}
.c-button-arrow:focus-visible .c-button-arrow__icon {
  translate: 0.5em 0;
}
@media (any-hover: hover) {
  .c-button-arrow:hover {
    background-color: var(--button-color-background-hover);
    color: var(--button-color-foreground-hover);
  }
  .c-button-arrow:hover .c-button-arrow__icon {
    translate: 0.5em 0;
  }
}

.c-card-news {
  --text-color: var(--color-main);
  --text-color-hover: var(--color-sub);
  --background-color: transparent;
  --background-color-hover: var(--color-white-light);
  position: relative;
  display: grid;
  -webkit-transition: color 0.3s ease-out, background-color 0.3s ease-out;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
  color: var(--text-color);
  background-color: var(--background-color);
}
@media (any-hover: hover) {
  .c-card-news:has(:hover), .c-card-news:has(:focus-visible) {
    color: var(--text-color-hover);
    background-color: var(--background-color-hover);
  }
  .c-card-news:has(:hover) .c-card-news__thumbnail > img, .c-card-news:has(:focus-visible) .c-card-news__thumbnail > img {
    scale: 1.05;
  }
}

.c-card-news__link {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  padding-block: 1.5em 4.25em;
  padding-inline: clamp(8px, 3.1020408163px + 1.306122449vw, 24px);
  text-decoration: none;
  color: inherit;
}
@media screen and (width <= 963px) {
  .c-card-news__link {
    padding-block: 1rem;
  }
}

.c-card-news__thumbnail {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16/9;
}
@media screen and (width <= 963px) {
  .c-card-news__thumbnail {
    height: 100%;
    aspect-ratio: auto;
  }
}
.c-card-news__thumbnail > img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
  -webkit-transition: scale 0.3s ease-out;
  transition: scale 0.3s ease-out;
}

.c-card-news__categories {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
  padding: 0;
  list-style: none;
}
@media screen and (width <= 768px) {
  .c-card-news__categories {
    gap: 5px;
  }
}
.c-card-news__categories:empty {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}

.c-card-news__category {
  font-size: clamp(12px, 10.7755102041px + 0.3265306122vw, 16px);
  font-weight: 700;
  line-height: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.25em 0.75em;
  opacity: 0.5;
  border: 1px solid currentColor;
}

.c-card-news__title {
  font-size: clamp(14px, 12.1632653061px + 0.4897959184vw, 20px);
  font-weight: 700;
  line-height: 1.4;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
}

.c-pagination {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.c-pagination__cards {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
     -moz-column-gap: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
          column-gap: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
}

.c-pagination__card {
  --pagination-card-font-size: clamp(10px, 0.875vw, clamp(12px, 11.387755102px + 0.1632653061vw, 14px));
  --pagination-card-width: clamp(24px, 2vw, clamp(24px, 21.5510204082px + 0.6530612245vw, 32px));
  --pagination-card-ratio: 1;
  font-size: var(--pagination-card-font-size);
  font-weight: 500;
  line-height: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: var(--pagination-card-width);
  height: calc(var(--pagination-card-width) / var(--pagination-card-ratio));
  padding: 0.25em;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  text-decoration: none;
  color: var(--color-main);
  border: 1px solid var(--color-main);
  border-radius: 50%;
  background-color: var(--color-white);
}
.c-pagination__card:focus-visible {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  background-color: color-mix(in srgb, var(--color-main) 30%, var(--color-white) 70%);
}
@media (any-hover: hover) {
  .c-pagination__card:hover {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    background-color: color-mix(in srgb, var(--color-main) 30%, var(--color-white) 70%);
  }
}
.c-pagination__card.is-active {
  pointer-events: none;
  color: var(--color-white);
  border-color: var(--color-main);
  background-color: var(--color-main);
}

.c-pagination__dot {
  font-size: 1em;
  font-weight: 500;
  color: var(--color-main);
}

.c-navigation {
  font-weight: 500;
  display: grid;
  row-gap: 0.875em;
  color: var(--color-main);
}

.c-navigation__title {
  font-family: "Archivo", sans-serif;
  font-weight: 700;
  opacity: 0.5;
}

.c-navigation__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: max(1.25em, 12px) 2em;
}

.c-navigation__item {
  font-size: clamp(14px, 12.7755102041px + 0.3265306122vw, 18px);
  display: grid;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  grid-template-columns: repeat(2, auto);
  cursor: pointer;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
  -webkit-column-gap: 0.4em;
     -moz-column-gap: 0.4em;
          column-gap: 0.4em;
}
.c-navigation__item:focus-visible {
  opacity: 0.5;
}
@media (any-hover: hover) {
  .c-navigation__item:hover {
    opacity: 0.5;
  }
}
.c-navigation__item::after {
  content: "↓";
}
.c-navigation__item:has(:checked) {
  pointer-events: none;
  opacity: 0.5;
}

.c-ruled-line {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 1px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
  --ruled-line-duration: 1.8s;
  --ruled-line-delay: 0s;
  --ruled-line-exit-duration: 0.8s;
  --ruled-line-exit-delay: 0s;
  --ruled-line-color-before: var(--color-sub);
  --ruled-line-color-after: var(--color-gray-light);
}
.c-ruled-line::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  -webkit-transform-origin: left;
          transform-origin: left;
  background-color: var(--ruled-line-color-before);
}
.c-ruled-line[data-type=vertical] {
  width: 1px;
  height: 100%;
}
.c-ruled-line[data-animation-type=enter][data-animation-state=initial]::before {
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
}
.c-ruled-line[data-animation-type=enter][data-animation-state=initial][data-type=vertical]::before {
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
  -webkit-transform-origin: top;
          transform-origin: top;
}
.c-ruled-line[data-animation-type=enter][data-animation-state=animating]::before, .c-ruled-line[data-animation-type=enter][data-animation-state=animated]::before {
  -webkit-transform: none;
          transform: none;
  -webkit-transform-origin: left;
          transform-origin: left;
  background-color: var(--ruled-line-color-after);
}
.c-ruled-line[data-animation-type=enter][data-animation-state=animating][data-type=vertical]::before, .c-ruled-line[data-animation-type=enter][data-animation-state=animated][data-type=vertical]::before {
  -webkit-transform-origin: top;
          transform-origin: top;
}
.c-ruled-line[data-animation-type=enter][data-animation-state=animating]::before {
  -webkit-transition: background-color 0.6s var(--ruled-line-delay) cubic-bezier(0.47, 0, 0.745, 0.715), -webkit-transform var(--ruled-line-duration) var(--ruled-line-delay) cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: background-color 0.6s var(--ruled-line-delay) cubic-bezier(0.47, 0, 0.745, 0.715), -webkit-transform var(--ruled-line-duration) var(--ruled-line-delay) cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform var(--ruled-line-duration) var(--ruled-line-delay) cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.6s var(--ruled-line-delay) cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: transform var(--ruled-line-duration) var(--ruled-line-delay) cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.6s var(--ruled-line-delay) cubic-bezier(0.47, 0, 0.745, 0.715), -webkit-transform var(--ruled-line-duration) var(--ruled-line-delay) cubic-bezier(0.39, 0.575, 0.565, 1);
}
.c-ruled-line[data-animation-type=exit][data-animation-state=initial]::before {
  -webkit-transform: none;
          transform: none;
  -webkit-transform-origin: right;
          transform-origin: right;
  background-color: var(--ruled-line-color-after);
}
.c-ruled-line[data-animation-type=exit][data-animation-state=initial][data-type=vertical]::before {
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
}
.c-ruled-line[data-animation-type=exit][data-animation-state=animating]::before, .c-ruled-line[data-animation-type=exit][data-animation-state=animated]::before {
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: right;
          transform-origin: right;
  background-color: var(--ruled-line-color-after);
}
.c-ruled-line[data-animation-type=exit][data-animation-state=animating][data-type=vertical]::before, .c-ruled-line[data-animation-type=exit][data-animation-state=animated][data-type=vertical]::before {
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
}
.c-ruled-line[data-animation-type=exit][data-animation-state=animating]::before {
  -webkit-transition: background-color 0.6s var(--ruled-line-exit-delay) cubic-bezier(0.47, 0, 0.745, 0.715), -webkit-transform var(--ruled-line-exit-duration) var(--ruled-line-exit-delay) cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: background-color 0.6s var(--ruled-line-exit-delay) cubic-bezier(0.47, 0, 0.745, 0.715), -webkit-transform var(--ruled-line-exit-duration) var(--ruled-line-exit-delay) cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform var(--ruled-line-exit-duration) var(--ruled-line-exit-delay) cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.6s var(--ruled-line-exit-delay) cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: transform var(--ruled-line-exit-duration) var(--ruled-line-exit-delay) cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.6s var(--ruled-line-exit-delay) cubic-bezier(0.47, 0, 0.745, 0.715), -webkit-transform var(--ruled-line-exit-duration) var(--ruled-line-exit-delay) cubic-bezier(0.39, 0.575, 0.565, 1);
}

.c-text-slide-reveal {
  position: relative;
  display: block;
  overflow: clip;
  padding: 0.18em;
  color: var(--reveal-text-color);
  --reveal-text-color: var(--color-sub);
  --reveal-rug-color: var(--color-main);
}
.c-text-slide-reveal::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  display: block;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  content: "";
  will-change: clip-path;
  background: var(--reveal-rug-color);
}

.c-text-slide-reveal__text {
  position: relative;
  display: block;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
}

.c-text-slide-reveal.is-animated::after {
  -webkit-animation: --reveal 0.3s ease-out both;
          animation: --reveal 0.3s ease-out both;
}
.c-text-slide-reveal.is-animated .c-text-slide-reveal__text {
  -webkit-animation: --reveal 0.3s ease-out 0.3s both;
          animation: --reveal 0.3s ease-out 0.3s both;
}

@-webkit-keyframes --reveal {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}

@keyframes --reveal {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
.l-form {
  width: 100%;
  padding-inline: var(--gutter, 0px);
}

.l-form__inner > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-form__inner > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-form__inner > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.l-form__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-form__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-form__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-form__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-form__inner {
  position: relative;
  width: min(var(--content-max-inline-size), 100%);
  margin-inline: auto;
}

.l-form__head > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-form__head > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-form__head {
  position: relative;
  width: 100%;
  padding: 1.5em var(--content-inner-gutter);
}

.l-form__explain {
  display: grid;
  row-gap: 32px;
}

.l-form__explain-heading {
  font-size: clamp(1.125rem, 1.0102040816rem + 0.4897959184vw, 1.5rem);
  font-weight: 700;
  line-height: 1.5;
  overflow-wrap: anywhere;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  text-align: center;
  word-break: keep-all;
}

.l-form__explain-text {
  font-size: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
  font-weight: 500;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: min(100%, 810px);
  margin-inline: auto;
}

.l-form__body > .c-ruled-line[data-type=vertical] {
  top: calc(clamp(48px, 45.5510204082px + 0.6530612245vw, 56px) * -1);
  height: calc(100% + clamp(48px, 45.5510204082px + 0.6530612245vw, 56px));
}
.l-form__body > .c-ruled-line[data-type=vertical].line1 {
  left: 0;
}
.l-form__body > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
.l-form__body {
  position: relative;
  width: min(810px, 100%);
  -webkit-margin-before: clamp(48px, 45.5510204082px + 0.6530612245vw, 56px);
          margin-block-start: clamp(48px, 45.5510204082px + 0.6530612245vw, 56px);
  margin-inline: auto;
  padding-inline: var(--content-inner-gutter);
}
.l-form__body.-thanks > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.l-form__body.-thanks {
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-padding-before: 48px;
          padding-block-start: 48px;
}
@media screen and (width <= 768px) {
  .l-form__body.-thanks {
    -webkit-padding-before: 32px;
            padding-block-start: 32px;
  }
}

.l-form__error-msg {
  font-size: clamp(0.75rem, 0.7117346939rem + 0.1632653061vw, 0.875rem);
  font-weight: 500;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 1.2em auto;
  color: #d43939;
}

.l-form-input {
  width: 100%;
}

.l-form-input__fields {
  container-type: inline-size;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
}

.l-form-input :nth-child(n+2 of .l-form-input__fields) {
  margin-top: clamp(24px, 6.4vw, 32px);
}
.l-form-input :nth-child(n+2 of .l-form-input__fields).-accept {
  margin-top: 48px;
}
@media screen and (width <= 576px) {
  .l-form-input :nth-child(n+2 of .l-form-input__fields).-accept {
    margin-top: 32px;
  }
}

.l-form-input__fields-heading {
  font-size: clamp(1.125rem, 0.8954081633rem + 0.9795918367vw, 1.875rem);
  font-weight: 700;
  color: var(--color-main);
  display: block;
  width: 100%;
  margin-bottom: clamp(20px, fs(30, 963), 40px);
  padding-bottom: 0.65em;
  text-align: center;
}

.l-form-input__fields-wrapper {
  display: grid;
  width: 100%;
}

.l-form-input__field {
  display: grid;
  gap: 10px;
  width: 100%;
  margin-top: clamp(24px, 21.5510204082px + 0.6530612245vw, 32px);
}
.l-form-input__field:first-child {
  margin-top: 0;
}
.l-form-input__field.is-hidden {
  display: none;
}
.l-form-input__field.-accept {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.l-form-input__field-lbl {
  display: grid;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: auto 1fr;
  gap: 4px 10px;
}

.l-form-input__field-lbl-ann {
  grid-column: span 2;
}

.l-form-input__field-err.-accept {
  grid-column: 2;
  margin-top: 8px;
}

.l-form-input__controller > .c-ruled-line:not([data-type=vertical]) {
  left: calc(var(--content-inner-gutter) * -0.5);
  width: calc(100% + var(--content-inner-gutter));
}
.l-form-input__controller {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 16px;
  width: 100%;
  -webkit-margin-before: 48px;
          margin-block-start: 48px;
  padding-block: 48px;
}
@media screen and (width <= 768px) {
  .l-form-input__controller {
    -webkit-margin-before: 32px;
            margin-block-start: 32px;
    padding-block: 32px;
  }
}

.l-form-input__controller-btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(290px, 100%);
  max-width: 100%;
}
.l-form-input__controller-btn:has(.is-disabled) {
  cursor: not-allowed;
}
.l-form-input__controller-btn > :where(button) {
  cursor: pointer;
}

.l-form-input__err-counter {
  text-align: center;
}
.l-form-input__err-counter:not(:has(> .is-active.is-visible)) {
  display: none;
}

.l-form-input__recaptcha {
  font-size: 10px;
  color: var(--color-main-light);
  text-align: center;
  line-height: 1.4;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.l-form-confirm {
  width: 100%;
}

.l-form-confirm__list {
  display: grid;
  gap: 32px;
  width: 100%;
}

.l-form-confirm__item {
  font-size: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
  font-weight: 500;
  display: grid;
  gap: 16px;
}

.l-form-confirm__item-label {
  font-weight: 700;
}

.l-form-confirm__item-value {
  width: 100%;
  min-height: 2.65em;
  padding: 0.5em 1.25em 0.6em;
  text-align: justify;
  border: 1px solid #585858;
  border-radius: 5px;
  background-color: var(--color-sub-light);
}
.l-form-confirm__item-value.textarea {
  min-height: 6.25em;
}

.l-form-confirm__controller > .c-ruled-line:not([data-type=vertical]) {
  left: calc(var(--content-inner-gutter) * -0.5);
  width: calc(100% + var(--content-inner-gutter));
}
.l-form-confirm__controller {
  position: relative;
  display: grid;
  gap: 2em;
  width: 100%;
  -webkit-margin-before: 48px;
          margin-block-start: 48px;
  padding-block: 48px;
}
@media screen and (width <= 768px) {
  .l-form-confirm__controller {
    -webkit-margin-before: 32px;
            margin-block-start: 32px;
    padding-block: 32px;
  }
}

.l-form-confirm__controller-btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(290px, 100%);
  max-width: 100%;
  margin-inline: auto;
}
.l-form-confirm__controller-btn > :where(button) {
  cursor: pointer;
}

.l-form-confirm__controller-btn-back {
  font-size: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
  font-weight: 500;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  text-decoration: underline;
  color: var(--color-main);
}
@media (any-hover: hover) {
  .l-form-confirm__controller-btn-back:hover {
    -webkit-animation: flash 1s;
            animation: flash 1s;
  }
}
@-webkit-keyframes flash {
  0% {
    opacity: 0.6;
  }
  to {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: 0.6;
  }
  to {
    opacity: 1;
  }
}

.l-form-thanks > .c-ruled-line:not([data-type=vertical]) {
  left: calc(var(--content-inner-gutter) * -0.5);
  width: calc(100% + var(--content-inner-gutter));
}
.l-form-thanks {
  position: relative;
  -webkit-margin-before: 48px;
          margin-block-start: 48px;
  padding-block: 48px;
}
@media screen and (width <= 768px) {
  .l-form-thanks {
    -webkit-margin-before: 32px;
            margin-block-start: 32px;
    padding-block: 32px;
  }
}

.l-form-thanks__action {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(290px, 100%);
  max-width: 100%;
  margin-inline: auto;
}

.l-header {
  position: -webkit-sticky;
  position: sticky;
  z-index: 9999;
  top: 0;
  display: grid;
  width: 100%;
  min-height: var(--header-min-height);
  background-color: var(--color-sub);
  --header-in-padding-block: clamp(10px, 6.9387755102px + 0.8163265306vw, 20px);
}
[data-background=light] .l-header {
  background-color: var(--color-tmp-light);
}
[data-background=toki] .l-header {
  background-color: var(--color-toki-light);
}
[data-background=spica] .l-header {
  background-color: var(--color-spica-light);
}
[data-background=akatsuki] .l-header {
  background-color: var(--color-akatsuki-light);
}
[data-background=muget] .l-header {
  background-color: var(--color-muget-light);
}

.l-header__inner {
  width: 100%;
  height: 100%;
}

.l-header__content {
  position: relative;
  z-index: 9999;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template: "logo . menu" 1fr/auto minmax(0, 1fr) auto;
  width: 100%;
  height: 100%;
  padding: 0 var(--header-gutter, 80px);
  -webkit-column-gap: clamp(5px, 3.4693877551px + 0.4081632653vw, 10px);
     -moz-column-gap: clamp(5px, 3.4693877551px + 0.4081632653vw, 10px);
          column-gap: clamp(5px, 3.4693877551px + 0.4081632653vw, 10px);
}
@media screen and (width <= 963px) {
  .l-header__content {
    -webkit-padding-end: 0;
            padding-inline-end: 0;
  }
}

.l-header__logo {
  display: block;
  grid-area: logo;
  height: 100%;
  min-height: clamp(45px, 35.8163265306px + 2.4489795918vw, 75px);
  padding-block: var(--header-in-padding-block);
}

.l-header__logo-link {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 100%;
}

.l-header__logo-link-icon {
  -o-object-fit: contain;
     object-fit: contain;
  height: 100%;
}
.l-header__logo-link-icon > .st0 {
  fill: var(--color-main);
}
[data-foreground=dark] .l-header__logo-link-icon > .st0 {
  fill: var(--colors-sub);
}

.l-header__menus {
  font-size: clamp(0.875rem, 0.7596153846rem + 0.2403846154vw, 1rem);
  display: grid;
  justify-items: end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-area: menu;
  row-gap: 1rem;
  height: 100%;
  padding-block: var(--header-in-padding-block);
}
@media screen and (width <= 963px) {
  .l-header__menus {
    display: none;
  }
}

.l-header__links {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}

.l-header__links-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em clamp(16px, 2.8125vw, 40px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.l-header__links-link {
  font-weight: 500;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  text-decoration: none;
  color: var(--color-main);
}
.l-header__links-link:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .l-header__links-link:hover {
    opacity: 0.8;
  }
}
.l-header__links-link[target=_blank]::after {
  display: block;
  height: max(10px, 0.75em);
  aspect-ratio: 1;
  -webkit-margin-start: 0.25em;
          margin-inline-start: 0.25em;
  content: "";
  background: var(--color-main);
  -webkit-mask: url(../images/icn_blank-link_01.svg) center/contain no-repeat;
          mask: url(../images/icn_blank-link_01.svg) center/contain no-repeat;
}
[data-foreground=dark] .l-header__links-link {
  color: var(--color-sub);
}
[data-foreground=dark] .l-header__links-link[target=_blank]::after {
  background: var(--color-sub);
}

.l-header__menu {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}

.l-header__menu-list,
.l-header__submenu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.l-header__menu-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em clamp(16px, 2.8125vw, 40px);
}

.l-header__menu-item {
  anchor-name: --header-menu-submenu-anchor;
  anchor-scope: --header-menu-submenu-anchor;
  position: relative;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}

.l-header__menu-link,
.l-header__submenu-link {
  font-weight: 500;
  display: block;
  text-decoration: none;
}
.l-header__menu-link:focus-visible,
.l-header__submenu-link:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .l-header__menu-link:hover,
  .l-header__submenu-link:hover {
    opacity: 0.8;
  }
}
.l-header__menu-link:where(button),
.l-header__submenu-link:where(button) {
  border: none;
  background-color: transparent;
}

.l-header__menu-link {
  font-weight: 700;
  cursor: pointer;
  color: var(--color-main);
}
[data-foreground=dark] .l-header__menu-link {
  color: var(--color-sub);
}
.l-header__menu-item--bordered .l-header__menu-link {
  font-size: max(10px, 0.8125em);
  padding: 0.615em 1.5em;
  -webkit-transition: color 0.3s ease-out, background-color 0.3s ease-out, border-color 0.3s ease-out;
  transition: color 0.3s ease-out, background-color 0.3s ease-out, border-color 0.3s ease-out;
  border: 1px solid var(--color-main);
  border-radius: 100vmax;
  background-color: var(--color-sub);
}
.l-header__menu-item--bordered .l-header__menu-link:focus-visible {
  opacity: 1;
  color: var(--color-sub);
  border-color: var(--color-sub);
  background-color: var(--color-main);
}
@media (any-hover: hover) {
  .l-header__menu-item--bordered .l-header__menu-link:hover {
    opacity: 1;
    color: var(--color-sub);
    border-color: var(--color-sub);
    background-color: var(--color-main);
  }
}
[data-foreground=dark] .l-header__menu-item--bordered .l-header__menu-link {
  border-color: var(--color-sub);
  background-color: var(--color-main-light);
}
[data-foreground=dark] .l-header__menu-item--bordered .l-header__menu-link:focus-visible {
  color: var(--color-main-light);
  border-color: var(--color-main-light);
  background-color: var(--color-sub);
}
@media (any-hover: hover) {
  [data-foreground=dark] .l-header__menu-item--bordered .l-header__menu-link:hover {
    color: var(--color-main-light);
    border-color: var(--color-main-light);
    background-color: var(--color-sub);
  }
}
.l-header__menu-link[popovertarget] {
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-areas: "text icon";
  -webkit-column-gap: 5px;
     -moz-column-gap: 5px;
          column-gap: 5px;
}
.l-header__menu-link[popovertarget] > .text {
  grid-area: text;
}
.l-header__menu-link[popovertarget]::before, .l-header__menu-link[popovertarget]::after {
  display: block;
  align-self: center;
  grid-area: icon;
  width: 0.65em;
  content: "";
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  translate: 0 0.05lh;
  border-bottom: 1px solid var(--color-main);
}
[data-foreground=dark] .l-header__menu-link[popovertarget]::before, [data-foreground=dark] .l-header__menu-link[popovertarget]::after {
  border-color: var(--color-sub);
}
.l-header__menu-link[popovertarget]::after {
  rotate: 90deg;
}
.l-header__menu-link[popovertarget]:focus:has(+ :popover-open)::before {
  rotate: 180deg;
}
.l-header__menu-link[popovertarget]:focus:has(+ :popover-open)::after {
  rotate: 180deg;
  opacity: 0;
}

.l-header__submenu {
  position-anchor: --header-menu-submenu-anchor;
  position-try-fallbacks: --header-menu-submenu-anchor-fallback-right, flip-inline;
  position: absolute;
  z-index: 100;
  inset: unset;
  top: calc(anchor(bottom) + 0.5rem); /* アンカーの下端 */
  left: anchor(left); /* アンカーの左端 */
  display: grid;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-transition: opacity 0.2s ease, overlay 0.2s ease allow-discrete, display 0.2s ease allow-discrete;
  transition: opacity 0.2s ease, overlay 0.2s ease allow-discrete, display 0.2s ease allow-discrete;
  -webkit-transform-origin: top;
          transform-origin: top;
  opacity: 0;
}
.l-header__submenu[popover] {
  border: none;
}
.l-header__submenu:not(:popover-open) {
  display: none;
}
.l-header__submenu:popover-open {
  opacity: 1;
}
@starting-style {
  .l-header__submenu:popover-open {
    opacity: 0;
  }
}

@position-try --header-menu-submenu-anchor-fallback-right {
  top: calc(anchor(bottom) + 0.5rem);
  right: anchor(right);
  left: auto;
}
.l-header__submenu-item {
  width: 100%;
  -webkit-border-after: 1px solid #585858;
          border-block-end: 1px solid #585858;
  border-inline: 1px solid #585858;
}
.l-header__submenu-item:first-of-type {
  -webkit-border-before: 1px solid #585858;
          border-block-start: 1px solid #585858;
}

.l-header__submenu-link {
  font-size: max(12.5px, 0.875em);
  padding: 0.57em 1.4285em;
  -webkit-transition: background-color 0.3s ease-out, color 0.3s ease-out;
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
  color: var(--color-main);
  background-color: var(--color-sub);
}
.l-header__submenu-link:focus-visible {
  color: var(--color-sub);
  background-color: var(--color-main);
}
@media (any-hover: hover) {
  .l-header__submenu-link:hover {
    color: var(--color-sub);
    background-color: var(--color-main);
  }
}
[data-foreground=dark] .l-header__submenu-link {
  color: var(--color-sub);
  background-color: var(--color-main-light);
}
[data-foreground=dark] .l-header__submenu-link:focus-visible {
  color: var(--color-main-light);
  background-color: var(--color-sub);
}
@media (any-hover: hover) {
  [data-foreground=dark] .l-header__submenu-link:hover {
    color: var(--color-main-light);
    background-color: var(--color-sub);
  }
}

.l-header__nav-toggle {
  position: relative;
  display: none;
  grid-area: menu;
  max-width: var(--header-height, -webkit-fit-content);
  max-width: var(--header-height, -moz-fit-content);
  max-width: var(--header-height, fit-content);
  height: 100%;
  max-height: var(--header-height, -webkit-fit-content);
  max-height: var(--header-height, -moz-fit-content);
  max-height: var(--header-height, fit-content);
  aspect-ratio: 1;
}
@media screen and (width <= 963px) {
  .l-header__nav-toggle {
    display: grid;
    place-items: center;
  }
}
.l-header__nav-toggle:focus-visible::after {
  visibility: visible;
  opacity: 1;
}
@media (any-hover: hover) {
  .l-header__nav-toggle:hover::after {
    visibility: visible;
    opacity: 1;
  }
}
.l-header__nav-toggle:focus-visible {
  border: none;
  outline: 1px solid var(--color-main);
}
.l-header__nav-toggle::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  visibility: hidden;
  content: "";
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  pointer-events: none;
  opacity: 0;
  background-color: rgb(from var(--color-main) r g b/0.15);
}
[data-foreground=dark] .l-header__nav-toggle:focus-visible {
  outline-color: var(--color-sub);
}
[data-foreground=dark] .l-header__nav-toggle::after {
  background-color: rgb(from var(--color-sub) r g b/0.15);
}
.l-header__nav-toggle.is-active .l-header__nav-toggle-bar.-top {
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  rotate: 45deg;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}
.l-header__nav-toggle.is-active .l-header__nav-toggle-bar.-middle {
  opacity: 0;
}
.l-header__nav-toggle.is-active .l-header__nav-toggle-bar.-bottom {
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  rotate: -45deg;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

.l-header__nav-toggle-symbol {
  position: relative;
  z-index: 2;
  width: 53.125%;
  height: 20px;
}

.l-header__nav-toggle-bar {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  translate: 0 -50%;
  border-bottom: 2px solid var(--color-main);
}
[data-foreground=dark] .l-header__nav-toggle-bar {
  border-color: var(--color-sub);
}
.l-header__nav-toggle-bar.-top {
  top: 0;
}
.l-header__nav-toggle-bar.-middle {
  top: 50%;
}
.l-header__nav-toggle-bar.-bottom {
  top: 100%;
}

.l-footer {
  position: relative;
  display: grid;
  -webkit-padding-before: var(--contents-spacer);
          padding-block-start: var(--contents-spacer);
  padding-inline: var(--gutter, 0px);
  background-color: var(--color-sub);
}
@media screen and (width <= 768px) {
  .l-footer {
    --footer-frame-border-width: 6px;
  }
}
.l-footer {
  --footer-animation-delay: 0s;
  --footer-animation-item-index: 0;
  --footer-frame-border-width: 10px;
  --footer-frame-border-color: var(--color-main);
  --footer-frame-border-animation-duration: 0.6s;
  --footer-body-padding-inline: clamp(10px, -22.3076923077px + 4.2067307692vw, 45px);
  --fv-brand-name-animation-duration: 0.4s;
}
body:not([data-background=dark]) .l-footer {
  --footer-frame-border-color: var(--color-sub);
}
[data-background=light] .l-footer {
  background-color: var(--color-tmp-light);
}
[data-background=toki] .l-footer {
  background-color: var(--color-toki-light);
}
[data-background=spica] .l-footer {
  background-color: var(--color-spica-light);
}
[data-background=akatsuki] .l-footer {
  background-color: var(--color-akatsuki-light);
}
[data-background=muget] .l-footer {
  background-color: var(--color-muget-light);
}
.l-footer .line {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
  opacity: 0;
  background: var(--footer-frame-border-color);
}
.l-footer .line:not([data-type=vertical]) {
  width: 100%;
  height: var(--footer-frame-border-width);
}
.l-footer .line:not([data-type=vertical]):not(.is-animated) {
  scale: 0 1;
}
.l-footer .line[data-type=vertical] {
  width: var(--footer-frame-border-width);
  height: 100%;
}
.l-footer .line[data-type=vertical]:not(.is-animated) {
  scale: 1 0;
}
.l-footer .line.is-animated {
  -webkit-transition: scale var(--footer-frame-border-animation-duration) calc(var(--footer-animation-delay) + var(--footer-frame-border-animation-duration) * var(--footer-animation-item-index)) ease, opacity calc(var(--footer-frame-border-animation-duration) * 0.5) calc(var(--footer-animation-delay) + var(--footer-frame-border-animation-duration) * var(--footer-animation-item-index)) ease;
  transition: scale var(--footer-frame-border-animation-duration) calc(var(--footer-animation-delay) + var(--footer-frame-border-animation-duration) * var(--footer-animation-item-index)) ease, opacity calc(var(--footer-frame-border-animation-duration) * 0.5) calc(var(--footer-animation-delay) + var(--footer-frame-border-animation-duration) * var(--footer-animation-item-index)) ease;
  scale: 1 1;
  opacity: 1;
}

.l-footer__inner {
  width: min(var(--content-max-inline-size), 100%);
  margin-inline: auto;
  -webkit-padding-after: 20px;
          padding-block-end: 20px;
}

.l-footer__content {
  -webkit-padding-after: 40px;
          padding-block-end: 40px;
}

.l-footer__container {
  position: relative;
  display: grid;
  width: 100%;
  height: 100%;
  container-type: inline-size;
  padding: var(--footer-frame-border-width);
}
.l-footer__container > .frame-line.top {
  -webkit-transform-origin: left center;
          transform-origin: left center;
}
.l-footer__container > .frame-line.right {
  right: 0;
  left: auto;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}
.l-footer__container > .frame-line.bottom {
  top: auto;
  bottom: 0;
  -webkit-transform-origin: right center;
          transform-origin: right center;
}
.l-footer__container > .frame-line.left {
  -webkit-transform-origin: center top;
          transform-origin: center top;
}
.l-footer__container > .frame-line.right, .l-footer__container > .frame-line.left {
  top: var(--footer-frame-border-width);
  height: calc(100% - var(--footer-frame-border-width) * 2);
}

.l-footer__body {
  display: grid;
  -webkit-align-content: end;
      -ms-flex-line-pack: end;
          align-content: end;
  grid-template: "menu menu menu" auto "links . bland-name" auto "company . bland-name" auto/auto minmax(0, 1fr) auto;
  -webkit-padding-before: clamp(64px, 62.1632653061px + 0.4897959184vw, 70px);
          padding-block-start: clamp(64px, 62.1632653061px + 0.4897959184vw, 70px);
  padding-inline: var(--footer-body-padding-inline);
  -webkit-column-gap: clamp(10px, -28.15px + 5vw, 20px);
     -moz-column-gap: clamp(10px, -28.15px + 5vw, 20px);
          column-gap: clamp(10px, -28.15px + 5vw, 20px);
  color: var(--color-white);
}
@media screen and (width <= 963px) {
  .l-footer__body {
    grid-template: "company" auto "menu" auto "links" auto "." 80px "bland-name" auto "bland-name" auto/minmax(0, 1fr);
  }
}
[data-foreground=dark] .l-footer__body {
  color: var(--color-sub);
}

.l-footer__menu {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-area: menu;
  height: 100%;
}

.l-footer__menu-list,
.l-footer__submenu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.l-footer__menu-list {
  display: grid;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  grid-auto-flow: column;
  grid-template-rows: repeat(5, auto);
  gap: 1.5em clamp(20px, -7.6923076923px + 3.6057692308vw, 50px);
}
@media screen and (width <= 963px) {
  .l-footer__menu-list {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (width <= 768px) {
  .l-footer__menu-list {
    grid-auto-flow: row;
    grid-template-rows: auto;
  }
}

.l-footer__submenu {
  display: grid;
  row-gap: 0.85em;
}

.l-footer__menu-item {
  position: relative;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 1em;
  height: 100%;
}
.l-footer__menu-item.-large {
  grid-row: span 4;
}

.l-footer__menu-link,
.l-footer__submenu-link {
  display: block;
  text-decoration: none;
}
.l-footer__menu-link:focus-visible,
.l-footer__submenu-link:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .l-footer__menu-link:hover,
  .l-footer__submenu-link:hover {
    opacity: 0.8;
  }
}

.l-footer__menu-link {
  color: var(--color-main);
}
[data-foreground=dark] .l-footer__menu-link {
  color: var(--color-sub);
}

.l-footer__submenu-link {
  font-size: max(12.5px, 0.875em);
  color: var(--color-gray);
}

.l-footer__links {
  position: relative;
  grid-area: links;
  width: min(26.875em, 100%);
  -webkit-margin-before: 1.5rem;
          margin-block-start: 1.5rem;
  padding-block: 1.5rem;
}
@media screen and (width <= 963px) {
  .l-footer__links {
    width: min(26.875em, 90%);
    margin-inline: auto;
    -webkit-padding-after: 0;
            padding-block-end: 0;
  }
}
.l-footer__links::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  content: "";
  background-color: var(--color-main);
}
[data-foreground=dark] .l-footer__links::before {
  background-color: var(--color-sub);
}

.l-footer__links-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em clamp(16px, 6.2040816327px + 2.612244898vw, 48px);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (width <= 963px) {
  .l-footer__links-list {
    -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
            justify-content: space-around;
  }
}

.l-footer__links-link {
  font-weight: 500;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  text-decoration: none;
  color: var(--color-main);
}
.l-footer__links-link:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .l-footer__links-link:hover {
    opacity: 0.8;
  }
}
.l-footer__links-link[target=_blank]::after {
  display: block;
  height: max(10px, 0.75em);
  aspect-ratio: 1;
  -webkit-margin-start: 0.25em;
          margin-inline-start: 0.25em;
  content: "";
  background: var(--color-main);
  -webkit-mask: url(../images/icn_blank-link_01.svg) center/contain no-repeat;
          mask: url(../images/icn_blank-link_01.svg) center/contain no-repeat;
}
[data-foreground=dark] .l-footer__links-link {
  color: var(--color-sub);
}
[data-foreground=dark] .l-footer__links-link[target=_blank]::after {
  background: var(--color-sub);
}

.l-footer__brand-name {
  font-family: "Archivo", sans-serif;
  font-size: clamp(70px, 39.387755102px + 8.1632653061vw, 170px);
  font-weight: 400;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt"; /* 文字や記号を半分にする (約物半角) */
  line-height: 0.75;
  position: relative;
  display: grid;
  place-items: end;
  grid-area: bland-name;
  grid-template: "line1" "line2";
  grid-template-rows: subgrid;
  translate: 0 2.5%;
  letter-spacing: -0.03em;
}
@media screen and (width <= 374px) {
  .l-footer__brand-name {
    font-size: clamp(60px, 1.8181818182px + 18.1818181818vw, 70px);
  }
}
.l-footer__brand-name > .row {
  display: block;
  overflow-y: clip;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.l-footer__brand-name > .row.line1 {
  grid-area: line1;
}
.l-footer__brand-name > .row.line2 {
  grid-area: line2;
  -webkit-margin-before: 0.2lh;
          margin-block-start: 0.2lh;
}
.l-footer__brand-name > .row > .text {
  display: block;
}
.l-footer__brand-name > .row > .text:not(.is-animated) {
  translate: 0 110%;
}
.l-footer__brand-name > .row > .text.is-animated {
  -webkit-transition: translate var(--fv-brand-name-animation-duration) calc(var(--footer-animation-delay) + var(--footer-frame-border-animation-duration) * 2) ease-out;
  transition: translate var(--fv-brand-name-animation-duration) calc(var(--footer-animation-delay) + var(--footer-frame-border-animation-duration) * 2) ease-out;
  translate: none;
}
.l-footer__brand-name > .inner-line {
  top: auto;
  right: calc(var(--footer-body-padding-inline) * -1);
  bottom: 0;
  left: auto;
  grid-area: line1;
  translate: 0 20%;
  -webkit-transform-origin: right center;
          transform-origin: right center;
  --footer-animation-item-index: 1;
}
.l-footer__brand-name > .inner-line:not([data-type=vertical]) {
  width: 100cqi;
}

.l-footer__company {
  display: grid;
  align-self: center;
  place-content: start;
  grid-area: company;
  grid-template-columns: repeat(2, auto);
  padding-block: calc(var(--footer-frame-border-width) + 20px) 20px;
  -webkit-column-gap: clamp(16px, -6.1538461538px + 2.8846153846vw, 40px);
     -moz-column-gap: clamp(16px, -6.1538461538px + 2.8846153846vw, 40px);
          column-gap: clamp(16px, -6.1538461538px + 2.8846153846vw, 40px);
}
@media screen and (width <= 963px) {
  .l-footer__company {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    justify-items: center;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 1.5em;
    padding-block: 0 48px;
  }
}

.l-footer__company-logo {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  -webkit-align-self: start;
      -ms-flex-item-align: start;
          align-self: start;
  width: 5rem;
  height: 5rem;
}
.l-footer__company-logo > .st0 {
  fill: var(--color-main);
}
[data-foreground=dark] .l-footer__company-logo > .st0 {
  fill: var(--color-sub);
}

.l-footer__company-info {
  font-size: 14px;
  display: grid;
}
@media screen and (width <= 963px) {
  .l-footer__company-info {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    justify-items: center;
  }
}

.l-footer__company-name {
  font-weight: 700;
  line-height: 1.3;
  display: grid;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  grid-template-columns: repeat(2, auto);
}
@media screen and (width <= 963px) {
  .l-footer__company-name {
    font-size: clamp(14px, 2.3636363636px + 3.6363636364vw, 16px);
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    grid-template-columns: auto;
    text-align: center;
  }
}

.l-footer__company-address {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
}
@media screen and (width <= 768px) {
  .l-footer__company-address {
    display: grid;
  }
}
@media screen and (width <= 374px) {
  .l-footer__company-address {
    width: min(185px, 100%);
  }
}

.l-footer__company-tel {
  display: grid;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: repeat(2, auto);
  -webkit-margin-before: 0.25em;
          margin-block-start: 0.25em;
  -webkit-column-gap: min(12px, 0.35em);
     -moz-column-gap: min(12px, 0.35em);
          column-gap: min(12px, 0.35em);
}
@media screen and (width <= 963px) {
  .l-footer__company-tel {
    font-size: clamp(14px, -20.9090909091px + 10.9090909091vw, 20px);
    -webkit-margin-before: 12px;
            margin-block-start: 12px;
  }
}

.l-footer__company-tel-number {
  text-decoration: none;
  pointer-events: none;
  color: inherit;
}
@media (any-hover: none) {
  .l-footer__company-tel-number {
    pointer-events: auto;
  }
}

.l-footer__company-tel-icon {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 1em;
  height: 1em;
}

.l-footer__copyright {
  font-family: "Archivo", sans-serif;
  font-size: 0.8125rem;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  color: var(--color-gray);
}

.l-sp-navigation-menu {
  position: fixed;
  z-index: 9000;
  top: 0px;
  right: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
  width: 100%;
  height: 100lvh;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  translate: 100% 0;
  pointer-events: auto;
  opacity: 0;
}
.l-sp-navigation-menu.is-active {
  visibility: visible;
  translate: 0 0;
  opacity: 1;
}

.l-sp-navigation-menu__main {
  overflow: auto;
  -ms-overflow-style: none;
  width: 100%;
  min-height: 100%;
  padding-block: calc(var(--header-height, 0px) + 40px) 56px;
  padding-inline: calc(var(--gutter, 0) * 2);
  background: var(--color-sub);
}
@media screen and (width <= 768px) {
  .l-sp-navigation-menu__main {
    -webkit-padding-after: 24px;
            padding-block-end: 24px;
  }
}
.l-sp-navigation-menu__main::-webkit-scrollbar {
  display: none;
}
[data-background=light] .l-sp-navigation-menu__main {
  background: var(--color-tmp-light);
}
[data-background=toki] .l-sp-navigation-menu__main {
  background: var(--color-toki-light);
}
[data-background=spica] .l-sp-navigation-menu__main {
  background: var(--color-spica-light);
}
[data-background=akatsuki] .l-sp-navigation-menu__main {
  background: var(--color-akatsuki-light);
}
[data-background=muget] .l-sp-navigation-menu__main {
  background: var(--color-muget-light);
}

.l-sp-navigation-menu__nav {
  width: 100%;
}

.l-sp-navigation-menu__menu-list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.l-sp-navigation-menu__menu-list--page {
  row-gap: 1.4285em;
}
.l-sp-navigation-menu__menu-list--outer {
  row-gap: 1em;
}

.l-sp-navigation-menu__menu-item {
  width: 100%;
  border-bottom: 1px solid #585858;
}

.l-sp-navigation-menu__menu-summary,
.l-sp-navigation-menu__menu-link,
.l-sp-navigation-menu__submenu-link {
  font-weight: 500;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-block: 1.25em;
  text-decoration: none;
  color: var(--color-main);
}
.l-sp-navigation-menu__menu-summary:focus-visible,
.l-sp-navigation-menu__menu-link:focus-visible,
.l-sp-navigation-menu__submenu-link:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .l-sp-navigation-menu__menu-summary:hover,
  .l-sp-navigation-menu__menu-link:hover,
  .l-sp-navigation-menu__submenu-link:hover {
    opacity: 0.8;
  }
}
.l-sp-navigation-menu__menu-summary[target=_blank] > .text,
.l-sp-navigation-menu__menu-link[target=_blank] > .text,
.l-sp-navigation-menu__submenu-link[target=_blank] > .text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.l-sp-navigation-menu__menu-summary[target=_blank] > .text::after,
.l-sp-navigation-menu__menu-link[target=_blank] > .text::after,
.l-sp-navigation-menu__submenu-link[target=_blank] > .text::after {
  display: block;
  height: max(10px, 0.8125em);
  aspect-ratio: 1;
  -webkit-margin-start: 0.25em;
          margin-inline-start: 0.25em;
  content: "";
  background: currentColor;
  -webkit-mask: url(../images/icn_blank-link_01.svg) center/contain no-repeat;
          mask: url(../images/icn_blank-link_01.svg) center/contain no-repeat;
}
body:not([data-foreground=light]) .l-sp-navigation-menu__menu-summary,
body:not([data-foreground=light]) .l-sp-navigation-menu__menu-link,
body:not([data-foreground=light]) .l-sp-navigation-menu__submenu-link {
  color: var(--color-sub);
}

.l-sp-navigation-menu__menu-summary {
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template: "text icon"/1fr auto;
  width: 100%;
  padding-inline: 0;
  cursor: pointer;
  text-align: left;
  -webkit-column-gap: 5px;
     -moz-column-gap: 5px;
          column-gap: 5px;
  border: none;
  background-color: transparent;
}
.l-sp-navigation-menu__menu-summary > .text {
  grid-area: text;
}
.l-sp-navigation-menu__menu-summary::before, .l-sp-navigation-menu__menu-summary::after {
  display: block;
  align-self: center;
  grid-area: icon;
  width: 1.2em;
  content: "";
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  border-bottom: 2px solid var(--color-main);
}
.l-sp-navigation-menu__menu-summary::after {
  rotate: 90deg;
}
.l-sp-navigation-menu__menu-summary[aria-expanded=true]::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.l-sp-navigation-menu__menu-summary[aria-expanded=true]::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  opacity: 0;
}
[data-foreground=dark] .l-sp-navigation-menu__menu-summary::before, [data-foreground=dark] .l-sp-navigation-menu__menu-summary::after {
  border-color: var(--color-sub);
}

.l-sp-navigation-menu__menu-details {
  display: grid;
  visibility: hidden;
  grid-template-rows: 0fr;
  will-change: grid-template-rows;
  -webkit-transition: grid-template-rows 0.5s ease, visibility 0.5s ease;
  transition: grid-template-rows 0.5s ease, visibility 0.5s ease;
  transition: grid-template-rows 0.5s ease, visibility 0.5s ease, -ms-grid-rows 0.5s ease;
}
.is-initialized.is-disabled > .l-sp-navigation-menu__menu-details, .is-initialized:not(.is-disabled).is-open > .l-sp-navigation-menu__menu-details {
  visibility: visible;
  grid-template-rows: 1fr;
}

.l-sp-navigation-menu__submenu-wrapper {
  overflow: hidden;
}

.l-sp-navigation-menu__submenu {
  display: grid;
  row-gap: max(12px, 0.75em);
  margin: 0;
  padding: 0;
  -webkit-padding-after: 1.25em;
          padding-block-end: 1.25em;
  list-style: none;
}

.l-sp-navigation-menu__submenu-item {
  width: 100%;
}

.l-sp-navigation-menu__submenu-link {
  padding-block: 0;
}

.l-sp-navigation-menu__links {
  width: 100%;
}

.l-sp-navigation-menu__links-list {
  display: grid;
  row-gap: 1.71em;
  margin: 0;
  -webkit-margin-before: 2.85em;
          margin-block-start: 2.85em;
  padding: 0;
  list-style: none;
}

.l-sp-navigation-menu__links-item {
  width: 100%;
}

.l-sp-navigation-menu__links-link {
  font-weight: 500;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: none;
  color: var(--color-main);
}
.l-sp-navigation-menu__links-link:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .l-sp-navigation-menu__links-link:hover {
    opacity: 0.8;
  }
}
.l-sp-navigation-menu__links-link[target=_blank] > .text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: anchor-center;
  -webkit-align-items: anchor-center;
      -ms-flex-align: anchor-center;
          align-items: anchor-center;
}
.l-sp-navigation-menu__links-link[target=_blank] > .text::after {
  display: block;
  width: max(12px, 0.6em);
  height: 1lh;
  -webkit-margin-start: 0.6em;
          margin-inline-start: 0.6em;
  content: "";
  background: currentColor;
  -webkit-mask: url(../images/icn_blank-link_01.svg) center 60%/contain no-repeat;
          mask: url(../images/icn_blank-link_01.svg) center 60%/contain no-repeat;
}
body:not([data-foreground=light]) .l-sp-navigation-menu__links-link {
  color: var(--color-sub);
}

.l-sp-navigation-menu__cta {
  width: 100%;
}

.l-sp-navigation-menu__cta-list {
  display: grid;
  row-gap: 1.71em;
  margin: 0;
  -webkit-margin-before: 2.85em;
          margin-block-start: 2.85em;
  padding: 0;
  list-style: none;
}

.l-sp-navigation-menu__cta-item {
  width: 100%;
}

.l-sp-navigation-menu__cta-link {
  width: min(325px, 100%);
  margin-inline: auto;
}

.l-sp-navigation-menu__cta-link-text {
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: repeat(2, auto);
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
}

.l-sp-navigation-menu__cta-link-text-icon {
  width: 0.91785em;
  height: 0.714em;
}

.l-main {
  position: relative;
  width: 100%;
}

.l-page-head {
  position: relative;
  overflow: clip;
  width: 100%;
  -webkit-padding-after: clamp(40px, 27.7551020408px + 3.2653061224vw, 80px);
          padding-block-end: clamp(40px, 27.7551020408px + 3.2653061224vw, 80px);
  padding-inline: var(--gutter, 0px);
}

.l-page-head__inner {
  width: min(var(--content-max-inline-size), 100%);
  margin-inline: auto;
}

.l-page-head__breadcrumb {
  padding-inline: var(--gutter, 0);
  --breadcrumb-color: var(--color-main);
}
[data-foreground=dark] .l-page-head__breadcrumb {
  --breadcrumb-color: var(--color-sub);
}

.l-page-head__content {
  position: relative;
  width: 100%;
  min-height: 30svh;
  max-height: 50svh;
  aspect-ratio: 4;
  -webkit-margin-before: clamp(10px, -17.5510204082px + 7.3469387755vw, 100px);
          margin-block-start: clamp(10px, -17.5510204082px + 7.3469387755vw, 100px);
}

.l-page-head__hero {
  position: absolute;
  inset: 0 calc(max(var(--gutter), var(--content-inset-inline)) * -1);
}
.l-page-head__hero > img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}
.l-page-head__hero::after {
  position: absolute;
  inset: -1px 0;
  display: block;
  content: "";
  -webkit-backdrop-filter: blur(7.5px);
          backdrop-filter: blur(7.5px);
  background: color-mix(in srgb, var(--color-sub), transparent 50%);
}
[data-foreground=dark] .l-page-head__hero::after {
  background: color-mix(in srgb, var(--color-main), transparent 70%);
}

.l-page-head__title > .c-ruled-line {
  --ruled-line-color-before: transparent;
  --ruled-line-color-after: #585858;
}
.l-page-head__title > .c-ruled-line:not([data-type=vertical]) {
  top: 0;
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-page-head__title > .c-ruled-line:not([data-type=vertical]).top {
  grid-area: line2;
}
.l-page-head__title > .c-ruled-line:not([data-type=vertical]).bottom {
  grid-area: line4;
}
.l-page-head__title > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.l-page-head__title > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-page-head__title > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-page-head__title > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-page-head__title > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-page-head__title {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: grid;
  grid-template: "line1" 0.3fr "line2" 0.7fr "title-en" auto "." clamp(10px, 3vw, 48px) "title-ja" auto "line3" 0.7fr "line4" 0.3fr;
  color: var(--color-main);
}
[data-background=light] .l-page-head__title > .c-ruled-line {
  --ruled-line-color-before: transparent;
  --ruled-line-color-after: #b7b7b7;
}
[data-foreground=dark] .l-page-head__title {
  color: var(--color-dark);
}

.l-page-head__title-en,
.l-page-head__title-ja {
  padding-inline: var(--content-inner-gutter);
}

.l-page-head__title-en > .c-ruled-line {
  --ruled-line-color-before: transparent;
  --ruled-line-color-after: #585858;
}
.l-page-head__title-en > .c-ruled-line:not([data-type=vertical]) {
  top: 0;
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-page-head__title-en > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-page-head__title-en {
  font-family: "Archivo", sans-serif;
  font-size: clamp(16px, 15.5px + 0.15625vw, 18px);
  font-weight: 700;
  line-height: 1;
  position: relative;
  grid-area: title-en;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: transparent;
  background: url(../images/bg_text_01.webp) no-repeat center center/cover;
  -webkit-background-clip: text;
          background-clip: text;
}
[data-background=light] .l-page-head__title-en > .c-ruled-line {
  --ruled-line-color-before: transparent;
  --ruled-line-color-after: #b7b7b7;
}
body:not([data-background=light], [data-background=dark]) .l-page-head__title-en {
  background: none;
}
[data-background=toki] .l-page-head__title-en {
  color: var(--color-toki);
}
[data-background=spica] .l-page-head__title-en {
  color: var(--color-spica);
}
[data-background=akatsuki] .l-page-head__title-en {
  color: var(--color-akatsuki);
}
[data-background=muget] .l-page-head__title-en {
  color: var(--color-muget);
}

.l-page-head__title-ja {
  font-size: clamp(24px, 10.1333333333vw, clamp(38px, 30.0408163265px + 2.1224489796vw, 64px));
  line-height: 1.3;
  grid-area: title-ja;
}

.l-section {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-inline: var(--gutter, 0px);
}

.l-section__inner {
  width: min(var(--content-max-inline-size), 100%);
  margin-inline: auto;
}

.l-cta-contact {
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}
.l-cta-contact.is-no-margin-top {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}
.l-cta-contact.is-no-margin-top .l-cta-contact__inner > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}

.l-cta-contact__inner > .c-ruled-line:not([data-type=vertical]) {
  top: 0;
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-cta-contact__inner > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-cta-contact__inner > .c-ruled-line[data-type=vertical] {
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + var(--contents-spacer));
}
.l-cta-contact__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-cta-contact__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-cta-contact__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-cta-contact__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-cta-contact__inner {
  position: relative;
  -webkit-padding-before: 1.75rem;
          padding-block-start: 1.75rem;
}
@media screen and (width <= 963px) {
  .l-cta-contact__inner {
    -webkit-padding-after: 10px;
            padding-block-end: 10px;
  }
}
[data-background=light] .l-cta-contact__inner > .c-ruled-line {
  --ruled-line-color-before: var(--color-main-light);
  --ruled-line-color-after: var(--color-gray-lightest);
}

.l-cta-contact__head {
  display: grid;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template: "label ." auto "heading lead" auto/auto 1fr;
  gap: 0.25em clamp(40px, -96.0596546311px + 14.1287284144vw, 130px);
  padding-inline: var(--content-inner-gutter);
}
@media screen and (width <= 768px) {
  .l-cta-contact__head {
    grid-template: "label" auto "heading" auto "lead" auto/minmax(0, 1fr);
  }
}

.l-cta-contact__title {
  display: contents;
}

.l-cta-contact__title-label {
  grid-area: label;
}
body:not([data-background=light], [data-background=dark]) .l-cta-contact__title-label {
  background: none;
}
[data-background=toki] .l-cta-contact__title-label {
  color: var(--color-toki);
}
[data-background=spica] .l-cta-contact__title-label {
  color: var(--color-spica);
}
[data-background=akatsuki] .l-cta-contact__title-label {
  color: var(--color-akatsuki);
}
[data-background=muget] .l-cta-contact__title-label {
  color: var(--color-muget);
}

.l-cta-contact__title-heading {
  grid-area: heading;
}
[data-background=toki] .l-cta-contact__title-heading {
  color: var(--color-toki);
}
[data-background=spica] .l-cta-contact__title-heading {
  color: var(--color-spica);
}
[data-background=akatsuki] .l-cta-contact__title-heading {
  color: var(--color-akatsuki);
}
[data-background=muget] .l-cta-contact__title-heading {
  color: var(--color-muget);
}

.l-cta-contact__lead {
  grid-area: lead;
}
@media screen and (width <= 768px) {
  .l-cta-contact__lead {
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
  }
}

.l-cta-contact__body > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-cta-contact__body > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.l-cta-contact__body > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
@container contact-cards-wrapper (width < 1480px) {
  .l-cta-contact__body > .c-ruled-line.line1, .l-cta-contact__body > .c-ruled-line.line2 {
    display: none;
  }
}
.l-cta-contact__body {
  position: relative;
  width: 100%;
  container-type: inline-size;
  container-name: contact-cards-wrapper;
  -webkit-margin-before: 28px;
          margin-block-start: 28px;
}

.l-cta-contact__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media screen and (width <= 963px) {
  .l-cta-contact__cards {
    grid-auto-rows: 1fr;
    grid-template-columns: minmax(0, 1fr);
  }
}
.l-cta-contact__cards:has(> :nth-child(3):last-child) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media screen and (width <= 963px) {
  .l-cta-contact__cards:has(> :nth-child(3):last-child) {
    grid-template-columns: minmax(0, 1fr);
  }
}
.l-cta-contact__cards:has(> :nth-child(3):last-child) > .l-cta-contact__card {
  padding-inline: clamp(20px, -31.4003139717px + 5.3375196232vw, 54px);
}

.l-cta-contact__card > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-cta-contact__card > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-cta-contact__card > .c-ruled-line[data-type=vertical] {
  right: 0;
  left: auto;
}
@media screen and (width <= 963px) {
  .l-cta-contact__card > .c-ruled-line[data-type=vertical] {
    display: none;
  }
}
.l-cta-contact__card {
  position: relative;
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  padding-block: clamp(28px, 20.0408163265px + 2.1224489796vw, 54px);
  padding-inline: clamp(20px, -58.612244898px + 8.1632653061vw, 72px);
  -webkit-transition: background-color 0.3s ease-out, color 0.3s ease-out;
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
  text-decoration: none;
  color: var(--color-main);
}
@media screen and (width <= 963px) {
  .l-cta-contact__card {
    grid-row: auto;
    grid-template-rows: auto;
  }
}
.l-cta-contact__card:focus-visible {
  color: var(--color-sub);
  background-color: var(--color-main);
}
@media (any-hover: hover) {
  .l-cta-contact__card:hover {
    color: var(--color-sub);
    background-color: var(--color-main);
  }
}
body:not([data-background=dark]) .l-cta-contact__card {
  color: var(--colors-sub);
}
body:not([data-background=dark]) .l-cta-contact__card:focus-visible {
  color: var(--color-main);
}
@media (any-hover: hover) {
  body:not([data-background=dark]) .l-cta-contact__card:hover {
    color: var(--color-main);
  }
}
[data-background=light] .l-cta-contact__card:focus-visible {
  background-color: var(--color-sub);
}
@media (any-hover: hover) {
  [data-background=light] .l-cta-contact__card:hover {
    background-color: var(--color-sub);
  }
}
[data-background=toki] .l-cta-contact__card:focus-visible {
  background-color: var(--color-toki);
}
@media (any-hover: hover) {
  [data-background=toki] .l-cta-contact__card:hover {
    background-color: var(--color-toki);
  }
}
[data-background=spica] .l-cta-contact__card:focus-visible {
  background-color: var(--color-spica);
}
@media (any-hover: hover) {
  [data-background=spica] .l-cta-contact__card:hover {
    background-color: var(--color-spica);
  }
}
[data-background=akatsuki] .l-cta-contact__card:focus-visible {
  background-color: var(--color-akatsuki);
}
@media (any-hover: hover) {
  [data-background=akatsuki] .l-cta-contact__card:hover {
    background-color: var(--color-akatsuki);
  }
}
[data-background=muget] .l-cta-contact__card:focus-visible {
  background-color: var(--color-muget);
}
@media (any-hover: hover) {
  [data-background=muget] .l-cta-contact__card:hover {
    background-color: var(--color-muget);
  }
}

.l-cta-contact__card-inner {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
}
@media screen and (width <= 963px) {
  .l-cta-contact__card-inner {
    grid-row: auto;
    grid-template-rows: auto;
  }
}

.l-cta-contact__card-label {
  font-family: "Archivo", sans-serif;
  font-size: clamp(14px, 12.1632653061px + 0.4897959184vw, 20px);
  font-weight: 700;
  line-height: 1;
  opacity: 0.5;
}
[data-background=toki] .l-cta-contact__card-label {
  color: var(--color-toki);
}
[data-background=spica] .l-cta-contact__card-label {
  color: var(--color-spica);
}
[data-background=akatsuki] .l-cta-contact__card-label {
  color: var(--color-akatsuki);
}
[data-background=muget] .l-cta-contact__card-label {
  color: var(--color-muget);
}
@media (any-hover: hover) {
  .l-cta-contact__card:hover .l-cta-contact__card-label {
    color: var(--color-main);
  }
}

.l-cta-contact__card-title {
  font-size: clamp(14px, 4.2666666667vw, clamp(16px, 11.7142857143px + 1.1428571429vw, 30px));
  font-weight: 700;
  line-height: 1.3;
  position: relative;
  z-index: 1;
  display: block;
  -webkit-align-self: start;
      -ms-flex-item-align: start;
          align-self: start;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
  -webkit-transition: color 0.3s ease-out;
  transition: color 0.3s ease-out;
}
.l-cta-contact__card:focus-visible .l-cta-contact__card-title {
  --reveal-text-color: var(--color-main);
  --reveal-rug-color: var(--color-sub);
}
@media (any-hover: hover) {
  .l-cta-contact__card:hover .l-cta-contact__card-title {
    --reveal-text-color: var(--color-main);
    --reveal-rug-color: var(--color-sub);
  }
}
.l-cta-contact__card-title::after {
  -webkit-transition: background-color 0.3s ease-out;
  transition: background-color 0.3s ease-out;
}
[data-background=light] .l-cta-contact__card-title {
  --reveal-text-color: var(--color-main);
  --reveal-rug-color: var(--color-sub);
}
[data-background=light] .l-cta-contact__card:focus-visible .l-cta-contact__card-title {
  --reveal-text-color: var(--color-sub);
  --reveal-rug-color: var(--color-main-light);
}
@media (any-hover: hover) {
  [data-background=light] .l-cta-contact__card:hover .l-cta-contact__card-title {
    --reveal-text-color: var(--color-sub);
    --reveal-rug-color: var(--color-main-light);
  }
}
[data-background=toki] .l-cta-contact__card-title {
  --reveal-text-color: var(--color-main);
  --reveal-rug-color: var(--color-toki);
}
[data-background=toki] .l-cta-contact__card:focus-visible .l-cta-contact__card-title {
  --reveal-text-color: var(--color-toki);
  --reveal-rug-color: var(--color-main-light);
}
@media (any-hover: hover) {
  [data-background=toki] .l-cta-contact__card:hover .l-cta-contact__card-title {
    --reveal-text-color: var(--color-toki);
    --reveal-rug-color: var(--color-main-light);
  }
}
[data-background=spica] .l-cta-contact__card-title {
  --reveal-text-color: var(--color-main);
  --reveal-rug-color: var(--color-spica);
}
[data-background=spica] .l-cta-contact__card:focus-visible .l-cta-contact__card-title {
  --reveal-text-color: var(--color-spica);
  --reveal-rug-color: var(--color-main-light);
}
@media (any-hover: hover) {
  [data-background=spica] .l-cta-contact__card:hover .l-cta-contact__card-title {
    --reveal-text-color: var(--color-spica);
    --reveal-rug-color: var(--color-main-light);
  }
}
[data-background=akatsuki] .l-cta-contact__card-title {
  --reveal-text-color: var(--color-main);
  --reveal-rug-color: var(--color-akatsuki);
}
[data-background=akatsuki] .l-cta-contact__card:focus-visible .l-cta-contact__card-title {
  --reveal-text-color: var(--color-akatsuki);
  --reveal-rug-color: var(--color-main-light);
}
@media (any-hover: hover) {
  [data-background=akatsuki] .l-cta-contact__card:hover .l-cta-contact__card-title {
    --reveal-text-color: var(--color-akatsuki);
    --reveal-rug-color: var(--color-main-light);
  }
}
[data-background=muget] .l-cta-contact__card-title {
  --reveal-text-color: var(--color-main);
  --reveal-rug-color: var(--color-muget);
}
[data-background=muget] .l-cta-contact__card:focus-visible .l-cta-contact__card-title {
  --reveal-text-color: var(--color-muget);
  --reveal-rug-color: var(--color-main-light);
}
@media (any-hover: hover) {
  [data-background=muget] .l-cta-contact__card:hover .l-cta-contact__card-title {
    --reveal-text-color: var(--color-muget);
    --reveal-rug-color: var(--color-main-light);
  }
}

.l-cta-contact__card-content {
  display: grid;
  -webkit-align-content: end;
      -ms-flex-line-pack: end;
          align-content: end;
  row-gap: 40px;
  -webkit-margin-before: clamp(16px, -21.9591836735px + 10.1224489796vw, 140px);
          margin-block-start: clamp(16px, -21.9591836735px + 10.1224489796vw, 140px);
}

.l-cta-contact__card-content-block {
  font-size: 1.5em;
  line-height: 1.2;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: auto 1fr auto;
  -webkit-padding-after: clamp(16px, 14.7755102041px + 0.3265306122vw, 20px);
          padding-block-end: clamp(16px, 14.7755102041px + 0.3265306122vw, 20px);
  -webkit-transition: color 0.3s ease-out;
  transition: color 0.3s ease-out;
  text-decoration: none;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  color: inherit;
  border-bottom: 3px solid currentColor;
}
@media screen and (width <= 768px) {
  .l-cta-contact__card-content-block {
    border-width: 1px;
  }
}
.l-cta-contact__card-content-block:not(:has(.l-cta-contact__card-arrow)) {
  grid-template-columns: auto 1fr;
}
body:not([data-background=dark]) .l-cta-contact__card-content-block {
  color: var(--color-sub);
}
@media (any-hover: hover) {
  body:not([data-background=dark]) .l-cta-contact__card:hover .l-cta-contact__card-content-block {
    color: var(--color-main);
  }
}
body:not([data-background=dark]) .l-cta-contact__card:hover .l-cta-contact__card-content-block:where(a):focus-visible {
  color: var(--color-sub);
}
@media (any-hover: hover) {
  body:not([data-background=dark]) .l-cta-contact__card:hover .l-cta-contact__card-content-block:where(a):hover {
    color: var(--color-sub);
  }
}

.l-cta-contact__card-icon {
  width: 0.8lh;
  aspect-ratio: 1;
}
.l-cta-contact__card-icon--line {
  margin: 0;
}

.l-cta-contact__card-tel,
.l-cta-contact__card-text {
  font-weight: 500;
  letter-spacing: 0.06em;
}

.l-cta-contact__card-tel {
  font-family: "Archivo", sans-serif;
  gap: 8px 1em;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: anchor-center;
  -webkit-align-items: anchor-center;
      -ms-flex-align: anchor-center;
          align-items: anchor-center;
}

.l-cta-contact__card-note {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(12px, 11.387755102px + 0.1632653061vw, 14px);
  font-weight: 400;
  line-height: 1.25;
}

.l-cta-contact__card-arrow {
  width: 1.2lh;
  aspect-ratio: 1;
}

.l-single-news__inner > .c-ruled-line {
  z-index: 10;
}
.l-single-news__inner > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.l-single-news__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-single-news__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-single-news__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-single-news__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-single-news__inner {
  position: relative;
}

.l-single-news__head > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-single-news__head {
  position: relative;
}

.l-single-news__date-wrapper > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-single-news__date-wrapper > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-single-news__date-wrapper {
  position: relative;
}

.l-single-news__date {
  font-family: "Archivo", sans-serif;
  font-weight: 700;
  line-height: 1;
  display: block;
  padding: 0.25em var(--content-inner-gutter);
  opacity: 0.5;
}

.l-single-news__title-wrapper > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-single-news__title-wrapper > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-single-news__title-wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 0.33fr;
}
@media screen and (width <= 768px) {
  .l-single-news__title-wrapper {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 1.25em;
    padding-block: min(32px, 2em);
  }
}

.l-single-news__title {
  font-size: clamp(16px, 4.8vw, clamp(18px, 14.9387755102px + 0.8163265306vw, 28px));
  font-weight: 700;
  line-height: 1.35;
  width: 100%;
  padding: min(32px, 2em) var(--content-inner-gutter);
}
@media screen and (width <= 768px) {
  .l-single-news__title {
    padding-block: 0;
  }
}

.l-single-news__categories > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.l-single-news__categories > .c-ruled-line[data-type=vertical].line1 {
  left: 0;
}
.l-single-news__categories {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0;
  padding: 0;
  padding: min(32px, 2em) var(--content-inner-gutter);
  list-style: none;
}
@media screen and (width <= 768px) {
  .l-single-news__categories {
    padding-block: 0;
  }
}

.l-single-news__category {
  font-size: clamp(12px, 10.7755102041px + 0.3265306122vw, 16px);
  font-weight: 700;
  line-height: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.25em 0.75em;
  border: 1px solid currentColor;
}

.l-single-news__body {
  width: 100%;
}

.l-single-news__body-inner > .c-ruled-line {
  z-index: 10;
}
.l-single-news__body-inner > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.l-single-news__body-inner > .c-ruled-line[data-type=vertical].line1 {
  left: 0;
}
.l-single-news__body-inner > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
.l-single-news__body-inner {
  position: relative;
  width: min(100%, 1130px);
  margin-inline: auto;
}

.l-single-news__contents-wrapper > .c-ruled-line {
  z-index: 10;
}
.l-single-news__contents-wrapper > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.l-single-news__contents-wrapper > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-single-news__contents-wrapper {
  position: relative;
}

.l-single-news__contents :where(h1[class*=wp-block-heading]) {
  margin: 0.67em 0;
}
.l-single-news__contents :where(h2[class*=wp-block-heading]) {
  font-size: 1.5em;
  margin-block: 0.83em;
  margin-inline: 0;
  font-weight: 700;
}
.l-single-news__contents :where(h3[class*=wp-block-heading]) {
  font-size: 1.17em;
  margin-block: 1em;
  margin-inline: 0;
  font-weight: 700;
}
.l-single-news__contents :where(h4[class*=wp-block-heading]) {
  margin-block: 1.33em 0;
  margin-inline: 0;
  font-weight: 700;
}
.l-single-news__contents :where(p:not([class])) {
  margin-block: 1em;
  margin-inline: 0;
}
.l-single-news__contents a:not([class]) {
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  color: #0073aa; /* WordPressのデフォルトリンクカラー */
}
.l-single-news__contents .wp-block-image {
  margin: 1em 0;
}
.l-single-news__contents .wp-block-embed iframe {
  display: block;
}
.l-single-news__contents .wp-block-embed.aligncenter iframe {
  margin-inline: auto;
}
.l-single-news__contents {
  font-size: clamp(0.875rem, 1vw, 1rem);
  padding: 3.5em min(7.25em, 7.25vw);
  background-color: var(--color-sub-light);
}
@media screen and (width <= 576px) {
  .l-single-news__contents {
    padding-inline: var(--content-inner-gutter);
  }
}
.l-single-news__contents > :first-child {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}
.l-single-news__contents > :last-child {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.l-single-news__links {
  display: grid;
  grid-auto-rows: 1fr;
  grid-template-areas: "btn-previous btn-center btn-next";
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1em min(64px, 4vw);
  padding: 2.5em var(--content-inner-gutter);
}
@media screen and (width <= 963px) {
  .l-single-news__links {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    grid-template-areas: "btn-center" "." "btn-previous" "btn-next";
    grid-template-columns: min(100%, 290px);
    grid-template-rows: 1fr 0fr 1fr 1fr;
  }
}

.l-single-news__link--previous {
  grid-area: btn-previous;
  grid-template-areas: "icon text";
  grid-template-columns: auto 1fr;
}
.l-single-news__link--previous:focus-visible .l-single-news__link-icon {
  translate: -0.5em 0;
}
@media (any-hover: hover) {
  .l-single-news__link--previous:hover .l-single-news__link-icon {
    translate: -0.5em 0;
  }
}
.l-single-news__link--previous .l-single-news__link--text {
  grid-area: text;
}
.l-single-news__link--previous .l-single-news__link-icon {
  grid-area: icon;
  scale: -1 1;
}
.l-single-news__link--center {
  justify-items: center;
  grid-area: btn-center;
  grid-template-columns: 1fr;
}
.l-single-news__link--next {
  grid-area: btn-next;
}
.l-single-news__link.is-disabled {
  pointer-events: none;
  opacity: 0.45;
}

.l-business-section__heading-block, .l-business-flow__heading-block, .l-business-features__heading-block, .l-business-services__heading-block, .l-business-blog__heading-block, .l-business-about__heading-block {
  position: relative;
  display: grid;
  row-gap: 0.25em;
  width: 100%;
  padding: 2.5em var(--content-inner-gutter);
}

.l-business-section__heading-label, .l-business-flow__heading-label, .l-business-features__heading-label, .l-business-services__heading-label, .l-business-blog__heading-label, .l-business-about__heading-label {
  font-family: "Archivo", sans-serif;
  font-size: clamp(16px, 15px + 0.3125vw, 20px);
  font-weight: 700;
  line-height: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--business-color);
}

.l-business-section__heading, .l-business-flow__heading, .l-business-features__heading, .l-business-services__heading, .l-business-blog__heading, .l-business-about__heading {
  font-size: clamp(24px, 8vw, clamp(30px, 23.8775510204px + 1.6326530612vw, 50px));
  line-height: 1.36;
  overflow-wrap: anywhere;
  word-break: keep-all;
  color: var(--business-color);
}

.l-business-subsection__heading-block, .l-business-services-others__heading-block, .l-business-instagram__heading-block, .l-business-promise__heading-block {
  position: relative;
  display: grid;
  row-gap: 0.25em;
  width: 100%;
  padding: 2.5em var(--content-inner-gutter);
}

.l-business-subsection__heading-label, .l-business-services-others__heading-label, .l-business-instagram__heading-label, .l-business-promise__heading-label {
  font-family: "Archivo", sans-serif;
  font-size: clamp(16px, 15px + 0.3125vw, 20px);
  font-weight: 700;
  line-height: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: color-mix(in srgb, var(--business-color), transparent 50%);
}

.l-business-subsection__heading, .l-business-services-others__heading, .l-business-instagram__heading, .l-business-promise__heading {
  font-size: clamp(16px, 4.8vw, clamp(18px, 13.7142857143px + 1.1428571429vw, 32px));
  line-height: 1.36;
  overflow-wrap: anywhere;
  word-break: keep-all;
  color: var(--business-color);
}

[data-background=toki] .c-ruled-line {
  --ruled-line-color-before: var(--color-toki-light);
  --ruled-line-color-after: var(--color-toki-line);
}

[data-page=toki] {
  --business-color: var(--color-toki);
  --business-light-color: var(--color-toki-light);
  --business-line-color: var(--color-toki-line);
}

[data-background=spica] .c-ruled-line {
  --ruled-line-color-before: var(--color-spica-light);
  --ruled-line-color-after: var(--color-spica-line);
}

[data-page=spica] {
  --business-color: var(--color-spica);
  --business-light-color: var(--color-spica-light);
  --business-line-color: var(--color-spica-line);
}

[data-background=akatsuki] .c-ruled-line {
  --ruled-line-color-before: var(--color-akatsuki-light);
  --ruled-line-color-after: var(--color-akatsuki-line);
}

[data-page=akatsuki] {
  --business-color: var(--color-akatsuki);
  --business-light-color: var(--color-akatsuki-light);
  --business-line-color: var(--color-akatsuki-line);
}

[data-background=muget] .c-ruled-line {
  --ruled-line-color-before: var(--color-muget-light);
  --ruled-line-color-after: var(--color-muget-line);
}

[data-page=muget] {
  --business-color: var(--color-muget);
  --business-light-color: var(--color-muget-light);
  --business-line-color: var(--color-muget-line);
}

.l-business-nav {
  width: 100%;
}

.l-business-nav__inner > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.l-business-nav__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-business-nav__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-business-nav__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-business-nav__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-business-nav__inner {
  position: relative;
}

.l-business-nav__anchors {
  container-type: inline-size;
  container-name: business-list-wrapper;
}

.l-business-nav-anchors {
  padding-inline: 1em;
}

.l-business-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]) {
  left: calc((max(var(--gutter), var(--content-inset-inline)) + 1em) * -1);
  grid-column: 1/-1;
  width: var(--viewport-width);
}
.l-business-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]).top1, .l-business-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]).top2 {
  grid-row: 1/2;
}
.l-business-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]).top2 {
  top: auto;
  bottom: 0;
}
.l-business-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
  grid-row: 4/5;
}
.l-business-nav-anchors__inner {
  position: relative;
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template: ". title" ". ." 0.875em ". list" ". ." 0.875em/minmax(0, 1fr) auto;
  row-gap: 0;
  width: 100%;
  color: var(--color-sub);
}
@media screen and (width <= 768px) {
  .l-business-nav-anchors__inner {
    grid-template: "title ." ". ." 0.875em "list ." ". ." 0.875em/auto minmax(0, 1fr);
  }
}

.l-business-nav-anchors__list-title {
  grid-area: title;
}

.l-business-nav-anchors__list-wrapper {
  grid-area: list;
}

.l-business-nav-anchors__list {
  width: 100%;
}

.l-business-nav-anchors__listitem {
  font-size: clamp(12px, 3.4666666667vw, clamp(13px, 11.4693877551px + 0.4081632653vw, 18px));
  text-decoration: none;
  color: var(--color-sub);
}
@media screen and (width <= 768px) {
  .l-business-nav-anchors__listitem {
    width: 100%;
  }
}
.l-business-nav-anchors__listitem.is-active {
  opacity: 0.5;
}

.l-business-about {
  width: 100%;
  -webkit-margin-before: 3.5em;
          margin-block-start: 3.5em;
}

.l-business-about__content > .c-ruled-line[data-type=vertical] {
  top: -3.5em;
  height: calc(100% + 3.5em);
}
.l-business-about__content > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-business-about__content > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-business-about__content > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-business-about__content > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-business-about__content {
  position: relative;
}

.l-business-about__heading-block > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-about__heading-block > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}

.l-business-about__description > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-about__description > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-business-about__description {
  position: relative;
  padding: 2.75em var(--content-inner-gutter);
}

.l-business-about__description-text {
  display: block;
  width: min(1083px, 100%);
}

.l-business-about__description-action {
  -webkit-margin-before: 2.25em;
          margin-block-start: 2.25em;
  display: grid;
  row-gap: 1em;
}

.l-business-about__description-action-link {
  width: min(100%, 290px);
  --button-color-foreground: var(--color-sub);
  --button-color-foreground-hover: var(--color-main);
  --button-color-background: var(--color-main);
  --button-color-background-hover: var(--color-sub);
}

.l-business-about__description-action-link-icon {
  width: 1em;
  height: 2em;
}
.l-business-about__description-action-link:focus-visible .l-business-about__description-action-link-icon {
  translate: none;
}
@media (any-hover: hover) {
  .l-business-about__description-action-link:hover .l-business-about__description-action-link-icon {
    translate: none;
  }
}

.l-business-about__info > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-about__info > .c-ruled-line:not([data-type=vertical]).top2 {
  top: 10px;
}
.l-business-about__info > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-business-about__info > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.l-business-about__info > .c-ruled-line[data-type=vertical].line1 {
  left: 0;
}
.l-business-about__info > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
.l-business-about__info {
  position: relative;
  -webkit-margin-before: 2.5em;
          margin-block-start: 2.5em;
  -webkit-padding-before: 10px;
          padding-block-start: 10px;
  container-type: inline-size;
  container-name: business-info-list;
}

.l-business-about__info-list {
  display: grid;
  grid-template-columns: auto clamp(40px, 5.625vw, 90px) 1fr clamp(40px, 5.625vw, 90px) 1fr;
}
@container business-info-list (width < 790px) {
  .l-business-about__info-list {
    grid-template-columns: clamp(40px, 5.625vw, 90px) 1fr;
  }
}
.l-business-about__info-list[data-column=line] {
  grid-template-columns: auto 1fr clamp(40px, 5.625vw, 90px) 1fr clamp(40px, 5.625vw, 90px) 1fr 1fr;
}
@container business-info-list (width < 1150px) {
  .l-business-about__info-list[data-column=line] {
    grid-template-columns: auto clamp(40px, 5.625vw, 90px) 1fr clamp(40px, 5.625vw, 90px) 1fr 1fr;
  }
}
@container business-info-list (width < 790px) {
  .l-business-about__info-list[data-column=line] {
    grid-template-columns: clamp(40px, 5.625vw, 90px) 1fr;
  }
}

.l-business-about__info-row > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.l-business-about__info-row {
  position: relative;
  display: grid;
  place-items: center;
  grid-column: 1/-1;
  grid-template-columns: subgrid;
  min-height: 5.75em;
}
.l-business-about__info-row:first-of-type > .c-ruled-line:not([data-type=vertical]).top {
  display: none;
}

.l-business-about__info-term {
  font-size: 1.125em;
  font-weight: 500;
  padding: 1.6em min(3.5vw, 3.1em);
  color: var(--business-color);
}
@container business-info-list (width < 790px) {
  .l-business-about__info-term {
    grid-column: 1/-1;
    width: 100%;
    text-align: center;
  }
}

.l-business-about__info-desc > .c-ruled-line:not([data-type=vertical]).top {
  display: none;
}
.l-business-about__info-desc > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.l-business-about__info-desc {
  position: relative;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-column: 2/-1;
  grid-template-columns: subgrid;
  grid-auto-rows: 1fr;
  height: 100%;
}
.l-business-about__info-desc :nth-child(1 of .l-business-about__contact-items) > .c-ruled-line:not([data-type=vertical]).top {
  display: none;
}
@container business-info-list (width < 790px) {
  .l-business-about__info-desc {
    grid-column: 1/-1;
  }
  .l-business-about__info-desc > .c-ruled-line:not([data-type=vertical]).top {
    display: block;
  }
}

.l-business-about__info-desc-text {
  display: block;
  grid-column: 1/-1;
  padding: 1em min(2.875vw, 2.875em);
}

.l-business-about__contact-items > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.l-business-about__contact-items {
  position: relative;
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: subgrid;
  height: 100%;
}

.l-business-about__contact-items-title > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.l-business-about__contact-items-title > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
  display: none;
}
.l-business-about__contact-items-title {
  line-height: 1.39;
  position: relative;
  display: grid;
  overflow-wrap: anywhere;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1em min(2.875vw, 1.4375em);
  text-align: center;
  word-break: keep-all;
  -webkit-column-gap: 0.625em;
     -moz-column-gap: 0.625em;
          column-gap: 0.625em;
  color: var(--business-color);
}
@container business-info-list (width < 1150px) {
  .l-business-about__contact-items-title {
    grid-column: 1/-1;
  }
}
@container business-info-list (790px < width < 1150px) {
  .l-business-about__contact-items-title > .c-ruled-line:not([data-type=vertical]).bottom {
    display: block;
  }
}

.l-business-about__contact-item > .c-ruled-line:not([data-type=vertical]).top {
  display: none;
}
.l-business-about__contact-item > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.l-business-about__contact-item > .c-ruled-line[data-type=vertical].line1 {
  left: 0;
}
.l-business-about__contact-item {
  position: relative;
  display: grid;
  place-items: center;
  grid-column: span 2;
  grid-template-columns: subgrid;
  height: 100%;
}
.l-business-about__contact-item:first-of-type:last-of-type > .c-ruled-line[data-type=vertical].line1 {
  left: auto;
  right: 0;
}
.l-business-about__contact-item[data-line] {
  grid-column: auto;
}
@container business-info-list (width < 790px) {
  .l-business-about__contact-item[data-line] {
    grid-column: 1/-1;
  }
}
@container business-info-list (width < 790px) {
  .l-business-about__contact-item > .c-ruled-line:not([data-type=vertical]).top {
    display: block;
  }
  .l-business-about__contact-item:first-of-type > .c-ruled-line[data-type=vertical].top {
    display: none;
  }
}

.l-business-about__contact-icon {
  margin: 0;
  padding-inline: clamp(4px, 0.625vw, 10px);
  color: var(--business-color);
}
.l-business-about__contact-icon > svg {
  width: clamp(25px, 43.478%, 40px);
  aspect-ratio: 1;
  margin-inline: auto;
}

.l-business-about__contact-body > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.l-business-about__contact-body {
  position: relative;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 1em clamp(10px, 5.7142857143px + 1.1428571429vw, 24px);
}
@container business-info-list (width < 790px) {
  .l-business-about__contact-item[data-line] .l-business-about__contact-body {
    grid-column: 1/-1;
  }
}

.l-business-about__contact-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: anchor-center;
  -webkit-align-items: anchor-center;
      -ms-flex-align: anchor-center;
          align-items: anchor-center;
  gap: 0.5em 1em;
}

.l-business-about__contact-label {
  font-weight: 500;
  line-height: 1;
}

.l-business-about__contact-number {
  font-size: 1.375em;
  font-weight: 400;
  line-height: 1.15;
}

.l-business-promise > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-promise > .c-ruled-line:not([data-type=vertical]).top2 {
  top: 10px;
}
.l-business-promise > .c-ruled-line[data-type=vertical] {
  top: -3.5em;
  height: calc(100% + 3.5em);
}
.l-business-promise > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-business-promise > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-business-promise > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-business-promise > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-business-promise {
  position: relative;
  width: 100%;
  -webkit-margin-before: 3.5em;
          margin-block-start: 3.5em;
  -webkit-padding-before: 10px;
          padding-block-start: 10px;
}

.l-business-about__contact-line {
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 2em -webkit-max-content;
  grid-template-columns: 2em max-content;
  text-decoration: none;
  color: inherit;
}
.l-business-about__contact-line:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .l-business-about__contact-line:hover {
    opacity: 0.8;
  }
}

.l-business-about__contact-line-icon {
  width: 100%;
  aspect-ratio: 1;
  margin: 0;
}
.l-business-about__contact-line-icon > img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}

.l-business-about__contact-line-label {
  font-weight: 500;
}

.l-business-promise__heading-block > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-promise__heading-block > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}

.l-business-promise__body > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-promise__body > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-business-promise__body {
  position: relative;
  width: 100%;
}

.l-business-promise__list {
  display: grid;
  grid-auto-rows: 1fr;
  grid-template-columns: clamp(40px, 5vw, 80px) auto;
  width: min(1150px, 100%);
  margin-inline: auto;
}

.l-business-promise__item > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.l-business-promise__item > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.l-business-promise__item > .c-ruled-line[data-type=vertical].line1 {
  left: 0;
}
.l-business-promise__item > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
.l-business-promise__item {
  position: relative;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-column: 1/-1;
  grid-template-columns: subgrid;
  min-height: 5em;
}
.l-business-promise__item:first-of-type > .c-ruled-line:not([data-type=vertical]).top {
  display: none;
}

.l-business-promise__icon {
  margin: 0;
  padding-inline: clamp(4px, 0.625vw, 10px);
  color: var(--business-color);
}
.l-business-promise__icon > svg {
  width: clamp(25px, 75%, 40px);
  aspect-ratio: 1;
  margin-inline: auto;
}

.l-business-promise__desc > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.l-business-promise__desc > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.l-business-promise__desc > .c-ruled-line[data-type=vertical].line1 {
  left: 0;
}
.l-business-promise__desc {
  position: relative;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  padding: 1em min(3.5vw, 3.5em);
}

.l-business-promise__desc-text {
  display: block;
  width: 100%;
}

.l-business-instagram > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-instagram > .c-ruled-line:not([data-type=vertical]).top2 {
  top: 10px;
}
.l-business-instagram > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-business-instagram > .c-ruled-line[data-type=vertical] {
  top: -3.5em;
  height: calc(100% + 3.5em);
}
.l-business-instagram > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-business-instagram > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-business-instagram > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-business-instagram > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-business-instagram {
  position: relative;
  width: 100%;
  -webkit-margin-before: 3.5em;
          margin-block-start: 3.5em;
  -webkit-padding-before: 10px;
          padding-block-start: 10px;
}

.l-business-instagram__heading-block > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-instagram__heading-block > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}

.l-business-instagram__feed > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-instagram__feed > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-business-instagram__feed {
  position: relative;
  padding: 2.5em var(--content-inner-gutter);
}
.l-business-instagram__feed > #sb_instagram {
  padding: 0 !important;
}
.l-business-instagram__feed > #sb_instagram > #sbi_images {
  gap: clamp(10px, 1.5vw, 24px) !important;
  padding-block: 0;
}

.l-business-instagram__action {
  padding: 1.25em var(--content-inner-gutter);
}

.l-business-instagram__link {
  width: min(100%, 290px);
  margin-inline: auto 0;
  --button-color-foreground: var(--color-sub);
  --button-color-foreground-hover: var(--color-main);
  --button-color-background: var(--color-main);
  --button-color-background-hover: var(--color-sub);
}

.l-business-instagram__link-text {
  display: grid;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: repeat(2, auto);
  -webkit-column-gap: 0.625em;
     -moz-column-gap: 0.625em;
          column-gap: 0.625em;
}

.l-business-instagram__link-text-icon {
  display: block;
  width: 1.875em;
  aspect-ratio: 1;
}

.l-business-instagram__link-icon {
  width: 1em;
  height: 2em;
}
.l-business-instagram__link:focus-visible .l-business-instagram__link-icon {
  translate: none;
}
@media (any-hover: hover) {
  .l-business-instagram__link:hover .l-business-instagram__link-icon {
    translate: none;
  }
}

.l-business-blog {
  width: 100%;
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}

.l-business-blog__inner > .c-ruled-line[data-type=vertical] {
  z-index: 10;
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + var(--contents-spacer));
}
.l-business-blog__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-business-blog__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-business-blog__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-business-blog__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-business-blog__inner {
  position: relative;
}

.l-business-blog__wrapper {
  container-type: inline-size;
  container-name: blog-list-wrapper;
}

.l-business-blog__heading-block > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-blog__heading-block > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-business-blog__heading-block {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template: "label . button" "heading . button"/max-content minmax(10px, 1fr) minmax(0, min(100%, 290px));
}
@media screen and (width <= 768px) {
  .l-business-blog__heading-block {
    grid-template: "label" "heading" "button"/minmax(0, 1fr);
  }
}

.l-business-blog__heading-label {
  grid-area: label;
}

.l-business-blog__heading {
  grid-area: heading;
}

.l-business-blog__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  margin-block: 50px -50px;
  padding: 0;
  list-style: none;
}
@media screen and (width <= 963px) {
  .l-business-blog__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (width <= 576px) {
  .l-business-blog__list {
    grid-area: list;
    grid-template-columns: minmax(0, 1fr);
  }
}

.l-business-blog__list-item > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-blog__list-item > .c-ruled-line:not([data-type=vertical]).bottom1 {
  top: auto;
  bottom: 0;
}
.l-business-blog__list-item > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.l-business-blog__list-item > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
.l-business-blog__list-item > .c-ruled-line[data-type=vertical].line1, .l-business-blog__list-item > .c-ruled-line[data-type=vertical].line2 {
  display: none;
}
.l-business-blog__list-item {
  position: relative;
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  -webkit-margin-after: 50px;
          margin-block-end: 50px;
}
@media screen and (width > 576px) {
  .l-business-blog__list-item > .c-ruled-line:not([data-type=vertical]) {
    display: none;
  }
  .l-business-blog__list-item:nth-of-type(2n + 1) > .c-ruled-line:not([data-type=vertical]) {
    display: block;
  }
  .l-business-blog__list-item:nth-of-type(2n) > .c-ruled-line[data-type=vertical].line1 {
    display: block;
  }
}
@media screen and (width > 963px) {
  .l-business-blog__list-item:nth-of-type(2n + 1) > .c-ruled-line:not([data-type=vertical]) {
    display: none;
  }
  .l-business-blog__list-item:nth-of-type(3n + 1) > .c-ruled-line:not([data-type=vertical]) {
    display: block;
  }
  .l-business-blog__list-item:nth-of-type(2n) > .c-ruled-line[data-type=vertical].line2 {
    display: block;
  }
  @container blog-list-wrapper (width >= 1480px) {
    .l-business-blog__list-item:nth-of-type(3n + 1) > .c-ruled-line[data-type=vertical].line1 {
      display: block;
    }
    .l-business-blog__list-item:nth-of-type(3n) > .c-ruled-line[data-type=vertical].line2 {
      display: block;
    }
  }
}

.l-business-blog__card {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  --text-color: var(--color-sub);
  --text-color-hover: var(--color-main);
  --background-color-hover: var(--business-line-color);
}

.l-business-blog__action {
  grid-area: button;
}

.l-business-blog__link {
  width: min(100%, 290px);
  margin-inline: auto 0;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}
.l-business-blog__link:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .l-business-blog__link:hover {
    opacity: 0.8;
  }
}
.l-business-blog__link {
  --button-color-foreground: var(--color-sub);
  --button-color-background: var(--color-main);
}

.l-business-blog__link-text {
  display: grid;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: repeat(2, auto);
  -webkit-column-gap: 0.15em;
     -moz-column-gap: 0.15em;
          column-gap: 0.15em;
}

.l-business-blog__link-text-icon {
  display: block;
  width: 3.5em;
}

.l-business-blog__link-icon {
  width: 1em;
}
.l-business-blog__link:focus-visible .l-business-blog__link-icon {
  translate: none;
}
@media (any-hover: hover) {
  .l-business-blog__link:hover .l-business-blog__link-icon {
    translate: none;
  }
}

.l-business-services {
  width: 100%;
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}

.l-business-services__content > .c-ruled-line[data-type=vertical] {
  z-index: 10;
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + var(--contents-spacer));
}
.l-business-services__content > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-business-services__content > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-business-services__content > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-business-services__content > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-business-services__content {
  position: relative;
}

.l-business-services__heading-block > .c-ruled-line {
  z-index: 10;
}
.l-business-services__heading-block > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}

.l-business-services__list-wrapper > .c-ruled-line {
  z-index: 10;
}
.l-business-services__list-wrapper > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-services__list-wrapper > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-business-services__list-wrapper {
  position: relative;
}

.l-business-services__list > .c-ruled-line {
  z-index: 10;
}
.l-business-services__list > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-services__list > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-business-services__list > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.l-business-services__list > .c-ruled-line[data-type=vertical].line1 {
  left: 0;
}
.l-business-services__list > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
.l-business-services__list {
  position: relative;
  display: grid;
  overflow: clip;
  grid-auto-rows: auto 1fr;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.l-business-services__item > .c-ruled-line {
  z-index: 10;
}
.l-business-services__item > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.l-business-services__item > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: -1px;
}
.l-business-services__item > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.l-business-services__item > .c-ruled-line[data-type=vertical].line1 {
  right: -1px;
  left: auto;
}
.l-business-services__item {
  position: relative;
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  row-gap: 1.5em;
  padding: 3.375em min(2.5em, 2.5vw);
  background-color: #f3f8f6;
}

.l-business-services__item-title {
  font-size: clamp(16px, 1.375vw, 22px);
  position: relative;
  -webkit-padding-start: 1em;
          padding-inline-start: 1em;
  color: var(--business-color);
}
.l-business-services__item-title::before {
  position: absolute;
  top: 0.5lh;
  left: 0;
  display: block;
  width: 0.54em;
  aspect-ratio: 1;
  content: "";
  translate: 0 -50%;
  border-radius: 50%;
  background: currentColor;
}

.l-business-services__item-desc {
  width: 100%;
}

.l-business-services-others > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-services-others > .c-ruled-line:not([data-type=vertical]).top2 {
  top: 10px;
}
.l-business-services-others > .c-ruled-line[data-type=vertical] {
  z-index: 10;
  top: -3.5em;
  height: calc(100% + 3.5em);
}
.l-business-services-others > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-business-services-others > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-business-services-others > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-business-services-others > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-business-services-others {
  position: relative;
  width: 100%;
  -webkit-margin-before: 3.5em;
          margin-block-start: 3.5em;
  -webkit-padding-before: 10px;
          padding-block-start: 10px;
}

.l-business-services-others__heading-block > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-services-others__heading-block > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-business-services-others__heading-block {
  -webkit-padding-after: 0;
          padding-block-end: 0;
}

.l-business-services-others__lead {
  position: relative;
  -webkit-margin-before: 0.5em;
          margin-block-start: 0.5em;
  padding: 0 var(--content-inner-gutter) 2.5em;
}

.l-business-services-others__list-wrapper > .c-ruled-line:not([data-type=vertical]) {
  z-index: 10;
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-services-others__list-wrapper > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-business-services-others__list-wrapper {
  position: relative;
}

.l-business-services-others__list > .c-ruled-line {
  z-index: 10;
}
.l-business-services-others__list > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-services-others__list > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-business-services-others__list > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.l-business-services-others__list > .c-ruled-line[data-type=vertical].line1 {
  left: 0;
}
.l-business-services-others__list > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
.l-business-services-others__list {
  position: relative;
  display: grid;
  overflow: clip;
  grid-auto-rows: auto 1fr;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.l-business-services-others__item > .c-ruled-line {
  z-index: 10;
}
.l-business-services-others__item > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.l-business-services-others__item > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: -1px;
}
.l-business-services-others__item > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.l-business-services-others__item > .c-ruled-line[data-type=vertical].line1 {
  right: -1px;
  left: auto;
}
.l-business-services-others__item {
  position: relative;
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  row-gap: 1.5em;
  padding: 2em var(--content-inner-gutter);
  background-color: #f3f8f6;
}

.l-business-services-others__item-title {
  font-size: clamp(16px, 1.375vw, 20px);
}

.l-business-features {
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}

.l-business-features__inner > .c-ruled-line[data-type=vertical] {
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + var(--contents-spacer));
}
.l-business-features__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-business-features__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-business-features__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-business-features__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-business-features__inner {
  position: relative;
}

.l-business-features__content > .c-ruled-line[data-type=vertical] {
  z-index: 10;
  height: calc(100% + 3.5em);
}
.l-business-features__content > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-business-features__content > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-business-features__content > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-business-features__content > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-business-features__content {
  position: relative;
  container-type: inline-size;
  container-name: business-features-main-list;
}

.l-business-features__heading-block > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}

.l-business-features__detail-list > .c-ruled-line {
  z-index: 10;
}
.l-business-features__detail-list > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-features__detail-list > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-business-features__detail-list > .c-ruled-line[data-type=vertical] {
  z-index: 10;
  height: 100%;
}
.l-business-features__detail-list > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
  grid-column: 1/2;
}
.l-business-features__detail-list > .c-ruled-line[data-type=vertical].line3 {
  right: 0;
  left: auto;
}
.l-business-features__detail-list {
  position: relative;
  display: grid;
  grid-template-columns: 0.49fr 0.51fr;
  row-gap: 8px;
  counter-reset: --point-index 0;
  -webkit-column-gap: var(--content-inner-gutter);
     -moz-column-gap: var(--content-inner-gutter);
          column-gap: var(--content-inner-gutter);
}
@container business-features-main-list (width < 630px) {
  .l-business-features__detail-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

.l-business-features__detail-item > .c-ruled-line {
  z-index: 10;
}
.l-business-features__detail-item > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.l-business-features__detail-item > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-business-features__detail-item {
  position: relative;
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: subgrid;
  padding: 2.5em var(--content-inner-gutter);
  counter-increment: --point-index 1;
}
.l-business-features__detail-item:first-of-type > .c-ruled-line:not([data-type=vertical]).top {
  display: none;
}
.l-business-features__detail-item:last-of-type > .c-ruled-line:not([data-type=vertical]).bottom {
  display: none;
}
@container business-features-main-list (width < 630px) {
  .l-business-features__detail-item {
    row-gap: 2em;
  }
}

.l-business-features__detail-title {
  font-size: clamp(18px, 1.625vw, 26px);
  display: grid;
  align-self: start;
  row-gap: 0.4615em;
}
.l-business-features__detail-title::before {
  font-family: "Archivo", sans-serif;
  font-size: clamp(14px, 1.25vw, 20px);
  font-weight: 700;
  line-height: 1;
  content: "POINT " counter(--point-index, decimal-leading-zero);
  color: var(--business-color);
}

.l-business-features-gallery > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-features-gallery > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-business-features-gallery {
  position: relative;
  padding: 1em;
}

.l-business-features-gallery__inner {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1em;
}

.l-business-features-gallery__item {
  grid-column: span 2;
  width: 100%;
  aspect-ratio: 16/12;
  margin: 0;
}
.l-business-features-gallery__item > img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}
@media screen and (width <= 768px) {
  .l-business-features-gallery__item {
    grid-column: span 3;
  }
}
@media screen and (width <= 576px) {
  .l-business-features-gallery__item {
    grid-column: span 6;
  }
}

.l-business-flow {
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}

.l-business-flow__inner > .c-ruled-line[data-type=vertical] {
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + var(--contents-spacer));
}
.l-business-flow__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-business-flow__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-business-flow__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-business-flow__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-business-flow__inner {
  position: relative;
}

.l-business-flow__content > .c-ruled-line[data-type=vertical] {
  z-index: 10;
  height: calc(100% + 3.5em);
}
.l-business-flow__content > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-business-flow__content > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-business-flow__content > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-business-flow__content > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-business-flow__content {
  position: relative;
  container-type: inline-size;
  container-name: business-flows-list;
}

.l-business-flow__heading-block > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}

.l-business-flow__description > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-flow__description {
  position: relative;
  padding: 2.75em var(--content-inner-gutter);
}

.l-business-flow__list-wrapper > .c-ruled-line {
  z-index: 10;
}
.l-business-flow__list-wrapper > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-flow__list-wrapper > .c-ruled-line:not([data-type=vertical]).top2 {
  top: 8px;
}
.l-business-flow__list-wrapper > .c-ruled-line:not([data-type=vertical]).bottom1, .l-business-flow__list-wrapper > .c-ruled-line:not([data-type=vertical]).bottom2 {
  top: auto;
}
.l-business-flow__list-wrapper > .c-ruled-line:not([data-type=vertical]).bottom1 {
  bottom: 8px;
}
.l-business-flow__list-wrapper > .c-ruled-line:not([data-type=vertical]).bottom2 {
  bottom: 0;
}
.l-business-flow__list-wrapper {
  position: relative;
  padding-block: 8px;
}

.l-business-flow__list > .c-ruled-line {
  z-index: 10;
}
.l-business-flow__list > .c-ruled-line[data-type=vertical] {
  z-index: 10;
  top: -8px;
  height: calc(100% + 16px);
}
.l-business-flow__list > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
.l-business-flow__list {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  width: min(100%, 1150px);
  margin-inline: auto;
  counter-reset: --point-index 0;
  -webkit-column-gap: var(--content-inner-gutter);
     -moz-column-gap: var(--content-inner-gutter);
          column-gap: var(--content-inner-gutter);
}

.l-business-flow__item > .c-ruled-line {
  z-index: 10;
}
.l-business-flow__item > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.l-business-flow__item > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-business-flow__item {
  position: relative;
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: subgrid;
  padding: 2.5em var(--content-inner-gutter);
  counter-increment: --point-index 1;
}
.l-business-flow__item:last-of-type > .c-ruled-line:not([data-type=vertical]).bottom {
  display: none;
}

.l-business-flow__item-title {
  font-size: clamp(16px, 1.375vw, 22px);
  font-weight: 700;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  align-self: start;
  grid-column: 1/-1;
  grid-template-columns: subgrid;
  row-gap: 0.4615em;
}
.l-business-flow__item-title::before {
  font-family: "Archivo", sans-serif;
  font-weight: 500;
  line-height: 1.2;
  display: block;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  aspect-ratio: 1;
  padding: 0.45em;
  content: counter(--point-index, decimal-leading-zero);
  color: var(--color-main);
  background-color: var(--business-color);
}

.l-business-flow__item-desc {
  grid-column: 2/-1;
  -webkit-margin-before: 0.5em;
          margin-block-start: 0.5em;
}
@container business-flows-list (width < 630px) {
  .l-business-flow__item-desc {
    grid-column: 1/-1;
  }
}

.l-business-facility-cta {
  width: 100%;
  -webkit-margin-before: 4.5em;
          margin-block-start: 4.5em;
}

.l-business-facility-cta__inner > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-facility-cta__inner > .c-ruled-line:not([data-type=vertical]).top2 {
  top: 1.25em;
}
.l-business-facility-cta__inner > .c-ruled-line:not([data-type=vertical]).bottom1, .l-business-facility-cta__inner > .c-ruled-line:not([data-type=vertical]).bottom2 {
  top: auto;
}
.l-business-facility-cta__inner > .c-ruled-line:not([data-type=vertical]).bottom1 {
  bottom: 1.25em;
}
.l-business-facility-cta__inner > .c-ruled-line:not([data-type=vertical]).bottom2 {
  bottom: 0;
}
.l-business-facility-cta__inner > .c-ruled-line[data-type=vertical] {
  top: -4.5em;
  height: calc(100% + 4.5em);
}
.l-business-facility-cta__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-business-facility-cta__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-business-facility-cta__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-business-facility-cta__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-business-facility-cta__inner {
  position: relative;
}

.l-business-facility-cta__wrapper > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.l-business-facility-cta__wrapper > .c-ruled-line[data-type=vertical].line1 {
  left: 0;
}
.l-business-facility-cta__wrapper > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
.l-business-facility-cta__wrapper {
  position: relative;
  width: min(100%, 870px);
  margin-inline: auto;
  padding: 4.75em var(--content-inner-gutter);
}

.l-business-facility-cta__lead {
  font-size: clamp(18px, 1.625vw, 26px);
  font-weight: 700;
  display: block;
  overflow-wrap: anywhere;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  text-align: center;
  word-break: keep-all;
  color: var(--business-color);
}

.l-business-facility-cta__action {
  -webkit-margin-before: 2.25em;
          margin-block-start: 2.25em;
}

.l-business-facility-cta__link {
  width: min(100%, 290px);
  margin-inline: auto;
  --button-color-foreground: var(--color-sub);
  --button-color-foreground-hover: var(--color-main);
  --button-color-background: var(--color-main);
  --button-color-background-hover: var(--color-sub);
}

.l-business-facility-cta__link-icon--sm {
  width: 1em;
}
.l-business-facility-cta__link:focus-visible .l-business-facility-cta__link-icon--sm {
  translate: none;
}
@media (any-hover: hover) {
  .l-business-facility-cta__link:hover .l-business-facility-cta__link-icon--sm {
    translate: none;
  }
}

.l-business-section {
  width: 100%;
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}

.l-business-section__content > .c-ruled-line[data-type=vertical] {
  z-index: 10;
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + var(--contents-spacer));
}
.l-business-section__content > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-business-section__content > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-business-section__content > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-business-section__content > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-business-section__content {
  position: relative;
}

.l-business-section__heading-block > .c-ruled-line {
  z-index: 10;
}
.l-business-section__heading-block > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}

.l-business-subsection > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-subsection > .c-ruled-line:not([data-type=vertical]).top2 {
  top: 10px;
}
.l-business-subsection > .c-ruled-line[data-type=vertical] {
  z-index: 10;
  top: -3.5em;
  height: calc(100% + 3.5em);
}
.l-business-subsection > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.l-business-subsection > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.l-business-subsection > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.l-business-subsection > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.l-business-subsection {
  position: relative;
  width: 100%;
  -webkit-margin-before: 3.5em;
          margin-block-start: 3.5em;
  -webkit-padding-before: 10px;
          padding-block-start: 10px;
}

.l-business-subsection__heading-block > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.l-business-subsection__heading-block > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.l-business-subsection__heading-block {
  -webkit-padding-after: 0;
          padding-block-end: 0;
}

.p-front-fv {
  position: relative;
  display: grid;
  min-height: calc(100svh - var(--header-height, var(--header-min-height, 120px)));
  --fv-animation-delay: 0s;
  --fv-animation-item-index: 0;
  --fv-frame-border-width: 10px;
  --fv-frame-border-color: var(--color-main);
  --fv-frame-border-animation-duration: 0.6s;
  --fv-body-padding-inline: clamp(10px, -32.4615384615px + 5.5288461538vw, 56px);
  --fv-description-animation-duration: 0.4s;
  --fv-description-sub-animation-duration: 0.4s;
}
@media screen and (width <= 768px) {
  .p-front-fv {
    --fv-frame-border-width: 6px;
  }
}
.p-front-fv .line {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
  opacity: 0;
  background: var(--fv-frame-border-color);
}
.p-front-fv .line:not([data-type=vertical]) {
  width: 100%;
  height: var(--fv-frame-border-width);
}
.p-front-fv .line:not([data-type=vertical]):not(.is-animated) {
  scale: 0 1;
}
.p-front-fv .line[data-type=vertical] {
  width: var(--fv-frame-border-width);
  height: 100%;
}
.p-front-fv .line[data-type=vertical]:not(.is-animated) {
  scale: 1 0;
}
.p-front-fv .line.is-animated {
  -webkit-transition: scale var(--fv-frame-border-animation-duration) calc(var(--fv-animation-delay) + var(--fv-frame-border-animation-duration) * var(--fv-animation-item-index)) ease, opacity calc(var(--fv-frame-border-animation-duration) * 0.5) calc(var(--fv-animation-delay) + var(--fv-frame-border-animation-duration) * var(--fv-animation-item-index)) ease;
  transition: scale var(--fv-frame-border-animation-duration) calc(var(--fv-animation-delay) + var(--fv-frame-border-animation-duration) * var(--fv-animation-item-index)) ease, opacity calc(var(--fv-frame-border-animation-duration) * 0.5) calc(var(--fv-animation-delay) + var(--fv-frame-border-animation-duration) * var(--fv-animation-item-index)) ease;
  scale: 1 1;
  opacity: 1;
}

.p-front-fv__inner {
  position: relative;
  padding-block: 45px;
}

.p-front-fv__container {
  container-type: inline-size;
  padding: var(--fv-frame-border-width);
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 490px;
  display: grid;
  grid-template: "title" auto "." minmax(0, 1fr) "body" auto/minmax(0, 1fr);
}
.p-front-fv__container > .frame-line.top {
  -webkit-transform-origin: left center;
          transform-origin: left center;
}
.p-front-fv__container > .frame-line.right {
  right: 0;
  left: auto;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}
.p-front-fv__container > .frame-line.bottom {
  top: auto;
  bottom: 0;
  -webkit-transform-origin: right center;
          transform-origin: right center;
}
.p-front-fv__container > .frame-line.left {
  -webkit-transform-origin: center top;
          transform-origin: center top;
}
.p-front-fv__container > .frame-line.right, .p-front-fv__container > .frame-line.left {
  top: var(--fv-frame-border-width);
  height: calc(100% - var(--fv-frame-border-width) * 2);
}

.p-front-fv__title-container {
  font-size: clamp(16px, 4.8vw, clamp(18px, 15.8571428571px + 0.5714285714vw, 25px));
  position: relative;
  grid-area: title;
  grid-row: 1;
  padding: 0.8em 2em;
}
.p-front-fv__title-container > .inner-line {
  top: auto;
  bottom: 0;
  translate: 0 100%;
  -webkit-transform-origin: left center;
          transform-origin: left center;
  --fv-animation-item-index: 1;
}
.p-front-fv__title-container > .inner-line:not([data-type=vertical]) {
  height: calc(var(--fv-frame-border-width) * 0.5);
}

.p-front-fv__title {
  font-family: "Archivo", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--color-white);
}
.p-front-fv__title:not(.is-animated) {
  opacity: 0;
}
.p-front-fv__title.is-animated {
  -webkit-transition: opacity var(--fv-description-sub-animation-duration) calc(var(--fv-animation-delay) + var(--fv-frame-border-animation-duration) * 2 + var(--fv-description-animation-duration)) ease-out;
  transition: opacity var(--fv-description-sub-animation-duration) calc(var(--fv-animation-delay) + var(--fv-frame-border-animation-duration) * 2 + var(--fv-description-animation-duration)) ease-out;
  opacity: 1;
}

.p-front-fv__body {
  display: grid;
  justify-self: end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  align-self: end;
  grid-area: body;
  grid-template: [desc-main-top] ". ." auto "desc-sub ." auto [desc-main-bottom]/[desc-main-left] minmax(20%, 1fr) auto [desc-main-right];
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-inline: var(--fv-body-padding-inline);
  -webkit-column-gap: clamp(10px, -28.15px + 5vw, 20px);
     -moz-column-gap: clamp(10px, -28.15px + 5vw, 20px);
          column-gap: clamp(10px, -28.15px + 5vw, 20px);
  color: var(--color-white);
}
@media screen and (width <= 963px) {
  .p-front-fv__body {
    grid-template: [desc-main-top] "." auto [desc-main-bottom] "desc-sub" auto/[desc-main-left] minmax(0, 1fr) [desc-main-right];
    width: 100%;
  }
}

.p-front-fv__description {
  font-size: clamp(48px, 32.0816326531px + 4.2448979592vw, 100px);
  font-weight: 700;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt"; /* 文字や記号を半分にする (約物半角) */
  line-height: 1.2;
  position: relative;
  display: grid;
  grid-area: desc-main-top/desc-main-left/desc-main-bottom/desc-main-right;
  grid-template-areas: "line1 line1" ". line2";
  grid-template-columns: subgrid;
  grid-template-rows: subgrid;
  letter-spacing: -0.08023em;
}
@media screen and (width <= 963px) {
  .p-front-fv__description {
    grid-template: "line1" "line2";
  }
}
@media screen and (width <= 374px) {
  .p-front-fv__description {
    font-size: clamp(32px, -61.0909090909px + 29.0909090909vw, 48px);
  }
}
.p-front-fv__description > .row {
  display: block;
  overflow-y: clip;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-front-fv__description > .row.line1 {
  grid-area: line1;
}
.p-front-fv__description > .row.line2 {
  grid-area: line2;
}
.p-front-fv__description > .row > .text {
  display: block;
}
.p-front-fv__description > .row > .text:not(.is-animated) {
  translate: 0 100%;
}
.p-front-fv__description > .row > .text.is-animated {
  -webkit-transition: translate var(--fv-description-animation-duration) calc(var(--fv-animation-delay) + var(--fv-frame-border-animation-duration) * 2) ease-out;
  transition: translate var(--fv-description-animation-duration) calc(var(--fv-animation-delay) + var(--fv-frame-border-animation-duration) * 2) ease-out;
  translate: none;
}
.p-front-fv__description > .inner-line {
  top: auto;
  right: calc(var(--fv-body-padding-inline) * -1);
  bottom: 0;
  left: auto;
  grid-area: line1;
  translate: 0 20%;
  -webkit-transform-origin: right center;
          transform-origin: right center;
  --fv-animation-item-index: 1;
}
.p-front-fv__description > .inner-line:not([data-type=vertical]) {
  width: 100cqi;
}

.p-front-fv__description-sub {
  font-family: "Archivo", sans-serif;
  font-size: clamp(16px, -7.2727272727px + 7.2727272727vw, 20px);
  font-weight: 700l;
  line-height: 1.2;
  grid-area: desc-sub;
  -webkit-margin-before: 0.5em;
          margin-block-start: 0.5em;
}
.p-front-fv__description-sub:not(.is-animated) {
  opacity: 0;
}
.p-front-fv__description-sub.is-animated {
  -webkit-transition: opacity var(--fv-description-sub-animation-duration) calc(var(--fv-animation-delay) + var(--fv-frame-border-animation-duration) * 2 + var(--fv-description-animation-duration)) ease-out;
  transition: opacity var(--fv-description-sub-animation-duration) calc(var(--fv-animation-delay) + var(--fv-frame-border-animation-duration) * 2 + var(--fv-description-animation-duration)) ease-out;
  opacity: 1;
}
@media screen and (width <= 963px) {
  .p-front-fv__description-sub {
    margin-block: 0.5em;
  }
}

.p-front-intro {
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}

.p-front-intro__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-inline: var(--content-inner-gutter);
  margin-inline: auto;
}
@media screen and (width <= 963px) {
  .p-front-intro__title {
    -webkit-margin-start: 0;
            margin-inline-start: 0;
  }
}

.p-front-intro__vision {
  position: relative;
  display: grid;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template-columns: 0.51fr 0.49fr;
  -webkit-padding-before: 3.5em;
          padding-block-start: 3.5em;
}
@media screen and (width <= 963px) {
  .p-front-intro__vision {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 3.42em;
  }
}
.p-front-intro__vision > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-front-intro__vision > .c-ruled-line:not([data-type=vertical]).top2 {
  translate: 0 -1rem;
}
.p-front-intro__vision > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-front-intro__vision > .c-ruled-line[data-type=vertical] {
  height: calc(100% + 1rem);
  translate: 0 -1rem;
}
.p-front-intro__vision > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-front-intro__vision > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-front-intro__vision > .c-ruled-line[data-type=vertical].line3 {
  left: 51%;
  height: 100%;
}
@media screen and (width <= 963px) {
  .p-front-intro__vision > .c-ruled-line[data-type=vertical].line3 {
    display: none;
  }
}
.p-front-intro__vision > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-front-intro__vision > .c-ruled-line[data-type=vertical].line5 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}

.p-front-intro__hero {
  display: grid;
  row-gap: clamp(28px, 19.4285714286px + 2.2857142857vw, 56px);
}

.p-front-intro__visual {
  position: relative;
  width: 100%;
}
.p-front-intro__visual::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: 0.4;
  background-color: var(--color-sub);
}
@media screen and (width <= 963px) {
  .p-front-intro__visual {
    padding-inline: var(--content-inner-gutter);
  }
}

.p-front-intro__img {
  width: 100%;
}

.p-front-intro__lead {
  font-size: clamp(14px, 4.2666666667vw, clamp(16px, 14.7755102041px + 0.3265306122vw, 20px));
  font-weight: 500;
  line-height: 1.9;
  display: grid;
  align-self: center;
  row-gap: 1.3em;
  padding-inline: var(--content-inner-gutter);
}

.p-front-intro__text {
  --intro-text-animation-delay: 0s;
  --intro-text-highlight-animation-duration: 0.3s;
  --intro-text-text-animation-duration: 0.3s;
  --intro-text-text-animation-delay: 0.15s;
}
.p-front-intro__text > .text:not(.is-animated) {
  color: transparent;
}
.p-front-intro__text > .text.is-animated {
  -webkit-transition: color var(--intro-text-text-animation-duration) calc(var(--intro-text-animation-delay) + var(--intro-text-text-animation-delay) + var(--intro-text-highlight-animation-duration)) ease-out;
  transition: color var(--intro-text-text-animation-duration) calc(var(--intro-text-animation-delay) + var(--intro-text-text-animation-delay) + var(--intro-text-highlight-animation-duration)) ease-out;
  color: var(--color-main);
}
.p-front-intro__text > .text > .-highlight {
  margin-inline: 0.1em;
  padding: 0 0.1em;
  background: -webkit-gradient(linear, left top, right top, color-stop(100%, var(--color-main)), color-stop(0, transparent));
  background: -webkit-linear-gradient(left, var(--color-main) 100%, transparent 0);
  background: linear-gradient(90deg, var(--color-main) 100%, transparent 0);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
}
.p-front-intro__text > .text > .-highlight:not(.is-animated) {
  color: transparent;
  background-size: 0% 100%;
}
.p-front-intro__text > .text > .-highlight.is-animated {
  -webkit-transition: color var(--intro-text-highlight-animation-duration) calc(var(--intro-text-animation-delay) + var(--intro-text-highlight-animation-duration) * 0.25) ease-out, background-size var(--intro-text-highlight-animation-duration) var(--intro-text-animation-delay) ease-in;
  transition: color var(--intro-text-highlight-animation-duration) calc(var(--intro-text-animation-delay) + var(--intro-text-highlight-animation-duration) * 0.25) ease-out, background-size var(--intro-text-highlight-animation-duration) var(--intro-text-animation-delay) ease-in;
  color: var(--color-sub);
  background-size: 100% 100%;
}

.p-front-intro__issue {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto clamp(40px, 21.6326530612px + 4.8979591837vw, 100px) auto;
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
  -webkit-column-gap: clamp(20px, -138.7362637363px + 16.4835164835vw, 125px);
     -moz-column-gap: clamp(20px, -138.7362637363px + 16.4835164835vw, 125px);
          column-gap: clamp(20px, -138.7362637363px + 16.4835164835vw, 125px);
}
@media screen and (width <= 963px) {
  .p-front-intro__issue {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    row-gap: 3.42em;
  }
}
.p-front-intro__issue > .c-ruled-line[data-type=vertical] {
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + clamp(32px, 22.2040816327px + 2.612244898vw, 64px) + var(--contents-spacer));
}
.p-front-intro__issue > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-front-intro__issue > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-front-intro__issue > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-front-intro__issue > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}

.p-front-intro__issue-chart {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
}
@media screen and (width <= 963px) {
  .p-front-intro__issue-chart {
    grid-row: auto;
    grid-template-rows: auto;
    row-gap: clamp(40px, 21.6326530612px + 4.8979591837vw, 100px);
  }
}

.p-front-intro__issue-heading {
  font-size: clamp(18px, 5.8666666667vw, clamp(22px, 18.9387755102px + 0.8163265306vw, 32px));
  font-weight: 700;
  line-height: 1.4;
  padding-inline: var(--content-inner-gutter);
}

.p-front-intro__issue-figure {
  grid-row: -1;
  padding-inline: var(--content-inner-gutter);
  /* 基準円 */
  --main-circle-radius: clamp(80px, 26.6666666667vw, clamp(100px, 81.6326530612px + 4.8979591837vw, 160px));
  --main-circle-diameter: calc(var(--main-circle-radius) * 2);
  /* 配置円 */
  --small-circle-radius: calc(var(--main-circle-radius) * 0.65);
  --small-circle-diameter: calc(var(--small-circle-radius) * 2);
  /* 角度設定 (0度を上にするため-90度オフセット) */
  --angle-offset: -90deg;
  --angle-1: calc(var(--angle-offset) + 0deg); /* 上 */
  --angle-2: calc(var(--angle-offset) + 120deg); /* 右下 */
  --angle-3: calc(var(--angle-offset) + 240deg); /* 左下 */
  /* 三角関数による座標計算 */
  /* 円1の座標 (上) */
  --circle-1-x: calc(var(--main-circle-radius) * cos(var(--angle-1)));
  --circle-1-y: calc(var(--main-circle-radius) * sin(var(--angle-1)));
  /* 円2の座標 (右下) */
  --circle-2-x: calc(var(--main-circle-radius) * cos(var(--angle-2)));
  --circle-2-y: calc(var(--main-circle-radius) * sin(var(--angle-2)));
  /* 円3の座標 (左下) */
  --circle-3-x: calc(var(--main-circle-radius) * cos(var(--angle-3)));
  --circle-3-y: calc(var(--main-circle-radius) * sin(var(--angle-3)));
  /* 基準円に内接する正三角形の計算 */
  /* SVGのviewBoxサイズ (三角形を含む最小サイズ) */
  --svg-width: calc(var(--main-circle-radius) * 2);
  --svg-height: calc(var(--main-circle-radius) * 2);
  /* コンテナの計算 */
  --container-width: max(var(--main-circle-radius) * 2, var(--small-circle-radius) * 2 + abs(var(--circle-2-x)) + abs(var(--circle-3-x)));
  --container-height: var(--main-circle-diameter);
  /* アニメーション */
  --diagram-animation-delay: 0s;
  --diagram-animation-circle-duration: 0.6s;
  --diagram-animation-circle-delay: 0s;
  --diagram-animation-triangle-duration: 0.85s;
  --diagram-animation-triangle-delay: calc(var(--diagram-animation-circle-delay) + var(--diagram-animation-circle-duration) * 0.8);
  --diagram-animation-triangle-stroke-dasharray: 90px;
  --diagram-animation-triangle-stroke-width: 0.7px;
  --diagram-animation-triangle-stroke-color: currentColor;
  --diagram-animation-text-duration: 0.6s;
  --diagram-animation-text-delay: calc(var(--diagram-animation-triangle-delay) + var(--diagram-animation-triangle-duration));
}

.p-front-intro__issue-figure-inner {
  font-size: clamp(10px, 3.2vw, clamp(12px, 9.5510204082px + 0.6530612245vw, 20px));
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
  -webkit-padding-before: var(--small-circle-radius);
          padding-block-start: var(--small-circle-radius);
  -webkit-padding-after: calc(var(--small-circle-radius) - (var(--main-circle-radius) - var(--main-circle-radius) * 0.5));
          padding-block-end: calc(var(--small-circle-radius) - (var(--main-circle-radius) - var(--main-circle-radius) * 0.5));
  /* コンテナ */
}
.p-front-intro__issue-figure-inner .circle-container {
  position: relative;
  width: var(--container-width);
  height: var(--container-height);
}
.p-front-intro__issue-figure-inner {
  /* 基準円ガイドライン */
}
.p-front-intro__issue-figure-inner .main-circle-guide {
  position: absolute;
  top: 50%;
  left: 50%;
  display: none;
  width: calc(var(--main-circle-radius) * 2);
  height: calc(var(--main-circle-radius) * 2);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border: 1px dashed rgba(255, 255, 255, 0.3);
  border-radius: 50%;
}
.p-front-intro__issue-figure-inner {
  /* 基準円に内接する正三角形 */
}
.p-front-intro__issue-figure-inner .triangle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--svg-width);
  height: var(--svg-height);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  pointer-events: none;
}
.p-front-intro__issue-figure-inner .triangle > svg {
  width: 100%;
  height: 100%;
  /* 三角系の辺 */
}
.p-front-intro__issue-figure-inner .triangle > svg .triangle-side {
  fill: none;
  stroke: var(--color-white);
  stroke-width: var(--diagram-animation-triangle-stroke-width);
  stroke-dasharray: var(--diagram-animation-triangle-stroke-dasharray);
  stroke-dashoffset: var(--diagram-animation-triangle-stroke-dasharray);
}
.p-front-intro__issue-figure-inner .triangle > svg .triangle-side.is-animated {
  -webkit-transition: stroke-dashoffset var(--diagram-animation-triangle-duration) var(--diagram-animation-triangle-delay) cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: stroke-dashoffset var(--diagram-animation-triangle-duration) var(--diagram-animation-triangle-delay) cubic-bezier(0.39, 0.575, 0.565, 1);
  stroke: var(--diagram-animation-triangle-stroke-color);
  stroke-dashoffset: 0;
}
.p-front-intro__issue-figure-inner {
  /* 三角形内部テキスト */
}
.p-front-intro__issue-figure-inner .triangle-text {
  font-weight: 500;
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  pointer-events: none;
  opacity: 0;
  color: rgba(255, 255, 255, 0.9);
}
.p-front-intro__issue-figure-inner .triangle-text.is-animated {
  -webkit-transition: opacity var(--diagram-animation-text-duration) var(--diagram-animation-text-delay) linear;
  transition: opacity var(--diagram-animation-text-duration) var(--diagram-animation-text-delay) linear;
  opacity: 1;
}
.p-front-intro__issue-figure-inner {
  /* 配置円 */
}
.p-front-intro__issue-figure-inner .small-circle {
  font-weight: 500;
  line-height: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: var(--small-circle-diameter);
  height: var(--small-circle-diameter);
  opacity: 0;
  color: var(--color-sub);
  border-radius: 50%;
  background: url(../images/bg_figure_01.webp) no-repeat center center/cover;
}
.p-front-intro__issue-figure-inner .small-circle.top-center {
  translate: calc(-50% + var(--circle-1-x)) calc(-50% + var(--circle-1-y));
}
.p-front-intro__issue-figure-inner .small-circle.bottom-right {
  translate: calc(-50% + var(--circle-2-x)) calc(-50% + var(--circle-2-y));
}
.p-front-intro__issue-figure-inner .small-circle.bottom-left {
  translate: calc(-50% + var(--circle-3-x)) calc(-50% + var(--circle-3-y));
}
.p-front-intro__issue-figure-inner .small-circle.is-animated {
  -webkit-transition: opacity var(--diagram-animation-circle-duration) var(--diagram-animation-circle-delay) ease-out;
  transition: opacity var(--diagram-animation-circle-duration) var(--diagram-animation-circle-delay) ease-out;
  opacity: 1;
}

.p-front-intro__issue-list {
  grid-area: 2/2/-1;
  margin: 0;
  padding: 0;
  -webkit-padding-end: var(--content-inner-gutter);
          padding-inline-end: var(--content-inner-gutter);
  list-style: none;
  counter-reset: index 0;
}
@media screen and (width <= 963px) {
  .p-front-intro__issue-list {
    grid-area: auto;
    padding-inline: var(--content-inner-gutter);
  }
}

.p-front-intro__issue-card {
  --card-border-width: 3px;
  --card-border-color: var(--color-white);
  display: grid;
  row-gap: 3em;
  padding-block: 1.75em;
  counter-increment: index 1;
  border-bottom: var(--card-border-width) solid var(--card-border-color);
}
@media screen and (width <= 963px) {
  .p-front-intro__issue-card {
    --card-border-width: 1px;
    --card-border-color: color-mix(in srgb, var(--color-white), transparent 70%);
  }
}
.p-front-intro__issue-card:first-of-type {
  border-top: var(--card-border-width) solid var(--card-border-color);
}

.p-front-intro__issue-card-title {
  font-size: clamp(16px, 4.8vw, clamp(18px, 16.7755102041px + 0.3265306122vw, 22px));
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-front-intro__issue-card-title > .text::before {
  -webkit-margin-end: 0.72em;
          margin-inline-end: 0.72em;
  content: counter(index, decimal-leading-zero);
}

@-webkit-keyframes --grow {
  from {
    scale: 0;
  }
  to {
    scale: 1;
  }
}

@keyframes --grow {
  from {
    scale: 0;
  }
  to {
    scale: 1;
  }
}
.p-front-intro__action {
  position: relative;
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  place-items: center;
  grid-template: "message" 1fr "button" auto;
  row-gap: clamp(40px, 27.7551020408px + 3.2653061224vw, 80px);
  -webkit-margin-before: clamp(32px, 22.2040816327px + 2.612244898vw, 64px);
          margin-block-start: clamp(32px, 22.2040816327px + 2.612244898vw, 64px);
  padding-inline: var(--content-inner-gutter);
}
.p-front-intro__action::before {
  position: relative;
  z-index: -1;
  display: block;
  grid-column: message;
  grid-row: message/button;
  width: min(46.6666666667vw, 310px);
  aspect-ratio: 1;
  content: "";
  -webkit-animation: --grow linear both;
          animation: --grow linear both;
  animation-timeline: view();
  animation-range: contain 0% contain 40%; /* 開始: 要素がビューポートに完全に入った時、終了: ビューポートの真ん中 */
  border-radius: 50%;
  background: #777777;
  -webkit-filter: blur(200px);
          filter: blur(200px);
}
.p-front-intro__action > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-front-intro__action > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-front-intro__action > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-front-intro__action > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}

.p-front-intro__action-message {
  font-size: clamp(14px, 5.3333333333vw, clamp(20px, 17.5510204082px + 0.6530612245vw, 28px));
  font-weight: 700;
  line-height: 1.7;
  display: block;
  overflow-wrap: anywhere;
  align-self: end;
  grid-area: message;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  word-break: keep-all;
}

.p-front-intro__action-btn {
  grid-area: button;
  width: min(100%, 290px);
}

.p-front-model {
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}

.p-front-model__inner {
  position: relative;
}
.p-front-model__inner > .c-ruled-line:not([data-type=vertical]) {
  width: var(--viewport-width);
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  top: 10%;
}
.p-front-model__inner > .c-ruled-line:not([data-type=vertical]).bottom1 {
  top: auto;
  bottom: 10%;
}
.p-front-model__inner > .c-ruled-line:not([data-type=vertical]).bottom2 {
  top: auto;
  bottom: 0;
}
.p-front-model__inner > .c-ruled-line[data-type=vertical] {
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + var(--contents-spacer));
}
.p-front-model__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-front-model__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-front-model__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-front-model__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}

.p-front-model__title-wrapper {
  width: 100%;
}

.p-front-model__title {
  width: 100%;
}
.p-front-model__title > svg {
  width: 100%;
}
.p-front-model__title > svg > .stroke-anim-text {
  --stroke-animation-text-duration: 1.6s;
  --stroke-animation-text-delay: 0s;
  --stroke-animation-text-exit-duration: 1s;
  --stroke-animation-text-exit-delay: 0s;
  --stroke-animation-text-animate-item-interval: 0.1s;
  --stroke-animation-stroke-dasharray: 800px;
  --stroke-animation-stroke-width: 1px;
  --stroke-animation-text-stroke-color: currentColor;
  --stroke-animation-text-fill-color: currentColor;
}
.p-front-model__title > svg > .stroke-anim-text [data-stroke-animation-text-item] {
  vector-effect: non-scaling-stroke;
  stroke: var(--stroke-animation-text-stroke-color);
  stroke-dasharray: var(--stroke-animation-stroke-dasharray);
}
.p-front-model__title > svg > .stroke-anim-text [data-stroke-animation-text-item][data-animation-type=enter][data-animation-state=initial] {
  fill: transparent;
  stroke-width: var(--stroke-animation-stroke-width);
  stroke-dashoffset: var(--stroke-animation-stroke-dasharray);
}
.p-front-model__title > svg > .stroke-anim-text [data-stroke-animation-text-item][data-animation-type=enter][data-animation-state=animating], .p-front-model__title > svg > .stroke-anim-text [data-stroke-animation-text-item][data-animation-type=enter][data-animation-state=animated] {
  fill: var(--stroke-animation-text-fill-color);
  stroke-width: 0;
  stroke-dashoffset: 0;
}
.p-front-model__title > svg > .stroke-anim-text [data-stroke-animation-text-item][data-animation-type=enter][data-animation-state=animating] {
  -webkit-transition: stroke-dashoffset var(--stroke-animation-text-duration) cubic-bezier(0.39, 0.575, 0.565, 1) calc(var(--stroke-animation-text-delay) + var(--stroke-animation-text-item-index) * var(--stroke-animation-text-animate-item-interval)), fill 0.4s linear calc(var(--stroke-animation-text-delay) + var(--stroke-animation-text-item-index) * var(--stroke-animation-text-animate-item-interval) + var(--stroke-animation-text-duration) - 0.8s), stroke-width 0.4s linear calc(var(--stroke-animation-text-delay) + var(--stroke-animation-text-item-index) * var(--stroke-animation-text-animate-item-interval) + var(--stroke-animation-text-duration) - 0.8s);
  transition: stroke-dashoffset var(--stroke-animation-text-duration) cubic-bezier(0.39, 0.575, 0.565, 1) calc(var(--stroke-animation-text-delay) + var(--stroke-animation-text-item-index) * var(--stroke-animation-text-animate-item-interval)), fill 0.4s linear calc(var(--stroke-animation-text-delay) + var(--stroke-animation-text-item-index) * var(--stroke-animation-text-animate-item-interval) + var(--stroke-animation-text-duration) - 0.8s), stroke-width 0.4s linear calc(var(--stroke-animation-text-delay) + var(--stroke-animation-text-item-index) * var(--stroke-animation-text-animate-item-interval) + var(--stroke-animation-text-duration) - 0.8s);
}

.p-front-approach {
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}

.p-front-approach__inner-block {
  position: relative;
}
.p-front-approach__inner-block[data-phase-group="1"] > .c-ruled-line[data-type=vertical].line1, .p-front-approach__inner-block[data-phase-group="2"] > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-front-approach__inner-block[data-phase-group="1"] > .c-ruled-line[data-type=vertical].line2, .p-front-approach__inner-block[data-phase-group="2"] > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-front-approach__inner-block[data-phase-group="1"] > .c-ruled-line[data-type=vertical].line3, .p-front-approach__inner-block[data-phase-group="2"] > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-front-approach__inner-block[data-phase-group="1"] > .c-ruled-line[data-type=vertical].line4, .p-front-approach__inner-block[data-phase-group="2"] > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-front-approach__inner-block[data-phase-group="1"] > .c-ruled-line[data-type=vertical] {
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + 100px - clamp(0px, -15.306122449px + 4.0816326531vw, 50px) + var(--contents-spacer));
}
.p-front-approach__inner-block[data-phase-group="2"] > .c-ruled-line:not([data-type=vertical]) {
  width: var(--viewport-width);
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
}
.p-front-approach__inner-block[data-phase-group="2"] > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
@media screen and (width <= 963px) {
  .p-front-approach__inner-block[data-phase-group="2"] > .c-ruled-line:not([data-type=vertical]).bottom {
    display: none;
  }
}

.p-front-approach__title {
  position: relative;
  padding-inline: var(--content-inner-gutter);
}
.p-front-approach__title > .c-ruled-line:not([data-type=vertical]) {
  width: var(--viewport-width);
  top: -1.75rem;
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
}
.p-front-approach__title > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: -2.5rem;
}

.p-front-approach__content {
  display: grid;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template-areas: "body diagram";
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -webkit-margin-before: clamp(80px, 76.9387755102px + 0.8163265306vw, 90px);
          margin-block-start: clamp(80px, 76.9387755102px + 0.8163265306vw, 90px);
  padding-inline: var(--content-inner-gutter);
  -webkit-column-gap: clamp(20px, -161.4128728414px + 18.8383045526vw, 140px);
     -moz-column-gap: clamp(20px, -161.4128728414px + 18.8383045526vw, 140px);
          column-gap: clamp(20px, -161.4128728414px + 18.8383045526vw, 140px);
}
@media screen and (width <= 963px) {
  .p-front-approach__content {
    grid-template-areas: "diagram" "body";
    grid-template-columns: minmax(0, 1fr);
    row-gap: 3em;
  }
}

.p-front-approach__wrapper {
  display: grid;
  align-self: center;
  grid-area: body;
  row-gap: 4.25em;
}
@media screen and (width <= 963px) {
  .p-front-approach__wrapper {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    row-gap: 3em;
  }
}

.p-front-approach__lead {
  font-weight: 500;
  display: grid;
  row-gap: 1.75em;
}

.p-front-approach__action-btn {
  width: min(100%, 290px);
}
@media screen and (width <= 963px) {
  .p-front-approach__action-btn {
    margin-inline: auto;
  }
}

.p-front-approach__diagram {
  grid-area: diagram;
  width: min(632px, 100%);
  margin-inline: auto;
}

.p-front-approach__diagram-content {
  --app-diagram-animation-motif-line-count: 2;
  --app-diagram-animation-motif-line-index: 0;
  --app-diagram-animation-motif-line-interval: calc(0.15s - var(--app-diagram-animation-motif-duration));
  --app-diagram-animation-motif-stroke-dasharray: 700px;
  --app-diagram-animation-motif-duration: 0.65s;
  --app-diagram-animation-motif-delay: 0s;
  --app-diagram-animation-circle-count: 4;
  --app-diagram-animation-circle-index: 0;
  --app-diagram-animation-circle-interval: 0s;
  --app-diagram-animation-circle-duration: 0.45s;
  --app-diagram-animation-circle-delay: calc((var(--app-diagram-animation-motif-duration) * var(--app-diagram-animation-motif-line-count) + var(--app-diagram-animation-motif-line-interval) * (var(--app-diagram-animation-motif-line-count) - 1)) * 0.5);
  --app-diagram-animation-ring-stroke-dasharray: 700px;
  --app-diagram-animation-ring-duration: calc((var(--app-diagram-animation-circle-duration) * var(--app-diagram-animation-circle-count) + var(--app-diagram-animation-circle-interval) * (var(--app-diagram-animation-circle-count) - 1)));
  --app-diagram-animation-ring-delay: var(--app-diagram-animation-circle-delay);
}
.p-front-approach__diagram-content > .ring {
  fill: none;
  stroke: transparent;
  stroke-dasharray: var(--app-diagram-animation-ring-stroke-dasharray);
  stroke-dashoffset: var(--app-diagram-animation-ring-stroke-dasharray);
}
.p-front-approach__diagram-content > .ring.is-animated {
  -webkit-transition: stroke-dashoffset var(--app-diagram-animation-ring-duration) linear var(--app-diagram-animation-ring-delay), stroke var(--app-diagram-animation-ring-duration) cubic-bezier(0.47, 0, 0.745, 0.715) var(--app-diagram-animation-ring-delay);
  transition: stroke-dashoffset var(--app-diagram-animation-ring-duration) linear var(--app-diagram-animation-ring-delay), stroke var(--app-diagram-animation-ring-duration) cubic-bezier(0.47, 0, 0.745, 0.715) var(--app-diagram-animation-ring-delay);
  stroke: var(--color-main);
  stroke-dashoffset: 0;
}
.p-front-approach__diagram-content > .r-motif > .r-motif-line,
.p-front-approach__diagram-content > .r-motif > .r-motif-line-curve {
  fill: none;
  stroke: var(--color-gray);
  stroke-linecap: square;
  stroke-dasharray: var(--app-diagram-animation-motif-stroke-dasharray);
  stroke-dashoffset: var(--app-diagram-animation-motif-stroke-dasharray);
}
.p-front-approach__diagram-content > .r-motif > .r-motif-line.is-animated,
.p-front-approach__diagram-content > .r-motif > .r-motif-line-curve.is-animated {
  -webkit-transition: stroke-dashoffset var(--app-diagram-animation-motif-duration) cubic-bezier(0.39, 0.575, 0.565, 1) calc(var(--app-diagram-animation-motif-delay) + var(--app-diagram-animation-motif-line-index) * (var(--app-diagram-animation-motif-duration) + var(--app-diagram-animation-motif-line-interval)));
  transition: stroke-dashoffset var(--app-diagram-animation-motif-duration) cubic-bezier(0.39, 0.575, 0.565, 1) calc(var(--app-diagram-animation-motif-delay) + var(--app-diagram-animation-motif-line-index) * (var(--app-diagram-animation-motif-duration) + var(--app-diagram-animation-motif-line-interval)));
  stroke-dashoffset: 0;
}
.p-front-approach__diagram-content > .r-motif > .r-motif-line {
  stroke-width: 20px;
}
.p-front-approach__diagram-content > .r-motif > .r-motif-line-curve {
  stroke-width: 10px;
  --app-diagram-animation-motif-line-index: 1;
}
.p-front-approach__diagram-content > .app-circles > .app-circle {
  opacity: 0;
}
.p-front-approach__diagram-content > .app-circles > .app-circle#toki {
  --app-diagram-animation-circle-index: 0;
}
.p-front-approach__diagram-content > .app-circles > .app-circle#akatsuki {
  --app-diagram-animation-circle-index: 1;
}
.p-front-approach__diagram-content > .app-circles > .app-circle#muget {
  --app-diagram-animation-circle-index: 2;
}
.p-front-approach__diagram-content > .app-circles > .app-circle#spica {
  --app-diagram-animation-circle-index: 3;
}
.p-front-approach__diagram-content > .app-circles > .app-circle > .text {
  fill: var(--color-main);
}
.p-front-approach__diagram-content > .app-circles > .app-circle.is-animated {
  -webkit-transition: opacity var(--app-diagram-animation-circle-duration) cubic-bezier(0.39, 0.575, 0.565, 1) calc(var(--app-diagram-animation-circle-delay) + var(--app-diagram-animation-circle-index) * (var(--app-diagram-animation-circle-duration) + var(--app-diagram-animation-circle-interval)));
  transition: opacity var(--app-diagram-animation-circle-duration) cubic-bezier(0.39, 0.575, 0.565, 1) calc(var(--app-diagram-animation-circle-delay) + var(--app-diagram-animation-circle-index) * (var(--app-diagram-animation-circle-duration) + var(--app-diagram-animation-circle-interval)));
  opacity: 1;
}

.p-front-approach__cards-wrapper {
  position: relative;
  container-type: inline-size;
  container-name: approach-cards-wrapper;
  -webkit-margin-before: calc(100px - clamp(0px, -15.306122449px + 4.0816326531vw, 50px));
          margin-block-start: calc(100px - clamp(0px, -15.306122449px + 4.0816326531vw, 50px));
}
.p-front-approach__cards-wrapper > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.p-front-approach__cards-wrapper > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
@container approach-cards-wrapper (width < 1480px) {
  .p-front-approach__cards-wrapper > .c-ruled-line.line1, .p-front-approach__cards-wrapper > .c-ruled-line.line2 {
    display: none;
  }
}

.p-front-approach__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(4, auto) 1fr;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (width <= 963px) {
  .p-front-approach__cards {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    row-gap: var(--contents-spacer);
    container-type: inline-size;
    container-name: app-list;
  }
}
.p-front-approach__cards :nth-child(2n of li) > .c-ruled-line:not([data-type=vertical]) {
  display: none;
}
@media screen and (width <= 963px) {
  .p-front-approach__cards :nth-child(2n of li) > .c-ruled-line:not([data-type=vertical]) {
    display: block;
  }
}
.p-front-approach__cards > li {
  --li-block-after: 20px;
  position: relative;
  display: grid;
  grid-row: span 5;
  grid-template-rows: subgrid;
  -webkit-padding-after: var(--li-block-after);
          padding-block-end: var(--li-block-after);
}
.p-front-approach__cards > li > .c-ruled-line:not([data-type=vertical]) {
  width: var(--viewport-width);
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
}
.p-front-approach__cards > li > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: var(--li-block-after);
}
@media screen and (width <= 963px) {
  .p-front-approach__cards > li > .c-ruled-line:not([data-type=vertical]).bottom {
    bottom: 0;
  }
}
.p-front-approach__cards > li > .c-ruled-line[data-type=vertical] {
  right: 0;
  left: auto;
}
@media screen and (width <= 963px) {
  .p-front-approach__cards > li > .c-ruled-line[data-type=vertical] {
    display: none;
  }
}
@media screen and (width <= 963px) {
  .p-front-approach__cards > li {
    grid-row: auto;
    grid-template-rows: auto;
    -webkit-padding-after: 0;
            padding-block-end: 0;
  }
}

.p-front-approach__card {
  position: relative;
  display: grid;
  overflow: clip;
  -webkit-align-content: start;
      -ms-flex-line-pack: start;
          align-content: start;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-row: span 5;
  grid-template-columns: 0.38fr 0.62fr;
  grid-template-rows: subgrid;
  padding: 1em clamp(10px, 2.0408163265px + 2.1224489796vw, 36px);
  text-decoration: none;
  -webkit-column-gap: clamp(10px, -14px + 3.125vw, 36px);
     -moz-column-gap: clamp(10px, -14px + 3.125vw, 36px);
          column-gap: clamp(10px, -14px + 3.125vw, 36px);
  color: inherit;
}
@media screen and (width <= 963px) {
  .p-front-approach__card {
    grid-row: auto;
    grid-template-rows: auto;
    row-gap: 12px;
    padding-block: 0;
  }
}
@media screen and (width <= 963px) and (any-hover: hover) {
  .p-front-approach__card {
    padding-block: 1em;
  }
}
.p-front-approach__card:focus-visible .p-front-approach__card-background {
  visibility: visible;
  scale: 1;
  opacity: 1;
  -webkit-filter: blur(0px);
          filter: blur(0px);
}
.p-front-approach__card:focus-visible .p-front-approach__card-title {
  --reveal-text-color: var(--color-main);
  --reveal-rug-color: transparent;
}
.p-front-approach__card:focus-visible .p-front-approach__card-btn {
  color: var(--button-color-foreground-hover);
  background-color: var(--button-color-background-hover);
}
.p-front-approach__card:focus-visible .p-front-approach__card-btn .c-button-arrow__icon {
  translate: 0.5em 0;
}
@media (any-hover: hover) {
  .p-front-approach__card:hover .p-front-approach__card-background {
    visibility: visible;
    scale: 1;
    opacity: 1;
    -webkit-filter: blur(0px);
            filter: blur(0px);
  }
  .p-front-approach__card:hover .p-front-approach__card-title {
    --reveal-text-color: var(--color-main);
    --reveal-rug-color: transparent;
  }
  .p-front-approach__card:hover .p-front-approach__card-btn {
    color: var(--button-color-foreground-hover);
    background-color: var(--button-color-background-hover);
  }
  .p-front-approach__card:hover .p-front-approach__card-btn .c-button-arrow__icon {
    translate: 0.5em 0;
  }
}
@container app-list (width < 530px) {
  .p-front-approach__card {
    grid-template-columns: minmax(0, 1fr);
  }
}

.p-front-approach__card-background {
  position: absolute;
  z-index: -1;
  inset: 0;
  visibility: hidden;
  -webkit-transition: scale 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-out, visibility 0.3s ease-out, -webkit-filter 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transition: scale 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-out, visibility 0.3s ease-out, -webkit-filter 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transition: filter 0.5s cubic-bezier(0.4, 0, 0.2, 1), scale 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-out, visibility 0.3s ease-out;
  transition: filter 0.5s cubic-bezier(0.4, 0, 0.2, 1), scale 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-out, visibility 0.3s ease-out, -webkit-filter 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  scale: 0.7;
  opacity: 0;
  -webkit-filter: blur(2rem);
          filter: blur(2rem);
}
.p-front-approach__card-background > img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}

.p-front-approach__card-img {
  position: relative;
  grid-row: span 5;
  width: 100%;
  height: 100%;
}
.p-front-approach__card-img > img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}
.p-front-approach__card-img::after {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  opacity: 0.2;
  background-color: var(--color-sub);
}
@media screen and (width <= 963px) {
  .p-front-approach__card-img {
    grid-row: auto;
  }
}
@container app-list (width < 530px) {
  .p-front-approach__card-img {
    aspect-ratio: 325/228;
  }
}

.p-front-approach__card-content {
  display: grid;
  grid-row: span 5;
  grid-template-rows: subgrid;
}
@media screen and (width <= 963px) {
  .p-front-approach__card-content {
    grid-row: auto;
    grid-template-rows: auto;
  }
}

.p-front-approach__card-head {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  row-gap: 14px;
}
@media screen and (width <= 963px) {
  .p-front-approach__card-head {
    grid-row: auto;
    grid-template-rows: auto;
  }
}

.p-front-approach__card-tag {
  font-size: clamp(10px, 9.387755102px + 0.1632653061vw, 12px);
  font-weight: 500;
  line-height: 1.6;
}

.p-front-approach__card-title {
  font-size: clamp(18px, 5.3333333333vw, clamp(20px, 19.387755102px + 0.1632653061vw, 22px));
  font-weight: 700;
  line-height: 1.3;
  display: block;
  -webkit-align-self: start;
      -ms-flex-item-align: start;
          align-self: start;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-front-approach__card-body {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  row-gap: 32px;
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
}
@media screen and (width <= 963px) {
  .p-front-approach__card-body {
    grid-row: auto;
    grid-template-rows: auto;
  }
}

.p-front-approach__card-btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-block: 0.5em;
}
@container app-list (width < 530px) {
  .p-front-approach__card-btn {
    width: 95%;
    margin-inline: auto;
  }
}

.p-front-news {
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}

.p-front-news__inner {
  position: relative;
  display: grid;
  grid-template-areas: "head" "body";
}
@media screen and (width <= 768px) {
  .p-front-news__inner {
    grid-template-areas: "title" "body" "button";
  }
}
.p-front-news__inner > .c-ruled-line:not([data-type=vertical]) {
  width: var(--viewport-width);
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
}
.p-front-news__inner > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-front-news__inner > .c-ruled-line[data-type=vertical] {
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + var(--contents-spacer));
}
.p-front-news__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-front-news__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-front-news__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-front-news__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}

.p-front-news__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-area: head;
}
@media screen and (width <= 768px) {
  .p-front-news__head {
    display: contents;
  }
}

.p-front-news__title {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-inline: var(--content-inner-gutter);
}
@media screen and (width <= 768px) {
  .p-front-news__title {
    grid-area: title;
  }
}
.p-front-news__title > .c-ruled-line:not([data-type=vertical]) {
  top: -1.75rem;
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-front-news__title > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: -1.75rem;
}

.p-front-news__action {
  padding-inline: var(--content-inner-gutter);
  justify-self: end;
}
@media screen and (width <= 768px) {
  .p-front-news__action {
    justify-self: center;
    grid-area: button;
    padding-block: 3rem;
  }
}

.p-front-news__action-btn {
  width: min(100%, 290px);
}

.p-front-news__body {
  position: relative;
  grid-area: body;
  container-type: inline-size;
  container-name: news-list-wrapper;
  -webkit-margin-before: 1.75rem;
          margin-block-start: 1.75rem;
}
.p-front-news__body > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.p-front-news__body > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
@container news-list-wrapper (width < 1480px) {
  .p-front-news__body > .c-ruled-line.line1, .p-front-news__body > .c-ruled-line.line2 {
    display: none;
  }
}

.p-front-news__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media screen and (width <= 963px) {
  .p-front-news__list {
    grid-auto-rows: 1fr;
    grid-template-columns: minmax(0, 1fr);
  }
}
@media screen and (width <= 768px) {
  .p-front-news__list {
    grid-area: list;
  }
}

.p-front-news__item {
  position: relative;
  display: block;
  padding-block: 1.5em 4.25em;
  padding-inline: clamp(8px, 3.1020408163px + 1.306122449vw, 24px);
  -webkit-transition: color 0.3s ease-out, background-color 0.3s ease-out;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
  text-decoration: none;
  color: var(--color-main);
}
@media screen and (width <= 963px) {
  .p-front-news__item {
    padding-block: 1rem;
  }
}
.p-front-news__item > .c-ruled-line:not([data-type=vertical]) {
  width: 100%;
}
.p-front-news__item > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-front-news__item > .c-ruled-line[data-type=vertical] {
  right: 0;
  left: auto;
  translate: 50% 0;
}
.p-front-news__item:nth-of-type(3n) > .c-ruled-line.bottom, .p-front-news__item:nth-of-type(3n) > .c-ruled-line.line1 {
  display: none;
}

.p-front-news__item-inner {
  display: grid;
  -webkit-align-content: start;
      -ms-flex-line-pack: start;
          align-content: start;
  gap: 20px clamp(10px, -24.9090909091px + 10.9090909091vw, 16px);
}
@media screen and (width <= 963px) {
  .p-front-news__item-inner {
    -webkit-align-content: center;
        -ms-flex-line-pack: center;
            align-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    grid-template-columns: 0.22fr 0.78fr;
  }
}

.p-front-news__item-img {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16/9;
}
@media screen and (width <= 963px) {
  .p-front-news__item-img {
    height: 100%;
    aspect-ratio: auto;
  }
}
.p-front-news__item-img > img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
  -webkit-transition: scale 0.3s ease-out;
  transition: scale 0.3s ease-out;
}

.p-front-news__item-content {
  display: grid;
  row-gap: 20px;
}
@media screen and (width <= 963px) {
  .p-front-news__item-content {
    gap: 5px;
  }
}

.p-front-news__item-meta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

.p-front-news__item-categories {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
}
@media screen and (width <= 768px) {
  .p-front-news__item-categories {
    gap: 5px;
  }
}

.p-front-news__item-category {
  font-size: clamp(12px, 10.7755102041px + 0.3265306122vw, 16px);
  font-weight: 700;
  line-height: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.25em 0.75em;
  opacity: 0.5;
  border: 1px solid currentColor;
}

.p-front-news__item-title {
  font-size: clamp(14px, 12.1632653061px + 0.4897959184vw, 20px);
  font-weight: 700;
  line-height: 1.4;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}

.p-front-news__item:focus-visible {
  color: var(--color-sub);
  background-color: var(--color-white-light);
}
.p-front-news__item:focus-visible .p-front-news__item-img img {
  scale: 1.05;
}
@media (any-hover: hover) {
  .p-front-news__item:hover {
    color: var(--color-sub);
    background-color: var(--color-white-light);
  }
  .p-front-news__item:hover .p-front-news__item-img img {
    scale: 1.05;
  }
}

.p-front-recruit {
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
  --recruit-animation-delay: 0s;
  --recruit-frame-border-width: 6px;
  --recruit-frame-border-color: var(--color-main);
  --recruit-frame-border-animation-index: 0;
  --recruit-frame-border-animation-duration: 0.25s;
  --recruit-content-animation-duration: 0.4s;
}
@media screen and (width <= 768px) {
  .p-front-recruit {
    --recruit-frame-border-width: 3px;
  }
}

.p-front-recruit__inner {
  position: relative;
}
.p-front-recruit__inner > .c-ruled-line[data-type=vertical] {
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + var(--contents-spacer));
}
.p-front-recruit__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-front-recruit__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-front-recruit__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-front-recruit__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}

.p-front-recruit__content {
  position: relative;
  width: min(95%, 1400px);
  margin-inline: auto;
  padding: var(--recruit-frame-border-width);
}
.p-front-recruit__content > .frame-line {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
  opacity: 0;
  background: var(--recruit-frame-border-color);
}
.p-front-recruit__content > .frame-line:not([data-type=vertical]) {
  width: 100%;
  height: var(--recruit-frame-border-width);
}
.p-front-recruit__content > .frame-line:not([data-type=vertical]):not(.is-animated) {
  scale: 0 1;
}
.p-front-recruit__content > .frame-line[data-type=vertical] {
  width: var(--recruit-frame-border-width);
  height: 100%;
}
.p-front-recruit__content > .frame-line[data-type=vertical]:not(.is-animated) {
  scale: 1 0;
}
.p-front-recruit__content > .frame-line.top {
  -webkit-transform-origin: left center;
          transform-origin: left center;
}
.p-front-recruit__content > .frame-line.right {
  right: 0;
  left: auto;
  -webkit-transform-origin: center top;
          transform-origin: center top;
  --recruit-frame-border-animation-index: 1;
}
.p-front-recruit__content > .frame-line.bottom {
  top: auto;
  bottom: 0;
  -webkit-transform-origin: right center;
          transform-origin: right center;
  --recruit-frame-border-animation-index: 2;
}
.p-front-recruit__content > .frame-line.left {
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  --recruit-frame-border-animation-index: 3;
}
.p-front-recruit__content > .frame-line.is-animated {
  -webkit-transition: scale var(--recruit-frame-border-animation-duration) calc(var(--recruit-animation-delay) + var(--recruit-frame-border-animation-duration) * var(--recruit-frame-border-animation-index)) ease, opacity calc(var(--recruit-frame-border-animation-duration) * 0.5) calc(var(--recruit-animation-delay) + var(--recruit-frame-border-animation-duration) * var(--recruit-frame-border-animation-index)) ease;
  transition: scale var(--recruit-frame-border-animation-duration) calc(var(--recruit-animation-delay) + var(--recruit-frame-border-animation-duration) * var(--recruit-frame-border-animation-index)) ease, opacity calc(var(--recruit-frame-border-animation-duration) * 0.5) calc(var(--recruit-animation-delay) + var(--recruit-frame-border-animation-duration) * var(--recruit-frame-border-animation-index)) ease;
  scale: 1 1;
  opacity: 1;
}

.p-front-recruit__content-inner {
  position: relative;
  overflow: clip;
  width: 100%;
  padding: 5.75em clamp(20px, 2.8571428571px + 4.5714285714vw, 76px);
  opacity: 0;
}
@media screen and (width <= 768px) {
  .p-front-recruit__content-inner {
    padding-block: 2em;
  }
}
.p-front-recruit__content-inner.is-animated {
  -webkit-transition: opacity var(--recruit-content-animation-duration) calc(var(--recruit-animation-delay) + var(--recruit-frame-border-animation-duration) * 4) ease-out;
  transition: opacity var(--recruit-content-animation-duration) calc(var(--recruit-animation-delay) + var(--recruit-frame-border-animation-duration) * 4) ease-out;
  opacity: 1;
}

.p-front-recruit__info {
  display: grid;
  row-gap: 3.75em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (width <= 768px) {
  .p-front-recruit__info {
    row-gap: 1.875em;
    margin-inline: auto;
  }
}

@media screen and (width <= 768px) {
  .p-front-recruit__title {
    justify-items: center;
  }
}

.p-front-recruit__lead {
  display: grid;
  row-gap: clamp(24px, 21.5510204082px + 0.6530612245vw, 32px);
}
@media screen and (width <= 768px) {
  .p-front-recruit__lead {
    justify-items: center;
    text-align: center;
  }
}

.p-front-recruit__catchphrase {
  font-size: clamp(22px, 6.4vw, clamp(30px, 23.8775510204px + 1.6326530612vw, 50px));
  font-weight: 700;
  line-height: 1.36;
}

.p-front-recruit__message {
  font-size: clamp(14px, 11.5510204082px + 0.6530612245vw, 22px);
  line-height: 1.8;
}

.p-front-recruit__action-btn {
  width: min(100%, 290px);
}
@media screen and (width <= 768px) {
  .p-front-recruit__action-btn {
    margin-inline: auto;
  }
}

.p-front-recruit__action-btn:focus-visible .p-front-recruit__action-btn-icon {
  translate: none;
}
@media (any-hover: hover) {
  .p-front-recruit__action-btn:hover .p-front-recruit__action-btn-icon {
    translate: none;
  }
}

.p-front-recruit__action-btn-icon {
  width: 1em;
  height: 2em;
}

.p-front-recruit__gallery {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 50%;
  width: 40%;
  translate: 85% 0;
  rotate: 6.123deg;
}
@media screen and (width <= 768px) {
  .p-front-recruit__gallery {
    position: relative;
    inset: auto;
    width: 100%;
    -webkit-margin-before: 1.5rem;
            margin-block-start: 1.5rem;
    translate: -50% 0;
    rotate: 0deg;
  }
}

.p-front-recruit__slider-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
}
@media screen and (width <= 768px) {
  .p-front-recruit__slider-group {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0.5em;
  }
}
.p-front-recruit__slider-group .scroll-track {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1em;
}
@media screen and (width <= 768px) {
  .p-front-recruit__slider-group .scroll-track {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0.5em;
  }
}
.p-front-recruit__slider-group .scroll-item {
  position: relative;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 100%;
  aspect-ratio: 328/193;
}
@media screen and (width <= 768px) {
  .p-front-recruit__slider-group .scroll-item {
    width: 50%;
  }
}
.p-front-recruit__slider-group .scroll-item > img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}
.p-front-recruit__slider-group .scroll-item::after {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  opacity: 0.5;
  background-color: var(--color-sub);
}

.p-front-company {
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}

.p-front-company__inner {
  position: relative;
}
.p-front-company__inner > .c-ruled-line:not([data-type=vertical]) {
  width: var(--viewport-width);
  top: -1.75rem;
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
}
.p-front-company__inner > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-front-company__inner > .c-ruled-line[data-type=vertical] {
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + var(--contents-spacer));
}
.p-front-company__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-front-company__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-front-company__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-front-company__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}

.p-front-company__container {
  width: 100%;
}

.p-front-company__title {
  padding-inline: var(--content-inner-gutter);
}

.p-front-company__content {
  position: relative;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: clamp(325px, -126.2365591398px + 59.1397849462vw, 820px) 1fr;
  gap: 0 clamp(20px, -85.8241758242px + 10.989010989vw, 90px);
  -webkit-margin-before: 40px;
          margin-block-start: 40px;
}
@media screen and (width <= 768px) {
  .p-front-company__content {
    grid-template-columns: minmax(0, 1fr);
    -webkit-margin-before: 1.75rem;
            margin-block-start: 1.75rem;
  }
}
.p-front-company__content > .c-ruled-line:not([data-type=vertical]) {
  width: var(--viewport-width);
  top: 0;
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
}

.p-front-company__map {
  position: relative;
  width: 100%;
  aspect-ratio: 820/490;
}
.p-front-company__map > iframe {
  display: block;
}
@media screen and (width <= 768px) {
  .p-front-company__map {
    padding-block: 1.75rem;
  }
}
.p-front-company__map > .c-ruled-line:not([data-type=vertical]) {
  width: var(--viewport-width);
  top: auto;
  bottom: 0;
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
}

.p-front-company__nav {
  display: grid;
  row-gap: 20px;
  margin: 0;
  padding: 0;
  padding-block: 2.5em;
  -webkit-padding-end: var(--content-inner-gutter);
          padding-inline-end: var(--content-inner-gutter);
  list-style: none;
}
@media screen and (width <= 768px) {
  .p-front-company__nav {
    padding-inline: var(--content-inner-gutter);
  }
}

.p-front-company__nav-item {
  font-size: clamp(16px, 4.8vw, clamp(18px, 15.5510204082px + 0.6530612245vw, 26px));
  display: grid;
  -webkit-align-content: start;
      -ms-flex-line-pack: start;
          align-content: start;
  row-gap: 1em;
}

.p-front-company__nav-label {
  font-family: "Archivo", sans-serif;
  font-size: max(14px, 0.769em);
  font-weight: 700;
  line-height: 1;
  opacity: 0.5;
}

.p-front-company__link {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: auto 1fr auto;
  -webkit-padding-after: 0.769em;
          padding-block-end: 0.769em;
  text-decoration: none;
  color: currentColor;
  border-bottom: 3px solid var(--color-main);
}
@media screen and (width <= 768px) {
  .p-front-company__link {
    border-width: 1px;
  }
}

.p-front-company__link-text {
  font-weight: 700;
  grid-column: 1;
  line-height: 1;
}

.p-front-company__link-icon {
  grid-column: -1;
  width: 1lh;
  aspect-ratio: 1;
  -webkit-transition: translate 0.3s ease-out;
  transition: translate 0.3s ease-out;
}

.p-front-company__link:focus-visible .p-front-company__link-icon {
  translate: 0.5em 0;
}
@media (any-hover: hover) {
  .p-front-company__link:hover .p-front-company__link-icon {
    translate: 0.5em 0;
  }
}

.p-about-nav {
  width: 100%;
}

.p-about-nav__inner > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: calc(100% + 3.5em);
}
.p-about-nav__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-about-nav__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-about-nav__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-about-nav__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-about-nav__inner {
  position: relative;
}

.p-about-nav__anchors {
  container-type: inline-size;
  container-name: about-list-wrapper;
}

.p-about-nav-anchors {
  padding-inline: 1em;
}

.p-about-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]) {
  left: calc((max(var(--gutter), var(--content-inset-inline)) + 1em) * -1);
  grid-column: 1/-1;
  width: var(--viewport-width);
}
.p-about-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]).top1, .p-about-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]).top2 {
  grid-row: 1/2;
}
.p-about-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]).top2 {
  top: auto;
  bottom: 0;
}
.p-about-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
  grid-row: 4/5;
}
.p-about-nav-anchors__inner {
  position: relative;
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template: ". title" ". ." 0.875em ". list" ". ." 0.875em/minmax(0, 1fr) auto;
  row-gap: 0;
  width: 100%;
}
@media screen and (width <= 768px) {
  .p-about-nav-anchors__inner {
    grid-template: "title ." ". ." 0.875em "list ." ". ." 0.875em/auto minmax(0, 1fr);
  }
}

.p-about-nav-anchors__list-title {
  grid-area: title;
}

.p-about-nav-anchors__list-wrapper {
  grid-area: list;
}

.p-about-nav-anchors__list {
  width: 100%;
}

.p-about-nav-anchors__listitem {
  font-size: clamp(12px, 3.4666666667vw, clamp(13px, 11.4693877551px + 0.4081632653vw, 18px));
  text-decoration: none;
  color: var(--color-main);
}
@media screen and (width <= 768px) {
  .p-about-nav-anchors__listitem {
    width: 100%;
  }
}
.p-about-nav-anchors__listitem.is-active {
  opacity: 0.5;
}

.p-about-message {
  -webkit-margin-before: 3.5em;
          margin-block-start: 3.5em;
}

.p-about-message__content > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-about-message__content > .c-ruled-line:not([data-type=vertical]).top2 {
  translate: 0 -1rem;
}
.p-about-message__content > .c-ruled-line:not([data-type=vertical]).bottom1, .p-about-message__content > .c-ruled-line:not([data-type=vertical]).bottom2 {
  top: auto;
  bottom: 0;
}
.p-about-message__content > .c-ruled-line:not([data-type=vertical]).bottom2 {
  translate: 0 1em;
}
.p-about-message__content > .c-ruled-line[data-type=vertical] {
  height: calc(100% + 1rem);
}
.p-about-message__content > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-about-message__content > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-about-message__content > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-about-message__content > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-about-message__content {
  position: relative;
  display: grid;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template-columns: 0.4fr 0.6fr;
}
@media screen and (width <= 963px) {
  .p-about-message__content {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 3.42em;
  }
}

.p-about-message__title > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-about-message__title > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-about-message__title {
  position: relative;
  grid-column: span 2;
  width: 100%;
  padding-block: 1.75em;
  padding-inline: var(--content-inner-gutter);
}
@media screen and (width <= 963px) {
  .p-about-message__title {
    grid-column: auto;
  }
}

.p-about-message__logo > .c-ruled-line[data-type=vertical] {
  height: calc(100% + 1em);
}
.p-about-message__logo > .c-ruled-line[data-type=vertical].line1 {
  right: 0;
  left: auto;
}
.p-about-message__logo {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  padding: 4.25rem var(--content-inner-gutter);
}
@media screen and (width <= 963px) {
  .p-about-message__logo {
    padding-block: 0;
  }
}

.p-about-message__visual {
  width: min(90%, clamp(200px, 160.8163265306px + 10.4489795918vw, 328px));
}

.p-about-message__img {
  width: 100%;
}

.p-about-message__lead {
  font-size: clamp(14px, 4.2666666667vw, clamp(16px, 14.7755102041px + 0.3265306122vw, 20px));
  font-weight: 500;
  line-height: 1.9;
  display: grid;
  align-self: center;
  row-gap: 1.3em;
  padding: 4.25rem var(--content-inner-gutter);
}
@media screen and (width <= 963px) {
  .p-about-message__lead {
    -webkit-padding-before: 0;
            padding-block-start: 0;
  }
}

.p-about-executive > .c-ruled-line[data-type=vertical] {
  top: -2em;
  height: calc(100% + 2em);
}
.p-about-executive > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-about-executive > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-about-executive > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-about-executive > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-about-executive {
  position: relative;
  -webkit-margin-before: calc(2em + 1rem);
          margin-block-start: calc(2em + 1rem);
  padding-inline: var(--content-inner-gutter);
}

.p-about-executive__heading {
  font-size: clamp(16px, 4.8vw, clamp(18px, 13.7142857143px + 1.1428571429vw, 32px));
}

.p-about-executive__members {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -webkit-margin-before: 1.5em;
          margin-block-start: 1.5em;
  gap: 0 clamp(20px, -10.2354788069px + 3.1397174254vw, 40px);
}
@media screen and (width <= 576px) {
  .p-about-executive__members {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 2em;
  }
}

.p-about-executive__member > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.p-about-executive__member {
  position: relative;
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  -webkit-padding-before: 2.25em;
          padding-block-start: 2.25em;
}
@media screen and (width <= 576px) {
  .p-about-executive__member {
    grid-row: auto;
    grid-template-rows: auto;
  }
}

.p-about-executive__member-header {
  display: grid;
  -webkit-align-content: start;
      -ms-flex-line-pack: start;
          align-content: start;
  row-gap: 0.25rem;
}

.p-about-executive__member-name {
  font-size: clamp(16px, 4.2666666667vw, clamp(18px, 11.9529042386px + 0.6279434851vw, 22px));
  font-weight: 700;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-about-executive__member-role {
  font-size: max(14px, 0.8em);
  -webkit-margin-end: 0.5em;
          margin-inline-end: 0.5em;
}

.p-about-executive__member-profile-wrapper {
  container-type: inline-size;
}

.p-about-executive__member-profile {
  display: grid;
  grid-template: "photo ." 1fr "photo qualifications" "photo career"/min(57.62%, 380px) minmax(0, 1fr);
  gap: 0 1.5em;
  -webkit-margin-before: 0.625rem;
          margin-block-start: 0.625rem;
}
@container (width <= 440px) {
  .p-about-executive__member-profile {
    grid-template: "photo" "qualifications" "career"/minmax(0, 1fr);
  }
}

.p-about-executive__member-photo {
  grid-area: photo;
  width: 100%;
}

.p-about-executive__member-qualifications > .c-ruled-line:not([data-type=vertical]),
.p-about-executive__member-career > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.p-about-executive__member-qualifications,
.p-about-executive__member-career {
  font-size: clamp(14px, 10.6666666667px + 0.3333333333vw, 16px);
  position: relative;
  display: grid;
  row-gap: 0.375em;
  -webkit-padding-before: 1em;
          padding-block-start: 1em;
}

.p-about-executive__member-qualifications {
  grid-area: qualifications;
}
@container (width <= 440px) {
  .p-about-executive__member-qualifications {
    -webkit-margin-before: 1em;
            margin-block-start: 1em;
  }
}

.p-about-executive__member-career {
  grid-area: career;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}

.p-about-executive__member-achievements {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
  gap: 2em 0.75rem;
  -webkit-margin-before: 1.25em;
          margin-block-start: 1.25em;
}

.p-about-executive__member-achievements-item {
  display: grid;
  -webkit-align-content: start;
      -ms-flex-line-pack: start;
          align-content: start;
  row-gap: 0.375em;
  padding: 2em clamp(16px, 12.3265306122px + 0.9795918367vw, 28px);
  color: var(--color-sub);
  background-color: var(--color-main);
}

.p-about-executive__member-label {
  font-weight: 700;
}
.p-about-executive__member-qualifications .p-about-executive__member-label, .p-about-executive__member-career .p-about-executive__member-label {
  font-size: 1.125em;
}

.p-about-executive__member-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-about-executive__member-list-item {
  position: relative;
  -webkit-padding-start: 1em;
          padding-inline-start: 1em;
}
.p-about-executive__member-list-item::before {
  position: absolute;
  left: 0;
  content: "・";
}

.p-about-scenery {
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}

.p-about-scenery__content > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-about-scenery__content > .c-ruled-line:not([data-type=vertical]).top2 {
  translate: 0 -1rem;
}
.p-about-scenery__content > .c-ruled-line:not([data-type=vertical]).bottom1, .p-about-scenery__content > .c-ruled-line:not([data-type=vertical]).bottom2 {
  top: auto;
  bottom: 0;
}
.p-about-scenery__content > .c-ruled-line:not([data-type=vertical]).bottom1 {
  translate: 0 -1em;
}
.p-about-scenery__content > .c-ruled-line[data-type=vertical] {
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + var(--contents-spacer));
}
.p-about-scenery__content > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-about-scenery__content > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-about-scenery__content > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-about-scenery__content > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-about-scenery__content {
  position: relative;
  display: grid;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template-columns: 0.6fr 0.4fr;
  -webkit-padding-after: 1em;
          padding-block-end: 1em;
}
@media screen and (width <= 963px) {
  .p-about-scenery__content {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 3.42em;
  }
}

.p-about-scenery__title > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-about-scenery__title > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-about-scenery__title {
  position: relative;
  grid-column: span 2;
  width: 100%;
  padding-block: 1.75em;
  padding-inline: var(--content-inner-gutter);
}
@media screen and (width <= 963px) {
  .p-about-scenery__title {
    grid-column: auto;
  }
}

.p-about-scenery__hero {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
}

.p-about-scenery__visual {
  width: 100%;
  height: 100%;
  padding: 0 1px 1px 0;
}
@media screen and (width <= 963px) {
  .p-about-scenery__visual {
    height: auto;
    max-height: 454px;
    aspect-ratio: 613/454;
    padding: 0 1px 1px 1px;
  }
}

.p-about-scenery__img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}

.p-about-scenery__lead {
  font-weight: 500;
  line-height: 1.9;
  display: grid;
  align-self: center;
  row-gap: 1.3em;
  padding: 3.75rem var(--content-inner-gutter);
}
@media screen and (width <= 963px) {
  .p-about-scenery__lead {
    padding-block: 0;
  }
}

.p-about-important {
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}

.p-about-important__content > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-about-important__content > .c-ruled-line[data-type=vertical] {
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + var(--contents-spacer));
}
.p-about-important__content > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-about-important__content > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-about-important__content > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-about-important__content > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-about-important__content {
  position: relative;
  display: grid;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
}

.p-about-important__title > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-about-important__title > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-about-important__title {
  position: relative;
  width: 100%;
  padding-block: 1.75em;
  padding-inline: var(--content-inner-gutter);
}
@media screen and (width <= 963px) {
  .p-about-important__title {
    grid-column: auto;
  }
}

.p-about-important__lead > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-about-important__lead > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 8px;
}
.p-about-important__lead {
  font-weight: 500;
  line-height: 1.9;
  position: relative;
  display: grid;
  align-self: center;
  row-gap: 1.3em;
  padding: 1.75em var(--content-inner-gutter);
  -webkit-padding-after: calc(1.75em + 8px);
          padding-block-end: calc(1.75em + 8px);
}

.p-about-important__list > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-about-important__list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  counter-reset: index 0;
}
@media screen and (width <= 768px) {
  .p-about-important__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (width <= 576px) {
  .p-about-important__list {
    grid-template-columns: minmax(0, 1fr);
  }
}

.p-about-important__list-item > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-about-important__list-item > .c-ruled-line:not([data-type=vertical]).bottom1, .p-about-important__list-item > .c-ruled-line:not([data-type=vertical]).bottom2 {
  top: auto;
  bottom: 0;
}
.p-about-important__list-item > .c-ruled-line:not([data-type=vertical]).bottom1 {
  translate: 0 -1em;
}
.p-about-important__list-item > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.p-about-important__list-item > .c-ruled-line[data-type=vertical].line1 {
  right: 0;
  left: auto;
}
.p-about-important__list-item {
  position: relative;
  display: grid;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-align-content: start;
      -ms-flex-line-pack: start;
          align-content: start;
  grid-row: span 3;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: subgrid;
  padding: 1.875em clamp(16px, -5.1648351648px + 2.1978021978vw, 30px) 2.875em;
  counter-increment: index 1;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
}
@media screen and (width > 768px) {
  .p-about-important__list-item:nth-of-type(3n - 1) > .c-ruled-line:not([data-type=vertical]).bottom1, .p-about-important__list-item:nth-of-type(3n - 1) > .c-ruled-line:not([data-type=vertical]).bottom2, .p-about-important__list-item:nth-of-type(3n) > .c-ruled-line:not([data-type=vertical]).bottom1, .p-about-important__list-item:nth-of-type(3n) > .c-ruled-line:not([data-type=vertical]).bottom2 {
    display: none;
  }
  .p-about-important__list-item:nth-of-type(3n) > .c-ruled-line[data-type=vertical].line1 {
    display: none;
  }
}
@media screen and (width <= 768px) {
  .p-about-important__list-item:nth-of-type(2n) > .c-ruled-line:not([data-type=vertical]).bottom1, .p-about-important__list-item:nth-of-type(2n) > .c-ruled-line:not([data-type=vertical]).bottom2 {
    display: none;
  }
  .p-about-important__list-item:nth-of-type(2n) > .c-ruled-line[data-type=vertical].line1 {
    display: none;
  }
}
@media screen and (width <= 576px) {
  .p-about-important__list-item:nth-of-type(2n) > .c-ruled-line:not([data-type=vertical]).bottom1, .p-about-important__list-item:nth-of-type(2n) > .c-ruled-line:not([data-type=vertical]).bottom2 {
    display: block;
  }
  .p-about-important__list-item:nth-of-type(2n - 1) > .c-ruled-line[data-type=vertical].line1 {
    display: none;
  }
}

.p-about-important__list-item-thumbnail {
  grid-column: span 2;
  width: 100%;
  aspect-ratio: 16/9;
}

.p-about-important__list-item-img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}

.p-about-important__list-item-title {
  font-size: clamp(16px, 4.2666666667vw, clamp(18px, 11.9529042386px + 0.6279434851vw, 22px));
  display: grid;
  grid-column: span 2;
  grid-template-columns: subgrid;
  -webkit-margin-before: 1.09em;
          margin-block-start: 1.09em;
}
.p-about-important__list-item-title::before {
  display: block;
  content: counter(index, decimal-leading-zero);
}

.p-about-important__list-item-list {
  display: grid;
  grid-column: 2;
  row-gap: 0.25em;
  margin: 0;
  -webkit-margin-before: 0.375em;
          margin-block-start: 0.375em;
  padding: 0;
  list-style: none;
}

.p-about-important__list-item-listitem {
  position: relative;
  -webkit-padding-start: 1em;
          padding-inline-start: 1em;
}
.p-about-important__list-item-listitem::before {
  position: absolute;
  left: 0;
  content: "・";
}

.p-about-business {
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}

.p-about-business__inner > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-about-business__inner > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
@media screen and (width <= 963px) {
  .p-about-business__inner > .c-ruled-line:not([data-type=vertical]).bottom {
    display: none;
  }
}
.p-about-business__inner > .c-ruled-line[data-type=vertical] {
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + var(--contents-spacer));
}
.p-about-business__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-about-business__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-about-business__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-about-business__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-about-business__inner {
  position: relative;
}

.p-about-business__title > .c-ruled-line:not([data-type=vertical]) {
  top: 0;
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-about-business__title {
  position: relative;
  padding-block: 1.75em;
  padding-inline: var(--content-inner-gutter);
}

.p-about-business__content {
  display: grid;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template-areas: "body diagram";
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -webkit-margin-before: clamp(80px, 76.9387755102px + 0.8163265306vw, 90px);
          margin-block-start: clamp(80px, 76.9387755102px + 0.8163265306vw, 90px);
  padding-inline: var(--content-inner-gutter);
  -webkit-column-gap: clamp(20px, -161.4128728414px + 18.8383045526vw, 140px);
     -moz-column-gap: clamp(20px, -161.4128728414px + 18.8383045526vw, 140px);
          column-gap: clamp(20px, -161.4128728414px + 18.8383045526vw, 140px);
}
@media screen and (width <= 963px) {
  .p-about-business__content {
    grid-template-areas: "diagram" "body";
    grid-template-columns: minmax(0, 1fr);
    row-gap: 3em;
  }
}

.p-about-business__wrapper {
  display: grid;
  align-self: center;
  grid-area: body;
  row-gap: 4.25em;
}
@media screen and (width <= 963px) {
  .p-about-business__wrapper {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    row-gap: 3em;
  }
}

.p-about-business__cards-wrapper > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.p-about-business__cards-wrapper > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
@container approach-cards-wrapper (width < 1480px) {
  .p-about-business__cards-wrapper > .c-ruled-line.line1, .p-about-business__cards-wrapper > .c-ruled-line.line2 {
    display: none;
  }
}
.p-about-business__cards-wrapper {
  position: relative;
  container-type: inline-size;
  container-name: approach-cards-wrapper;
}

.p-about-business__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, -webkit-min-content);
  grid-template-rows: repeat(3, min-content);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (width <= 963px) {
  .p-about-business__cards {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    row-gap: calc(var(--contents-spacer) * 0.5);
    container-type: inline-size;
    container-name: app-list;
  }
  .p-about-business__cards > li {
    grid-row: auto;
    grid-template-rows: auto;
    -webkit-padding-after: 0;
            padding-block-end: 0;
  }
}
.p-about-business__cards :nth-child(2n of li) > .c-ruled-line:not([data-type=vertical]) {
  display: none;
}
@media screen and (width <= 963px) {
  .p-about-business__cards :nth-child(2n of li) > .c-ruled-line:not([data-type=vertical]) {
    display: block;
  }
}
.p-about-business__cards > li {
  --li-block-after: 20px;
}
.p-about-business__cards > li > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-about-business__cards > li > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: var(--li-block-after);
}
@media screen and (width <= 963px) {
  .p-about-business__cards > li > .c-ruled-line:not([data-type=vertical]).bottom {
    bottom: 0;
  }
}
.p-about-business__cards > li > .c-ruled-line[data-type=vertical] {
  right: 0;
  left: auto;
}
@media screen and (width <= 963px) {
  .p-about-business__cards > li > .c-ruled-line[data-type=vertical] {
    display: none;
  }
}
.p-about-business__cards > li {
  position: relative;
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  -webkit-padding-after: var(--li-block-after);
          padding-block-end: var(--li-block-after);
}
@media screen and (width <= 963px) {
  .p-about-business__cards > li {
    grid-row: auto;
    grid-template-rows: auto;
    -webkit-padding-after: 0;
            padding-block-end: 0;
  }
}

.p-about-business__card {
  position: relative;
  display: grid;
  overflow: clip;
  -webkit-align-content: start;
      -ms-flex-line-pack: start;
          align-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-row: span 3;
  grid-template-columns: 0.38fr 0.62fr;
  grid-template-rows: subgrid;
  padding: 1em clamp(10px, 2.0408163265px + 2.1224489796vw, 36px);
  text-decoration: none;
  -webkit-column-gap: clamp(10px, -14px + 3.125vw, 36px);
     -moz-column-gap: clamp(10px, -14px + 3.125vw, 36px);
          column-gap: clamp(10px, -14px + 3.125vw, 36px);
  color: inherit;
}
@media screen and (width <= 963px) {
  .p-about-business__card {
    grid-row: auto;
    grid-template-rows: auto;
    row-gap: 12px;
    padding-block: 0;
  }
}
@media screen and (width <= 963px) and (any-hover: hover) {
  .p-about-business__card {
    padding-block: 1em;
  }
}
@container app-list (width < 530px) {
  .p-about-business__card {
    grid-template-columns: minmax(0, 1fr);
  }
}
.p-about-business__card:focus-visible .p-about-business__card-background {
  visibility: visible;
  scale: 1;
  opacity: 1;
  -webkit-filter: blur(0px);
          filter: blur(0px);
}
.p-about-business__card:focus-visible .p-about-business__card-title {
  --reveal-text-color: var(--color-main);
  --reveal-rug-color: transparent;
}
.p-about-business__card:focus-visible .p-about-business__card-btn {
  background-color: var(--button-color-background-hover);
  color: var(--button-color-foreground-hover);
}
.p-about-business__card:focus-visible .p-about-business__card-btn .c-button-arrow__icon {
  translate: 0.5em 0;
}
@media (any-hover: hover) {
  .p-about-business__card:hover .p-about-business__card-background {
    visibility: visible;
    scale: 1;
    opacity: 1;
    -webkit-filter: blur(0px);
            filter: blur(0px);
  }
  .p-about-business__card:hover .p-about-business__card-title {
    --reveal-text-color: var(--color-main);
    --reveal-rug-color: transparent;
  }
  .p-about-business__card:hover .p-about-business__card-btn {
    background-color: var(--button-color-background-hover);
    color: var(--button-color-foreground-hover);
  }
  .p-about-business__card:hover .p-about-business__card-btn .c-button-arrow__icon {
    translate: 0.5em 0;
  }
}

.p-about-business__card-background {
  position: absolute;
  z-index: -1;
  inset: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s ease-out, visibility 0.3s ease-out, -webkit-filter 0.55s cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out, -webkit-filter 0.55s cubic-bezier(0.4, 0, 0.2, 1);
  transition: filter 0.55s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-out, visibility 0.3s ease-out;
  transition: filter 0.55s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-out, visibility 0.3s ease-out, -webkit-filter 0.55s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  -webkit-filter: blur(2rem);
          filter: blur(2rem);
}
.p-about-business__card-background > img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}

.p-about-business__card-img {
  position: relative;
  grid-row: span 3;
  width: 100%;
  height: 100%;
}
@media screen and (width <= 963px) {
  .p-about-business__card-img {
    grid-row: auto;
  }
}
.p-about-business__card-img > img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  position: absolute;
  width: 100%;
  height: 100%;
}
.p-about-business__card-img::after {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  opacity: 0.2;
  background-color: var(--color-sub);
}
@container app-list (width < 530px) {
  .p-about-business__card-img {
    aspect-ratio: 325/228;
  }
}

.p-about-business__card-content {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  padding-block: 2em;
}
@media screen and (width <= 963px) {
  .p-about-business__card-content {
    grid-row: auto;
    grid-template-rows: auto;
    padding-block: 0;
  }
}

.p-about-business__card-head {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  row-gap: 14px;
}
@media screen and (width <= 963px) {
  .p-about-business__card-head {
    grid-row: auto;
    grid-template-rows: auto;
  }
}

.p-about-business__card-tag {
  font-size: clamp(10px, 9.387755102px + 0.1632653061vw, 12px);
  font-weight: 500;
  line-height: 1.6;
}

.p-about-business__card-title {
  font-size: clamp(18px, 5.3333333333vw, clamp(20px, 19.387755102px + 0.1632653061vw, 22px));
  font-weight: 700;
  line-height: 1.3;
  display: block;
  -webkit-align-self: start;
      -ms-flex-item-align: start;
          align-self: start;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-about-business__card-body {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  row-gap: 32px;
  -webkit-margin-before: 4em;
          margin-block-start: 4em;
}
@media screen and (width <= 963px) {
  .p-about-business__card-body {
    grid-row: auto;
    grid-template-rows: auto;
    -webkit-margin-before: 2em;
            margin-block-start: 2em;
  }
}

.p-about-business__card-btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-block: 0.5em;
}
@container app-list (width < 530px) {
  .p-about-business__card-btn {
    width: 95%;
    margin-inline: auto;
  }
}

[data-page=business] .c-ruled-line {
  --ruled-line-color-before: var(--color-main-light);
  --ruled-line-color-after: var(--color-gray-lightest);
}

.p-business-nav {
  width: 100%;
}

.p-business-nav__inner > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: calc(100% + 3.5em);
}
.p-business-nav__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-business-nav__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-business-nav__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-business-nav__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-business-nav__inner {
  position: relative;
}

.p-business-nav__anchors {
  container-type: inline-size;
  container-name: business-list-wrapper;
}

.p-business-nav-anchors {
  padding-inline: 1em;
}

.p-business-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]) {
  left: calc((max(var(--gutter), var(--content-inset-inline)) + 1em) * -1);
  grid-column: 1/-1;
  width: var(--viewport-width);
}
.p-business-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]).top1, .p-business-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]).top2 {
  grid-row: 1/2;
}
.p-business-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]).top2 {
  top: auto;
  bottom: 0;
}
.p-business-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
  grid-row: 4/5;
}
.p-business-nav-anchors__inner {
  position: relative;
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template: ". title" ". ." 0.875em ". list" ". ." 0.875em/minmax(0, 1fr) auto;
  row-gap: 0;
  width: 100%;
  color: var(--color-sub);
}
@media screen and (width <= 768px) {
  .p-business-nav-anchors__inner {
    grid-template: "title ." ". ." 0.875em "list ." ". ." 0.875em/auto minmax(0, 1fr);
  }
}

.p-business-nav-anchors__list-title {
  grid-area: title;
}

.p-business-nav-anchors__list-wrapper {
  grid-area: list;
}

.p-business-nav-anchors__list {
  width: 100%;
}

.p-business-nav-anchors__listitem {
  font-size: clamp(12px, 3.4666666667vw, clamp(13px, 11.4693877551px + 0.4081632653vw, 18px));
  text-decoration: none;
  color: var(--color-sub);
}
@media screen and (width <= 768px) {
  .p-business-nav-anchors__listitem {
    width: 100%;
  }
}
.p-business-nav-anchors__listitem.is-active {
  opacity: 0.5;
}

.p-business-list {
  width: 100%;
}

.p-business-list__inner > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-business-list__inner > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-business-list__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-business-list__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-business-list__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-business-list__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-business-list__inner {
  position: relative;
  -webkit-padding-before: calc(100px - clamp(0px, -15.306122449px + 4.0816326531vw, 50px));
          padding-block-start: calc(100px - clamp(0px, -15.306122449px + 4.0816326531vw, 50px));
}

.p-business-list__cards-wrapper > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.p-business-list__cards-wrapper > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
.p-business-list__cards-wrapper {
  position: relative;
  container-type: inline-size;
  container-name: business-cards-wrapper;
}

.p-business-list__cards {
  display: grid;
  grid-auto-rows: 1fr;
  row-gap: 40px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@container business-cards-wrapper (width < 530px) {
  .p-business-list__cards {
    grid-auto-rows: auto;
  }
}
.p-business-list__cards > li > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-business-list__cards > li > .c-ruled-line:not([data-type=vertical]).top2 {
  top: var(--li-padding-block);
}
.p-business-list__cards > li > .c-ruled-line:not([data-type=vertical]).bottom1, .p-business-list__cards > li > .c-ruled-line:not([data-type=vertical]).bottom2 {
  top: auto;
}
.p-business-list__cards > li > .c-ruled-line:not([data-type=vertical]).bottom1 {
  bottom: var(--li-padding-block);
}
.p-business-list__cards > li > .c-ruled-line:not([data-type=vertical]).bottom2 {
  bottom: 0;
}
.p-business-list__cards > li > .c-ruled-line[data-type=vertical].line1 {
  top: calc(var(--li-padding-block) * -1);
  right: calc(clamp(10px, -4.0816326531px + 3.7551020408vw, 56px) * -0.5);
  left: auto;
  grid-area: 1/1/2/2;
  height: calc(100% + var(--li-padding-block) * 2);
}
.p-business-list__cards > li {
  position: relative;
  display: grid;
  grid-template-columns: 0.38fr 0.62fr;
  padding-block: var(--li-padding-block);
  -webkit-column-gap: clamp(10px, -4.0816326531px + 3.7551020408vw, 56px);
     -moz-column-gap: clamp(10px, -4.0816326531px + 3.7551020408vw, 56px);
          column-gap: clamp(10px, -4.0816326531px + 3.7551020408vw, 56px);
  --li-padding-block: 8px;
}
@container business-cards-wrapper (width >= 750px) {
  .p-business-list__cards > li > .c-ruled-line[data-type=vertical].line1 {
    right: calc(clamp(10px, -4.0816326531px + 3.7551020408vw, 56px) * -1);
  }
  .p-business-list__cards > li {
    grid-template-columns: minmax(0, 0.45fr) minmax(0, 0.55fr);
    -webkit-column-gap: calc(clamp(10px, -4.0816326531px + 3.7551020408vw, 56px) * 2);
       -moz-column-gap: calc(clamp(10px, -4.0816326531px + 3.7551020408vw, 56px) * 2);
            column-gap: calc(clamp(10px, -4.0816326531px + 3.7551020408vw, 56px) * 2);
  }
}
@container business-cards-wrapper (width < 530px) {
  .p-business-list__cards > li > .c-ruled-line[data-type=vertical].line1 {
    display: none;
  }
  .p-business-list__cards > li {
    grid-template-columns: minmax(0, 1fr);
  }
}

.p-business-list__card {
  position: relative;
  z-index: 10;
  display: grid;
  overflow: clip;
  -webkit-align-content: stretch;
      -ms-flex-line-pack: stretch;
          align-content: stretch;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-column: span 2;
  grid-template-columns: subgrid;
  height: 100%;
  padding: 3em clamp(10px, -4.0816326531px + 3.7551020408vw, 56px);
  text-decoration: none;
  color: inherit;
}
.p-business-list__card:focus-visible .p-business-list__card-background {
  visibility: visible;
  scale: 1;
  opacity: 1;
  -webkit-filter: blur(0px);
          filter: blur(0px);
}
.p-business-list__card:focus-visible .p-business-list__card-title {
  --reveal-text-color: var(--color-main);
  --reveal-rug-color: transparent;
}
.p-business-list__card:focus-visible .p-business-list__card-tag,
.p-business-list__card:focus-visible .p-business-list__card-text {
  color: var(--color-main);
}
.p-business-list__card:focus-visible .p-business-list__card-btn {
  color: var(--button-color-foreground-hover);
  background-color: var(--button-color-background-hover);
}
.p-business-list__card:focus-visible .p-business-list__card-btn .c-button-arrow__icon {
  translate: 0.5em 0;
}
@media (any-hover: hover) {
  .p-business-list__card:hover .p-business-list__card-background {
    visibility: visible;
    scale: 1;
    opacity: 1;
    -webkit-filter: blur(0px);
            filter: blur(0px);
  }
  .p-business-list__card:hover .p-business-list__card-title {
    --reveal-text-color: var(--color-main);
    --reveal-rug-color: transparent;
  }
  .p-business-list__card:hover .p-business-list__card-tag,
  .p-business-list__card:hover .p-business-list__card-text {
    color: var(--color-main);
  }
  .p-business-list__card:hover .p-business-list__card-btn {
    color: var(--button-color-foreground-hover);
    background-color: var(--button-color-background-hover);
  }
  .p-business-list__card:hover .p-business-list__card-btn .c-button-arrow__icon {
    translate: 0.5em 0;
  }
}
@container business-cards-wrapper (width < 530px) {
  .p-business-list__card {
    grid-column: auto;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 12px;
  }
}

.p-business-list__card-background {
  position: absolute;
  z-index: -1;
  inset: 0;
  visibility: hidden;
  -webkit-transition: scale 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-out, visibility 0.3s ease-out, -webkit-filter 0.55s cubic-bezier(0.4, 0, 0.2, 1);
  transition: scale 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-out, visibility 0.3s ease-out, -webkit-filter 0.55s cubic-bezier(0.4, 0, 0.2, 1);
  transition: filter 0.55s cubic-bezier(0.4, 0, 0.2, 1), scale 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-out, visibility 0.3s ease-out;
  transition: filter 0.55s cubic-bezier(0.4, 0, 0.2, 1), scale 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-out, visibility 0.3s ease-out, -webkit-filter 0.55s cubic-bezier(0.4, 0, 0.2, 1);
  scale: 0.7;
  opacity: 0;
  -webkit-filter: blur(2rem);
          filter: blur(2rem);
}
.p-business-list__card-background > img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}

.p-business-list__card-img {
  position: relative;
  width: 100%;
  height: 100%;
}
.p-business-list__card-img > img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.p-business-list__card-img::after {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  opacity: 0.2;
  background-color: var(--color-sub);
}
@container business-cards-wrapper (width >= 750px) {
  .p-business-list__card-img {
    min-height: 390px;
  }
}
@container business-cards-wrapper (width < 530px) {
  .p-business-list__card-img {
    aspect-ratio: 325/228;
  }
}

.p-business-list__card-content {
  display: grid;
}

.p-business-list__card-head {
  display: grid;
  row-gap: 14px;
}

.p-business-list__card-tag {
  font-size: clamp(12px, 10.7755102041px + 0.3265306122vw, 16px);
  font-weight: 500;
  line-height: 1.6;
  -webkit-transition: color 0.3s ease-out;
  transition: color 0.3s ease-out;
}
#toki .p-business-list__card:not(:hover, :focus) .p-business-list__card-tag {
  color: var(--color-toki);
}
#akatsuki .p-business-list__card:not(:hover, :focus) .p-business-list__card-tag {
  color: var(--color-akatsuki);
}
#spica .p-business-list__card:not(:hover, :focus) .p-business-list__card-tag {
  color: var(--color-spica);
}
#muget .p-business-list__card:not(:hover, :focus) .p-business-list__card-tag {
  color: var(--color-muget);
}

.p-business-list__card-title {
  font-size: clamp(18px, 5.3333333333vw, clamp(20px, 13.8775510204px + 1.6326530612vw, 40px));
  font-weight: 700;
  line-height: 1.3;
  display: block;
  -webkit-align-self: start;
      -ms-flex-item-align: start;
          align-self: start;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-business-list__card-title::after {
  -webkit-transition: background-color 0.3s ease-out;
  transition: background-color 0.3s ease-out;
}
.p-business-list__card:has(.p-business-list__card-btn:not(:hover, :focus)) .p-business-list__card-title {
  --reveal-text-color: var(--color-main);
}
#toki .p-business-list__card:has(.p-business-list__card-btn:not(:hover, :focus)) .p-business-list__card-title {
  --reveal-rug-color: var(--color-toki);
}
#akatsuki .p-business-list__card:has(.p-business-list__card-btn:not(:hover, :focus)) .p-business-list__card-title {
  --reveal-rug-color: var(--color-akatsuki);
}
#spica .p-business-list__card:has(.p-business-list__card-btn:not(:hover, :focus)) .p-business-list__card-title {
  --reveal-rug-color: var(--color-spica);
}
#muget .p-business-list__card:has(.p-business-list__card-btn:not(:hover, :focus)) .p-business-list__card-title {
  --reveal-rug-color: var(--color-muget);
}

.p-business-list__card-body {
  display: grid;
  row-gap: 32px;
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
}

.p-business-list__card-text {
  -webkit-transition: color 0.3s ease-out;
  transition: color 0.3s ease-out;
}

.p-business-list__card-btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-block: 0.5em;
  --button-color-foreground: var(--color-sub);
  --button-color-foreground-hover: var(--color-main);
  --button-color-background: var(--color-main);
  --button-color-background-hover: var(--color-sub);
}
@container business-cards-wrapper (width < 530px) {
  .p-business-list__card-btn {
    width: 95%;
    margin-inline: auto;
  }
}

.p-business-spica-support > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-business-spica-support > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-business-spica-support > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.p-business-spica-support > .c-ruled-line[data-type=vertical].line1 {
  left: 0;
}
.p-business-spica-support > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
.p-business-spica-support {
  --content-inset-inline: max((var(--viewport-width, var(--content-max-inline-size)) - var(--content-max-inline-size)) * 0.5, 0px); /* 画面端からコンテンツまでのスペース */
  --gutter-vertical-ruled-line-offset-1: calc(max(var(--gutter), var(--content-inset-inline)) * -1 + var(--gutter));
  --gutter-vertical-ruled-line-offset-2: calc(var(--gutter-vertical-ruled-line-offset-1) - var(--gutter) * 0.5);
  --gutter-vertical-ruled-line-offset-3: calc(var(--gutter-vertical-ruled-line-offset-1) - min(1rem, var(--gutter) * 0.5));
  /* コンテンツレイアウト変数 */
  position: relative;
  width: min(100%, var(--content-max-inline-size));
  margin-inline: auto;
  --content-max-inline-size: 1150px;
}

.p-business-spica-support__block > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-business-spica-support__block {
  position: relative;
  display: grid;
}

.p-business-spica-support__block-head {
  font-size: clamp(16px, 4.8vw, clamp(18px, 14.9387755102px + 0.8163265306vw, 28px));
  line-height: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em 0.85em;
  padding: 1em min(2em, 2vw);
}

.p-business-spica-support__block-title {
  font-weight: 700;
  -webkit-flex-basis: 0 0 auto;
      -ms-flex-preferred-size: 0 0 auto;
          flex-basis: 0 0 auto;
}

.p-business-spica-support__block-desc {
  line-height: 1.8;
  -webkit-padding-after: clamp(16px, 4.8vw, clamp(18px, 14.9387755102px + 0.8163265306vw, 28px));
          padding-block-end: clamp(16px, 4.8vw, clamp(18px, 14.9387755102px + 0.8163265306vw, 28px));
  padding-inline: min(2em, 2vw);
}

.p-business-spica-support__block-time {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
}
.p-business-spica-support__block-time > .time,
.p-business-spica-support__block-time > .note {
  -webkit-flex-basis: 0 0 auto;
      -ms-flex-preferred-size: 0 0 auto;
          flex-basis: 0 0 auto;
}
.p-business-spica-support__block-time > .time {
  font-size: clamp(16px, 14.7755102041px + 0.3265306122vw, 20px);
}
.p-business-spica-support__block-time > .note {
  font-size: max(12px, 0.5em);
  color: #333333;
}

.p-business-spica-support__block-content-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 560px), 1fr));
}

.p-business-spica-support__block-content-item > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.p-business-spica-support__block-content-item > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.p-business-spica-support__block-content-item > .c-ruled-line[data-type=vertical].line1 {
  right: 0;
  left: auto;
}
.p-business-spica-support__block-content-item {
  position: relative;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: max(40px, 11.92%) 1fr;
  container-type: inline-size;
  container-name: business-spica-support-content-column;
  padding: min(2.25em, 2.25vw) min(2.875em, 2.875vw);
  -webkit-column-gap: 1.75em;
     -moz-column-gap: 1.75em;
          column-gap: 1.75em;
}

.p-business-spica-support__block-content-item-icon {
  width: 100%;
  aspect-ratio: 1;
}
.p-business-spica-support__block-content-item-icon > img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}
@container business-spica-support-content-column (width < 560px) {
  .p-business-spica-support__block-content-item-icon {
    -webkit-align-self: start;
        -ms-flex-item-align: start;
            align-self: start;
  }
}

.p-business-spica-support__block-content-item-desc {
  font-size: clamp(14px, 13.693877551px + 0.0816326531vw, 15px);
}

.p-business-spica-program > .c-ruled-line:not([data-type=vertical]) {
  left: calc((var(--viewport-width) - 100% - var(--gutter, 0px) * 2) * -0.5);
  width: calc(var(--viewport-width) - var(--gutter, 0px) * 2);
}
.p-business-spica-program > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-business-spica-program > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.p-business-spica-program > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-business-spica-program > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-business-spica-program > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-business-spica-program > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-business-spica-program {
  position: relative;
  -webkit-padding-after: 0.5em;
          padding-block-end: 0.5em;
}

.p-business-spica-program__list > .c-ruled-line {
  z-index: 10;
}
.p-business-spica-program__list > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-business-spica-program__list > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
  left: 0;
  width: 100%;
}
.p-business-spica-program__list > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.p-business-spica-program__list > .c-ruled-line[data-type=vertical].line1 {
  left: 0;
}
.p-business-spica-program__list > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
.p-business-spica-program__list {
  position: relative;
  display: grid;
  -webkit-align-content: start;
      -ms-flex-line-pack: start;
          align-content: start;
  grid-auto-rows: auto auto 1fr;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0;
  -webkit-margin-before: 2.5em;
          margin-block-start: 2.5em;
  padding: 0;
  list-style: none;
}
.p-business-spica-program__list :nth-child(5n+1 of .p-business-spica-program__item),
.p-business-spica-program__list :nth-child(5n+2 of .p-business-spica-program__item) {
  grid-column: span 3;
}
@media screen and (width <= 768px) {
  .p-business-spica-program__list :nth-child(5n+1 of .p-business-spica-program__item),
  .p-business-spica-program__list :nth-child(5n+2 of .p-business-spica-program__item) {
    grid-column: span 6;
  }
}
.p-business-spica-program__list :nth-child(5n+3 of .p-business-spica-program__item),
.p-business-spica-program__list :nth-child(5n+4 of .p-business-spica-program__item),
.p-business-spica-program__list :nth-child(5n+5 of .p-business-spica-program__item) {
  grid-column: span 2;
}
@media screen and (width <= 963px) {
  .p-business-spica-program__list :nth-child(5n+3 of .p-business-spica-program__item),
  .p-business-spica-program__list :nth-child(5n+4 of .p-business-spica-program__item),
  .p-business-spica-program__list :nth-child(5n+5 of .p-business-spica-program__item) {
    grid-column: span 3;
  }
}
@media screen and (width <= 768px) {
  .p-business-spica-program__list :nth-child(5n+3 of .p-business-spica-program__item),
  .p-business-spica-program__list :nth-child(5n+4 of .p-business-spica-program__item),
  .p-business-spica-program__list :nth-child(5n+5 of .p-business-spica-program__item) {
    grid-column: span 6;
  }
}

.p-business-spica-program__item > .c-ruled-line {
  z-index: 10;
}
.p-business-spica-program__item > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.p-business-spica-program__item > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-business-spica-program__item > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.p-business-spica-program__item > .c-ruled-line[data-type=vertical].line1 {
  right: 0;
  left: auto;
}
.p-business-spica-program__item {
  position: relative;
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  padding: 2em min(2.5em, 2.5vw);
  background-color: var(--color-main);
}

.p-business-spica-program__item-subtitle {
  font-size: clamp(12px, 11.387755102px + 0.1632653061vw, 14px);
  display: grid;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template-columns: repeat(2, auto);
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  color: var(--business-color);
}
.p-business-spica-program__item-subtitle::before {
  position: relative;
  top: 0.5lh;
  width: 0.85em;
  aspect-ratio: 1;
  content: "";
  translate: 0 -50%;
  border-radius: 50%;
  background-color: currentColor;
}

.p-business-spica-program__item-title {
  font-size: clamp(16px, 14.1632653061px + 0.4897959184vw, 22px);
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.p-business-spica-program-others > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-business-spica-program-others > .c-ruled-line[data-type=vertical] {
  top: -2.75em;
  height: calc(100% + 2.75em);
}
.p-business-spica-program-others > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-business-spica-program-others > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-business-spica-program-others > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-business-spica-program-others > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-business-spica-program-others {
  position: relative;
  -webkit-margin-before: 2.75em;
          margin-block-start: 2.75em;
}

.p-business-spica-program-others__heading-block {
  padding: 1em var(--content-inner-gutter);
}

.p-business-spica-program-others__heading {
  font-size: clamp(16px, 14.1632653061px + 0.4897959184vw, 22px);
  line-height: 1;
}

.p-business-spica-program-others__list-wrapper > .c-ruled-line {
  z-index: 10;
}
.p-business-spica-program-others__list-wrapper > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-business-spica-program-others__list-wrapper > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-business-spica-program-others__list-wrapper {
  position: relative;
}

.p-business-spica-program-others__list > .c-ruled-line {
  z-index: 10;
}
.p-business-spica-program-others__list > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.p-business-spica-program-others__list > .c-ruled-line[data-type=vertical].line1 {
  left: 0;
}
.p-business-spica-program-others__list > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
.p-business-spica-program-others__list {
  position: relative;
  display: grid;
  -webkit-align-content: start;
      -ms-flex-line-pack: start;
          align-content: start;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 350px), 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-business-spica-program-others__item > .c-ruled-line {
  z-index: 10;
}
.p-business-spica-program-others__item > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.p-business-spica-program-others__item > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-business-spica-program-others__item > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.p-business-spica-program-others__item > .c-ruled-line[data-type=vertical].line1 {
  right: 0;
  left: auto;
}
.p-business-spica-program-others__item {
  position: relative;
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  padding: 3.25em min(2.5em, 2.5vw);
  background-color: var(--color-main);
}

.p-business-spica-program-others__item-title {
  font-size: clamp(16px, 14.1632653061px + 0.4897959184vw, 22px);
}

.p-business-spica-program-others__item-desc {
  -webkit-margin-before: 1.75em;
          margin-block-start: 1.75em;
}

.p-business-spica-features {
  width: 100%;
}

.p-business-spica-features__list {
  display: grid;
  row-gap: 4.75em;
  container-type: inline-size;
  container-name: business-spica-features-list;
  -webkit-margin-before: 4em;
          margin-block-start: 4em;
}

.p-business-spica-features__item > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-business-spica-features__item > .c-ruled-line:not([data-type=vertical]).top2 {
  top: 0.5em;
}
.p-business-spica-features__item > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-business-spica-features__item {
  position: relative;
  display: grid;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template: "title title" "desc point-list"/1fr 0.85fr;
  -webkit-padding-before: 0.5em;
          padding-block-start: 0.5em;
}
@container business-spica-features-list (width < 600px) {
  .p-business-spica-features__item {
    grid-template: "title" "desc" "point-list"/minmax(0, 1fr);
  }
}

.p-business-spica-features__item-title > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-business-spica-features__item-title > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-business-spica-features__item-title {
  font-size: clamp(16px, 4.8vw, clamp(18px, 14.3265306122px + 0.9795918367vw, 30px));
  position: relative;
  grid-area: title;
  padding: 0.93em var(--content-inner-gutter);
  color: var(--business-color);
}

.p-business-spica-features__item-desc {
  grid-area: desc;
  padding: 2.25em var(--content-inner-gutter);
}

.p-business-spica-features__item-point-list > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-business-spica-features__item-point-list > .c-ruled-line:not([data-type=vertical]).top {
  display: none;
}
@container business-spica-features-list (width < 600px) {
  .p-business-spica-features__item-point-list > .c-ruled-line:not([data-type=vertical]).top {
    display: block;
  }
}
.p-business-spica-features__item-point-list > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.p-business-spica-features__item-point-list {
  position: relative;
  grid-area: point-list;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: --number 0;
}

.p-business-spica-features__item-point-item > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.p-business-spica-features__item-point-item > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-business-spica-features__item-point-item {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  counter-increment: --number 1;
}

.p-business-spica-features__item-point-item-header > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.p-business-spica-features__item-point-item-header > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-business-spica-features__item-point-item-header {
  position: relative;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-column: 1/-1;
  grid-template-columns: subgrid;
}

.p-business-spica-features__item-point-item-title {
  font-size: clamp(16px, 15.387755102px + 0.1632653061vw, 18px);
  padding: 8px clamp(10px, 1.25vw, 20px);
  color: var(--business-color);
}

.p-business-spica-features__item-point-item-index > .c-ruled-line[data-type=vertical] {
  height: 100%;
}
.p-business-spica-features__item-point-item-index > .c-ruled-line[data-type=vertical].line1 {
  right: 0;
  left: auto;
}
.p-business-spica-features__item-point-item-index {
  font-family: "Archivo", sans-serif;
  line-height: 1;
  position: relative;
  display: grid;
  align-self: start;
  place-content: center;
  place-items: center;
  width: clamp(42px, 38.9387755102px + 0.8163265306vw, 52px);
  height: 100%;
  min-height: clamp(42px, 38.9387755102px + 0.8163265306vw, 52px);
  padding: 0.25em;
  color: var(--business-color);
}
.p-business-spica-features__item-point-item-index::before {
  font-size: 12px;
  content: "POINT";
}
.p-business-spica-features__item-point-item-index::after {
  font-size: 1em;
  content: counter(--number, decimal-leading-zero);
  letter-spacing: 0.02em;
}

.p-business-spica-features__item-point-item-desc {
  grid-column: 2/-1;
  padding: 8px clamp(10px, 1.25vw, 20px);
}
@container business-spica-features-list (width < 750px) {
  .p-business-spica-features__item-point-item-desc {
    grid-column: 1/-1;
  }
}

.p-business-spica-features-nav > .c-ruled-line {
  z-index: 10;
}
.p-business-spica-features-nav > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-business-spica-features-nav > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-business-spica-features-nav {
  position: relative;
  padding: 2.5em var(--content-inner-gutter);
}

.p-business-spica-features-nav__list {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-business-spica-features-nav__listitem {
  text-decoration: none;
  color: inherit;
}

.p-business-spica-gallery {
  width: 100%;
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}

.p-business-spica-gallery__inner > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-business-spica-gallery__inner > .c-ruled-line:not([data-type=vertical]).top2 {
  top: 10px;
}
.p-business-spica-gallery__inner > .c-ruled-line[data-type=vertical] {
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + var(--contents-spacer));
}
.p-business-spica-gallery__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-business-spica-gallery__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-business-spica-gallery__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-business-spica-gallery__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-business-spica-gallery__inner {
  position: relative;
}

.p-business-spica-gallery__item {
  width: 100%;
}

.p-business-spica-gallery__item-title > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-business-spica-gallery__item-title > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-business-spica-gallery__item-title {
  font-size: clamp(16px, 14.1632653061px + 0.4897959184vw, 22px);
  font-weight: 700;
  position: relative;
  display: grid;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  grid-template-columns: repeat(2, auto);
  padding-inline: var(--content-inner-gutter);
  -webkit-column-gap: 0.4em;
     -moz-column-gap: 0.4em;
          column-gap: 0.4em;
}
.p-business-spica-gallery__item-title::before {
  content: "/";
}
.p-business-spica-gallery__item-title--right {
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
}

.p-business-spica-gallery__item-slider {
  padding: 1em;
}

.p-business-spica-gallery__item-slide {
  width: 100%;
  aspect-ratio: 360/270;
}
.p-business-spica-gallery__item-slide > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-business-spica-announcement > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-business-spica-announcement > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-business-spica-announcement {
  position: relative;
  width: 100%;
  padding: 3.75em var(--content-inner-gutter);
}

.p-business-spica-announcement__wrapper {
  display: grid;
  grid-template-columns: min(100%, clamp(150px, 17.5vw, 280px)) minmax(0, 1fr);
  gap: 2em min(6.25em, 6.25vw);
}
@media screen and (width <= 768px) {
  .p-business-spica-announcement__wrapper {
    grid-template-columns: minmax(0, 1fr);
  }
}

.p-business-spica-ann-filters {
  -webkit-align-self: start;
      -ms-flex-item-align: start;
          align-self: start;
  padding: 2em clamp(8px, 1.75vw, 28px);
  background-color: var(--color-main);
}

.p-business-spica-ann-filters__terms {
  --dropdown-color-foreground: var(--color-sub);
  --dropdown-color-foreground-active: var(--business-color);
  --dropdown-color-background: var(--business-light-color);
  --dropdown-border: 1px solid var(--business-line-color);
}

.p-business-spica-ann-filters__terms-title > .c-ruled-line {
  z-index: 10;
}
.p-business-spica-ann-filters__terms-title > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.p-business-spica-ann-filters__terms-title {
  font-size: clamp(16px, 1.25vw, 18px);
  font-weight: 700;
  position: relative;
  padding-block: 1.77em 0.88em;
}

.p-business-spica-ann-filters__placeholder > .placeholder {
  font-size: clamp(10px, 3.2vw, clamp(12px, 10.1632653061px + 0.4897959184vw, 18px));
  padding: max(16px, 1em) max(16px, 1.5em);
}

.p-business-spica-ann-filters__terms-list {
  display: grid;
  row-gap: 0.75em;
}

.p-business-spica-ann-filters__terms-item {
  line-height: 1.2;
  display: grid;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: anchor-center;
  -webkit-align-items: anchor-center;
      -ms-flex-align: anchor-center;
          align-items: anchor-center;
  grid-template-columns: repeat(2, auto);
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
}
@media screen and (width <= 768px) {
  .p-business-spica-ann-filters__terms-item {
    width: 100%;
    padding: max(16px, 1em) max(16px, 1.5em);
  }
  .p-business-spica-ann-filters__terms-item::after {
    content: none;
  }
  .is-open .p-business-spica-ann-filters__terms-item {
    border-top: 1px solid var(--business-line-color);
  }
}
.p-business-spica-ann-filters__terms-item::after {
  display: block;
  width: 0.875em;
  aspect-ratio: 1;
  content: "";
  background-color: currentColor;
  -webkit-mask: url(../images/icn_chevron-arrow-right_01.svg) center/contain no-repeat;
          mask: url(../images/icn_chevron-arrow-right_01.svg) center/contain no-repeat;
}

.p-business-spica-ann-content__wrapper {
  display: grid;
  row-gap: 1.5em;
}

.p-business-spica-ann-content__head {
  width: 100%;
}

.p-business-spica-ann-content__title {
  font-size: clamp(18px, 1.375vw, 22px);
  font-weight: 700;
}

.p-business-spica-ann-content__body {
  display: grid;
  row-gap: 3em;
}

.p-business-spica-ann-content__block > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  width: 100%;
}
.p-business-spica-ann-content__block {
  position: relative;
  display: grid;
  row-gap: 1em;
  -webkit-padding-before: 0.5em;
          padding-block-start: 0.5em;
}

.p-business-spica-ann-content__block-title {
  font-size: clamp(16px, 1.25vw, 20px);
}

.p-business-spica-ann-content__block-files {
  display: grid;
  row-gap: 0.5em;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-business-spica-ann-content__block-file {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-business-spica-ann-content__block-file-link {
  display: grid;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  grid-template-columns: repeat(2, auto);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: none;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
  color: inherit;
}
.p-business-spica-ann-content__block-file-link > .icon {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  position: relative;
  top: calc((1lh - 1em) * 0.65);
  width: 1em;
  aspect-ratio: 1;
}
.p-business-spica-ann-content__block-file-link > .txt {
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

.p-company-facility-item__datalist > .c-ruled-line:not([data-type=vertical]), .p-company-outline__datalist > .c-ruled-line:not([data-type=vertical]) {
  z-index: 10;
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-company-facility-item__datalist > .c-ruled-line:not([data-type=vertical]).bottom, .p-company-outline__datalist > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-company-facility-item__datalist, .p-company-outline__datalist {
  position: relative;
  container-type: inline-size;
  container-name: datalist-container;
}

.p-company-facility-item__datalist-wrapper, .p-company-outline__datalist-wrapper {
  display: grid;
  grid-template-columns: max(6em, 24%) 1fr;
}
@container datalist-container (width <= 600px) {
  .p-company-facility-item__datalist-wrapper, .p-company-outline__datalist-wrapper {
    grid-template-columns: minmax(0, 1fr);
  }
}

.p-company-facility-item__datalist-item > .c-ruled-line:not([data-type=vertical]), .p-company-outline__datalist-item > .c-ruled-line:not([data-type=vertical]) {
  z-index: 10;
  left: 0;
  width: 100%;
}
.p-company-facility-item__datalist-item, .p-company-outline__datalist-item {
  position: relative;
  display: grid;
  grid-column: span 2;
  grid-template-columns: subgrid;
}
@container datalist-container (width <= 600px) {
  .p-company-facility-item__datalist-item, .p-company-outline__datalist-item {
    grid-column: auto;
  }
}
.p-company-facility-item__datalist-item > dt, .p-company-outline__datalist-item > dt,
.p-company-facility-item__datalist-item > dd,
.p-company-outline__datalist-item > dd {
  padding: 2.5em 0.5em;
}
@container datalist-container (width <= 600px) {
  .p-company-facility-item__datalist-item > dt, .p-company-outline__datalist-item > dt,
  .p-company-facility-item__datalist-item > dd,
  .p-company-outline__datalist-item > dd {
    padding-block: 1em;
  }
}
.p-company-facility-item__datalist-item > dt, .p-company-outline__datalist-item > dt {
  text-align: center;
  background: var(--color-sub-light);
}
@container datalist-container (width <= 600px) {
  .p-company-facility-item__datalist-item > dt, .p-company-outline__datalist-item > dt {
    text-align: left;
  }
}
.p-company-facility-item__datalist-item:first-of-type > .c-ruled-line:not([data-type=vertical]), .p-company-outline__datalist-item:first-of-type > .c-ruled-line:not([data-type=vertical]) {
  display: none;
}

.p-company-nav {
  width: 100%;
}

.p-company-nav__inner > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: calc(100% + 3.5em);
}
.p-company-nav__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-company-nav__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-company-nav__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-company-nav__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-company-nav__inner {
  position: relative;
}

.p-company-nav__anchors {
  container-type: inline-size;
  container-name: company-list-wrapper;
}

.p-company-nav-anchors {
  padding-inline: 1em;
}

.p-company-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]) {
  left: calc((max(var(--gutter), var(--content-inset-inline)) + 1em) * -1);
  grid-column: 1/-1;
  width: var(--viewport-width);
}
.p-company-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]).top1, .p-company-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]).top2 {
  grid-row: 1/2;
}
.p-company-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]).top2 {
  top: auto;
  bottom: 0;
}
.p-company-nav-anchors__inner > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
  grid-row: 4/5;
}
.p-company-nav-anchors__inner {
  position: relative;
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template: ". title" ". ." 0.875em ". list" ". ." 0.875em/minmax(0, 1fr) auto;
  row-gap: 0;
  width: 100%;
}
@media screen and (width <= 768px) {
  .p-company-nav-anchors__inner {
    grid-template: "title ." ". ." 0.875em "list ." ". ." 0.875em/auto minmax(0, 1fr);
  }
}

.p-company-nav-anchors__list-title {
  grid-area: title;
}

.p-company-nav-anchors__list-wrapper {
  grid-area: list;
}

.p-company-nav-anchors__list {
  width: 100%;
}

.p-company-nav-anchors__listitem {
  font-size: clamp(12px, 3.4666666667vw, clamp(13px, 11.4693877551px + 0.4081632653vw, 18px));
  text-decoration: none;
  color: var(--color-main);
}
@media screen and (width <= 768px) {
  .p-company-nav-anchors__listitem {
    width: 100%;
  }
}
.p-company-nav-anchors__listitem.is-active {
  opacity: 0.5;
}

.p-company-philosophy {
  -webkit-margin-before: 3.5em;
          margin-block-start: 3.5em;
}

.p-company-philosophy__content > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-company-philosophy__content > .c-ruled-line[data-type=vertical] {
  height: calc(100% + 1rem);
}
.p-company-philosophy__content > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-company-philosophy__content > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-company-philosophy__content > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-company-philosophy__content > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-company-philosophy__content {
  position: relative;
  display: grid;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
}

.p-company-philosophy__title > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-company-philosophy__title > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-company-philosophy__title {
  position: relative;
  width: 100%;
  padding-block: 1.75em;
  padding-inline: var(--content-inner-gutter);
}

.p-company-philosophy__wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2em 1em;
  -webkit-padding-before: 3em;
          padding-block-start: 3em;
  padding-inline: var(--content-inner-gutter);
}
@media screen and (width <= 768px) {
  .p-company-philosophy__wrapper {
    grid-template-columns: minmax(0, 1fr);
  }
}

.p-company-philosophy__block {
  position: relative;
  overflow: clip;
  padding: 3.75em 1em;
  border: 1px solid #585858;
  background: var(--color-sub-light);
}
.p-company-philosophy__block[data-column="2"] {
  grid-column: span 2;
}
@media screen and (width <= 768px) {
  .p-company-philosophy__block[data-column="2"] {
    grid-column: auto;
  }
}
.p-company-philosophy__block::before {
  font-family: "Archivo", sans-serif;
  font-size: clamp(16px, 4.8vw, clamp(22px, 12.7692307692px + 1.2019230769vw, 32px));
  font-weight: 700;
  line-height: 1;
  position: absolute;
  display: block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  rotate: -15deg;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0.1;
  color: var(--color-white);
  border-top: 2px solid #585858;
  border-bottom: 2px solid #585858;
}
.p-company-philosophy__block[data-label=core]::before {
  top: 10%;
  left: 0;
  content: "Core Message Core Message Core Message Core Message Core Message Core Message Core Message";
  translate: -25%;
}
.p-company-philosophy__block[data-label=mission]::before, .p-company-philosophy__block[data-label=vision]::before {
  right: 0;
  bottom: 10%;
  translate: 25%;
}
.p-company-philosophy__block[data-label=mission]::before {
  content: "Mission Mission Mission Mission Mission Mission Mission Mission Mission";
}
.p-company-philosophy__block[data-label=vision]::before {
  content: "Vision Vision Vision Vision Vision Vision Vision Vision Vision";
}

.p-company-philosophy__block-heading {
  font-size: clamp(18px, 5.8666666667vw, clamp(22px, 12.7692307692px + 1.2019230769vw, 32px));
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.p-company-philosophy__block-body {
  line-height: 2;
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  justify-items: center;
  row-gap: 1em;
  -webkit-margin-before: 2.25em;
          margin-block-start: 2.25em;
}

.p-company-philosophy__block-catchphrase {
  font-size: 1.25em;
}

.p-company-philosophy__block-description {
  width: min(100%, 890px);
  text-align: center;
}

.p-company-outline {
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}

.p-company-outline__content > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-company-outline__content > .c-ruled-line[data-type=vertical] {
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + var(--contents-spacer));
}
.p-company-outline__content > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-company-outline__content > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-company-outline__content > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-company-outline__content > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-company-outline__content {
  position: relative;
}

.p-company-outline__title {
  position: relative;
  grid-column: span 2;
  width: 100%;
  padding-block: 1.75em;
  padding-inline: var(--content-inner-gutter);
}
@media screen and (width <= 963px) {
  .p-company-outline__title {
    grid-column: auto;
  }
}

.p-company-outline__datalist {
  padding-inline: var(--content-inner-gutter);
}

.p-company-outline__datalist-wrapper > .c-ruled-line[data-type=vertical] {
  z-index: 10;
  top: 0;
  height: 100%;
}
.p-company-outline__datalist-wrapper > .c-ruled-line[data-type=vertical].line1 {
  left: 0;
}
.p-company-outline__datalist-wrapper > .c-ruled-line[data-type=vertical].line2 {
  right: 0;
  left: auto;
}
.p-company-outline__datalist-wrapper {
  position: relative;
  width: min(100%, 900px);
  margin-inline: auto;
}

.p-company-access {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max(25em, 62.5%);
  gap: 2.5em 0.5em;
  width: min(100%, 1120px);
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
  margin-inline: auto;
  padding-inline: var(--content-inner-gutter);
}
@media screen and (width <= 768px) {
  .p-company-access {
    grid-template-columns: minmax(0, 1fr);
  }
}

.p-company-access__content {
  display: grid;
  -webkit-align-content: start;
      -ms-flex-line-pack: start;
          align-content: start;
  row-gap: 2.5em;
}

.p-company-access__title {
  display: grid;
  row-gap: 1.25em;
}

.p-company-access__title-tag {
  font-family: "Archivo", sans-serif;
  font-size: clamp(16px, 14.7755102041px + 0.3265306122vw, 20px);
  font-weight: 500;
  line-height: 1.6;
}

.p-company-access__title-text {
  font-size: clamp(18px, 5.8666666667vw, clamp(22px, 12.7692307692px + 1.2019230769vw, 32px));
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-company-access__map {
  position: relative;
  width: 100%;
  aspect-ratio: 700/425;
}
.p-company-access__map > iframe {
  display: block;
}
.p-company-access__map::after {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  pointer-events: none;
  background: color-mix(in srgb, var(--color-sub), transparent 80%);
}

.p-company-ckr {
  display: grid;
  row-gap: 1em;
  width: min(100%, 1120px);
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
  margin-inline: auto;
  padding-inline: var(--content-inner-gutter);
}

.p-company-ckr__title {
  font-size: clamp(16px, 13.5510204082px + 0.6530612245vw, 24px);
}

.p-company-ckr__content {
  display: grid;
  row-gap: 1em;
}

.p-company-ckr__link {
  width: min(100%, 290px);
}
@media screen and (width <= 768px) {
  .p-company-ckr__link {
    margin-inline: auto;
  }
}

.p-company-ckr__link-icon {
  width: 1em;
  height: 2em;
}
.p-company-ckr__link:focus-visible .p-company-ckr__link-icon {
  translate: none;
}
@media (any-hover: hover) {
  .p-company-ckr__link:hover .p-company-ckr__link-icon {
    translate: none;
  }
}

.p-company-facility {
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}

.p-company-facility__head > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-company-facility__head > .c-ruled-line[data-type=vertical] {
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + var(--contents-spacer));
}
.p-company-facility__head > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-company-facility__head > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-company-facility__head > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-company-facility__head > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-company-facility__head {
  position: relative;
  display: grid;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
}

.p-company-facility__title > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-company-facility__title > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-company-facility__title {
  position: relative;
  width: 100%;
  padding-block: 1.75em;
  padding-inline: var(--content-inner-gutter);
}
@media screen and (width <= 963px) {
  .p-company-facility__title {
    grid-column: auto;
  }
}

.p-company-facility__nav {
  width: 100%;
  padding: 1.75em var(--content-inner-gutter);
}

.p-company-facility__nav-list > .c-ruled-line:not([data-type=vertical]) {
  left: calc(var(--content-inner-gutter) * -1);
  display: none;
  width: calc(100% + var(--content-inner-gutter) * 2);
}
@media screen and (width <= 576px) {
  .p-company-facility__nav-list > .c-ruled-line:not([data-type=vertical]) {
    display: block;
  }
}
.p-company-facility__nav-list > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-company-facility__nav-list {
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (width <= 576px) {
  .p-company-facility__nav-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0;
    width: 100%;
  }
}

.p-company-facility__nav-listitem > .c-ruled-line:not([data-type=vertical]) {
  left: calc(var(--content-inner-gutter) * -1);
  display: none;
  width: calc(100% + var(--content-inner-gutter) * 2);
}
@media screen and (width <= 576px) {
  .p-company-facility__nav-listitem > .c-ruled-line:not([data-type=vertical]) {
    display: block;
  }
}
.p-company-facility__nav-listitem {
  position: relative;
}
@media screen and (width <= 576px) {
  .p-company-facility__nav-listitem {
    width: 100%;
  }
}

.p-company-facility__nav-listitem-link {
  font-size: clamp(10px, 3.2vw, clamp(12px, 10.1632653061px + 0.4897959184vw, 18px));
  text-decoration: none;
  color: var(--color-main);
}
@media screen and (width <= 576px) {
  .p-company-facility__nav-listitem-link {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    padding-block: 1em;
  }
}
.p-company-facility__nav-listitem-link.is-active {
  opacity: 0.5;
}

.p-company-facility__list {
  --content-inset-inline: max((var(--viewport-width, var(--content-max-inline-size)) - var(--content-max-inline-size)) * 0.5, 0px); /* 画面端からコンテンツまでのスペース */
  --gutter-vertical-ruled-line-offset-1: calc(max(var(--gutter), var(--content-inset-inline)) * -1 + var(--gutter));
  --gutter-vertical-ruled-line-offset-2: calc(var(--gutter-vertical-ruled-line-offset-1) - var(--gutter) * 0.5);
  --gutter-vertical-ruled-line-offset-3: calc(var(--gutter-vertical-ruled-line-offset-1) - min(1rem, var(--gutter) * 0.5));
  /* コンテンツレイアウト変数 */
  width: min(100%, var(--content-max-inline-size));
  margin-inline: auto;
  --content-max-inline-size: 900px;
}

.p-company-facility-item > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-company-facility-item > .c-ruled-line:not([data-type=vertical]).top2 {
  top: 0.5em;
}
.p-company-facility-item > .c-ruled-line[data-type=vertical] {
  top: calc(var(--contents-spacer) * -1);
  height: calc(100% + var(--contents-spacer));
}
.p-company-facility-item > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-company-facility-item > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-company-facility-item > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-company-facility-item > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-company-facility-item > .c-ruled-line[data-type=vertical].line5, .p-company-facility-item > .c-ruled-line[data-type=vertical].line6 {
  z-index: 10;
  top: 0;
  height: 100%;
}
.p-company-facility-item > .c-ruled-line[data-type=vertical].line5 {
  left: 0;
}
.p-company-facility-item > .c-ruled-line[data-type=vertical].line6 {
  right: 0;
  left: auto;
}
.p-company-facility-item {
  position: relative;
}
.p-company-facility-item:first-of-type > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.p-company-facility-item:not(:first-of-type) {
  -webkit-margin-before: var(--contents-spacer);
          margin-block-start: var(--contents-spacer);
}

.p-company-facility-item__title {
  display: grid;
  row-gap: 1.25em;
  padding: 4em 1.5em 3.5em;
}

.p-company-facility-item__title-tag {
  font-family: "Archivo", sans-serif;
  font-size: clamp(16px, 14.7755102041px + 0.3265306122vw, 20px);
  font-weight: 500;
  line-height: 1.6;
}

.p-company-facility-item__title-text {
  font-size: clamp(18px, 5.8666666667vw, clamp(22px, 12.7692307692px + 1.2019230769vw, 32px));
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-company-facility-item__tab {
  width: 100%;
}

.p-company-facility-item__tab-buttons > .c-ruled-line:not([data-type=vertical]) {
  z-index: 10;
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-company-facility-item__tab-buttons > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-company-facility-item__tab-buttons {
  position: relative;
}

.p-company-facility-item__tab-buttons-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
}
@media screen and (width <= 768px) {
  .p-company-facility-item__tab-buttons-list {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }
}

.p-company-facility-item__tab-buttons-item {
  font-weight: 500;
  width: 100%;
  padding: 1.875em 0.5em;
  cursor: pointer;
  -webkit-transition: background 0.3s ease-out, color 0.3s ease-out, opacity 0.3s ease-out;
  transition: background 0.3s ease-out, color 0.3s ease-out, opacity 0.3s ease-out;
  text-decoration: underline;
  text-underline-offset: 0.25em;
  color: var(--color-main);
  background: var(--color-sub-light);
}
@media screen and (width <= 768px) {
  .p-company-facility-item__tab-buttons-item {
    font-size: clamp(10px, 3.2vw, clamp(12px, 10.1632653061px + 0.4897959184vw, 18px));
    padding-block: max(12px, 0.75em);
  }
}
.p-company-facility-item__tab-buttons-item:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .p-company-facility-item__tab-buttons-item:hover {
    opacity: 0.7;
  }
}
.p-company-facility-item__tab-buttons-item.is-active {
  text-decoration: none;
  pointer-events: none;
  color: var(--color-sub-light);
  background: var(--color-main);
}

.p-company-facility-item__tab-contents {
  width: 100%;
  -webkit-margin-before: 2.25em;
          margin-block-start: 2.25em;
}

.p-company-facility-item__tab-content {
  grid-template-rows: 1fr;
}

.p-company-facility-item__tab-content-wrapper {
  overflow: visible;
}

.p-news-archives {
  width: 100%;
}

.p-news-archives__inner {
  position: relative;
}
.p-news-archives__inner > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.p-news-archives__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-news-archives__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-news-archives__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-news-archives__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}

.p-news-archives__wrapper {
  container-type: inline-size;
  container-name: news-list-wrapper;
}

.p-news-archives__filters-terms > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  grid-column: 1/-1;
  width: var(--viewport-width);
}
.p-news-archives__filters-terms > .c-ruled-line:not([data-type=vertical]).top1, .p-news-archives__filters-terms > .c-ruled-line:not([data-type=vertical]).top2 {
  grid-row: 1/2;
}
.p-news-archives__filters-terms > .c-ruled-line:not([data-type=vertical]).top2 {
  top: auto;
  bottom: 0;
}
.p-news-archives__filters-terms > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
  grid-row: 4/5;
}
.p-news-archives__filters-terms {
  position: relative;
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template: ". title ." ". . ." 0.875em ". list ." ". . ." 0.875em/minmax(0, 1fr) auto minmax(0, 1fr);
  row-gap: 0;
  width: 100%;
}
@media screen and (width <= 768px) {
  .p-news-archives__filters-terms {
    grid-template: ". title ." ". . ." 0.875em ". list ." ". . ." 0.875em/minmax(0, 1fr) min(290px, 90%) minmax(0, 1fr);
  }
}
.p-news-archives__filters-terms {
  --dropdown-border: 1px solid var(--color-gray-light);
}

.p-news-archives__filters-terms-title {
  grid-area: title;
}

.p-news-archives__filters-placeholder,
.p-news-archives__filters-terms-list-wrapper {
  grid-area: list;
}

.p-news-archives__filters-placeholder > .placeholder {
  padding: max(16px, 1em) max(16px, 1.5em);
  font-size: clamp(14px, 12.7755102041px + 0.3265306122vw, 18px);
}

.p-news-archives__filters-terms-list {
  width: 100%;
}

.p-news-archives__filters-terms-item::before {
  content: "/";
}
.p-news-archives__filters-terms-item::after {
  content: none;
}
@media screen and (width <= 768px) {
  .p-news-archives__filters-terms-item {
    padding: max(16px, 1em) max(16px, 1.5em);
  }
  .p-news-archives__filters-terms-item::after {
    content: none;
  }
  .is-open .p-news-archives__filters-terms-item {
    border-top: 1px solid var(--color-gray-light);
  }
}
.p-news-archives__filters-terms-item > input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}

.p-news-archives__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  margin-block: 50px -50px;
  padding: 0;
  list-style: none;
}
@media screen and (width <= 963px) {
  .p-news-archives__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (width <= 576px) {
  .p-news-archives__list {
    grid-area: list;
    grid-template-columns: minmax(0, 1fr);
  }
}

.p-news-archives__list-item {
  position: relative;
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  -webkit-margin-after: 50px;
          margin-block-end: 50px;
}
.p-news-archives__list-item > .c-ruled-line:not([data-type=vertical]) {
  width: var(--viewport-width);
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
}
.p-news-archives__list-item > .c-ruled-line:not([data-type=vertical]).bottom1 {
  top: auto;
  bottom: 0;
}
.p-news-archives__list-item > .c-ruled-line:not([data-type=vertical]).bottom2 {
  top: auto;
  bottom: -16px;
}
.p-news-archives__list-item > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.p-news-archives__list-item > .c-ruled-line[data-type=vertical].line2 {
  left: auto;
  right: 0;
}
.p-news-archives__list-item > .c-ruled-line[data-type=vertical].line1, .p-news-archives__list-item > .c-ruled-line[data-type=vertical].line2 {
  display: none;
}
@media screen and (width > 576px) {
  .p-news-archives__list-item > .c-ruled-line:not([data-type=vertical]) {
    display: none;
  }
  .p-news-archives__list-item:nth-of-type(2n + 1) > .c-ruled-line:not([data-type=vertical]) {
    display: block;
  }
  .p-news-archives__list-item:nth-of-type(2n) > .c-ruled-line[data-type=vertical].line1 {
    display: block;
  }
}
@media screen and (width > 963px) {
  .p-news-archives__list-item:nth-of-type(2n + 1) > .c-ruled-line:not([data-type=vertical]) {
    display: none;
  }
  .p-news-archives__list-item:nth-of-type(3n + 1) > .c-ruled-line:not([data-type=vertical]) {
    display: block;
  }
  .p-news-archives__list-item:nth-of-type(2n) > .c-ruled-line[data-type=vertical].line2 {
    display: block;
  }
  @container news-list-wrapper (width >= 1480px) {
    .p-news-archives__list-item:nth-of-type(3n + 1) > .c-ruled-line[data-type=vertical].line1 {
      display: block;
    }
    .p-news-archives__list-item:nth-of-type(3n) > .c-ruled-line[data-type=vertical].line2 {
      display: block;
    }
  }
}

.p-news-archives__card {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
}

.p-news-archives__action {
  width: min(290px, 90%);
  -webkit-margin-before: 80px;
          margin-block-start: 80px;
  margin-inline: auto;
}

.p-news-archives__more {
  cursor: pointer;
  text-align: left;
  padding-block: 1.25em;
}
.p-news-archives__more:focus-visible .p-news-archives__more-icon {
  translate: none;
}
@media (any-hover: hover) {
  .p-news-archives__more:hover .p-news-archives__more-icon {
    translate: none;
  }
}

.p-news-archives__more-icon {
  max-width: 20px;
}

.p-faq {
  width: 100%;
}

.p-faq__inner > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.p-faq__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-faq__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-faq__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-faq__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-faq__inner {
  position: relative;
}

.p-faq__wrapper {
  container-type: inline-size;
  container-name: faq-list-wrapper;
}

.p-faq-filters {
  padding-inline: 1em;
}

.p-faq-filters__terms > .c-ruled-line:not([data-type=vertical]) {
  left: calc((max(var(--gutter), var(--content-inset-inline)) + 1em) * -1);
  grid-column: 1/-1;
  width: var(--viewport-width);
}
.p-faq-filters__terms > .c-ruled-line:not([data-type=vertical]).top1, .p-faq-filters__terms > .c-ruled-line:not([data-type=vertical]).top2 {
  grid-row: 1/2;
}
.p-faq-filters__terms > .c-ruled-line:not([data-type=vertical]).top2 {
  top: auto;
  bottom: 0;
}
.p-faq-filters__terms > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
  grid-row: 4/5;
}
.p-faq-filters__terms {
  position: relative;
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template: ". title ." ". . ." 0.875em ". list ." ". . ." 0.875em/minmax(0, 1fr) auto minmax(0, 1fr);
  row-gap: 0;
  width: 100%;
}
@media screen and (width <= 768px) {
  .p-faq-filters__terms {
    grid-template: ". title ." ". . ." 0.875em ". list ." ". . ." 0.875em/minmax(0, 1fr) min(290px, 90%) minmax(0, 1fr);
  }
}
.p-faq-filters__terms {
  --dropdown-border: 1px solid var(--color-gray-light);
}

.p-faq-filters__terms-title {
  grid-area: title;
}

.p-faq-filters__placeholder,
.p-faq-filters__terms-list-wrapper {
  grid-area: list;
}

.p-faq-filters__placeholder > .placeholder {
  font-size: clamp(10px, 3.2vw, clamp(12px, 10.1632653061px + 0.4897959184vw, 18px));
  padding: max(16px, 1em) max(16px, 1.5em);
}

.p-faq-filters__terms-list {
  width: 100%;
}

.p-faq-filters__terms-item {
  font-size: clamp(10px, 3.2vw, clamp(12px, 10.1632653061px + 0.4897959184vw, 18px));
}
.p-faq-filters__terms-item::before {
  content: "/";
}
.p-faq-filters__terms-item::after {
  content: none;
}
@media screen and (width <= 768px) {
  .p-faq-filters__terms-item {
    width: 100%;
    padding: max(16px, 1em) max(16px, 1.5em);
  }
  .p-faq-filters__terms-item::before {
    content: none;
  }
  .is-open .p-faq-filters__terms-item {
    border-top: 1px solid var(--color-gray-light);
  }
}
.p-faq-filters__terms-item.is-active {
  opacity: 0.5;
}

.p-faq-content > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: calc(100% + var(--contents-spacer) - 1.75rem);
}
.p-faq-content > .c-ruled-line[data-type=vertical].line1 {
  left: -1px;
}
.p-faq-content > .c-ruled-line[data-type=vertical].line2 {
  right: -1px;
  left: auto;
}
@container faq-list-wrapper (width <= 902px) {
  .p-faq-content > .c-ruled-line[data-type=vertical].line1, .p-faq-content > .c-ruled-line[data-type=vertical].line2 {
    display: none;
  }
}
.p-faq-content {
  position: relative;
  width: min(100% - 2px, 900px);
  margin-inline: auto;
}

.p-faq-content__title {
  display: grid;
  row-gap: 1.25em;
  padding: 3.5em min(2em, var(--content-inner-gutter));
}

.p-faq-content__title-tag {
  font-family: "Archivo", sans-serif;
  font-size: clamp(16px, 14.7755102041px + 0.3265306122vw, 20px);
  font-weight: 500;
  line-height: 1.6;
}

.p-faq-content__title-text {
  font-size: clamp(18px, 5.8666666667vw, clamp(22px, 12.7692307692px + 1.2019230769vw, 32px));
  font-weight: 700;
  line-height: 1.3;
  display: block;
  -webkit-align-self: start;
      -ms-flex-item-align: start;
          align-self: start;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-faq-content__container {
  position: absolute;
  grid-template-rows: 1fr;
  width: 100%;
}
.p-faq-content__container.is-active {
  position: relative;
}

.p-faq-content__wrapper {
  overflow: visible;
}

.p-faq-content__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-faq-content__item > .c-ruled-line:not([data-type=vertical]) {
  left: 0;
  grid-column: 1/-1;
  width: 100%;
}
.p-faq-content__item > .c-ruled-line:not([data-type=vertical]).top {
  top: -1px;
}
.p-faq-content__item > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: -1px;
}
.p-faq-content__item {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-rows: 1fr;
  -webkit-column-gap: 2em;
     -moz-column-gap: 2em;
          column-gap: 2em;
}
@media screen and (width <= 576px) {
  .p-faq-content__item {
    -webkit-column-gap: 0.75em;
       -moz-column-gap: 0.75em;
            column-gap: 0.75em;
  }
}
.p-faq-content__item:has(+ .p-faq-content__item) > .c-ruled-line:not([data-type=vertical]).bottom {
  display: none;
}

.p-faq-content__item-summary {
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-column: span 3;
  grid-template-areas: "text text icon";
  grid-template-columns: subgrid;
  width: 100%;
  padding-inline: 0;
  cursor: pointer;
  text-align: left;
  color: var(--color-main);
  border: none;
  background-color: var(--color-sub-light);
}
.p-faq-content__item-summary[aria-expanded=true] > .p-faq-content__item-summary-arrow::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.p-faq-content__item-summary[aria-expanded=true] > .p-faq-content__item-summary-arrow::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  opacity: 0;
}

.p-faq-content__item-question {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-area: text;
  grid-template-columns: subgrid;
  padding-block: 0.875em;
}
.p-faq-content__item-question::before {
  font-family: "Archivo", sans-serif;
  -webkit-padding-start: 2em;
          padding-inline-start: 2em;
  content: "Q";
}
@media screen and (width <= 576px) {
  .p-faq-content__item-question::before {
    -webkit-padding-start: 0.75em;
            padding-inline-start: 0.75em;
  }
}

.p-faq-content__item-summary-arrow > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.p-faq-content__item-summary-arrow > .c-ruled-line[data-type=vertical].line1 {
  left: 0;
}
.p-faq-content__item-summary-arrow {
  position: relative;
  z-index: 1;
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-area: icon;
  grid-template: "icon" auto;
  width: 5.25em;
  height: 100%;
  padding-inline: 1em;
}
@media screen and (width <= 576px) {
  .p-faq-content__item-summary-arrow {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-inline: 0.75em;
  }
}
.p-faq-content__item-summary-arrow::before, .p-faq-content__item-summary-arrow::after {
  display: block;
  align-self: center;
  grid-area: icon;
  width: 1em;
  content: "";
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  border-bottom: 2px solid var(--color-main);
}
.p-faq-content__item-summary-arrow::after {
  rotate: 90deg;
}

.p-faq-content__item-details {
  display: grid;
  visibility: hidden;
  grid-column: span 3;
  grid-template-columns: subgrid;
  grid-template-rows: 0fr;
  will-change: grid-template-rows;
  -webkit-transition: grid-template-rows 0.5s ease, visibility 0.5s ease;
  transition: grid-template-rows 0.5s ease, visibility 0.5s ease;
  transition: grid-template-rows 0.5s ease, visibility 0.5s ease, -ms-grid-rows 0.5s ease;
}
.is-initialized.is-disabled > .p-faq-content__item-details, .is-initialized:not(.is-disabled).is-open > .p-faq-content__item-details {
  visibility: visible;
  grid-template-rows: 1fr;
  border-top: 1px solid var(--color-gray-light);
}

.p-faq-content__answer-wrapper {
  display: grid;
  overflow: hidden;
  grid-column: span 3;
  grid-template-columns: subgrid;
}

.p-faq-content__answer {
  display: grid;
  grid-column: 2/3;
  padding-block: 1em;
}
@media screen and (width <= 576px) {
  .p-faq-content__answer {
    grid-column: 1/-1;
    padding-inline: 0.75em;
  }
}

.p-privacy {
  width: 100%;
}

.p-privacy__inner > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-privacy__inner > .c-ruled-line:not([data-type=vertical]).top2 {
  top: 0.5em;
}
.p-privacy__inner > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-privacy__inner > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.p-privacy__inner > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-privacy__inner > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-privacy__inner > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-privacy__inner > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-privacy__inner {
  position: relative;
  padding: 2.25em var(--content-inner-gutter) 1.75rem;
}

.p-privacy__content :where(h1[class*=wp-block-heading]) {
  margin: 0.67em 0;
}
.p-privacy__content :where(h2[class*=wp-block-heading]) {
  font-size: 1.5em;
  margin-block: 0.83em;
  margin-inline: 0;
  font-weight: 700;
}
.p-privacy__content :where(h3[class*=wp-block-heading]) {
  font-size: 1.17em;
  margin-block: 1em;
  margin-inline: 0;
  font-weight: 700;
}
.p-privacy__content :where(h4[class*=wp-block-heading]) {
  margin-block: 1.33em 0;
  margin-inline: 0;
  font-weight: 700;
}
.p-privacy__content :where(p:not([class])) {
  margin-block: 1em;
  margin-inline: 0;
}
.p-privacy__content a:not([class]) {
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  color: #0073aa; /* WordPressのデフォルトリンクカラー */
}
.p-privacy__content .wp-block-image {
  margin: 1em 0;
}
.p-privacy__content .wp-block-embed iframe {
  display: block;
}
.p-privacy__content .wp-block-embed.aligncenter iframe {
  margin-inline: auto;
}
.p-privacy__content {
  width: min(100%, 768px);
  margin-inline: auto;
  counter-reset: --heading-order 0;
}
.p-privacy__content h2 {
  font-size: 1.25em;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  margin-block: 2em 1em;
  padding: 10px min(12px, 0.65em);
  counter-increment: --heading-order;
  -webkit-column-gap: 0.45em;
     -moz-column-gap: 0.45em;
          column-gap: 0.45em;
  color: var(--color-sub);
  background: var(--color-main);
}
.p-privacy__content h2::before {
  font-family: "Archivo", sans-serif;
  position: relative;
  display: block;
  content: counter(--heading-order, decimal-leading-zero) ".";
}
.p-privacy__content a:not([class]) {
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
  color: inherit;
}
.p-privacy__content a:not([class]):focus-visible {
  opacity: 0.75;
}
@media (any-hover: hover) {
  .p-privacy__content a:not([class]):hover {
    opacity: 0.75;
  }
}
.p-privacy__content > :first-child {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}
.p-privacy__content > :last-child {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

[data-page=forbidden] .l-page-head__title > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
  grid-area: title-ja;
}
[data-page=forbidden] .l-page-head__title {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template: "line2" 1fr "title-en" auto "title-ja" 1fr;
}

.p-forbidden {
  width: 100%;
}

.p-forbidden__content > .c-ruled-line:not([data-type=vertical]) {
  left: calc(max(var(--gutter), var(--content-inset-inline)) * -1);
  width: var(--viewport-width);
}
.p-forbidden__content > .c-ruled-line:not([data-type=vertical]).bottom {
  top: auto;
  bottom: 0;
}
.p-forbidden__content > .c-ruled-line[data-type=vertical] {
  top: 0;
  height: 100%;
}
.p-forbidden__content > .c-ruled-line[data-type=vertical].line1 {
  left: var(--gutter-vertical-ruled-line-offset-1);
}
.p-forbidden__content > .c-ruled-line[data-type=vertical].line2 {
  left: var(--gutter-vertical-ruled-line-offset-2);
}
.p-forbidden__content > .c-ruled-line[data-type=vertical].line3 {
  right: var(--gutter-vertical-ruled-line-offset-1);
  left: auto;
}
.p-forbidden__content > .c-ruled-line[data-type=vertical].line4 {
  right: var(--gutter-vertical-ruled-line-offset-3);
  left: auto;
}
.p-forbidden__content {
  position: relative;
  padding: var(--contents-spacer) var(--content-inner-gutter);
}

.p-forbidden__text {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.p-forbidden__btn {
  width: min(100%, 290px);
  -webkit-margin-before: 3.75em;
          margin-block-start: 3.75em;
  margin-inline: auto;
}
@media screen and (width <= 768px) {
  .p-forbidden__btn {
    -webkit-margin-before: 1.875em;
            margin-block-start: 1.875em;
  }
}

@media screen and (width > 768px) {
  .u-dn-md-min {
    display: none !important;
  }
}

@media screen and (width > 963px) {
  .u-dn-lg-min {
    display: none !important;
  }
}

@media screen and (width <= 576px) {
  .u-dn-sm-max {
    display: none !important;
  }
}

@media screen and (width <= 768px) {
  .u-dn-md-max {
    display: none !important;
  }
}

@media screen and (width <= 963px) {
  .u-dn-lg-max {
    display: none !important;
  }
}

.u-cf::after {
  display: block;
  clear: both;
  content: "";
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}/*# sourceMappingURL=style.css.map */