@charset "UTF-8";
/* min-width用 */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
}

@supports not (min-block-size: 100dvb) {
  :where(html) {
    block-size: 100%;
  }
}
@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}
:where(body) {
  block-size: 100%;
  block-size: 100dvb;
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}

:where(textarea) {
  resize: vertical;
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(button) {
  border-style: solid;
}

:where(a) {
  text-underline-offset: 0.2ex;
}

:where(ul:not(.wp-block-list), ol:not(.wp-block-list)) {
  list-style: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem);
}

:where(hr) {
  border: none;
  -webkit-border-before: 1px solid;
          border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(:focus-visible) {
  outline: 2px solid var(--focus-color, Highlight);
  outline-offset: 2px;
}

:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/**
* Available vars:
* @var --viewport-from: <number> - Number in pixels without the unit. Required if `--font-size` is not exist.
* @var --viewport-to: <number> - Number in pixels without the unit. Required if `--font-size` is not exist.
* @var --font-size-from: <number> - Number in pixels without the unit. Required if `--font-size` and `--min-font-size` is not exist.
* @var --font-size-to: <number> - Number in pixels without the unit. Required if `--font-size` and `--max-font-size` is not exist.
* @var --max-font-size: <number> - Number in pixels without the unit. Optional.
* @var --min-font-size: <number> - Number in pixels without the unit. Optional.
* @var --viewport-unit-converter: 1vw | 1vh | 1vmin | 1vmax - Optional. Default: 1vw.
* @var --font-size: <length> | <percentage> | <absolute-size> | <relative-size> | Global values - Optional.
*/
*,
*::before,
*::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

html {
  scrollbar-gutter: stable;
  -webkit-text-size-adjust: 100%;
}

html::-webkit-scrollbar {
  width: 12px;
}

html::-webkit-scrollbar-track {
  background: #FFFFFF;
}

html::-webkit-scrollbar-thumb {
  background-color: #292626;
  border-radius: 6px;
  border: 3px solid #FFFFFF;
}

body {
  font-family: "YakuHanJP", "Zen Kaku Gothic New", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "MS Pゴシック", "MS PGothic", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: #292626;
  line-height: 1.6;
  background: #FFFFFF;
}

:where(p) {
  --viewport-from: 375;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  font-weight: 400;
  line-height: 1.8;
}
:where(p) *,
:where(p) *::before,
:where(p) *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

b,
strong {
  font-weight: 700;
}

img {
  max-width: 100%;
  image-rendering: crisp-edges;
  image-rendering: -webkit-optimize-contrast;
}

a {
  color: #292626;
  text-decoration: none;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}

a[href*="tel:"] {
  text-decoration: none;
}
@media (min-width: 600px) {
  a[href*="tel:"] {
    pointer-events: none;
  }
}

@font-face {
  font-family: "LINESeedJP";
  src: url("../fonts/eot/LINESeedJP_TTF_Rg.eot"); /* IE用 */
  src: url("../fonts/eot/LINESeedJP_TTF_Rg.eot?#iefix") format("embedded-opentype"), url("../fonts/woff2/LINESeedJP_OTF_Rg.woff2") format("woff2"), url("../fonts/woff/LINESeedJP_OTF_Rg.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "LINESeedJP";
  src: url("../fonts/eot/LINESeedJP_TTF_Bd.eot"); /* IE用 */
  src: url("../fonts/eot/LINESeedJP_TTF_Bd.eot?#iefix") format("embedded-opentype"), url("../fonts/woff2/LINESeedJP_OTF_Bd.woff2") format("woff2"), url("../fonts/woff/LINESeedJP_OTF_Bd.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
.js-fade {
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  will-change: opacity, transform;
}

@-webkit-keyframes bg-move {
  from {
    background-position: left 0;
  }
  to {
    background-position: left 6740px;
  }
}

@keyframes bg-move {
  from {
    background-position: left 0;
  }
  to {
    background-position: left 6740px;
  }
}
.l-header {
  width: calc(100% - 32px);
  margin: 0 auto;
  background: rgba(41, 38, 38, 0.72);
  -webkit-backdrop-filter: blur(4px) brightness(0.92);
          backdrop-filter: blur(4px) brightness(0.92);
  border-radius: 4px;
  position: fixed;
  top: 16px;
  left: 0;
  right: 0;
  z-index: 121;
  -webkit-transition: width 0.4s cubic-bezier(0.77, 0, 0.175, 1);
  transition: width 0.4s cubic-bezier(0.77, 0, 0.175, 1);
}
.l-header.is-open {
  width: 100%;
  background: #292626;
  top: 0;
  border-radius: 0;
}
@media (min-width: 960px) {
  .l-header {
    width: min(90%, 732px);
    top: 24px;
  }
  .l-header.is-open {
    width: min(90%, 928px);
    border-radius: 4px;
    top: 24px;
  }
}
.l-header a.u-no-link {
  opacity: 0.24;
}
.l-header__inner {
  padding: 16px 14px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 8px;
}
.is-open .l-header__inner {
  padding: 16px 14px;
}
@media (min-width: 960px) {
  .l-header__inner {
    padding: 16px 24px;
    gap: 24px;
  }
  .is-open .l-header__inner {
    padding: 16px 32px;
  }
}
.l-header__logo {
  font-size: 12px;
  width: min(100%, 140px);
}
@media (min-width: 960px) {
  .l-header__logo {
    font-size: 16px;
    width: min(100%, 200px);
  }
}
.l-header__logo-link {
  color: #FFFFFF;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.l-header__logo-link img {
  width: min(100%, 80px);
}
@media (min-width: 960px) {
  .l-header__logo-link {
    gap: 12px;
  }
  .l-header__logo-link img {
    width: min(100%, 120px);
  }
}
.l-header__recruit {
  margin: 0 0 0 auto;
  padding-right: 8px;
  border-right: 1px solid #C3BFBE;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 12px;
}
@media (min-width: 960px) {
  .l-header__recruit {
    padding-right: 24px;
  }
}
.l-header__recruit-item {
  font-size: 14px;
  font-weight: 700;
}
.l-header__recruit-item.--tab-none {
  display: none;
}
@media (min-width: 960px) {
  .l-header__recruit-item.--tab-none {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}
.l-header__recruit-link {
  color: #FFFFFF;
  min-height: 26px;
  padding: 0 16px;
  background: #292626;
  border-radius: 999px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 960px) {
  .l-header__recruit-link {
    min-height: 32px;
    padding: 0 24px;
  }
}
.l-header__recruit-link span {
  font-size: 12px;
  padding: 2px;
  display: none;
}
@media (min-width: 960px) {
  .l-header__recruit-link span {
    display: inline-block;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-header__recruit-link:hover {
    background: #C62812;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__recruit-link:hover {
    background: #C62812;
  }
}
.l-header__recruit-link.--entry {
  color: #292626;
  background: #FFFFFF;
  padding: 0 16px;
  font-size: 0;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__recruit-link.--entry:hover {
    color: #FFFFFF;
    background: #C62812;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__recruit-link.--entry:hover {
    color: #FFFFFF;
    background: #C62812;
  }
}
@media (min-width: 960px) {
  .l-header__recruit-link.--entry {
    font-size: 14px;
  }
}
.l-header__recruit-link.--entry::before {
  content: attr(data-en);
  font-size: 12px;
}
@media (min-width: 960px) {
  .l-header__recruit-link.--entry::before {
    content: "";
  }
}
.l-header__menu {
  color: #FFFFFF;
  font-size: 12px;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  cursor: pointer;
}
.l-header__menu::before {
  content: "MENU";
  line-height: 1;
}
.is-open .l-header__menu::before {
  content: "CLOSE";
}
.l-header__menu-bar {
  width: 16px;
  height: 10px;
  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;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (min-width: 960px) {
  .l-header__menu-bar {
    width: 24px;
  }
}
.l-header__menu-bar::before {
  content: "";
  width: 100%;
  height: 2px;
  background: #FFFFFF;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.l-header__menu-bar::after {
  content: "";
  width: 100%;
  height: 2px;
  background: #FFFFFF;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.is-open .l-header__menu-bar::before {
  -webkit-transform: rotate(30deg) translateY(4px);
          transform: rotate(30deg) translateY(4px);
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.is-open .l-header__menu-bar::after {
  -webkit-transform: rotate(-30deg) translateY(-5px);
          transform: rotate(-30deg) translateY(-5px);
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.l-header__nav {
  color: #FFFFFF;
  padding: 0 16px;
  height: 0;
  background: #2F2C2C;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
}
@media (min-width: 960px) {
  .l-header__nav {
    padding: 0 32px;
    height: 0;
  }
}
.is-open .l-header__nav {
  height: calc(100dvh - 60px) !important;
  opacity: 1;
  visibility: visible;
  padding: 32px 32px 64px 32px;
  border-radius: 0;
  overflow-y: auto;
}
@media (min-width: 960px) {
  .is-open .l-header__nav {
    height: auto !important;
    padding: 48px 32px 24px 32px;
    border-radius: 0 0 4px 4px;
  }
}
.l-header__nav-main {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 32px 16px;
}
@media (min-width: 600px) {
  .l-header__nav-main {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 24px;
  }
}
.l-header__nav-column:first-of-type .l-header__nav-title:first-of-type {
  padding-top: 0;
  border-top: none;
}
.l-header__nav-title {
  color: #C3BFBE;
  font-size: 13px;
  padding-top: 12px;
  border-top: 1px solid #5C5756;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
}
@media (min-width: 600px) {
  .l-header__nav-title {
    padding: 0 0 12px 0;
    border-top: none;
    border-bottom: 1px solid #5C5756;
  }
}
.l-header__nav-title::before {
  content: "";
  width: 6px;
  height: 6px;
  background: #FFFFFF;
}
.l-header__nav-list {
  margin-top: 24px;
  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;
}
.l-header__nav-list + .l-header__nav-title {
  margin-top: 32px;
}
@media (min-width: 600px) {
  .l-header__nav-list + .l-header__nav-title {
    margin-top: 24px;
  }
}
.l-header__nav-item {
  margin-top: 8px;
}
.l-header__nav-item:has(> ul) {
  margin-top: 24px;
}
.l-header__nav-item:first-child {
  margin-top: 0;
}
.l-header__nav-link {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 15;
  --max-font-size: 16;
  color: #FFFFFF;
  font-weight: 700;
}
.l-header__nav-link *,
.l-header__nav-link *::before,
.l-header__nav-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (hover: hover) and (pointer: fine) {
  .l-header__nav-link:hover {
    color: #C62812;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__nav-link:hover {
    color: #C62812;
  }
}
.l-header__subnav-list {
  margin-top: 8px;
  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: 6px;
}
.l-header__subnav-link {
  font-size: 13px;
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 12;
  --max-font-size: 13;
  color: #C3BFBE;
}
.l-header__subnav-link *,
.l-header__subnav-link *::before,
.l-header__subnav-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (hover: hover) and (pointer: fine) {
  .l-header__subnav-link:hover {
    color: #C62812;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__subnav-link:hover {
    color: #C62812;
  }
}
.l-header__nav-recruit {
  margin-top: 48px;
  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: 16px;
}
@media (min-width: 600px) {
  .l-header__nav-recruit {
    display: none;
  }
}
.l-header__nav-recruit-link {
  font-size: 14px;
  font-weight: 700;
  padding: 12px 12px 12px 16px;
  background: -webkit-gradient(linear, left top, left bottom, from(#C62812), to(#C62812)) no-repeat left center/6px 24px;
  background: -webkit-linear-gradient(#C62812, #C62812) no-repeat left center/6px 24px;
  background: linear-gradient(#C62812, #C62812) no-repeat left center/6px 24px;
  background-color: #FFFFFF;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.l-header__nav-recruit-link::before {
  content: attr(data-en);
  font-size: 28px;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
}
.l-header__nav-recruit-link::after {
  content: "";
  min-width: 17px;
  aspect-ratio: 17/16;
  margin-left: auto;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16"><g transform="translate(-6)"><path d="M18.194,6.227,10.128,0,8.943,1.612l7.893,6.081a.617.617,0,0,1,0,.775L9.1,14.385,10.283,16l7.8-5.971.106-.095a2.668,2.668,0,0,0,0-3.708" transform="translate(4.057)" fill="%23C62812"/><rect width="12" height="2" transform="translate(6 7)" fill="%23C62812"/></g></svg>') no-repeat no-repeat center center/100% auto;
}
.l-header__banner {
  margin-top: 24px;
}
.l-header__banner img {
  border-radius: 4px;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.l-header__banner-link {
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 700;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__banner-link:hover {
    color: #C62812;
  }
  .l-header__banner-link:hover img {
    opacity: 0.7;
  }
  .l-header__banner-link:hover .l-header__banner-text::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M121.778-824a1.712,1.712,0,0,1-1.256-.522,1.712,1.712,0,0,1-.522-1.256v-12.444a1.712,1.712,0,0,1,.522-1.256,1.712,1.712,0,0,1,1.256-.522H128v1.778h-6.222v12.444h12.444V-832H136v6.222a1.712,1.712,0,0,1-.522,1.256,1.712,1.712,0,0,1-1.256.522Zm4.178-4.711-1.244-1.244,8.267-8.267h-3.2V-840H136v6.222h-1.778v-3.2Z" transform="translate(-120 840)" fill="%23C62812"/></svg>') no-repeat no-repeat center center/100% auto;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__banner-link:hover {
    color: #C62812;
  }
  .l-header__banner-link:hover img {
    opacity: 0.7;
  }
  .l-header__banner-link:hover .l-header__banner-text::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M121.778-824a1.712,1.712,0,0,1-1.256-.522,1.712,1.712,0,0,1-.522-1.256v-12.444a1.712,1.712,0,0,1,.522-1.256,1.712,1.712,0,0,1,1.256-.522H128v1.778h-6.222v12.444h12.444V-832H136v6.222a1.712,1.712,0,0,1-.522,1.256,1.712,1.712,0,0,1-1.256.522Zm4.178-4.711-1.244-1.244,8.267-8.267h-3.2V-840H136v6.222h-1.778v-3.2Z" transform="translate(-120 840)" fill="%23C62812"/></svg>') no-repeat no-repeat center center/100% auto;
  }
}
.l-header__banner-text {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.3;
  margin-top: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.l-header__banner-text *,
.l-header__banner-text *::before,
.l-header__banner-text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-header__banner-text::after {
  content: "";
  min-width: 12px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M121.778-824a1.712,1.712,0,0,1-1.256-.522,1.712,1.712,0,0,1-.522-1.256v-12.444a1.712,1.712,0,0,1,.522-1.256,1.712,1.712,0,0,1,1.256-.522H128v1.778h-6.222v12.444h12.444V-832H136v6.222a1.712,1.712,0,0,1-.522,1.256,1.712,1.712,0,0,1-1.256.522Zm4.178-4.711-1.244-1.244,8.267-8.267h-3.2V-840H136v6.222h-1.778v-3.2Z" transform="translate(-120 840)" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center/100% auto;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.l-header__catch {
  margin-top: 56px;
  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: 16px;
}
.l-header__catch-line {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
}
.l-header__catch-line img {
  background: #2F2C2C;
}
.l-header__catch-line img:last-child {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
}
.l-header__catch-line img:first-child {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.l-header__catch-line::before {
  content: "";
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background-color: transparent;
  background-image: -webkit-repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0, rgba(255, 255, 255, 0.08) 1px, transparent 1px, transparent 3px);
  background-image: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.08) 0, rgba(255, 255, 255, 0.08) 1px, transparent 1px, transparent 3px);
  background-size: 4px 4px;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
.l-header__nav-sns {
  margin-top: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px;
}
@media (min-width: 600px) {
  .l-header__nav-sns {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
  }
}
.l-header__sns-title {
  font-size: 14px;
  color: #C3BFBE;
  width: 100%;
}
@media (min-width: 600px) {
  .l-header__sns-title {
    width: auto;
  }
}
.l-header__sns-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}
.l-header__sns-link {
  font-size: 14px;
  color: #C3BFBE;
  line-height: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 6px;
}
.l-header__sns-link::before {
  content: "";
  min-width: 6px;
  aspect-ratio: 1/1;
  background: #5C5756;
  margin-top: 0.4em;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (hover: hover) and (pointer: fine) {
  .l-header__sns-link:hover::before {
    background: #C62812;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__sns-link:hover::before {
    background: #C62812;
  }
}

.l-overlay {
  width: 100vw;
  height: 100vh;
  margin: 0 calc(50% - 50vw);
  position: fixed;
  inset: 0;
  top: -24px;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  z-index: -1;
}
.is-open .l-overlay {
  opacity: 1;
  visibility: visible;
}

.l-footer {
  color: #FFFFFF;
  background: #292626;
  padding: 48px 0 64px 0;
  position: relative;
}
@media (min-width: 600px) {
  .l-footer {
    padding: 80px 0 64px 0;
  }
}
.l-footer a.u-no-link {
  opacity: 0.24;
}
.l-footer__inner {
  width: min(100% - 48px, 1280px);
  margin: 0 auto;
}
@media (min-width: 1440px) {
  .l-footer__inner {
    width: min(100% - 160px, 1280px);
  }
}
.l-footer__nav {
  padding: 24px;
  background: #2F2C2C;
  border-radius: 8px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 32px;
}
@media (min-width: 600px) {
  .l-footer__nav {
    grid-template-columns: repeat(2, 1fr);
    padding: 24px 40px 40px 40px;
    gap: 48px;
  }
}
@media (min-width: 960px) {
  .l-footer__nav {
    grid-template-columns: repeat(4, 1fr);
    padding: 24px 40px 40px 40px;
  }
}
.l-footer__nav-column:first-of-type .l-footer__nav-title:first-of-type {
  padding-top: 0;
  border-top: none;
}
.l-footer__nav-title {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 13;
  --max-font-size: 14;
  color: #C3BFBE;
  padding-top: 12px;
  border-top: 1px solid #5C5756;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.l-footer__nav-title *,
.l-footer__nav-title *::before,
.l-footer__nav-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-footer__nav-title::before {
  content: "";
  width: 6px;
  aspect-ratio: 1/1;
  background: #FFFFFF;
}
@media (min-width: 600px) {
  .l-footer__nav-title {
    padding: 0 0 12px 0;
    border-top: none;
    border-bottom: 1px solid #5C5756;
  }
  .l-footer__nav-title::before {
    display: none;
  }
}
.l-footer__nav-list {
  margin-top: 24px;
  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;
}
@media (min-width: 600px) {
  .l-footer__nav-list {
    margin-top: 32px;
  }
}
.l-footer__nav-item {
  margin-top: 12px;
}
.l-footer__nav-item:has(> ul) {
  margin-top: 24px;
}
.l-footer__nav-item:first-child {
  margin-top: 0;
}
.l-footer__nav-link {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 15;
  --max-font-size: 18;
  color: #FFFFFF;
  font-weight: 700;
}
.l-footer__nav-link *,
.l-footer__nav-link *::before,
.l-footer__nav-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__nav-link:hover {
    color: #C62812;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-footer__nav-link:hover {
    color: #C62812;
  }
}
.l-footer__subnav-list {
  margin-top: 8px;
  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: 6px;
}
@media (min-width: 600px) {
  .l-footer__subnav-list {
    margin-top: 16px;
    gap: 10px;
  }
}
.l-footer__subnav-link {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 12;
  --max-font-size: 14;
  color: #C3BFBE;
}
.l-footer__subnav-link *,
.l-footer__subnav-link *::before,
.l-footer__subnav-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__subnav-link:hover {
    color: #C62812;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-footer__subnav-link:hover {
    color: #C62812;
  }
}
.l-footer__bottom {
  margin-top: 60px;
  padding: 48px 0 0 0;
  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-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
@media (min-width: 960px) {
  .l-footer__bottom {
    margin-top: 80px;
    padding: 80px 0 0 0;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-footer__bottom::before {
  content: "";
  width: 100vw;
  height: 2px;
  margin: 0 calc(50% - 50vw);
  background: #5C5756;
  border-top: 1px solid #21110D;
  position: absolute;
  top: 0;
  left: 0;
}
.l-footer__pagetop {
  position: absolute;
  top: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (min-width: 960px) {
  .l-footer__pagetop {
    right: 0;
  }
}
.l-footer__pagetop-link {
  font-size: 14px;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  display: inline-block;
  padding: 4px 16px;
  background: #FFFFFF;
  border-radius: 999px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.l-footer__pagetop-link::before {
  content: "";
  width: 12px;
  height: 8px;
  background: #292626;
  -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
          clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}
.l-footer__logo {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 14;
  --max-font-size: 16;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  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;
  gap: 8px;
}
.l-footer__logo *,
.l-footer__logo *::before,
.l-footer__logo *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-footer__logo img {
  width: min(100%, 140px);
}
@media (min-width: 960px) {
  .l-footer__logo {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 12px;
  }
  .l-footer__logo img {
    width: min(100%, 160px);
  }
}
.l-footer__sns {
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  margin-top: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
}
@media (min-width: 600px) {
  .l-footer__sns {
    margin-top: 40px;
  }
}
.l-footer__sns-link {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 14;
  --max-font-size: 16;
  color: #FFFFFF;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.l-footer__sns-link *,
.l-footer__sns-link *::before,
.l-footer__sns-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-footer__sns-link::before {
  content: "";
  min-width: 6px;
  aspect-ratio: 1/1;
  background: #5C5756;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__sns-link:hover::before {
    background: #C62812;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-footer__sns-link:hover::before {
    background: #C62812;
  }
}
.l-footer__info {
  margin-top: 64px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
@media (min-width: 960px) {
  .l-footer__info {
    margin: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 40px;
  }
}
.l-footer__links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
@media (min-width: 960px) {
  .l-footer__links {
    gap: 24px;
  }
}
.l-footer__link a {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 12;
  --max-font-size: 14;
  color: #C3BFBE;
  text-decoration: underline;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.l-footer__link a *,
.l-footer__link a *::before,
.l-footer__link a *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-footer__link a.--blank {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
@media (min-width: 600px) {
  .l-footer__link a.--blank {
    gap: 8px;
  }
}
.l-footer__link a.--blank::after {
  content: "";
  width: 12px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M121.778-824a1.712,1.712,0,0,1-1.256-.522,1.712,1.712,0,0,1-.522-1.256v-12.444a1.712,1.712,0,0,1,.522-1.256,1.712,1.712,0,0,1,1.256-.522H128v1.778h-6.222v12.444h12.444V-832H136v6.222a1.712,1.712,0,0,1-.522,1.256,1.712,1.712,0,0,1-1.256.522Zm4.178-4.711-1.244-1.244,8.267-8.267h-3.2V-840H136v6.222h-1.778v-3.2Z" transform="translate(-120 840)" fill="%23C3BFBE"/></svg>') no-repeat no-repeat center center/100% auto;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (min-width: 600px) {
  .l-footer__link a.--blank::after {
    width: 16px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__link a:hover {
    color: #C62812;
    text-decoration: none;
  }
  .l-footer__link a:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M121.778-824a1.712,1.712,0,0,1-1.256-.522,1.712,1.712,0,0,1-.522-1.256v-12.444a1.712,1.712,0,0,1,.522-1.256,1.712,1.712,0,0,1,1.256-.522H128v1.778h-6.222v12.444h12.444V-832H136v6.222a1.712,1.712,0,0,1-.522,1.256,1.712,1.712,0,0,1-1.256.522Zm4.178-4.711-1.244-1.244,8.267-8.267h-3.2V-840H136v6.222h-1.778v-3.2Z" transform="translate(-120 840)" fill="%23C62812"/></svg>') no-repeat no-repeat center center/100% auto;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-footer__link a:hover {
    color: #C62812;
    text-decoration: none;
  }
  .l-footer__link a:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M121.778-824a1.712,1.712,0,0,1-1.256-.522,1.712,1.712,0,0,1-.522-1.256v-12.444a1.712,1.712,0,0,1,.522-1.256,1.712,1.712,0,0,1,1.256-.522H128v1.778h-6.222v12.444h12.444V-832H136v6.222a1.712,1.712,0,0,1-.522,1.256,1.712,1.712,0,0,1-1.256.522Zm4.178-4.711-1.244-1.244,8.267-8.267h-3.2V-840H136v6.222h-1.778v-3.2Z" transform="translate(-120 840)" fill="%23C62812"/></svg>') no-repeat no-repeat center center/100% auto;
  }
}
.l-footer__copyright {
  font-size: 14px;
  color: #C3BFBE;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
}

.l-container {
  overflow: clip;
  position: relative;
}

.l-sections {
  padding-bottom: 30px;
  background: url(../img/common/bg_section.png) 300px 300px;
  border: 5px solid #C62812;
}
@media (min-width: 600px) {
  .l-sections {
    padding-bottom: 70px;
    border: 10px solid #C62812;
  }
}
.l-sections:has(.p-404-notfound) {
  padding-bottom: 0;
}

/*------------------------------------
  recruit
-------------------------------------*/
.l-recruit {
  background: #C62812;
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 600px) {
  .l-recruit {
    grid-template-columns: 45% 55%;
  }
}
.l-recruit__youtube {
  padding: 32px 24px;
  border-bottom: 1px solid #D58070;
}
@media (min-width: 600px) {
  .l-recruit__youtube {
    padding: 40px 32px;
    grid-column: 1/-1;
  }
}
@media (min-width: 960px) {
  .l-recruit__youtube {
    padding: 80px 40px;
  }
}
.l-recruit__youtube-link {
  pointer-events: none;
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 14;
  --max-font-size: 16;
  color: #FFFFFF;
  font-weight: 700;
  width: min(100%, 1180px);
  margin: 0 auto;
  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;
  -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;
  gap: 8px;
  overflow: hidden;
  position: relative;
}
.l-recruit__youtube-link *,
.l-recruit__youtube-link *::before,
.l-recruit__youtube-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-recruit__youtube-link img {
  width: 70%;
  position: absolute;
  top: 18%;
}
.l-recruit__youtube-link::before {
  content: "";
  width: 100%;
  aspect-ratio: 342/92;
  background: url(../img/home/bg_youtube.jpg) no-repeat center center/auto 100%;
  border-radius: 4px;
}
.l-recruit__youtube-link::after {
  content: "";
  margin: auto;
  width: calc(100% - 10px);
  aspect-ratio: 332/82;
  border: 1px solid #FFFFFF;
  border-radius: 4px;
  position: absolute;
  top: 4%;
  left: 5px;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (min-width: 600px) {
  .l-recruit__youtube-link {
    aspect-ratio: 1180/210;
  }
  .l-recruit__youtube-link img {
    width: min(34%, 402px);
    position: static;
  }
  .l-recruit__youtube-link::before {
    border-radius: 8px;
    aspect-ratio: 1180/210;
    position: absolute;
    top: 0;
    z-index: -1;
    -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
    transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  }
  .l-recruit__youtube-link::after {
    width: calc(100% - 20px);
    aspect-ratio: 1150/178;
    border: 2px solid #FFFFFF;
    top: 10px;
    left: 10px;
  }
}
@media (min-width: 960px) {
  .l-recruit__youtube-link {
    border-radius: 8px;
    min-height: 210px;
    gap: 15px;
  }
  .l-recruit__youtube-link::before {
    height: 100%;
  }
  .l-recruit__youtube-link::after {
    width: calc(100% - 30px);
    height: calc(100% - 32px);
    aspect-ratio: initial;
    inset: 0;
  }
}
@media (max-width: 600px) {
  .l-recruit__youtube-link {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .l-recruit__youtube-link span {
    text-align: left;
    width: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
  }
  .l-recruit__youtube-link span::after {
    content: "";
    width: 12px;
    aspect-ratio: 1/1;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M121.778-824a1.712,1.712,0,0,1-1.256-.522,1.712,1.712,0,0,1-.522-1.256v-12.444a1.712,1.712,0,0,1,.522-1.256,1.712,1.712,0,0,1,1.256-.522H128v1.778h-6.222v12.444h12.444V-832H136v6.222a1.712,1.712,0,0,1-.522,1.256,1.712,1.712,0,0,1-1.256.522Zm4.178-4.711-1.244-1.244,8.267-8.267h-3.2V-840H136v6.222h-1.778v-3.2Z" transform="translate(-120 840)" fill="%23FFFFFF"/></svg>') no-repeat center center/100% auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-recruit__youtube-link:hover::after {
    border: 2px solid #C62812;
  }
  .l-recruit__youtube-link:hover::before {
    background-size: auto 105%;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-recruit__youtube-link:hover::after {
    border: 2px solid #C62812;
  }
  .l-recruit__youtube-link:hover::before {
    background-size: auto 105%;
  }
}
.l-recruit__youtube-overlay {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
}
@media (max-width: 600px) {
  .l-recruit__youtube-overlay {
    border-radius: 4px;
  }
}
.l-recruit__youtube-coming {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  --viewport-from: 375;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  font-weight: 700;
  color: #292626;
  padding: 4px 24px;
  background: #FFFFFF;
  border-left: 8px solid #C62812;
  border-radius: 2px 0 0 2px;
  z-index: 1;
}
.l-recruit__youtube-coming *,
.l-recruit__youtube-coming *::before,
.l-recruit__youtube-coming *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-recruit__story {
  padding: 48px 24px 0 24px;
}
@media (min-width: 600px) {
  .l-recruit__story {
    padding: 48px 32px;
    border-right: 1px solid #D58070;
  }
}
@media (min-width: 960px) {
  .l-recruit__story {
    padding: 90px 64px;
  }
}
.l-recruit__story-inner {
  width: min(100%, 435px);
  margin: 0 auto;
}
.l-recruit__story-title {
  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;
}
@media (max-width: 600px) {
  .l-recruit__story-title {
    width: min(100%, 280px);
    margin: 0 auto;
  }
}
.l-recruit__story-caption {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 14;
  --max-font-size: 16;
  color: #FFFFFF;
  line-height: 2;
  margin-top: 24px;
  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;
}
.l-recruit__story-caption *,
.l-recruit__story-caption *::before,
.l-recruit__story-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .l-recruit__story-caption {
    margin-top: 32px;
  }
}
.l-recruit__entry {
  padding: 32px 24px 48px 24px;
}
@media (min-width: 600px) {
  .l-recruit__entry {
    padding: 32px;
  }
}
@media (min-width: 960px) {
  .l-recruit__entry {
    padding: 64px;
  }
}
.l-recruit__entry-inner {
  width: min(100%, 660px);
  margin: 0 auto;
}
.l-recruit__entry-section {
  background: #B22410;
  border-radius: 8px;
}
.l-recruit__entry-title {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 14;
  --max-font-size: 16;
  color: #FFFFFF;
  font-weight: 700;
  padding: 12px 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 8px;
  position: relative;
}
.l-recruit__entry-title *,
.l-recruit__entry-title *::before,
.l-recruit__entry-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .l-recruit__entry-title {
    padding: 16px 24px;
  }
}
.l-recruit__entry-title::before {
  content: "";
  width: 6px;
  aspect-ratio: 1/1;
  background: #FFFFFF;
}
.l-recruit__entry-title::after {
  content: "";
  width: 100%;
  height: 2px;
  display: block;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(139, 31, 16)), color-stop(50%, rgb(139, 31, 16)), color-stop(50%, rgb(219, 82, 63)), to(rgb(219, 82, 63)));
  background: -webkit-linear-gradient(top, rgb(139, 31, 16) 0%, rgb(139, 31, 16) 50%, rgb(219, 82, 63) 50%, rgb(219, 82, 63) 100%);
  background: linear-gradient(180deg, rgb(139, 31, 16) 0%, rgb(139, 31, 16) 50%, rgb(219, 82, 63) 50%, rgb(219, 82, 63) 100%);
  background-size: 2px auto;
  position: absolute;
  left: 0;
  bottom: 0;
}
.l-recruit__entry-list {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 14;
  --max-font-size: 20;
  font-weight: 700;
  padding: 24px;
  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: 16px;
}
.l-recruit__entry-list *,
.l-recruit__entry-list *::before,
.l-recruit__entry-list *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 960px) {
  .l-recruit__entry-list {
    padding: 40px;
  }
}
.l-recruit__entry-link {
  padding: 16px 24px;
  background: #FFFFFF;
  border-radius: 4px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
}
.l-recruit__entry-link::after {
  content: "";
  width: 17px;
  aspect-ratio: 17/16;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16"><g transform="translate(-6)"><path d="M18.194,6.227,10.128,0,8.943,1.612l7.893,6.081a.617.617,0,0,1,0,.775L9.1,14.385,10.283,16l7.8-5.971.106-.095a2.668,2.668,0,0,0,0-3.708" transform="translate(4.057)" fill="%23C62812"/><rect width="12" height="2" transform="translate(6 7)" fill="%23C62812"/></g></svg>') no-repeat no-repeat center center/100% auto;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.l-recruit__entry-link.--form {
  color: #FFFFFF;
  background: #292626;
}
.l-recruit__entry-link.--form::after {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16"><g transform="translate(-6)"><path d="M18.194,6.227,10.128,0,8.943,1.612l7.893,6.081a.617.617,0,0,1,0,.775L9.1,14.385,10.283,16l7.8-5.971.106-.095a2.668,2.668,0,0,0,0-3.708" transform="translate(4.057)" fill="%23FFFFFF"/><rect width="12" height="2" transform="translate(6 7)" fill="%23FFFFFF"/></g></svg>') no-repeat no-repeat center center/100% auto;
}
.l-recruit__link-list {
  margin-top: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}
@media (min-width: 960px) {
  .l-recruit__link-list {
    margin-top: 32px;
    gap: 40px;
  }
}
.l-recruit__link {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 14;
  --max-font-size: 24;
  color: #FFFFFF;
  font-weight: 700;
  text-decoration: underline;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.l-recruit__link *,
.l-recruit__link *::before,
.l-recruit__link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-recruit__link::after {
  content: "";
  width: 17px;
  aspect-ratio: 17/16;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16"><g transform="translate(-6)"><path d="M18.194,6.227,10.128,0,8.943,1.612l7.893,6.081a.617.617,0,0,1,0,.775L9.1,14.385,10.283,16l7.8-5.971.106-.095a2.668,2.668,0,0,0,0-3.708" transform="translate(4.057)" fill="%23FFFFFF"/><rect width="12" height="2" transform="translate(6 7)" fill="%23FFFFFF"/></g></svg>') no-repeat no-repeat center center/100% auto;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (hover: hover) and (pointer: fine) {
  .l-recruit__link:hover {
    color: #C3BFBE;
  }
  .l-recruit__link:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16"><g transform="translate(-6)"><path d="M18.194,6.227,10.128,0,8.943,1.612l7.893,6.081a.617.617,0,0,1,0,.775L9.1,14.385,10.283,16l7.8-5.971.106-.095a2.668,2.668,0,0,0,0-3.708" transform="translate(4.057)" fill="%23C3BFBE"/><rect width="12" height="2" transform="translate(6 7)" fill="%23C3BFBE"/></g></svg>') no-repeat no-repeat center center/100% auto;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-recruit__link:hover {
    color: #C3BFBE;
  }
  .l-recruit__link:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16"><g transform="translate(-6)"><path d="M18.194,6.227,10.128,0,8.943,1.612l7.893,6.081a.617.617,0,0,1,0,.775L9.1,14.385,10.283,16l7.8-5.971.106-.095a2.668,2.668,0,0,0,0-3.708" transform="translate(4.057)" fill="%23C3BFBE"/><rect width="12" height="2" transform="translate(6 7)" fill="%23C3BFBE"/></g></svg>') no-repeat no-repeat center center/100% auto;
  }
}

.c-hero {
  width: 100%;
  background: url(../img/common/bg_hero.png) no-repeat #C62812 top right/100% auto;
  position: relative;
}
.c-hero::before {
  content: "";
  width: 100%;
  min-height: 93px;
  border-bottom: 1px solid #D58070;
  display: block;
  position: relative;
  z-index: 1;
}
@media (min-width: 960px) {
  .c-hero::before {
    min-height: 124px;
  }
}
.c-hero::after {
  content: "";
  width: 24px;
  height: 12px;
  background: #D58070;
  position: absolute;
  inset: 0;
  top: 104px;
  margin: auto 0;
}
@media (min-width: 600px) {
  .c-hero::after {
    width: 50px;
    top: 124px;
  }
}
.c-hero__inner {
  width: min(100% - 48px, 1180px);
  aspect-ratio: 3/2;
  margin: 0 auto;
  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;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 600px) {
  .c-hero__inner {
    aspect-ratio: 1180/490;
  }
}
@media (min-width: 1440px) {
  .c-hero__inner {
    width: min(100% - 160px, 1180px);
  }
}
.c-hero__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 32;
  color: #FFFFFF;
  padding: 0 0 0 32px;
}
.c-hero__title *,
.c-hero__title *::before,
.c-hero__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .c-hero__title {
    padding: 0 0 0 104px;
  }
}
.c-hero__title::before {
  content: attr(data-en);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 120;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  line-height: 1.2;
  display: block;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}
.c-hero__title::before *,
.c-hero__title::before *::before,
.c-hero__title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-hero__title.--line-2 {
  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;
}
.c-hero__title.--line-2::before {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}
.c-hero__title.--line-2::after {
  content: attr(data-first);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 120;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  line-height: 0.6;
  margin-left: -32px;
  display: block;
  -webkit-box-ordinal-group: -1;
  -webkit-order: -2;
      -ms-flex-order: -2;
          order: -2;
}
.c-hero__title.--line-2::after *,
.c-hero__title.--line-2::after *::before,
.c-hero__title.--line-2::after *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .c-hero__title.--line-2::after {
    margin-left: -104px;
  }
}

.c-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 24;
  color: #C62812;
}
.c-title *,
.c-title *::before,
.c-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-title::before {
  content: attr(data-en);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 32;
  --max-font-size: 72;
  color: #292626;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 4px;
  display: block;
}
.c-title::before *,
.c-title::before *::before,
.c-title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .c-title::before {
    margin-bottom: 8px;
  }
}
.c-title.--large::before {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 104;
}
.c-title.--large::before *,
.c-title.--large::before *::before,
.c-title.--large::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

.c-subtitle {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 28;
  font-weight: 700;
}
.c-subtitle *,
.c-subtitle *::before,
.c-subtitle *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-subtitle::before {
  content: "";
  width: 24px;
  height: 4px;
  background: #C62812;
  margin-bottom: 6px;
  display: block;
}
@media (min-width: 600px) {
  .c-subtitle::before {
    margin-bottom: 12px;
  }
}

.c-subtitle-plain {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 28;
  font-weight: 700;
}
.c-subtitle-plain *,
.c-subtitle-plain *::before,
.c-subtitle-plain *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

.c-button {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 8px;
}
.c-button::before {
  content: "(";
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
}
.c-button::before *,
.c-button::before *::before,
.c-button::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-button::after {
  content: ")";
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
}
.c-button::after *,
.c-button::after *::before,
.c-button::after *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-button__link {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
  font-weight: 700;
  text-decoration: underline;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.c-button__link *,
.c-button__link *::before,
.c-button__link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-button__link::after {
  content: "";
  min-width: 14px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16"><g transform="translate(-6)"><path d="M18.194,6.227,10.128,0,8.943,1.612l7.893,6.081a.617.617,0,0,1,0,.775L9.1,14.385,10.283,16l7.8-5.971.106-.095a2.668,2.668,0,0,0,0-3.708" transform="translate(4.057)" fill="%23C62812"/><rect width="12" height="2" transform="translate(6 7)" fill="%23C62812"/></g></svg>') no-repeat center center/100% auto;
}
@media (min-width: 600px) {
  .c-button__link::after {
    min-width: 17px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-button__link:hover {
    color: #C62812;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-button__link:hover {
    color: #C62812;
  }
}

.c-section {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #C3BFBE;
}
.c-section__head {
  min-width: 28px;
  padding: 20px 0;
  border-right: 1px solid #C3BFBE;
  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;
}
@media (min-width: 600px) {
  .c-section__head {
    min-width: 80px;
    padding: 32px 0;
  }
}
.c-section__title {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 12;
  --max-font-size: 16;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-weight: 500;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.c-section__title *,
.c-section__title *::before,
.c-section__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-section__title-en {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 14;
  --max-font-size: 20;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 400;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.c-section__title-en *,
.c-section__title-en *::before,
.c-section__title-en *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .c-section__title-en {
    gap: 8px;
  }
}
.c-section__title-en::before {
  content: "";
  width: 6px;
  aspect-ratio: 1/1;
  background: #C62812;
}
.c-section__title-en::after {
  content: "";
  width: 1px;
  height: 12px;
  background: #5C5756;
}
.c-section__title-en.--jp-none::after {
  display: none;
}
.c-section__body {
  min-width: calc(100% - 28px);
}
@media (min-width: 600px) {
  .c-section__body {
    min-width: calc(100% - 80px);
  }
}
.c-section:first-of-type .c-section__body::before {
  content: "";
  width: 100%;
  height: 30px;
  border-bottom: 1px solid #C3BFBE;
  display: block;
}
@media (min-width: 600px) {
  .c-section:first-of-type .c-section__body::before {
    height: 80px;
  }
}
.c-section__body-inner {
  padding: 48px 24px;
}
@media (min-width: 600px) {
  .c-section__body-inner {
    padding: min(6vw, 80px);
  }
}

.c-pagenavi {
  margin: 16px 0 40px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
}
@media (min-width: 600px) {
  .c-pagenavi {
    margin: 40px 0 80px 0;
  }
}
.c-pagenavi .page-numbers {
  font-size: 14px;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  width: 32px;
  aspect-ratio: 1/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;
}
.c-pagenavi .current {
  color: #9A9793;
}
.c-pagenavi .next, .c-pagenavi .prev {
  border: 1px solid #C3BFBE;
  border-radius: 4px;
  background: url(../img/common/ic_page-arrow.svg) #FFFFFF no-repeat center center/6px 10px;
}
.c-pagenavi .next {
  margin-left: 24px;
}
.c-pagenavi .prev {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
  margin-right: 24px;
}

.c-swiper .swiper-wrapper {
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.c-swiper__slide {
  position: relative;
  height: auto;
}
.c-swiper__link {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 16px;
  background: url(../img/home/bg_slide.png) #FFFFFF top center/300px 300px;
  border-radius: 8px;
  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;
  height: 100%;
}
@media (min-width: 600px) {
  .c-swiper__link {
    padding: 24px;
  }
}
.c-swiper__image {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 4px;
}
.c-swiper__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-swiper__catch {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 24;
  line-height: 1.4;
  font-weight: 700;
  margin-top: 16px;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.c-swiper__catch *,
.c-swiper__catch *::before,
.c-swiper__catch *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .c-swiper__catch {
    margin-top: 24px;
  }
}
.c-swiper__job {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  margin-top: 12px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.c-swiper__job *,
.c-swiper__job *::before,
.c-swiper__job *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-swiper__job::before {
  content: "";
  width: 6px;
  aspect-ratio: 1/1;
  background: #C62812;
  display: inline-block;
}
.c-swiper__name {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 11;
  --max-font-size: 12;
  margin-top: 4px;
}
.c-swiper__name *,
.c-swiper__name *::before,
.c-swiper__name *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-swiper__year {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 11;
  --max-font-size: 14;
  color: #5C5756;
  margin-top: 32px;
  padding: 24px 0 0 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  position: relative;
}
.c-swiper__year *,
.c-swiper__year *::before,
.c-swiper__year *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-swiper__year::before {
  content: "";
  width: calc(100% + 32px);
  height: 2px;
  margin: 0 -16px;
  border-top: 1px solid #C3BFBE;
  border-bottom: 1px solid #FFFFFF;
  position: absolute;
  top: 0;
}
@media (min-width: 600px) {
  .c-swiper__year::before {
    width: calc(100% + 48px);
    margin: 0 -24px;
  }
}
.c-swiper__year::after {
  content: "Read more";
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 11;
  --max-font-size: 12;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  color: #FFFFFF;
  padding: 0 10px;
  background: #292626;
  border-radius: 999px;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.c-swiper__year::after *,
.c-swiper__year::after *::before,
.c-swiper__year::after *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-swiper-button-prev, .c-swiper-button-next {
  position: static;
  width: 48px;
  height: 48px;
  margin: 0;
  background: #FFFFFF;
  border-radius: 50%;
  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;
}
@media (min-width: 600px) {
  .c-swiper-button-prev, .c-swiper-button-next {
    width: 56px;
    height: 56px;
  }
}
.c-swiper-button-prev::after, .c-swiper-button-next::after {
  content: "";
  width: 20px;
  aspect-ratio: 24/16;
  background: url(../img/home/slide_button_arrow.svg) no-repeat center center/100% auto;
  display: block;
}
@media (min-width: 600px) {
  .c-swiper-button-prev::after, .c-swiper-button-next::after {
    width: 24px;
  }
}
.c-swiper-button-prev::after {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.c-swiper-autoplay-toggle {
  width: 48px;
  aspect-ratio: 1/1;
  background: #FFFFFF;
  border-radius: 50%;
  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;
  cursor: pointer;
}
@media (min-width: 600px) {
  .c-swiper-autoplay-toggle {
    width: 56px;
  }
}
.c-swiper-autoplay-toggle::before {
  content: "";
  width: 12px;
  height: 16px;
  background: url(../img/home/slide_button_stop.svg) no-repeat center center/100% auto;
}
.c-swiper-autoplay-toggle.paused::before {
  background: url(../img/home/slide_button_play.svg) no-repeat center center/100% auto;
}

.p-home-banner {
  width: min(100%, 180px);
  min-height: 74px;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#C62812), to(#C62812)), -webkit-gradient(linear, left top, left bottom, from(#C3BFBE), to(#C3BFBE)), -webkit-gradient(linear, left top, left bottom, from(#C3BFBE), to(#C3BFBE)), -webkit-gradient(linear, left top, left bottom, from(#C3BFBE), to(#C3BFBE)), -webkit-gradient(linear, left top, left bottom, from(#C3BFBE), to(#C3BFBE));
  background-image: -webkit-linear-gradient(#C62812, #C62812), -webkit-linear-gradient(#C3BFBE, #C3BFBE), -webkit-linear-gradient(#C3BFBE, #C3BFBE), -webkit-linear-gradient(#C3BFBE, #C3BFBE), -webkit-linear-gradient(#C3BFBE, #C3BFBE);
  background-image: linear-gradient(#C62812, #C62812), linear-gradient(#C3BFBE, #C3BFBE), linear-gradient(#C3BFBE, #C3BFBE), linear-gradient(#C3BFBE, #C3BFBE), linear-gradient(#C3BFBE, #C3BFBE);
  background-color: #FFFFFF;
  background-size: 7px 32px, 1px calc(100% - 12px), 1px calc(100% - 12px), 100% 1px, 100% 1px;
  background-position: 0 center, calc(100% - 6px) 6px, 6px 6px, 0 6px, 0 calc(100% - 6px);
  background-repeat: no-repeat;
  -webkit-filter: drop-shadow(0px 2px 4px rgba(60, 46, 43, 0.24));
          filter: drop-shadow(0px 2px 4px rgba(60, 46, 43, 0.24));
  border-radius: 4px;
  position: fixed;
  bottom: 32px;
  right: 32px;
  z-index: 102;
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  pointer-events: none;
}
@media (min-width: 600px) {
  .p-home-banner {
    background-size: 7px 42px, 1px calc(100% - 12px), 1px calc(100% - 12px), 100% 1px, 100% 1px;
    width: min(100%, 262px);
    min-height: 88px;
  }
}
.p-home-banner__close {
  width: 16px;
  aspect-ratio: 1/1;
  background: #292626;
  border-radius: 2px;
  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;
  position: absolute;
  top: 4px;
  right: 4px;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  .p-home-banner__close:hover {
    opacity: 0.8;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-home-banner__close:hover {
    opacity: 0.8;
  }
}
.p-home-banner__link {
  font-size: 10px;
  font-weight: 900;
  width: 100%;
  height: 100%;
  padding: 16px 20px;
  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: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (min-width: 600px) {
  .p-home-banner__link {
    font-size: 12px;
  }
  .p-home-banner__link::before {
    content: "";
    min-width: 24px;
    margin-top: 6px;
    aspect-ratio: 24/22;
    background: url(../img/home/ic_line.svg) no-repeat center center/100% auto;
  }
}
.p-home-banner__link strong {
  font-size: 14px;
  color: #C62812;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.p-home-banner__link strong::before {
  content: "";
  min-width: 16px;
  margin-top: 6px;
  aspect-ratio: 24/22;
  margin-right: 8px;
  background: url(../img/home/ic_line.svg) no-repeat center center/100% auto;
  display: inline-block;
  vertical-align: -0.3em;
}
@media (min-width: 600px) {
  .p-home-banner__link strong {
    font-size: 20px;
  }
  .p-home-banner__link strong::before {
    display: none;
  }
}
.p-home-banner.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  pointer-events: auto;
}

/*------------------------------------
  mv
-------------------------------------*/
.p-home-kv {
  width: 100%;
  height: auto;
  position: relative;
}
@media (min-width: 600px) {
  .p-home-kv {
    height: 350vh;
  }
}
.p-home-kv__catch {
  width: 100%;
  height: 100svh;
  z-index: 120;
  pointer-events: none;
  position: absolute;
}
@media (min-width: 600px) {
  .p-home-kv__catch {
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 120;
  }
}
.p-home-kv__catch svg {
  width: min(100%, 320px);
  aspect-ratio: 520/273px;
  position: absolute;
  left: 24px;
  bottom: 10%;
}
@media (min-width: 600px) {
  .p-home-kv__catch svg {
    width: min(45%, 520px);
    left: 72px;
    bottom: 72px;
  }
}
.p-home-kv #catch .char {
  opacity: 0;
  -webkit-filter: blur(8px);
          filter: blur(8px);
  -webkit-transition: opacity 0.4s ease, -webkit-filter 0.1s 0.2s ease;
  transition: opacity 0.4s ease, -webkit-filter 0.1s 0.2s ease;
  transition: opacity 0.4s ease, filter 0.1s 0.2s ease;
  transition: opacity 0.4s ease, filter 0.1s 0.2s ease, -webkit-filter 0.1s 0.2s ease;
  will-change: transform;
}
.p-home-kv #catch .fade {
  opacity: 0;
  -webkit-transition: opacity 0.8s ease;
  transition: opacity 0.8s ease;
}
.p-home-kv__image {
  height: 100%;
  position: relative;
  overflow: hidden;
  z-index: 101;
}
@media (max-width: 600px) {
  .p-home-kv__image {
    width: 88%;
    height: calc(80svh - 123px);
    margin: auto;
    -webkit-mask: -webkit-gradient(linear, left top, right top, from(#292626), to(#292626)) no-repeat center center/100% auto;
    -webkit-mask: -webkit-linear-gradient(left, #292626 0%, #292626 100%) no-repeat center center/100% auto;
            mask: -webkit-gradient(linear, left top, right top, from(#292626), to(#292626)) no-repeat center center/100% auto;
            mask: linear-gradient(90deg, #292626 0%, #292626 100%) no-repeat center center/100% auto;
    position: absolute;
    top: 123px;
    left: 0;
    right: 0;
  }
}
.p-home-kv__image-group {
  width: 100%;
  border-radius: 4px;
  -webkit-box-shadow: 0px 2px 4px rgba(105, 28, 17, 0.12), 0px 8px 16px rgba(105, 28, 17, 0.16);
          box-shadow: 0px 2px 4px rgba(105, 28, 17, 0.12), 0px 8px 16px rgba(105, 28, 17, 0.16);
  overflow: hidden;
}
.p-home-kv__image-group img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media (max-width: 600px) {
  .p-home-kv__image-group {
    height: 100%;
  }
  .p-home-kv__image-group img {
    height: 115%;
  }
}
.p-home-kv__content {
  width: 100%;
  height: auto;
  background: url(../img/common/bg_section.png) 300px 300px;
  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;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (min-width: 600px) {
  .p-home-kv__content {
    height: 100vh;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    position: fixed;
    top: 0;
  }
}
.p-home-kv__leftarea {
  width: 100%;
  position: relative;
  height: 80svh;
}
@media (min-width: 600px) {
  .p-home-kv__leftarea {
    width: 63%;
    height: auto;
  }
}
.p-home-kv__scrolltext {
  width: 100%;
  height: 89px;
  border-bottom: 1px solid #C3BFBE;
  overflow: hidden;
  white-space: nowrap;
}
@media (min-width: 600px) {
  .p-home-kv__scrolltext {
    position: absolute;
  }
}
.p-home-kv__scrolltext.--reverse {
  border-top: 1px solid #C3BFBE;
  bottom: 0;
  display: none;
}
@media (min-width: 600px) {
  .p-home-kv__scrolltext.--reverse {
    display: block;
  }
}
.p-home-kv__scrolltext-inner {
  margin-top: -20px;
  display: inline-block;
}
@media (min-width: 600px) {
  .p-home-kv__scrolltext-inner {
    margin-top: -102px;
  }
}
.--reverse .p-home-kv__scrolltext-inner {
  margin-top: -30px;
}
.p-home-kv__scrolltext-text {
  font-size: 136px;
  line-height: 1;
  color: #FFFFFF;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  display: inline-block;
  margin-right: 48px;
}
@media (min-width: 600px) {
  .p-home-kv__scrolltext-text {
    font-size: 240px;
  }
}
.p-home-kv__rightarea {
  width: 100%;
  padding: 124px 24px 64px 24px;
  background: #C62812;
}
@media (min-width: 600px) {
  .p-home-kv__rightarea {
    width: 37%;
    padding: 180px min(6vw, 80px) 80px min(6vw, 80px);
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.p-home-kv__rightarea-inner {
  color: #FFFFFF;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  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;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
}
.p-home-kv__building {
  font-size: 14px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  position: relative;
  z-index: 0;
}
.p-home-kv__building::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #D58070;
  position: absolute;
  z-index: -1;
}
.p-home-kv__building span {
  background: #C62812;
}
.p-home-kv__building span:first-child {
  width: 48px;
}
.p-home-kv__building span:nth-child(2) {
  text-align: center;
  width: 42px;
}
.p-home-kv__building span:last-child {
  text-align: right;
  width: 54px;
}
.p-home-kv__about {
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  width: 100%;
}
@media (min-width: 600px) {
  .p-home-kv__about {
    width: min(100%, 340px);
  }
}
.p-home-kv__about-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 48;
  --max-font-size: 88;
  font-weight: 700;
}
.p-home-kv__about-title *,
.p-home-kv__about-title *::before,
.p-home-kv__about-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-kv__about-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
}
.p-home-kv__about-caption *,
.p-home-kv__about-caption *::before,
.p-home-kv__about-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

.p-home-purpose {
  padding: 64px 0;
  background: url(../img/home/img_purpose.jpg) no-repeat 94% center/cover;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 600px) {
  .p-home-purpose {
    margin: 0;
    height: 100svh;
    background: url(../img/home/img_purpose.jpg) no-repeat center center/cover;
  }
}
.p-home-purpose::before {
  content: "";
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(rgb(54, 41, 38)), color-stop(45%, rgba(54, 41, 38, 0.64)), to(rgba(54, 41, 38, 0)));
  background: -webkit-linear-gradient(left, rgb(54, 41, 38) 0%, rgba(54, 41, 38, 0.64) 45%, rgba(54, 41, 38, 0) 100%);
  background: linear-gradient(90deg, rgb(54, 41, 38) 0%, rgba(54, 41, 38, 0.64) 45%, rgba(54, 41, 38, 0) 100%);
  background-blend-mode: multiply;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0.8;
}
@media (max-width: 600px) {
  .p-home-purpose::before {
    background: rgba(54, 41, 38, 0.7);
    opacity: 0.9;
  }
}
.p-home-purpose__inner {
  color: #FFFFFF;
  padding: 0 6.25vw;
  position: relative;
  z-index: 1;
}
.p-home-purpose__title {
  -webkit-writing-mode: initial;
      -ms-writing-mode: initial;
          writing-mode: initial;
}
.p-home-purpose__title-en::after {
  content: "";
  width: 12px;
  height: 1px;
  background: #C3BFBE;
}
.p-home-purpose__catch {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 64;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 24svh;
}
.p-home-purpose__catch *,
.p-home-purpose__catch *::before,
.p-home-purpose__catch *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-home-purpose__catch {
    margin-top: 14vh;
  }
}
.p-home-purpose__caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  font-weight: 700;
  margin-top: 24px;
  line-height: 2.1;
}
.p-home-purpose__caption *,
.p-home-purpose__caption *::before,
.p-home-purpose__caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (max-width: 600px) {
  .p-home-purpose__caption {
    text-align: justify;
    text-justify: inter-ideograph;
    word-break: break-all;
  }
}

.p-home-about {
  overflow: hidden;
}
.p-home-about__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 0 80px;
}
.p-home-about__inner::before {
  display: none !important;
}
.p-home-about__textarea {
  width: 100%;
  padding: 24px;
}
.p-home-about__textarea::before {
  content: "";
  width: calc(100% + 130px);
  height: 24px;
  margin: 0 -24px;
  display: block;
  border-top: 1px solid #C3BFBE;
}
@media (min-width: 600px) {
  .p-home-about__textarea::before {
    height: 64px;
    margin: 0 -64px;
  }
}
@media (min-width: 960px) {
  .p-home-about__textarea {
    width: auto;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 80px 64px;
    border-right: 1px solid #C3BFBE;
  }
}
.p-home-about__caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 32;
  font-weight: 700;
  line-height: 1.5;
}
.p-home-about__caption *,
.p-home-about__caption *::before,
.p-home-about__caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-about__caption + .p-home-about__caption {
  margin-top: 32px;
}
@media (min-width: 600px) {
  .p-home-about__caption + .p-home-about__caption {
    margin-top: 48px;
  }
}
.p-home-about__image {
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-home-about__image {
    margin-top: 80px;
  }
}
.p-home-about__links {
  width: calc(100% + 28px);
  margin-left: -28px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 600px) {
  .p-home-about__links {
    width: 100%;
    margin: 0;
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-home-about__card {
  aspect-ratio: 380/285;
  position: relative;
  overflow: hidden;
}
@media (min-width: 600px) {
  .p-home-about__card {
    aspect-ratio: inherit;
  }
}
.p-home-about__card img {
  max-width: initial;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (hover: hover) and (pointer: fine) {
  .p-home-about__card:hover img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    -webkit-filter: blur(2px);
            filter: blur(2px);
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-home-about__card:hover img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    -webkit-filter: blur(2px);
            filter: blur(2px);
  }
}
.p-home-about__link {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  position: absolute;
  top: 0;
  left: 0;
}
.p-home-about__link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(54, 41, 38, 0.8)), color-stop(45%, rgba(54, 41, 38, 0.2)), to(rgba(54, 41, 38, 0)));
  background: -webkit-linear-gradient(bottom, rgba(54, 41, 38, 0.8) 0%, rgba(54, 41, 38, 0.2) 45%, rgba(54, 41, 38, 0) 100%);
  background: linear-gradient(360deg, rgba(54, 41, 38, 0.8) 0%, rgba(54, 41, 38, 0.2) 45%, rgba(54, 41, 38, 0) 100%);
  mix-blend-mode: multiply;
}
.p-home-about__link::after {
  content: "";
  min-width: 36px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16"><g transform="translate(-6)"><path d="M18.194,6.227,10.128,0,8.943,1.612l7.893,6.081a.617.617,0,0,1,0,.775L9.1,14.385,10.283,16l7.8-5.971.106-.095a2.668,2.668,0,0,0,0-3.708" transform="translate(4.057)" fill="%23C62812"/><rect width="12" height="2" transform="translate(6 7)" fill="%23C62812"/></g></svg>') no-repeat center center/13px auto;
  background-color: #FFFFFF;
  border-radius: 4px;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  z-index: 1;
}
@media (min-width: 960px) {
  .p-home-about__link {
    padding: 48px;
  }
  .p-home-about__link::after {
    min-width: 64px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16"><g transform="translate(-6)"><path d="M18.194,6.227,10.128,0,8.943,1.612l7.893,6.081a.617.617,0,0,1,0,.775L9.1,14.385,10.283,16l7.8-5.971.106-.095a2.668,2.668,0,0,0,0-3.708" transform="translate(4.057)" fill="%23C62812"/><rect width="12" height="2" transform="translate(6 7)" fill="%23C62812"/></g></svg>') no-repeat center center/24px auto;
    background-color: #FFFFFF;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-home-about__link:hover ~ img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    -webkit-filter: blur(2px);
            filter: blur(2px);
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-home-about__link:hover ~ img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    -webkit-filter: blur(2px);
            filter: blur(2px);
  }
}
.p-home-about__text {
  position: relative;
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 28;
  --max-font-size: 48;
  color: #FFFFFF;
  font-weight: 700;
  line-height: 1.3;
  z-index: 1;
}
.p-home-about__text *,
.p-home-about__text *::before,
.p-home-about__text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-about__text::after {
  content: attr(data-en);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 600;
  margin-top: 8px;
  display: block;
}
.p-home-about__text::after *,
.p-home-about__text::after *::before,
.p-home-about__text::after *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-home-about__text::after {
    padding-left: 6px;
    margin-top: 12px;
  }
}
.p-home-about__slide {
  display: none;
}
@media (min-width: 960px) {
  .p-home-about__slide {
    border-left: 1px solid #C3BFBE;
    width: min(100%, 242px);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
  }
}
.p-home-about__image-back {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: absolute;
  inset: 0;
  margin: auto;
}
.p-home-about__image-back-inner, .p-home-about__image-middle-inner, .p-home-about__image-front-inner {
  width: 100%;
  height: 200%;
  background: url(../img/home/img_side_slide.svg) repeat-y 0 0/200% auto;
  -webkit-animation: bg-move 50s linear infinite;
          animation: bg-move 50s linear infinite;
}
.p-home-about__image-middle {
  width: 100%;
  height: 75%;
  overflow: hidden;
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: 0;
}
.p-home-about__image-middle::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/common/bg_section.png) 300px 300px;
  position: absolute;
  top: 0;
  z-index: -1;
}
.p-home-about__image-front {
  width: 100%;
  height: 674px;
  overflow: hidden;
  position: absolute;
  z-index: 0;
}
.p-home-about__image-front::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/common/bg_section.png) 300px 300px;
  position: absolute;
  top: 0;
  z-index: -1;
}

.p-home-recruitment__inner {
  background: #FFFFFF;
  padding: 56px 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-column-gap: 120px;
     -moz-column-gap: 120px;
          column-gap: 120px;
  position: relative;
  z-index: 0;
}
@media (min-width: 600px) {
  .p-home-recruitment__inner {
    padding: 112px 6vw;
  }
}
.p-home-recruitment__inner::before {
  content: "";
  width: min(40%, 200px);
  border-right: 44px solid #F2EEEC;
  border-bottom: 44px solid #F2EEEC;
  border-radius: 0 0 100% 0;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media (min-width: 600px) {
  .p-home-recruitment__inner::before {
    width: min(30%, 406px);
    border-right: 88px solid #F2EEEC;
    border-bottom: 88px solid #F2EEEC;
  }
}
.p-home-recruitment__list {
  background: #F2EEEC;
  border-radius: 8px;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-home-recruitment__list {
    margin-top: 0;
  }
}
.p-home-recruitment__list-head {
  padding: 12px 0;
  border-bottom: 1px solid #C3BFBE;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 600px) {
  .p-home-recruitment__list-head {
    display: grid;
    grid-template-columns: 135px 200px auto;
  }
}
.p-home-recruitment__list-head .p-home-recruitment__date,
.p-home-recruitment__list-head .p-home-recruitment__category,
.p-home-recruitment__list-head .p-home-recruitment__title {
  font-size: 14px;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  color: #9A9793;
  font-weight: 700;
}
.p-home-recruitment__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding: 24px 0;
  border-bottom: 1px solid #C3BFBE;
}
@media (min-width: 600px) {
  .p-home-recruitment__link {
    display: grid;
    grid-template-columns: 135px 200px auto;
  }
}
.p-home-recruitment__link:last-of-type {
  border-bottom: none;
}
@media (hover: hover) and (pointer: fine) {
  .p-home-recruitment__link:hover {
    color: #5C5756;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-home-recruitment__link:hover {
    color: #5C5756;
  }
}
.p-home-recruitment__date {
  font-size: 16px;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  padding: 0 15px;
}
.p-home-recruitment__category {
  font-size: 16px;
  font-weight: 500;
}
@media (min-width: 600px) {
  .p-home-recruitment__category {
    padding: 0 15px;
  }
}
.p-home-recruitment__title {
  font-size: 16px;
  font-weight: 700;
  padding: 0 15px;
}
@media (max-width: 600px) {
  .p-home-recruitment__title {
    font-size: 18px;
    width: 100%;
    margin-top: 4px;
  }
}
.p-home-recruitment__button {
  width: 100%;
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-home-recruitment__button {
    margin-top: 40px;
  }
}

.p-home-member__interview {
  padding: 48px 24px;
  border-bottom: 1px solid #C3BFBE;
  position: relative;
  z-index: 0;
}
.p-home-member__interview::before {
  content: "";
  width: min(40%, 200px);
  border-left: 44px solid #FFFFFF;
  border-bottom: 44px solid #FFFFFF;
  border-radius: 0 0 0 100%;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
@media (min-width: 600px) {
  .p-home-member__interview {
    padding: min(6vw, 80px);
  }
}
@media (min-width: 960px) {
  .p-home-member__interview::before {
    width: min(30%, 406px);
    border-left: 88px solid #FFFFFF;
    border-bottom: 88px solid #FFFFFF;
  }
}
.p-home-member__interview-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}
@media (min-width: 600px) {
  .p-home-member__interview-head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0;
  }
}
.p-home-member__interview-textarea {
  width: 100%;
}
@media (min-width: 600px) {
  .p-home-member__interview-textarea {
    width: min(50%, 550px);
  }
}
.p-home-member__interview-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  margin-top: 16px;
}
.p-home-member__interview-caption *,
.p-home-member__interview-caption *::before,
.p-home-member__interview-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-home-member__interview-caption {
    margin-top: 0;
  }
}
.p-home-member__interview-button {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-home-member__interview-button {
    margin-top: 40px;
  }
}
.p-home-member__swiper {
  width: 100vw;
  margin: 40px 0 0 calc(50% - 50vw - 14px);
}
@media (min-width: 600px) {
  .p-home-member__swiper {
    margin: 88px 0 0 calc(50% - 50vw - 40px);
  }
}
.p-home-member__swiper .swiper-slide::after {
  display: none;
}
.p-home-member__swiper-bottom {
  width: 100%;
  margin: 32px auto 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (min-width: 600px) {
  .p-home-member__swiper-bottom {
    width: min(80%, 888px);
    margin-top: 64px;
  }
}
.p-home-member__swiper-bottom .swiper-pagination {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  position: static;
  width: auto;
}
.p-home-member__swiper-bottom .swiper-pagination *,
.p-home-member__swiper-bottom .swiper-pagination *::before,
.p-home-member__swiper-bottom .swiper-pagination *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-member__swiper-bottom .swiper-pagination-current {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 32;
  color: #C62812;
}
.p-home-member__swiper-bottom .swiper-pagination-current *,
.p-home-member__swiper-bottom .swiper-pagination-current *::before,
.p-home-member__swiper-bottom .swiper-pagination-current *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-member__swiper-button {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
@media (min-width: 600px) {
  .p-home-member__swiper-button {
    gap: 16px;
  }
}
.p-home-member__project {
  margin-top: 10px;
  padding: 48px 24px;
  border-top: 1px solid #C3BFBE;
  position: relative;
  z-index: 0;
}
@media (min-width: 600px) {
  .p-home-member__project {
    padding: min(6vw, 80px);
  }
}
.p-home-member__project::before {
  content: "";
  width: min(40%, 200px);
  border-right: 44px solid #FFFFFF;
  border-bottom: 44px solid #FFFFFF;
  border-radius: 0 0 100% 0;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media (min-width: 960px) {
  .p-home-member__project::before {
    width: min(30%, 406px);
    border-right: 88px solid #FFFFFF;
    border-bottom: 88px solid #FFFFFF;
  }
}
.p-home-member__project-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
  color: #C62812;
  text-align: center;
  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-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 0 24px;
}
.p-home-member__project-title *,
.p-home-member__project-title *::before,
.p-home-member__project-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-member__project-title::before {
  content: attr(data-top);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 104;
  color: #292626;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  text-align: center;
  font-weight: 700;
  line-height: 1;
}
.p-home-member__project-title::before *,
.p-home-member__project-title::before *::before,
.p-home-member__project-title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-member__project-title::after {
  content: attr(data-bottom);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 104;
  color: #292626;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  text-align: center;
  font-weight: 700;
  line-height: 1;
  width: 100%;
}
.p-home-member__project-title::after *,
.p-home-member__project-title::after *::before,
.p-home-member__project-title::after *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-member__project-textarea {
  width: min(100%, 560px);
  margin: 0 auto;
}
.p-home-member__project-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  width: min(100%, 560px);
  margin: 24px auto 0 auto;
}
.p-home-member__project-caption *,
.p-home-member__project-caption *::before,
.p-home-member__project-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-member__project-list {
  margin-top: 72px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 56px;
}
.p-home-member__card-image img {
  border-radius: 4px;
}
.p-home-member__card-title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 24px;
}
.p-home-member__card-edition {
  font-size: 14px;
  margin-top: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 6px;
}
.p-home-member__card-edition::before {
  content: "";
  width: 6px;
  aspect-ratio: 1/1;
  background: #C62812;
  margin-top: 0.6em;
}
.p-home-member__project-button {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 80px;
}

.p-home-scrolltext {
  height: 93px;
  border-bottom: 1px solid #C3BFBE;
  overflow: hidden;
  white-space: nowrap;
}
@media (min-width: 600px) {
  .p-home-scrolltext {
    height: 148px;
  }
}
.p-home-scrolltext__inner {
  margin-top: -20px;
  display: inline-block;
}
@media (min-width: 600px) {
  .p-home-scrolltext__inner {
    margin-top: -42px;
  }
}
.p-home-scrolltext__text {
  font-size: 136px;
  line-height: 1;
  color: #FFFFFF;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  display: inline-block;
  margin-right: 48px;
}
@media (min-width: 600px) {
  .p-home-scrolltext__text {
    font-size: 240px;
  }
}
.p-home-scrolltext__text::after {
  content: "/";
  font-size: 90px;
  vertical-align: 0.1em;
  margin-left: 48px;
}
@media (min-width: 600px) {
  .p-home-scrolltext__text::after {
    font-size: 160px;
  }
}

.p-home-work__inner {
  background: #FFFFFF;
}
.p-home-work__environment {
  display: grid;
  padding: 48px 24px;
  border-bottom: 1px solid #C3BFBE;
}
@media (min-width: 600px) {
  .p-home-work__environment {
    padding: 32px 24px;
    grid-template-columns: repeat(2, 1fr);
    padding: min(6vw, 80px);
  }
}
.p-home-work__environment-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 48px;
}
@media (max-width: 600px) {
  .p-home-work__environment-head {
    grid-row: 1/2;
  }
}
@media (min-width: 600px) {
  .p-home-work__environment-button {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media (max-width: 600px) {
  .p-home-work__environment-button {
    grid-row: 3/4;
    margin-top: 40px;
  }
}
@media (min-width: 600px) {
  .p-home-work__environment-body {
    grid-column: 1/3;
  }
}
@media (max-width: 600px) {
  .p-home-work__environment-body {
    grid-row: 2/3;
  }
}
.p-home-work__environment-list {
  margin-top: 32px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
@media (min-width: 600px) {
  .p-home-work__environment-list {
    margin-top: 40px;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    margin-top: 88px;
  }
}
.p-home-work__environment-item {
  --viewport-from: 375;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 20;
  font-weight: 700;
}
.p-home-work__environment-item *,
.p-home-work__environment-item *::before,
.p-home-work__environment-item *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-work__environment-item img {
  margin-bottom: 16px;
  border-radius: 4px;
}
.p-home-work__position {
  display: grid;
  margin-top: 10px;
  padding: 48px 24px;
  border-top: 1px solid #C3BFBE;
  border-bottom: 1px solid #C3BFBE;
  position: relative;
  z-index: 0;
}
@media (min-width: 600px) {
  .p-home-work__position {
    grid-template-columns: repeat(2, 1fr);
    padding: min(6vw, 80px);
  }
}
.p-home-work__position::before {
  content: "";
  width: min(40%, 200px);
  border-left: 44px solid #F2EEEC;
  border-bottom: 44px solid #F2EEEC;
  border-radius: 0 0 0 100%;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
@media (min-width: 600px) {
  .p-home-work__position {
    padding: min(6vw, 80px);
  }
}
@media (min-width: 960px) {
  .p-home-work__position::before {
    content: "";
    width: min(30%, 406px);
    border-left: 88px solid #F2EEEC;
    border-bottom: 88px solid #F2EEEC;
  }
}
.p-home-work__position-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 48px;
}
@media (min-width: 600px) {
  .p-home-work__position-button {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media (max-width: 600px) {
  .p-home-work__position-button {
    grid-row: 3/4;
    margin-top: 40px;
  }
}
@media (min-width: 600px) {
  .p-home-work__position-body {
    grid-column: 1/3;
  }
}
@media (max-width: 600px) {
  .p-home-work__position-body {
    grid-row: 2/3;
  }
}
.p-home-work__position-list {
  margin-top: 32px;
  width: min(100%, 802px);
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 16px;
}
@media (min-width: 600px) {
  .p-home-work__position-list {
    margin-top: 48px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-home-work__position-link {
  --viewport-from: 375;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  font-weight: 700;
  padding: 12px 16px;
  border: 1px solid #C3BFBE;
  border-radius: 4px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-home-work__position-link *,
.p-home-work__position-link *::before,
.p-home-work__position-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-home-work__position-link {
    padding: 24px;
  }
}
.p-home-work__position-link::after {
  content: "";
  width: 17px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16"><g transform="translate(-6)"><path d="M18.194,6.227,10.128,0,8.943,1.612l7.893,6.081a.617.617,0,0,1,0,.775L9.1,14.385,10.283,16l7.8-5.971.106-.095a2.668,2.668,0,0,0,0-3.708" transform="translate(4.057)" fill="%23C62812"/><rect width="12" height="2" transform="translate(6 7)" fill="%23C62812"/></g></svg>') no-repeat center center/100% auto;
}
@media (hover: hover) and (pointer: fine) {
  .p-home-work__position-link:hover {
    background: #FFEFEB;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-home-work__position-link:hover {
    background: #FFEFEB;
  }
}
.p-home-work__openings {
  margin-top: 10px;
  padding: 32px 24px;
  border-top: 1px solid #C3BFBE;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
  position: relative;
}
@media (min-width: 600px) {
  .p-home-work__openings {
    padding: 40px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 960px) {
  .p-home-work__openings {
    aspect-ratio: 1140/785;
    padding: 80px;
  }
}
.p-home-work__openings .pin {
  width: 6.8%;
  aspect-ratio: 12/15;
  background: url(../img/home/ic_pin.svg) no-repeat center center/100% auto;
  position: absolute;
  left: 0;
  top: -50px;
}
.p-home-work__openings-head {
  position: absolute;
  z-index: 1;
}
@media (min-width: 600px) {
  .p-home-work__openings-head {
    position: static;
  }
}
.p-home-work__button {
  margin-top: 24px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media (min-width: 960px) {
  .p-home-work__button {
    margin-top: 48px;
  }
}
.p-home-work__openings-map {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  position: static;
  aspect-ratio: 351/459;
  background: url(../img/home/img_map_sp.png) no-repeat center center/100% auto;
  position: relative;
  left: auto;
}
@media (min-width: 600px) {
  .p-home-work__openings-map {
    width: 45%;
    margin: 0;
    background-size: contain;
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
  }
}
@media (min-width: 960px) {
  .p-home-work__openings-map {
    width: 100%;
    aspect-ratio: 1140/785;
    top: 0;
    left: 0;
    background: url(../img/home/img_map.png) no-repeat center center/cover;
  }
}
.p-home-work__openings-map-inner {
  width: 40.5%;
  aspect-ratio: 176/315;
  position: absolute;
  top: 40.3%;
  left: 28.9%;
  overflow: hidden;
}
@media (min-width: 600px) {
  .p-home-work__openings-map-inner {
    width: 40.5%;
    top: 40.3%;
    left: 28.9%;
  }
}
@media (min-width: 960px) {
  .p-home-work__openings-map-inner {
    width: 15.5%;
    top: 42.3%;
    left: 23.2%;
  }
}
.p-home-work__openings-area {
  width: 100%;
  margin-top: 16px;
  padding: 32px 18px;
  background: #F2EEEC;
  border-radius: 8px;
  -webkit-box-shadow: 0 2px 4px rgba(41, 38, 38, 0.12);
          box-shadow: 0 2px 4px rgba(41, 38, 38, 0.12);
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}
@media (min-width: 600px) {
  .p-home-work__openings-area {
    width: min(55%, 509px);
    margin: 0;
    -webkit-align-self: flex-end;
        -ms-flex-item-align: end;
            align-self: flex-end;
  }
}
@media (min-width: 960px) {
  .p-home-work__openings-area {
    width: min(45%, 509px);
    padding: 48px;
  }
}
@media (min-width: 1440px) {
  .p-home-work__openings-area {
    -webkit-align-self: center;
        -ms-flex-item-align: center;
            align-self: center;
  }
}
.p-home-work__openings-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
}
.p-home-work__openings-title *,
.p-home-work__openings-title *::before,
.p-home-work__openings-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-work__openings-list {
  margin-top: 32px;
  border-bottom: 1px solid #C3BFBE;
}
.p-home-work__openings-term {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  border-top: 1px solid #C3BFBE;
  padding: 12px 8px 12px 0;
  cursor: pointer;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-home-work__openings-term *,
.p-home-work__openings-term *::before,
.p-home-work__openings-term *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-work__openings-term::after {
  content: "";
  min-width: 10px;
  aspect-ratio: 1/1;
  background: url(../img/common/ic_plus.svg) no-repeat center center/100% auto;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.p-home-work__openings-term.is-active {
  color: #FFFFFF;
  padding: 12px 16px;
  background: #292626;
  border: none;
  border-radius: 4px 4px 0px 0px;
}
.p-home-work__openings-term.is-active::after {
  background: url(../img/common/ic_minus.svg) no-repeat center center/100% auto;
}
.p-home-work__openings-description {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  font-size: 14px;
  padding: 0px 16px;
  height: 0;
  overflow: hidden;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.p-home-work__openings-description span {
  font-size: 14px;
  margin: 0 8px;
}
.p-home-work__openings-description.is-open {
  padding: 24px 16px;
  background: #FFFFFF;
}
@media (min-width: 600px) {
  .p-home-work__openings-description.is-open {
    padding: 24px 16px;
  }
}
.p-home-work__openings-post {
  display: inline-block;
}
.p-home-work__openings-post:not(:last-child)::after {
  content: "/";
  padding: 0 8px 0 6px;
}
@media (hover: hover) and (pointer: fine) {
  .p-home-work__openings-post:hover {
    opacity: 0.6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-home-work__openings-post:hover {
    opacity: 0.6;
  }
}

/*------------------------------------
  ミッションとこれから
-------------------------------------*/
.p-mission-hero {
  background: url(../img/mission/img_kv.jpg) no-repeat #C62812 top center/cover;
}
.p-mission-hero::before {
  border-bottom: 1px solid #CBCBCB;
}
.p-mission-hero::after {
  width: 100%;
  height: 100%;
  background: rgba(41, 38, 38, 0.55);
  mix-blend-mode: multiply;
  inset: 0;
  pointer-events: none;
}
.p-mission-hero .c-hero__inner {
  position: relative;
  z-index: 1;
}

.p-mission-thought__inner {
  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: 40px 80px;
}
@media (min-width: 960px) {
  .p-mission-thought__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 1440px) {
  .p-mission-thought__inner {
    gap: 0 112px;
  }
}
.p-mission-thought__catcharea {
  width: 100%;
  padding: 24px 0;
  --grid-size: 44px;
  --grid-color: rgba(255,255,255,1);
  background-image: -webkit-repeating-linear-gradient(bottom, var(--grid-color), var(--grid-color) 1px, transparent 1px, transparent var(--grid-size)), -webkit-repeating-linear-gradient(left, var(--grid-color), var(--grid-color) 1px, transparent 1px, transparent var(--grid-size));
  background-image: repeating-linear-gradient(0deg, var(--grid-color), var(--grid-color) 1px, transparent 1px, transparent var(--grid-size)), repeating-linear-gradient(90deg, var(--grid-color), var(--grid-color) 1px, transparent 1px, transparent var(--grid-size));
  background-size: var(--grid-size) var(--grid-size);
  background-position: left center;
  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;
}
@media (min-width: 600px) {
  .p-mission-thought__catcharea {
    --grid-size: 88px;
  }
}
@media (min-width: 960px) {
  .p-mission-thought__catcharea {
    width: 53%;
  }
}
.p-mission-thought__catch {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.49;
}
@media (min-width: 600px) {
  .p-mission-thought__catch {
    font-size: 4.3vw;
  }
}
@media (min-width: 1440px) {
  .p-mission-thought__catch {
    font-size: 64px;
  }
}
.p-mission-thought__catch-quotation {
  font-size: 30px;
  color: #C62812;
}
@media (min-width: 600px) {
  .p-mission-thought__catch-quotation {
    font-size: 4.3vw;
  }
}
@media (min-width: 1440px) {
  .p-mission-thought__catch-quotation {
    font-size: 64px;
  }
}
.p-mission-thought__catch-line {
  font-size: 30px;
  background: #FFFFFF;
  padding: 1px 6px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  display: inline;
}
@media (min-width: 600px) {
  .p-mission-thought__catch-line {
    font-size: 4.3vw;
  }
}
@media (min-width: 1440px) {
  .p-mission-thought__catch-line {
    font-size: 64px;
  }
}
.p-mission-thought__catch-line.--indent {
  margin-left: 1.5em;
}
.p-mission-thought__textarea {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-mission-thought__caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  font-weight: 700;
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-all;
}
.p-mission-thought__caption *,
.p-mission-thought__caption *::before,
.p-mission-thought__caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-mission-thought__caption + .p-mission-thought__caption {
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-mission-thought__caption + .p-mission-thought__caption {
    margin-top: 24px;
  }
}
.p-mission-thought__button {
  margin-top: 32px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media (min-width: 600px) {
  .p-mission-thought__button {
    margin-top: 64px;
  }
}

.p-misson-vision__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 32;
  font-weight: 700;
  padding: 24px;
  position: relative;
  z-index: 0;
}
.p-misson-vision__title *,
.p-misson-vision__title *::before,
.p-misson-vision__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-misson-vision__title::before {
  content: attr(data-num);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 32;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  color: #C3BFBE;
  display: block;
}
.p-misson-vision__title::before *,
.p-misson-vision__title::before *::before,
.p-misson-vision__title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-misson-vision__title::before {
    position: absolute;
    left: min(4.4vw, 64px);
  }
}
.p-misson-vision__title::after {
  content: "";
  width: min(20%, 240px);
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  z-index: -1;
}
@media (min-width: 600px) {
  .p-misson-vision__title {
    padding: 64px min(4.4vw, 64px) min(5.5vw, 80px) min(11.4vw, 164px);
  }
}
.p-misson-vision__title.--deco-left::after {
  border-right: 22px solid #F2EEEC;
  border-bottom: 22px solid #F2EEEC;
  border-radius: 0 0 100% 0;
  left: 0;
}
@media (min-width: 960px) {
  .p-misson-vision__title.--deco-left::after {
    border-right: 44px solid #F2EEEC;
    border-bottom: 44px solid #F2EEEC;
  }
}
.p-misson-vision__title.--deco-right::after {
  border-left: 22px solid #F2EEEC;
  border-bottom: 22px solid #F2EEEC;
  border-radius: 0 0 0 100%;
  right: 0;
}
@media (min-width: 960px) {
  .p-misson-vision__title.--deco-right::after {
    border-left: 44px solid #F2EEEC;
    border-bottom: 44px solid #F2EEEC;
  }
}
.p-misson-vision__title-en {
  --viewport-from: 600;
  --viewport-to: 1530;
  --min-font-size: 22;
  --max-font-size: 112;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  line-height: 1;
}
.p-misson-vision__title-en *,
.p-misson-vision__title-en *::before,
.p-misson-vision__title-en *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-misson-vision__title-en span {
  color: #C62812;
}
.p-misson-vision__text-en {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 12;
  --max-font-size: 14;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  color: #9A9793;
  margin-top: 24px;
}
.p-misson-vision__text-en *,
.p-misson-vision__text-en *::before,
.p-misson-vision__text-en *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 960px) {
  .p-misson-vision__text-en {
    margin-top: 0;
  }
}
.p-misson-vision__present {
  background: #FFFFFF;
  border-radius: 4px;
}
@media (min-width: 600px) {
  .p-misson-vision__present {
    border-radius: 8px;
  }
}
.p-misson-vision__caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  margin-top: 16px;
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-all;
}
.p-misson-vision__caption *,
.p-misson-vision__caption *::before,
.p-misson-vision__caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-misson-vision__caption {
    margin-top: 24px;
  }
}
.p-misson-vision__present-content {
  padding: 24px;
  display: grid;
  grid-template-columns: 1fr;
  position: relative;
}
@media (min-width: 960px) {
  .p-misson-vision__present-content {
    grid-template-columns: 52% auto;
    padding: 0 min(4.4vw, 64px);
    gap: 80px;
  }
}
.p-misson-vision__present-content::before {
  content: "";
  width: 100%;
  height: 5px;
  border-top: 1px solid #C3BFBE;
  border-bottom: 1px solid #C3BFBE;
  position: absolute;
  top: -5px;
  left: 0;
}
@media (min-width: 600px) {
  .p-misson-vision__present-content::before {
    height: 10px;
    top: -10px;
  }
}
.p-misson-vision__present-content::after {
  content: "";
}
@media (min-width: 960px) {
  .p-misson-vision__present-content::after {
    width: 1px;
    height: 100%;
    background: #C3BFBE;
    position: absolute;
    top: 0;
    left: calc(52% + 40px);
  }
}
.p-misson-vision__present-image {
  padding: 0;
}
@media (min-width: 600px) {
  .p-misson-vision__present-image {
    padding: min(2.8vw, 40px) x 0 min(4.4vw, 64px) 0;
  }
}
@media (min-width: 960px) {
  .p-misson-vision__present-image {
    padding: 40px 0 64px 0;
  }
}
.p-misson-vision__present-image img {
  border-radius: 4px;
}
@media (min-width: 600px) {
  .p-misson-vision__present-image img {
    border-radius: 8px;
  }
}
.p-misson-vision__present-textarea {
  padding: 0;
}
@media (min-width: 960px) {
  .p-misson-vision__present-textarea {
    padding: min(2.8vw, 40px) 0 min(4.4vw, 64px) 0;
  }
}
.p-misson-vision__present-catch {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 32;
  font-weight: 700;
}
.p-misson-vision__present-catch *,
.p-misson-vision__present-catch *::before,
.p-misson-vision__present-catch *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-misson-vision__present-catch {
    margin-top: 32px;
    margin-top: 70px;
  }
}
.p-misson-vision__present-button {
  margin-top: 24px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media (min-width: 600px) {
  .p-misson-vision__present-button {
    margin-top: 48px;
  }
}
.p-misson-vision__future {
  margin-top: 40px;
  background: #FFFFFF;
  border-radius: 4px;
}
@media (min-width: 600px) {
  .p-misson-vision__future {
    border-radius: 8px;
  }
}
@media (min-width: 600px) {
  .p-misson-vision__future {
    margin-top: 80px;
  }
}
.p-misson-vision__future-content {
  padding: 0 24px 24px 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media (min-width: 600px) {
  .p-misson-vision__future-content {
    padding: 0 min(4.4vw, 64px) 64px min(4.4vw, 64px);
  }
}
@media (min-width: 960px) {
  .p-misson-vision__future-content {
    gap: 48px;
  }
}
.p-misson-vision__future-image img {
  border-radius: 4px;
}
@media (max-width: 600px) {
  .p-misson-vision__future-image img {
    aspect-ratio: 3/2;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media (min-width: 600px) {
  .p-misson-vision__future-image img {
    border-radius: 8px;
  }
}
.p-misson-vision__future-catch {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 40;
  font-weight: 700;
  width: 100%;
  margin-top: 4px;
}
.p-misson-vision__future-catch *,
.p-misson-vision__future-catch *::before,
.p-misson-vision__future-catch *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-misson-vision__future-catch {
    margin-top: 70px;
  }
}
@media (min-width: 960px) {
  .p-misson-vision__future-catch {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin: 0;
  }
}
.p-misson-vision__future-textarea {
  width: 100%;
}
@media (min-width: 960px) {
  .p-misson-vision__future-textarea {
    width: 47%;
  }
}

.p-mission-message__inner {
  background: #FFFFFF;
}
.p-mission-message__catch {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 28;
  --max-font-size: 48;
  font-weight: 900;
  line-height: 1.45;
  padding: 32px min(6vw, 80px);
  background: url(../img/mission/deco_88.svg) no-repeat center right min(6vw, 80px)/70px auto;
  position: relative;
}
.p-mission-message__catch *,
.p-mission-message__catch *::before,
.p-mission-message__catch *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-mission-message__catch {
    padding: 56px min(6vw, 80px);
    background-size: 129px auto;
  }
}
.p-mission-message__catch::before {
  content: "";
  width: 12px;
  height: 24px;
  background: #C62812;
  position: absolute;
  inset: 0;
  left: 0px;
  margin: auto 0;
}
@media (min-width: 600px) {
  .p-mission-message__catch::before {
    width: 24px;
  }
}
@media (min-width: 960px) {
  .p-mission-message__catch::before {
    width: 40px;
  }
}
.p-mission-message__catch::after {
  content: "";
  width: 100%;
  height: 5px;
  position: absolute;
  left: 0;
  bottom: 0;
  border-top: 1px solid #C3BFBE;
  border-bottom: 1px solid #C3BFBE;
}
@media (min-width: 600px) {
  .p-mission-message__catch::after {
    height: 10px;
  }
}
.p-mission-message__content {
  margin-top: 32px;
  padding: 0 24px 24px 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media (min-width: 600px) {
  .p-mission-message__content {
    margin-top: 80px;
    padding: 0 min(6vw, 80px) 105px min(6vw, 80px);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 960px) {
  .p-mission-message__content {
    gap: 80px;
  }
}
.p-mission-message__image {
  width: 100%;
}
.p-mission-message__image img {
  border-radius: 4px;
}
@media (min-width: 600px) {
  .p-mission-message__image img {
    border-radius: 8px;
  }
}
@media (min-width: 600px) {
  .p-mission-message__image {
    width: min(46%, 540px);
  }
}
.p-mission-message__textarea {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-mission-message__subcatch {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 32;
  font-weight: 700;
}
.p-mission-message__subcatch *,
.p-mission-message__subcatch *::before,
.p-mission-message__subcatch *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-mission-message__caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  margin-top: 24px;
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-all;
}
.p-mission-message__caption *,
.p-mission-message__caption *::before,
.p-mission-message__caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-mission-message__caption {
    margin-top: 32px;
  }
}
.p-mission-message__name {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  font-weight: 700;
  margin-top: 32px;
}
.p-mission-message__name *,
.p-mission-message__name *::before,
.p-mission-message__name *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-mission-message__name {
    margin-top: 40px;
  }
}

.p-mission-service__list {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 40px;
}
@media (min-width: 600px) {
  .p-mission-service__list {
    margin-top: 64px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 960px) {
  .p-mission-service__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 52px;
  }
}
.p-mission-service__image img {
  border-radius: 4px;
}
@media (min-width: 600px) {
  .p-mission-service__image img {
    border-radius: 8px;
  }
}
.p-mission-service__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  margin-top: 16px;
}
.p-mission-service__title *,
.p-mission-service__title *::before,
.p-mission-service__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 960px) {
  .p-mission-service__title {
    margin-top: 24px;
  }
}
.p-mission-service__caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  margin-top: 4px;
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-all;
}
.p-mission-service__caption *,
.p-mission-service__caption *::before,
.p-mission-service__caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 960px) {
  .p-mission-service__caption {
    margin-top: 8px;
  }
}

/*------------------------------------
  大切にしていること
-------------------------------------*/
.p-value-hero {
  background: url(../img/value/img_kv.jpg) no-repeat #C62812 top center/cover;
}
.p-value-hero::before {
  border-bottom: 1px solid #CBCBCB;
}
.p-value-hero::after {
  width: 100%;
  height: 100%;
  background: rgba(41, 38, 38, 0.55);
  mix-blend-mode: multiply;
  inset: 0;
  pointer-events: none;
}
.p-value-hero .c-hero__inner {
  position: relative;
  z-index: 1;
}

.p-value-content__inner {
  padding: 0;
  background: #FFFFFF;
}
@media (min-width: 600px) {
  .p-value-content__inner {
    padding: 0 0 80px 0;
  }
}
.p-value-content__section {
  padding: 0 24px;
}
@media (min-width: 600px) {
  .p-value-content__section {
    padding: 0 min(6vw, 80px);
  }
}
.p-value-content__section:first-of-type {
  padding-top: 32px;
}
@media (min-width: 600px) {
  .p-value-content__section:first-of-type {
    padding-top: min(6vw, 80px);
  }
}
.p-value-content__section + .p-value-content__section {
  margin-top: 48px;
}
@media (min-width: 600px) {
  .p-value-content__section + .p-value-content__section {
    margin-top: 112px;
  }
}
.p-value-content__section-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px 0;
}
@media (min-width: 600px) {
  .p-value-content__section-head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 80px;
  }
}
.p-value-content__head-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-all;
  width: min(100%, 590px);
}
.p-value-content__head-caption *,
.p-value-content__head-caption *::before,
.p-value-content__head-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-value-content__philosophy {
  margin-top: 32px;
  padding: 24px 16px;
  background: url(../img/common/bg_section.png) #C3BFBE;
  background-size: 300px 300px;
  border-radius: 8px;
  position: relative;
  z-index: 0;
}
@media (min-width: 600px) {
  .p-value-content__philosophy {
    margin-top: 80px;
    padding: min(5.5vw, 64px);
  }
}
.p-value-content__philosophy::before {
  content: "";
  width: min(20%, 240px);
  border-right: 16px solid #FFFFFF;
  border-bottom: 16px solid #FFFFFF;
  border-radius: 0 0 100% 0;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media (min-width: 600px) {
  .p-value-content__philosophy::before {
    border-right: 44px solid #FFFFFF;
    border-bottom: 44px solid #FFFFFF;
  }
}
.p-value-content__philosophy-textarea {
  width: min(100%, 505px);
  margin: 80px 0 0 auto;
}
@media (min-width: 600px) {
  .p-value-content__philosophy-textarea {
    margin: 100px 0 0 auto;
  }
}
.p-value-content__philosophy-catch {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 32;
  --max-font-size: 72;
  font-weight: 700;
  line-height: 1.5;
}
.p-value-content__philosophy-catch *,
.p-value-content__philosophy-catch *::before,
.p-value-content__philosophy-catch *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-value-content__philosophy-catch::after {
  content: attr(data-en);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 20;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 400;
  display: block;
}
.p-value-content__philosophy-catch::after *,
.p-value-content__philosophy-catch::after *::before,
.p-value-content__philosophy-catch::after *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-value-content__philosophy-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  margin-top: 16px;
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-all;
}
.p-value-content__philosophy-caption *,
.p-value-content__philosophy-caption *::before,
.p-value-content__philosophy-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-value-content__philosophy-caption {
    margin-top: 32px;
  }
}
.p-value-content__value {
  margin-top: 32px;
  border-top: 1px solid #C3BFBE;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 600px) {
  .p-value-content__value {
    margin-top: 80px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-value-content__value-card {
  padding: 24px 0;
  display: grid;
  grid-template-columns: 32px auto;
  gap: 32px;
  border-bottom: 1px solid #C3BFBE;
}
@media (min-width: 600px) {
  .p-value-content__value-card {
    padding: 48px 0 56px 0;
  }
}
@media (min-width: 960px) {
  .p-value-content__value-card {
    gap: 64px;
  }
}
@media (min-width: 600px) {
  .p-value-content__value-card:nth-child(odd) {
    padding-right: 24px;
  }
}
@media (min-width: 960px) {
  .p-value-content__value-card:nth-child(odd) {
    padding-right: 40px;
  }
}
@media (min-width: 600px) {
  .p-value-content__value-card:nth-child(even) {
    border-left: 1px solid #C3BFBE;
    padding-left: 24px;
  }
}
@media (min-width: 960px) {
  .p-value-content__value-card:nth-child(even) {
    padding-left: 40px;
  }
}
.p-value-content__value-icon {
  padding-top: 6px;
}
@media (min-width: 600px) {
  .p-value-content__value-icon {
    padding-top: 12px;
  }
}
.p-value-content__value-title {
  font-size: 14px;
}
.p-value-content__value-title::before {
  content: attr(data-en);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 32;
  line-height: 1.3;
  display: block;
}
.p-value-content__value-title::before *,
.p-value-content__value-title::before *::before,
.p-value-content__value-title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-value-content__value-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  margin-top: 16px;
}
.p-value-content__value-caption *,
.p-value-content__value-caption *::before,
.p-value-content__value-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-value-content__image {
  margin-top: 48px;
}
@media (min-width: 600px) {
  .p-value-content__image {
    margin-top: 112px;
  }
}
@media (max-width: 600px) {
  .p-value-content__image img {
    aspect-ratio: 16/9;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.p-value-content__image + .p-value-content__section {
  margin-top: 48px;
}
@media (min-width: 600px) {
  .p-value-content__image + .p-value-content__section {
    margin-top: 72px;
  }
}
@media (min-width: 960px) {
  .p-value-content__image + .p-value-content__section {
    margin-top: 112px;
  }
}
.p-value-content__culture {
  margin-top: 32px;
  background: #F2EEEC;
  border-radius: 8px;
}
@media (min-width: 600px) {
  .p-value-content__culture {
    margin-top: 80px;
  }
}
.p-value-content__culture-head, .p-value-content__culture-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 600px) {
  .p-value-content__culture-head, .p-value-content__culture-row {
    display: grid;
    grid-template-columns: 200px auto;
  }
}
@media (min-width: 960px) {
  .p-value-content__culture-head, .p-value-content__culture-row {
    grid-template-columns: 290px auto;
  }
}
@media (max-width: 600px) {
  .p-value-content__culture-head {
    width: 100%;
    padding: 10px 16px;
    border-bottom: 1px solid #C3BFBE;
  }
}
.p-value-content__culture-head .p-value-content__culture-cell {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-all;
  color: #9A9793;
}
.p-value-content__culture-head .p-value-content__culture-cell *,
.p-value-content__culture-head .p-value-content__culture-cell *::before,
.p-value-content__culture-head .p-value-content__culture-cell *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-value-content__culture-head .p-value-content__culture-cell:first-child::after {
  content: "/";
  padding: 0 8px;
}
@media (min-width: 600px) {
  .p-value-content__culture-head .p-value-content__culture-cell {
    padding: 12px 24px;
    border-bottom: 1px solid #C3BFBE;
  }
  .p-value-content__culture-head .p-value-content__culture-cell:first-child::after {
    display: none;
  }
}
.p-value-content__culture-row {
  border-bottom: 1px solid #C3BFBE;
}
.p-value-content__culture-row:last-of-type {
  border: none;
}
.p-value-content__culture-row .p-value-content__culture-cell {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  padding: 24px 16px 16px 16px;
}
.p-value-content__culture-row .p-value-content__culture-cell *,
.p-value-content__culture-row .p-value-content__culture-cell *::before,
.p-value-content__culture-row .p-value-content__culture-cell *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-value-content__culture-row .p-value-content__culture-cell {
    padding: 40px 24px;
  }
}
.p-value-content__culture-row .p-value-content__culture-cell + .p-value-content__culture-cell {
  padding: 0 16px 24px 16px;
}
@media (min-width: 600px) {
  .p-value-content__culture-row .p-value-content__culture-cell + .p-value-content__culture-cell {
    padding: 40px 24px;
  }
}
@media (max-width: 600px) {
  .p-value-content__culture-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-value-content__culture-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  font-weight: 700;
  padding-left: 30px;
  position: relative;
}
.p-value-content__culture-title *,
.p-value-content__culture-title *::before,
.p-value-content__culture-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-value-content__culture-title::before {
  content: attr(data-en);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 32;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  line-height: 1.3;
  display: block;
}
.p-value-content__culture-title::before *,
.p-value-content__culture-title::before *::before,
.p-value-content__culture-title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-value-content__culture-title::after {
  content: attr(data-num);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  width: 30px;
  position: absolute;
  left: 0;
  top: 5px;
}
.p-value-content__culture-title::after *,
.p-value-content__culture-title::after *::before,
.p-value-content__culture-title::after *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-value-content__craftsmanship-lead {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
@media (min-width: 600px) {
  .p-value-content__craftsmanship-lead {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 960px) {
  .p-value-content__craftsmanship-lead {
    gap: 64px;
  }
}
.p-value-content__craftsmanship-textarea {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-value-content__craftsmanship-image {
  width: 100%;
}
@media (min-width: 600px) {
  .p-value-content__craftsmanship-image {
    width: min(50%, 573px);
  }
}
.p-value-content__craftsmanship-image img {
  border-radius: 8px;
}
.p-value-content__craftsmanship-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  margin-top: 16px;
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-all;
}
.p-value-content__craftsmanship-caption *,
.p-value-content__craftsmanship-caption *::before,
.p-value-content__craftsmanship-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-value-content__craftsmanship-caption {
    margin-top: 40px;
  }
}
.p-value-content__craftsmanship-ways {
  margin-top: 32px;
  padding-bottom: 32px;
}
@media (min-width: 600px) {
  .p-value-content__craftsmanship-ways {
    padding-bottom: 0;
    margin-top: 112px;
  }
}
.p-value-content__ways-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 32;
  font-weight: 700;
}
.p-value-content__ways-title *,
.p-value-content__ways-title *::before,
.p-value-content__ways-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-value-content__ways-list {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
}
@media (min-width: 600px) {
  .p-value-content__ways-list {
    margin-top: 40px;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}
@media (min-width: 960px) {
  .p-value-content__ways-list {
    gap: 40px;
  }
}
.p-value-content__ways-card {
  padding: 24px;
  background: #F2EEEC;
  border-radius: 4px;
}
@media (min-width: 960px) {
  .p-value-content__ways-card {
    padding: 40px;
  }
}
.p-value-content__ways-num {
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 20;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
}
.p-value-content__ways-num *,
.p-value-content__ways-num *::before,
.p-value-content__ways-num *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 960px) {
  .p-value-content__ways-num {
    gap: 8px;
  }
}
.p-value-content__ways-num::before {
  content: "";
  min-width: 8px;
  aspect-ratio: 1/1;
  background: #C62812;
}
.p-value-content__ways-num span {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  font-weight: 700;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-value-content__ways-num span *,
.p-value-content__ways-num span *::before,
.p-value-content__ways-num span *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-value-content__ways-num span::before {
  content: "";
  width: calc(100% - 50px);
  margin: 0 8px;
  height: 1px;
  background: #C3BFBE;
}
@media (min-width: 960px) {
  .p-value-content__ways-num span::before {
    width: calc(100% - 70px);
    margin: 0 16px;
  }
}
.p-value-content__ways-catch {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 40px;
}
.p-value-content__ways-catch *,
.p-value-content__ways-catch *::before,
.p-value-content__ways-catch *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-value-content__ways-catch {
    margin-top: 80px;
  }
}
.p-value-content__ways-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  margin-top: 16px;
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-all;
}
.p-value-content__ways-caption *,
.p-value-content__ways-caption *::before,
.p-value-content__ways-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

/*------------------------------------
  働く環境
-------------------------------------*/
.p-environment-snapshot__inner {
  background: #FFFFFF;
}
.p-environment-snapshot__list {
  margin-top: 40px;
  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: 24px;
}
@media (min-width: 600px) {
  .p-environment-snapshot__list {
    margin-top: 64px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
@media (min-width: 960px) {
  .p-environment-snapshot__list {
    gap: 40px;
  }
}
.p-environment-snapshot__card {
  width: 100%;
  background: #F9F7F6;
  border-radius: 4px;
}
@media (min-width: 600px) {
  .p-environment-snapshot__card {
    width: calc((100% - 48px) / 3);
  }
}
@media (min-width: 960px) {
  .p-environment-snapshot__card {
    width: calc((100% - 80px) / 3);
  }
}
.p-environment-snapshot__card:nth-child(1) {
  width: 100%;
}
@media (min-width: 600px) {
  .p-environment-snapshot__card:nth-child(1) {
    width: calc((100% - 24px) / 2);
  }
}
@media (min-width: 960px) {
  .p-environment-snapshot__card:nth-child(1) {
    width: calc((100% - 40px) / 2);
  }
}
.p-environment-snapshot__card:nth-child(2) {
  width: 100%;
}
@media (min-width: 600px) {
  .p-environment-snapshot__card:nth-child(2) {
    width: calc((100% - 24px) / 2);
  }
}
@media (min-width: 960px) {
  .p-environment-snapshot__card:nth-child(2) {
    width: calc((100% - 40px) / 2);
  }
}
.p-environment-snapshot__card-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  text-align: center;
  padding: 8px 0;
  border-bottom: 1px solid #C3BFBE;
}
.p-environment-snapshot__card-title *,
.p-environment-snapshot__card-title *::before,
.p-environment-snapshot__card-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-environment-snapshot__card-inner {
  text-align: center;
  padding: 16px 24px 24px 24px;
}
@media (min-width: 960px) {
  .p-environment-snapshot__card-inner {
    padding: 24px 40px 32px 40px;
  }
}
.p-environment-snapshot__number {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 72;
  color: #C62812;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
}
.p-environment-snapshot__number *,
.p-environment-snapshot__number *::before,
.p-environment-snapshot__number *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-environment-snapshot__number span {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  margin-left: 8px;
}
.p-environment-snapshot__number span *,
.p-environment-snapshot__number span *::before,
.p-environment-snapshot__number span *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-environment-snapshot__number img {
  height: 32px;
  display: inline-block;
  vertical-align: -0.02em;
}
@media (min-width: 960px) {
  .p-environment-snapshot__number img img {
    height: 80px;
  }
}
.p-environment-snapshot__caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 16;
  text-align: left;
  width: min(100%, 475px);
  margin: 0 auto;
}
.p-environment-snapshot__caption *,
.p-environment-snapshot__caption *::before,
.p-environment-snapshot__caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-environment-snapshot__image {
  margin-top: 8px;
  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;
}
.p-environment-snapshot__image img {
  width: auto;
  height: 32px;
}
@media (min-width: 960px) {
  .p-environment-snapshot__image img {
    height: 80px;
  }
}

.p-environment-benefits__inner {
  background: #FFFFFF;
}
.p-environment-benefits__list {
  margin-top: 40px;
  background: #F2EEEC;
  border-radius: 8px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 600px) {
  .p-environment-benefits__list {
    margin-top: 64px;
  }
}
@media (min-width: 960px) {
  .p-environment-benefits__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-environment-benefits__card {
  padding: 24px;
  border-bottom: 1px solid #C3BFBE;
}
@media (min-width: 600px) {
  .p-environment-benefits__card {
    padding: 40px;
  }
}
@media (min-width: 960px) {
  .p-environment-benefits__card:nth-last-child(-n+2) {
    border-bottom: none;
  }
}
@media (min-width: 960px) {
  .p-environment-benefits__card:nth-child(odd) {
    border-right: 1px solid #C3BFBE;
  }
}
.p-environment-benefits__card:last-child {
  border-bottom: none;
}
.p-environment-benefits__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
}
.p-environment-benefits__title *,
.p-environment-benefits__title *::before,
.p-environment-benefits__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-environment-benefits__title::before {
  content: "";
  min-width: 6px;
  aspect-ratio: 1/1;
  background: #5C5756;
  border-radius: 50%;
  margin-top: 0.7em;
}
.p-environment-benefits__caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  margin-top: 16px;
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-all;
}
.p-environment-benefits__caption *,
.p-environment-benefits__caption *::before,
.p-environment-benefits__caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

.p-environment-work-style__inner {
  background: #FFFFFF;
}
.p-environment-work-style__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 32;
  margin-top: 40px;
}
.p-environment-work-style__title *,
.p-environment-work-style__title *::before,
.p-environment-work-style__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-environment-work-style__title {
    margin-top: 64px;
  }
}
.p-environment-work-style__list {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: min(3vw, 40px);
}
@media (min-width: 600px) {
  .p-environment-work-style__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 960px) {
  .p-environment-work-style__list {
    margin-top: 40px;
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-environment-work-style__card {
  background: #F2EEEC;
  border-radius: 4px;
}
.p-environment-work-style__card-head {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  font-weight: 700;
  padding: 8px 0;
  border-bottom: 1px solid #C3BFBE;
  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;
  gap: 8px;
}
.p-environment-work-style__card-head *,
.p-environment-work-style__card-head *::before,
.p-environment-work-style__card-head *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-environment-work-style__card-head::before {
  content: "";
  min-width: 8px;
  aspect-ratio: 1/1;
  background: #C62812;
}
.p-environment-work-style__card-body {
  padding: 24px 16px;
}
@media (min-width: 600px) {
  .p-environment-work-style__card-body {
    padding: 40px 32px;
  }
}
.p-environment-work-style__card-image {
  width: min(100%, 80px);
  margin: 0 auto;
}
@media (min-width: 600px) {
  .p-environment-work-style__card-image {
    width: min(100%, 120px);
  }
}
.p-environment-work-style__card-image img {
  border-radius: 8px;
}
.p-environment-work-style__card-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  margin-top: 24px;
}
.p-environment-work-style__card-caption *,
.p-environment-work-style__card-caption *::before,
.p-environment-work-style__card-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

.p-environment-office__inner {
  background: #FFFFFF;
}
.p-environment-office__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.p-environment-office__head .c-swiper-button-prev {
  border: 1px solid #C3BFBE;
}
.p-environment-office__head .c-swiper-button-next {
  border: 1px solid #C3BFBE;
}
.p-environment-office__head .c-swiper-autoplay-toggle {
  border: 1px solid #C3BFBE;
}
.p-environment-office__swiper {
  width: 100vw;
  margin: 40px calc(50% - 50vw - 14px) 0 calc(50% - 50vw - 14px);
}
@media (min-width: 600px) {
  .p-environment-office__swiper {
    margin: 64px calc(50% - 50vw - 40px) 0 calc(50% - 50vw - 40px);
  }
}
.p-environment-office__swiper-slide img {
  border-radius: 4px;
}
.p-environment-office__swiper-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  font-weight: 700;
  margin-top: 16px;
}
.p-environment-office__swiper-caption *,
.p-environment-office__swiper-caption *::before,
.p-environment-office__swiper-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

/*------------------------------------
  募集要項一覧
-------------------------------------*/
.p-openings-archive__categories {
  max-width: 1200px;
  margin: 0 auto;
}
.p-openings-archive__categories-title {
  padding-bottom: 16px;
  border-bottom: 1px solid #C3BFBE;
}
.p-openings-archive__categories-group {
  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: 8px;
  margin-top: 16px;
}
.p-openings-archive__categories-group:first-of-type {
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-openings-archive__categories-group {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
  }
}
.p-openings-archive__categories-label {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  font-weight: 700;
  min-width: 120px;
}
.p-openings-archive__categories-label *,
.p-openings-archive__categories-label *::before,
.p-openings-archive__categories-label *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-openings-archive__categories-list {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px;
}
.p-openings-archive__categories-list *,
.p-openings-archive__categories-list *::before,
.p-openings-archive__categories-list *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-openings-archive__categories-link {
  padding: 0 16px 1px 16px;
  background: #FFFFFF;
  border: 1px solid #C3BFBE;
  border-radius: 999px;
}
@media (hover: hover) and (pointer: fine) {
  .p-openings-archive__categories-link:hover {
    color: #FFFFFF;
    background: #292626;
    border: 1px solid #292626;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-openings-archive__categories-link:hover {
    color: #FFFFFF;
    background: #292626;
    border: 1px solid #292626;
  }
}
.p-openings-archive__list {
  margin-top: 40px;
  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: 24px;
}
@media (min-width: 600px) {
  .p-openings-archive__list {
    gap: 48px;
    max-width: 1200px;
    margin: 64px auto 0;
  }
}
.p-openings-archive__card {
  padding: 24px;
  background: #FFFFFF;
  border-radius: 8px;
  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: 24px;
}
@media (min-width: 600px) {
  .p-openings-archive__card {
    padding: min(4vw, 48px);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 56px;
  }
}
.p-openings-archive__image {
  width: 100%;
}
@media (min-width: 600px) {
  .p-openings-archive__image {
    width: min(35%, 320px);
  }
}
.p-openings-archive__image img {
  border-radius: 4px;
}
.p-openings-archive__textarea {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-openings-archive__category {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.p-openings-archive__category-term {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 11;
  --max-font-size: 12;
  margin-right: 8px;
}
.p-openings-archive__category-term *,
.p-openings-archive__category-term *::before,
.p-openings-archive__category-term *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-openings-archive__category-description {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  margin-right: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.p-openings-archive__category-description *,
.p-openings-archive__category-description *::before,
.p-openings-archive__category-description *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-openings-archive__category-description span {
  background: #FFFFFF;
  border: 1px solid #C3BFBE;
  padding: 0 16px 1px 16px;
  border-radius: 999px;
}
.p-openings-archive__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 32;
}
.p-openings-archive__title *,
.p-openings-archive__title *::before,
.p-openings-archive__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-openings-archive__caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  line-height: 1.8;
  margin-top: 10px;
  padding-top: 24px;
  margin-top: 24px;
  border-top: 1px solid #C3BFBE;
}
.p-openings-archive__caption *,
.p-openings-archive__caption *::before,
.p-openings-archive__caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-openings-archive__button {
  margin-top: 32px;
  text-align: right;
}
.p-openings-archive__button-link {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 16;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.p-openings-archive__button-link *,
.p-openings-archive__button-link *::before,
.p-openings-archive__button-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-openings-archive__button-link::after {
  content: "";
  width: 24px;
  aspect-ratio: 1/1;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../img/home/slide_button_arrow.svg);
  -webkit-mask-image: -webkit-linear-gradient(#000, #000), url(../img/home/slide_button_arrow.svg);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../img/home/slide_button_arrow.svg);
          mask-image: linear-gradient(#000, #000), url(../img/home/slide_button_arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: 0 0, center center;
          mask-position: 0 0, center center;
  -webkit-mask-size: 100% 100%, 10px auto;
          mask-size: 100% 100%, 10px auto;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  border-radius: 4px;
  background: #C62812;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (min-width: 600px) {
  .p-openings-archive__button-link::after {
    width: 32px;
    -webkit-mask-size: 100% 100%, 16px 10px;
            mask-size: 100% 100%, 16px 10px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-openings-archive__button-link:hover::after {
    background: #292626;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-openings-archive__button-link:hover::after {
    background: #292626;
  }
}

/*------------------------------------
  募集要項詳細
-------------------------------------*/
.p-openings-article__inner {
  position: relative;
  z-index: 0;
}
.p-openings-article__inner::before {
  content: "";
  width: min(40%, 200px);
  border-left: 44px solid #FFFFFF;
  border-bottom: 44px solid #FFFFFF;
  border-radius: 0 0 0 100%;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
@media (min-width: 960px) {
  .p-openings-article__inner::before {
    border-left: 88px solid #FFFFFF;
    border-bottom: 88px solid #FFFFFF;
  }
}
.p-openings-article__inner::after {
  content: "";
  width: min(40%, 200px);
  border-right: 44px solid #FFFFFF;
  border-top: 44px solid #FFFFFF;
  border-radius: 0 100% 0 0;
  aspect-ratio: 1/1;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media (min-width: 960px) {
  .p-openings-article__inner::after {
    width: min(30%, 406px);
    border-right: 88px solid #FFFFFF;
    border-top: 88px solid #FFFFFF;
  }
}
.p-openings-article__content {
  padding: 24px;
  background: #FFFFFF;
  border-radius: 8px;
}
@media (min-width: 600px) {
  .p-openings-article__content {
    padding: min(6vw, 80px);
  }
}
.p-openings-article__category-area {
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-openings-article__category-area {
    margin-top: 24px;
  }
}
.p-openings-article__category {
  width: 100%;
  display: grid;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 12px 24px;
}
@media (min-width: 600px) {
  .p-openings-article__category {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.p-openings-article__category-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
.p-openings-article__category-term {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 11;
  --max-font-size: 12;
  min-width: 4em;
  margin-top: 0.3em;
}
.p-openings-article__category-term *,
.p-openings-article__category-term *::before,
.p-openings-article__category-term *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-openings-article__category-description {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-openings-article__category-description *,
.p-openings-article__category-description *::before,
.p-openings-article__category-description *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-openings-article__category-description span {
  background: #FFFFFF;
  border: 1px solid #C3BFBE;
  padding: 0 16px 1px 16px;
  border-radius: 999px;
}
.p-openings-article__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 28;
  --max-font-size: 32;
  width: 100%;
  margin-bottom: min(3vw, 24px);
}
.p-openings-article__title *,
.p-openings-article__title *::before,
.p-openings-article__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-openings-article__lead {
  margin-top: 32px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 40px;
}
@media (min-width: 600px) {
  .p-openings-article__lead {
    grid-template-columns: auto min(45%, 403px);
    margin-top: 64px;
  }
}
@media (min-width: 960px) {
  .p-openings-article__lead {
    grid-template-columns: auto min(40%, 403px);
    gap: 0 64px;
  }
}
@media (min-width: 600px) {
  .p-openings-article__subtitle {
    grid-column: 1/-1;
    grid-row: 1;
  }
}
@media (min-width: 960px) {
  .p-openings-article__subtitle {
    grid-column: 1/2;
  }
}
.p-openings-article__image {
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-openings-article__image {
    grid-column: 2/3;
    grid-row: 2;
  }
}
@media (min-width: 960px) {
  .p-openings-article__image {
    grid-column: 2/3;
    grid-row: 1/3;
  }
}
.p-openings-article__image img {
  border-radius: 4px;
}
.p-openings-article__caption {
  margin-top: 24px;
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-all;
}
@media (min-width: 600px) {
  .p-openings-article__caption {
    grid-column: 1/2;
    grid-row: 2;
  }
}
@media (min-width: 960px) {
  .p-openings-article__caption {
    grid-column: 1/2;
    grid-row: 2;
  }
}
.p-openings-article__opening {
  margin-top: 80px;
}
@media (min-width: 600px) {
  .p-openings-article__opening {
    margin-top: 112px;
  }
}
.p-openings-article__details {
  margin-top: 32px;
  border-top: 1px solid #C3BFBE;
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 600px) {
  .p-openings-article__details {
    grid-template-columns: 130px auto;
  }
}
@media (min-width: 960px) {
  .p-openings-article__details {
    margin-top: 48px;
    grid-template-columns: 223px auto;
  }
}
.p-openings-article__details-term {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  font-weight: 700;
  padding: 16px 0;
  border-bottom: 1px solid #C3BFBE;
}
.p-openings-article__details-term *,
.p-openings-article__details-term *::before,
.p-openings-article__details-term *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-openings-article__details-term {
    padding: 32px 0;
  }
}
.p-openings-article__details-description {
  padding: 16px 0;
  border-bottom: 1px solid #C3BFBE;
}
@media (min-width: 600px) {
  .p-openings-article__details-description {
    padding: 32px 0;
  }
}
.p-openings-article__details-description p, .p-openings-article__details-description ul {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
}
.p-openings-article__details-description p *,
.p-openings-article__details-description p *::before,
.p-openings-article__details-description p *::after, .p-openings-article__details-description ul *,
.p-openings-article__details-description ul *::before,
.p-openings-article__details-description ul *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-openings-article__details-description p + p, .p-openings-article__details-description p + ul {
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-openings-article__details-description p + p, .p-openings-article__details-description p + ul {
    margin-top: 32px;
  }
}
.p-openings-article__details-description ul li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.p-openings-article__details-description ul li::before {
  content: "・";
  min-width: 1em;
}
.p-openings-article__button {
  margin-top: 24px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 600px) {
  .p-openings-article__button {
    margin-top: 64px;
  }
}

/*------------------------------------
  プロジェクトストーリー一覧
-------------------------------------*/
.p-project-archive__list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 64px 0;
}
@media (min-width: 600px) {
  .p-project-archive__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 72px 40px;
  }
}
@media (min-width: 960px) {
  .p-project-archive__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 72px 56px;
  }
}
.p-project-archive__image {
  border-radius: 4px;
  overflow: hidden;
}
.p-project-archive__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 24px;
}
.p-project-archive__title *,
.p-project-archive__title *::before,
.p-project-archive__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-project-archive__part {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  margin-top: 5px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.p-project-archive__part *,
.p-project-archive__part *::before,
.p-project-archive__part *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-project-archive__part::before {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
  content: "";
  min-width: 6px;
  aspect-ratio: 1/1;
  background: #C62812;
}
.p-project-archive__part::before *,
.p-project-archive__part::before *::before,
.p-project-archive__part::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

/*------------------------------------
  プロジェクトストーリー詳細
-------------------------------------*/
.p-project-hero {
  background: none;
  overflow: hidden;
}
.p-project-hero img {
  height: 130%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top right;
     object-position: top right;
  position: absolute;
  top: 0;
}
@media (min-width: 600px) {
  .p-project-hero img {
    width: 100%;
    height: auto;
  }
}
.p-project-hero::before {
  border-bottom: 1px solid #C3BFBE;
}
.p-project-hero::after {
  width: 100%;
  height: 100%;
  background: #292626;
  mix-blend-mode: multiply;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.55;
}

.p-project-article {
  background: #FFFFFF;
  position: relative;
  z-index: 0;
}
.p-project-article::before {
  content: "";
  width: min(40%, 200px);
  border-right: 44px solid #F2EEEC;
  border-bottom: 44px solid #F2EEEC;
  border-radius: 0 0 100% 0;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media (min-width: 960px) {
  .p-project-article::before {
    width: min(30%, 450px);
    aspect-ratio: 1/1;
    border-right: 88px solid #F2EEEC;
    border-bottom: 88px solid #F2EEEC;
  }
}
.p-project-article__lead {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0 40px;
}
@media (min-width: 600px) {
  .p-project-article__lead {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 960px) {
  .p-project-article__lead {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 120px;
  }
}
.p-project-article__number {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  color: #C62812;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  width: 100%;
}
.p-project-article__number *,
.p-project-article__number *::before,
.p-project-article__number *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-project-article__number {
    width: 230px;
  }
}
@media (min-width: 960px) {
  .p-project-article__number {
    width: 300px;
  }
}
.p-project-article__lead-content {
  width: min(100%, 760px);
}
.p-project-article__lead-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 40;
  margin-top: 24px;
}
.p-project-article__lead-title *,
.p-project-article__lead-title *::before,
.p-project-article__lead-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-project-article__lead-title {
    margin-top: 0;
  }
}
.p-project-article__lead-part {
  margin-top: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.p-project-article__lead-part::before {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
  content: "";
  min-width: 6px;
  aspect-ratio: 1/1;
  background: #C62812;
}
.p-project-article__lead-part::before *,
.p-project-article__lead-part::before *::before,
.p-project-article__lead-part::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-project-article__outline {
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-project-article__outline {
    margin-top: 80px;
  }
}
.p-project-article__outline-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.p-project-article__outline-title *,
.p-project-article__outline-title *::before,
.p-project-article__outline-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-project-article__outline-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-project-article__outline-caption *,
.p-project-article__outline-caption *::before,
.p-project-article__outline-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-project-article__outline-member {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
}
@media (min-width: 960px) {
  .p-project-article__outline-member {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}
.p-project-article__outline-card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
.p-project-article__outline-image {
  width: min(100%, 64px);
}
.p-project-article__outline-image img {
  border-radius: 4px;
}
.p-project-article__outline-textarea {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-project-article__outline-name {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  font-weight: 700;
}
.p-project-article__outline-name *,
.p-project-article__outline-name *::before,
.p-project-article__outline-name *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-project-article__outline-job {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 12;
}
.p-project-article__outline-job *,
.p-project-article__outline-job *::before,
.p-project-article__outline-job *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-project-article__outline-comment {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 12;
  color: #5C5756;
  margin-top: 8px;
}
.p-project-article__outline-comment *,
.p-project-article__outline-comment *::before,
.p-project-article__outline-comment *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-project-article__qustion {
  margin-top: 64px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0 40px;
}
@media (min-width: 600px) {
  .p-project-article__qustion {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 960px) {
  .p-project-article__qustion {
    gap: 0 120px;
  }
}
.p-project-article__qustion-content {
  width: min(100%, 760px);
}
.p-project-article__qustion-content.--border-top {
  padding-top: 64px;
  border-top: 1px solid #C3BFBE;
}
.p-project-article__qustion-content + .p-project-article__qustion-image:not(:empty) {
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-project-article__qustion-content + .p-project-article__qustion-image:not(:empty) {
    margin-top: 0;
  }
}
.p-project-article__qustion-image {
  width: 100%;
}
@media (min-width: 600px) {
  .p-project-article__qustion-image {
    width: 230px;
  }
}
@media (min-width: 960px) {
  .p-project-article__qustion-image {
    width: 300px;
  }
}
.p-project-article__qustion-image img {
  border-radius: 8px;
}
.p-project-article__qustion-title::after {
  content: attr(data-en);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  color: #9A9793;
  display: block;
}
.p-project-article__qustion-title::after *,
.p-project-article__qustion-title::after *::before,
.p-project-article__qustion-title::after *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-project-article__qustion-section {
  margin-top: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 48px 24px;
}
@media (min-width: 600px) {
  .p-project-article__qustion-section {
    margin-top: 48px;
    gap: 48px 32px;
  }
}
.p-project-article__qustion-icon {
  min-width: 64px;
  margin-top: 0.5em;
}
.p-project-article__qustion-icon img {
  border-radius: 4px;
}
.p-project-article__qustion-icon figcaption {
  text-align: center;
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  font-weight: 700;
  margin-top: 8px;
}
.p-project-article__qustion-icon figcaption *,
.p-project-article__qustion-icon figcaption *::before,
.p-project-article__qustion-icon figcaption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-project-article__qustion-comment {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-project-article__qustion-comment *,
.p-project-article__qustion-comment *::before,
.p-project-article__qustion-comment *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-project-article__image-normal {
  width: calc(100vw - 38px);
  margin-top: 48px;
  margin-left: calc(50% - 50vw + 19px);
}
@media (min-width: 600px) {
  .p-project-article__image-normal {
    width: 100%;
    margin-top: 64px;
    margin-left: 0;
  }
}
@media (min-width: 600px) {
  .p-project-article__image-normal img {
    border-radius: 8px;
  }
}
.p-project-article__image-full {
  margin-top: 48px;
  width: calc(100vw - 38px);
  margin-left: calc(50% - 50vw + 19px);
}
@media (min-width: 600px) {
  .p-project-article__image-full {
    margin-top: 112px;
    width: calc(100vw - 100px);
    margin-left: calc(50% - 50vw + 50px);
  }
}

.p-project-archive-other {
  padding-bottom: 40px;
  border: none;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.p-project-archive-other__body-inner {
  padding-bottom: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-left: auto;
  margin-left: 0;
}
@media (min-width: 600px) {
  .p-project-archive-other__body-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
.p-project-archive-other__swiper {
  width: 100%;
  margin-top: 48px;
}
@media (min-width: 600px) {
  .p-project-archive-other__swiper {
    width: 100vw;
    margin-top: 64px;
    margin-left: calc(50% - 50vw - 40px);
  }
}
@media (min-width: 600px) {
  .p-project-archive-other__swiper.is-few-large {
    width: 100%;
    padding-left: min(6vw, 80px);
    margin-left: auto;
  }
}
.p-project-archive-other__swiper-slide img {
  border-radius: 4px;
}
.p-project-archive-other__swiper-image {
  border-radius: 4px;
  overflow: hidden;
}
.p-project-archive-other__swiper-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 24px;
}
.p-project-archive-other__swiper-title *,
.p-project-archive-other__swiper-title *::before,
.p-project-archive-other__swiper-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-project-archive-other__swiper-part {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  margin-top: 5px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.p-project-archive-other__swiper-part *,
.p-project-archive-other__swiper-part *::before,
.p-project-archive-other__swiper-part *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-project-archive-other__swiper-part::before {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
  content: "";
  min-width: 6px;
  aspect-ratio: 1/1;
  background: #C62812;
}
.p-project-archive-other__swiper-part::before *,
.p-project-archive-other__swiper-part::before *::before,
.p-project-archive-other__swiper-part::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-project-archive-other__button {
  width: min(100%, 200px);
  margin-top: 16px;
  margin-left: auto;
  height: 48px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 10px;
}
@media (min-width: 600px) {
  .p-project-archive-other__button {
    height: 56px;
    margin-top: 0;
  }
}

.p-interview-archive-other__body-inner:has(.has-few-large) {
  margin-left: 0; /* 例 */
}

/*------------------------------------
  ニュース一覧
-------------------------------------*/
.p-news-archive__body {
  padding-bottom: 40px;
}
@media (min-width: 600px) {
  .p-news-archive__body {
    padding-bottom: 80px;
  }
}
.p-news-archive__table {
  padding-bottom: 0;
}
.p-news-archive__table-row {
  border-top: 1px solid #C3BFBE;
}
.p-news-archive__table-row:first-of-type {
  color: #9A9793;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  padding-bottom: 12px;
  border: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 960px) {
  .p-news-archive__table-row:first-of-type {
    display: grid;
    grid-template-columns: 140px 190px auto;
  }
}
.p-news-archive__table-row:first-of-type .p-news-archive__date {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
}
.p-news-archive__table-row:first-of-type .p-news-archive__date *,
.p-news-archive__table-row:first-of-type .p-news-archive__date *::before,
.p-news-archive__table-row:first-of-type .p-news-archive__date *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-news-archive__table-row:first-of-type .p-news-archive__date:after {
  content: "/";
  margin: 0 0.5em;
}
@media (min-width: 960px) {
  .p-news-archive__table-row:first-of-type .p-news-archive__date:after {
    display: none;
  }
}
.p-news-archive__table-row:first-of-type .p-news-archive__category {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
}
.p-news-archive__table-row:first-of-type .p-news-archive__category *,
.p-news-archive__table-row:first-of-type .p-news-archive__category *::before,
.p-news-archive__table-row:first-of-type .p-news-archive__category *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-news-archive__table-row:first-of-type .p-news-archive__category:after {
  content: "/";
  margin: 0 0.5em;
}
@media (min-width: 960px) {
  .p-news-archive__table-row:first-of-type .p-news-archive__category:after {
    display: none;
  }
}
.p-news-archive__table-row:first-of-type .p-news-archive__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
}
.p-news-archive__table-row:first-of-type .p-news-archive__title *,
.p-news-archive__table-row:first-of-type .p-news-archive__title *::before,
.p-news-archive__table-row:first-of-type .p-news-archive__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-news-archive__link {
  padding: 32px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 16px;
}
@media (min-width: 960px) {
  .p-news-archive__link {
    display: grid;
    grid-template-columns: 140px 190px auto 210px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-news-archive__link:hover {
    opacity: 0.7;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-news-archive__link:hover {
    opacity: 0.7;
  }
}
.p-news-archive__thumbnail {
  width: 100%;
  aspect-ratio: 210/140;
  overflow: hidden;
}
.p-news-archive__thumbnail.--no-image {
  background: #FFFFFF;
  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;
}
@media (min-width: 600px) {
  .p-news-archive__thumbnail {
    width: min(100%, 210px);
  }
}
@media (min-width: 960px) {
  .p-news-archive__thumbnail {
    width: 100%;
  }
}
.p-news-archive__date {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
}
.p-news-archive__date *,
.p-news-archive__date *::before,
.p-news-archive__date *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-news-archive__category {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-news-archive__category *,
.p-news-archive__category *::before,
.p-news-archive__category *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-news-archive__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  font-weight: 700;
  width: 100%;
}
.p-news-archive__title *,
.p-news-archive__title *::before,
.p-news-archive__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 960px) {
  .p-news-archive__title {
    margin-right: 80px;
  }
}

/*------------------------------------
  ニュース詳細
-------------------------------------*/
.p-news-article__head {
  width: min(100%, 966px);
  margin: 0 auto;
  padding: 112px 24px 32px 24px;
}
@media (min-width: 600px) {
  .p-news-article__head {
    padding: 164px min(6vw, 80px) 64px min(6vw, 80px);
  }
}
.p-news-article__title {
  color: #C62812;
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
}
.p-news-article__title *,
.p-news-article__title *::before,
.p-news-article__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-news-article__title::before {
  content: attr(data-en);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 80;
  line-height: 1;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  display: block;
}
.p-news-article__title::before *,
.p-news-article__title::before *::before,
.p-news-article__title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-news-article__body {
  padding: 32px 24px;
  border-top: 1px solid #C3BFBE;
  border-bottom: 1px solid #C3BFBE;
}
@media (min-width: 600px) {
  .p-news-article__body {
    padding: 64px min(6vw, 80px) 80px min(6vw, 80px);
  }
}
.p-news-article__body-inner {
  width: min(100%, 966px);
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px 0;
}
@media (min-width: 600px) {
  .p-news-article__body-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 min(12.4vw, 120px);
  }
}
.p-news-article__main {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
@media (min-width: 600px) {
  .p-news-article__main {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
}
.p-news-article__main-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 40;
}
.p-news-article__main-title *,
.p-news-article__main-title *::before,
.p-news-article__main-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-news-article__side {
  min-width: 95px;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
@media (min-width: 600px) {
  .p-news-article__side {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
}
@media (max-width: 600px) {
  .p-news-article__meta {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 0;
  }
}
.p-news-article__meta-label {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  color: #9A9793;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
}
.p-news-article__meta-label *,
.p-news-article__meta-label *::before,
.p-news-article__meta-label *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-news-article__meta-date {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  margin-top: 12px;
}
.p-news-article__meta-date *,
.p-news-article__meta-date *::before,
.p-news-article__meta-date *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-news-article__meta-date + .p-news-article__meta-label {
  margin-top: 40px;
}
@media (max-width: 600px) {
  .p-news-article__meta-date {
    margin-top: 0;
    grid-area: 2/1/3/2;
  }
  .p-news-article__meta-date + .p-news-article__meta-label {
    margin-top: 0px;
  }
}
.p-news-article__meta-category {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  margin-top: 12px;
  line-height: 1.2;
}
.p-news-article__meta-category *,
.p-news-article__meta-category *::before,
.p-news-article__meta-category *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (max-width: 600px) {
  .p-news-article__meta-category {
    grid-area: 2/2/3/3;
    margin: 0;
  }
}
.p-news-article__button {
  margin-top: 32px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 600px) {
  .p-news-article__button {
    margin-top: 64px;
  }
}
.p-news-article p {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  margin-top: 24px;
}
.p-news-article p *,
.p-news-article p *::before,
.p-news-article p *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-news-article p {
    margin-top: 48px;
  }
}
.p-news-article p + .wp-block-image {
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-news-article p + .wp-block-image {
    margin-top: 64px;
  }
}
.p-news-article .wp-block-image {
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-news-article .wp-block-image {
    margin-top: 48px;
  }
}

/*------------------------------------
  職種紹介
-------------------------------------*/
.p-positon-hero {
  background: url(../img/position/img_kv.jpg) no-repeat #C62812 top center/cover;
}
.p-positon-hero::before {
  border-bottom: 1px solid #CBCBCB;
}
.p-positon-hero::after {
  width: 100%;
  height: 100%;
  background: rgba(41, 38, 38, 0.55);
  mix-blend-mode: multiply;
  inset: 0;
  pointer-events: none;
}
.p-positon-hero .c-hero__inner {
  position: relative;
  z-index: 1;
}

.p-positon-job__inner {
  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: 40px;
}
@media (min-width: 960px) {
  .p-positon-job__inner {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 70px;
  }
}
.p-positon-job__main {
  width: 100%;
}
@media (min-width: 960px) {
  .p-positon-job__main {
    width: 76%;
  }
}
.p-positon-job__side {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}
@media (min-width: 960px) {
  .p-positon-job__side {
    position: -webkit-sticky;
    position: sticky;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    top: 130px;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
}
.p-positon-job__side-index {
  min-width: 210px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px 24px;
}
@media (min-width: 960px) {
  .p-positon-job__side-index {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
.p-positon-job__side-title {
  font-size: 14px;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  width: 100%;
  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: 4px;
}
.p-positon-job__side-title::before {
  content: "";
  width: 24px;
  height: 4px;
  background: #292626;
}
@media (min-width: 960px) {
  .p-positon-job__side-item {
    border-bottom: 1px solid #C3BFBE;
  }
  .p-positon-job__side-item:first-of-type {
    margin-top: 28px;
  }
}
.p-positon-job__side-link {
  font-size: 14px;
  color: #9A9793;
  padding: 5px 0 5px 15px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media (min-width: 600px) {
  .p-positon-job__side-link {
    padding: 12px 0 12px 15px;
  }
}
.p-positon-job__side-link::before {
  content: "";
  width: 4px;
  aspect-ratio: 1/1;
  background: #9A9793;
  border-radius: 50%;
  position: absolute;
  left: 0;
}
.p-positon-job__side-link.current {
  color: #292626;
}
.p-positon-job__side-link.current::before {
  width: 6px;
  background: #C62812;
}
.p-positon-job__section {
  background: #FFFFFF;
  border-radius: 8px;
}
.p-positon-job__section + .p-positon-job__section {
  margin-top: 80px;
}
.p-positon-job__head {
  padding: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  position: relative;
  z-index: 0;
}
@media (min-width: 600px) {
  .p-positon-job__head {
    padding: 48px;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.p-positon-job__head::after {
  content: "( #" attr(data-num) " )";
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  color: #9A9793;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  position: absolute;
  right: 24px;
}
.p-positon-job__head::after *,
.p-positon-job__head::after *::before,
.p-positon-job__head::after *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-positon-job__head::after {
    position: static;
  }
}
.p-positon-job__head::before {
  content: "";
  width: min(20%, 44px);
  border-left: 11px solid #F2EEEC;
  border-top: 11px solid #F2EEEC;
  border-radius: 100% 0 0 0;
  aspect-ratio: 1/1;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
}
@media (min-width: 600px) {
  .p-positon-job__head::before {
    width: min(30%, 88px);
    border-left: 22px solid #F2EEEC;
    border-top: 22px solid #F2EEEC;
  }
}
.p-positon-job__body {
  padding: 32px 24px;
  position: relative;
}
@media (min-width: 600px) {
  .p-positon-job__body {
    padding: 56px 48px;
  }
}
.p-positon-job__body::after {
  content: "";
  width: 100%;
  height: 8px;
  border-top: 1px solid #C3BFBE;
  border-bottom: 1px solid #C3BFBE;
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-positon-job__caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  margin-top: 24px;
}
.p-positon-job__caption *,
.p-positon-job__caption *::before,
.p-positon-job__caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-positon-job__work {
  margin-top: 32px;
  background: #F2EEEC;
  border-radius: 8px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 600px) {
  .p-positon-job__work {
    margin-top: 48px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-positon-job__term {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  font-weight: 700;
  padding: 12px 16px;
  border-bottom: 1px solid #C3BFBE;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.p-positon-job__term *,
.p-positon-job__term *::before,
.p-positon-job__term *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-positon-job__term {
    grid-column: span 2;
  }
}
.p-positon-job__term::before {
  content: "";
  min-width: 8px;
  aspect-ratio: 1/1;
  background: #C62812;
}
.p-positon-job__description {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 16;
  padding: 16px;
  border-bottom: 1px solid #C3BFBE;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.p-positon-job__description *,
.p-positon-job__description *::before,
.p-positon-job__description *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-positon-job__description {
    padding: 24px;
  }
}
.p-positon-job__description::before {
  content: "";
  min-width: 4px;
  aspect-ratio: 1/1;
  background: #5C5756;
  border-radius: 50%;
}
@media (min-width: 600px) {
  .p-positon-job__description:nth-child(odd) {
    border-left: 1px solid #C3BFBE;
  }
}
@media (min-width: 600px) {
  .p-positon-job__description:nth-last-child(-n+2) {
    border-bottom: none;
  }
}
.p-positon-job__description:last-child {
  border-bottom: none;
}
.p-positon-job__button {
  padding: 32px 24px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}

/*------------------------------------
  各部
-------------------------------------*/
.p-positon-role__inner {
  background: #FFFFFF;
}
.p-positon-role__image {
  width: min(100%, 966px);
  margin: 0 auto;
}
.p-positon-role__image img {
  border-radius: 8px;
}
.p-positon-role__textarea {
  width: min(100%, 966px);
  margin: 32px auto 0 auto;
}
@media (min-width: 600px) {
  .p-positon-role__textarea {
    margin: 64px auto 0 auto;
  }
}
.p-positon-role__caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  margin-top: 16px;
}
.p-positon-role__caption *,
.p-positon-role__caption *::before,
.p-positon-role__caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-positon-role__caption {
    margin-top: 24px;
  }
}

.p-positon-organization__inner {
  background: #FFFFFF;
}
.p-positon-organization__textarea {
  width: min(100%, 966px);
  margin: 0 auto;
}
.p-positon-organization__caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  margin-top: 16px;
}
.p-positon-organization__caption *,
.p-positon-organization__caption *::before,
.p-positon-organization__caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-positon-organization__message {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
@media (min-width: 600px) {
  .p-positon-organization__message {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 48px;
  }
}
.p-positon-organization__message-image {
  width: 100%;
}
@media (min-width: 600px) {
  .p-positon-organization__message-image {
    width: min(36.6%, 354px);
  }
}
.p-positon-organization__message-image img {
  border-radius: 4px;
}
.p-positon-organization__message-image figcaption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  margin-top: 8px;
}
.p-positon-organization__message-image figcaption *,
.p-positon-organization__message-image figcaption *::before,
.p-positon-organization__message-image figcaption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-positon-organization__message-textarea {
  background: #F2EEEC;
  border-radius: 8px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
  position: relative;
}
@media (min-width: 600px) {
  .p-positon-organization__message-textarea {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
}
.p-positon-organization__message-textarea::before {
  content: "";
  width: 25px;
  height: 23px;
  margin: auto;
  background: url(../img/position/bubble_tail.svg) no-repeat center center/100% auto;
  position: absolute;
  inset: 0;
  top: auto;
  -webkit-transform: translateY(100%) rotate(-90deg);
          transform: translateY(100%) rotate(-90deg);
}
@media (min-width: 600px) {
  .p-positon-organization__message-textarea::before {
    right: auto;
    top: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.p-positon-organization__message-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  font-weight: 700;
  padding: 8px 16px;
  border-bottom: 1px solid #C3BFBE;
}
.p-positon-organization__message-title *,
.p-positon-organization__message-title *::before,
.p-positon-organization__message-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-positon-organization__message-title {
    padding: 12px 24px;
  }
}
.p-positon-organization__message-inner {
  padding: 24px 16px;
}
@media (min-width: 600px) {
  .p-positon-organization__message-inner {
    padding: 24px;
  }
}
.p-positon-organization__message-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-positon-organization__message-caption *,
.p-positon-organization__message-caption *::before,
.p-positon-organization__message-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

.p-positon-process__important {
  background: #FFFFFF;
}
.p-positon-process__important-inner {
  width: min(100%, 966px);
  margin: 0 auto;
}
.p-positon-process__important-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  margin-top: 16px;
}
.p-positon-process__important-caption *,
.p-positon-process__important-caption *::before,
.p-positon-process__important-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-positon-process__important-caption {
    margin-top: 24px;
  }
}
.p-positon-process__features {
  margin-top: 40px;
  background: #F2EEEC;
  border-radius: 8px;
}
@media (min-width: 600px) {
  .p-positon-process__features {
    margin-top: 64px;
  }
}
.p-positon-process__features-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  font-weight: 700;
  padding: 8px 16px;
  border-bottom: 1px solid #C3BFBE;
}
.p-positon-process__features-title *,
.p-positon-process__features-title *::before,
.p-positon-process__features-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-positon-process__features-title {
    padding: 12px 24px;
  }
}
.p-positon-process__features-list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 600px) {
  .p-positon-process__features-list {
    grid-template-columns: 200px auto;
  }
}
@media (min-width: 960px) {
  .p-positon-process__features-list {
    grid-template-columns: 268px auto;
  }
}
.p-positon-process__features-catch {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  font-weight: 700;
  line-height: 1.4;
  padding: 24px 16px 0 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  white-space: nowrap;
}
.p-positon-process__features-catch *,
.p-positon-process__features-catch *::before,
.p-positon-process__features-catch *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-positon-process__features-catch:last-of-type {
  border-bottom: none;
}
.p-positon-process__features-catch::before {
  content: attr(data-num);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 15;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  margin-top: 0.4em;
}
.p-positon-process__features-catch::before *,
.p-positon-process__features-catch::before *::before,
.p-positon-process__features-catch::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-positon-process__features-catch {
    padding: 40px 24px 40px 24px;
    border-bottom: 1px solid #C3BFBE;
  }
}
@media (min-width: 960px) {
  .p-positon-process__features-catch {
    padding: 40px 40px 40px 48px;
  }
}
.p-positon-process__features-description {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  padding: 24px 16px 24px 16px;
  border-bottom: 1px solid #C3BFBE;
}
.p-positon-process__features-description *,
.p-positon-process__features-description *::before,
.p-positon-process__features-description *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-positon-process__features-description:last-of-type {
  border-bottom: none;
}
@media (min-width: 600px) {
  .p-positon-process__features-description {
    padding: 40px 24px 40px 24px;
  }
}
@media (min-width: 960px) {
  .p-positon-process__features-description {
    padding: 40px 48px 40px 40px;
  }
}
.p-positon-process__interview {
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-positon-process__interview {
    margin-top: 80px;
  }
}
.p-positon-process__interview-list {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 32px;
}
@media (min-width: 600px) {
  .p-positon-process__interview-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
    margin-top: 32px;
  }
}
.p-positon-process__interview-image {
  border-radius: 4px;
  overflow: hidden;
}
.p-positon-process__interview-catch {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  font-weight: 700;
  margin-top: 16px;
}
.p-positon-process__interview-catch *,
.p-positon-process__interview-catch *::before,
.p-positon-process__interview-catch *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-positon-process__interview-name {
  margin-top: 8px;
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.p-positon-process__interview-name *,
.p-positon-process__interview-name *::before,
.p-positon-process__interview-name *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-positon-process__interview-name::before {
  content: "";
  min-width: 6px;
  aspect-ratio: 1/1;
  background: #C62812;
}
.p-positon-process__group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}
.p-positon-process__question {
  margin-top: 40px;
  border: 1px solid #C3BFBE;
  border-radius: 8px;
}
@media (min-width: 600px) {
  .p-positon-process__question {
    margin-top: 80px;
  }
}
.p-positon-process__question-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  font-weight: 700;
  padding: 16px 16px;
  border-bottom: 1px solid #C3BFBE;
}
.p-positon-process__question-title *,
.p-positon-process__question-title *::before,
.p-positon-process__question-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-positon-process__question-title {
    padding: 16px 24px;
  }
}
.p-positon-process__question-inner {
  padding: 24px 16px;
}
@media (min-width: 600px) {
  .p-positon-process__question-inner {
    padding: 40px 48px;
  }
}
.p-positon-process__question-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-positon-process__question-caption *,
.p-positon-process__question-caption *::before,
.p-positon-process__question-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-positon-process__question-list {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  font-weight: 700;
  list-style: disc;
  margin: 32px 0 0 1.5em;
  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: 8px;
}
.p-positon-process__question-list *,
.p-positon-process__question-list *::before,
.p-positon-process__question-list *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-positon-process__question-list {
    gap: 12px;
  }
}
.p-positon-process__flow {
  background: #FFFFFF;
  position: relative;
}
.p-positon-process__flow::before {
  content: "";
  width: 100%;
  height: 10px;
  border-top: 1px solid #C3BFBE;
  border-bottom: 1px solid #C3BFBE;
  position: absolute;
  top: 0;
  left: 0;
}
.p-positon-process__flow-step {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
}
@media (min-width: 600px) {
  .p-positon-process__flow-step {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 960px) {
  .p-positon-process__flow-step {
    gap: 40px;
  }
}
.p-positon-process__flow-card {
  background: #F2EEEC;
  border-radius: 8px;
}
.p-positon-process__flow-card:last-of-type .p-positon-process__flow-body::after {
  display: none;
}
.p-positon-process__flow-head {
  font-size: 12px;
  color: #9A9793;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  padding: 10px 0;
  border-bottom: 1px solid #C3BFBE;
  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;
  gap: 8px;
}
.p-positon-process__flow-head span {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.p-positon-process__flow-head span *,
.p-positon-process__flow-head span *::before,
.p-positon-process__flow-head span *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-positon-process__flow-body {
  text-align: center;
  padding: 24px 8px;
  position: relative;
  z-index: 0;
}
.p-positon-process__flow-body::after {
  content: "";
  width: 1px;
  height: 24px;
  margin: 0 auto;
  background: #C3BFBE;
  position: absolute;
  inset: 0;
  top: auto;
  bottom: auto;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  z-index: -1;
}
@media (min-width: 600px) {
  .p-positon-process__flow-body::after {
    width: 24px;
    height: 1px;
    margin: auto 0;
    background: #C3BFBE;
    position: absolute;
    inset: 0;
    left: auto;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@media (min-width: 960px) {
  .p-positon-process__flow-body::after {
    width: 40px;
  }
}
.p-positon-process__flow-icon {
  width: min(100%, 72px);
  margin: 0 auto;
}
@media (min-width: 600px) {
  .p-positon-process__flow-icon {
    width: min(100%, 48px);
  }
}
@media (min-width: 960px) {
  .p-positon-process__flow-icon {
    width: min(100%, 72px);
  }
}
.p-positon-process__flow-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  font-weight: 700;
  margin-top: 8px;
}
.p-positon-process__flow-caption *,
.p-positon-process__flow-caption *::before,
.p-positon-process__flow-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

.p-positon-other {
  margin-top: 64px;
  padding: 0 24px 56px 24px;
}
@media (min-width: 600px) {
  .p-positon-other {
    margin-top: 112px;
    padding: 0 min(6vw, 80px);
  }
}
@media (min-width: 960px) {
  .p-positon-other {
    padding: 0 min(9vw, 130px);
  }
}
.p-positon-other__list {
  margin-top: 64px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 48px 32px;
}
@media (min-width: 600px) {
  .p-positon-other__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
}
@media (min-width: 960px) {
  .p-positon-other__list {
    gap: 56px;
  }
}
.p-positon-other__image {
  aspect-ratio: 356/237;
  border-radius: 8px;
  overflow: hidden;
}
.p-positon-other__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-positon-other__dpartment {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  font-weight: 700;
  text-decoration: underline;
  margin-top: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
.p-positon-other__dpartment *,
.p-positon-other__dpartment *::before,
.p-positon-other__dpartment *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-positon-other__dpartment::after {
  content: "";
  width: 17px;
  aspect-ratio: 17/16;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16"><g transform="translate(-6)"><path d="M18.194,6.227,10.128,0,8.943,1.612l7.893,6.081a.617.617,0,0,1,0,.775L9.1,14.385,10.283,16l7.8-5.971.106-.095a2.668,2.668,0,0,0,0-3.708" transform="translate(4.057)" fill="%23C62812"/><rect width="12" height="2" transform="translate(6 7)" fill="%23C62812"/></g></svg>') no-repeat center center/100% auto;
}

/*------------------------------------
  FAQ
-------------------------------------*/
.p-faq__section {
  margin-top: 48px;
  padding: 0;
}
@media (min-width: 600px) {
  .p-faq__section {
    background: #FFFFFF;
    margin-top: 80px;
    padding: 60px min(6.7vw, 80px);
    border-radius: 8px;
  }
}
.p-faq__section:first-of-type {
  margin-top: 0;
}
.p-faq__list {
  margin-top: 24px;
  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: 16px 0;
}
@media (min-width: 600px) {
  .p-faq__list {
    margin-top: 64px;
    gap: 32px 0;
  }
}
.p-faq__item {
  border: 1px solid #C3BFBE;
  border-radius: 4px;
  overflow: hidden;
}
.p-faq__q {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 20;
  font-weight: 700;
  padding: 16px;
  background: #FFFFFF;
  cursor: pointer;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
.p-faq__q *,
.p-faq__q *::before,
.p-faq__q *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-faq__q {
    padding: 24px 32px;
  }
}
.p-faq__q::before {
  content: "Q";
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  color: #9A9793;
  font-weight: 700;
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start;
}
.p-faq__q::before *,
.p-faq__q::before *::before,
.p-faq__q::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-faq__q::after {
  content: "";
  min-width: 24px;
  aspect-ratio: 1/1;
  margin-left: auto;
  background-color: #C62812;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url("../img/common/ic_plus.svg");
  -webkit-mask-image: -webkit-linear-gradient(#000, #000), url("../img/common/ic_plus.svg");
          mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url("../img/common/ic_plus.svg");
          mask-image: linear-gradient(#000, #000), url("../img/common/ic_plus.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: 0 0, center center;
          mask-position: 0 0, center center;
  -webkit-mask-size: 100% 100%, 10px auto;
          mask-size: 100% 100%, 10px auto;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  border-radius: 50%;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (min-width: 600px) {
  .p-faq__q::after {
    min-width: 40px;
  }
}
.p-faq__q.is-active {
  color: #FFFFFF;
  background: #C62812;
  border: none;
}
.p-faq__q.is-active::before {
  color: #D58070;
}
.p-faq__q.is-active::after {
  background-color: #FFFFFF;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url("../img/common/ic_minus.svg");
  -webkit-mask-image: -webkit-linear-gradient(#000, #000), url("../img/common/ic_minus.svg");
          mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url("../img/common/ic_minus.svg");
          mask-image: linear-gradient(#000, #000), url("../img/common/ic_minus.svg");
}
.p-faq__a {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  padding: 0 16px;
  height: 0;
  background: #FFFFFF;
  line-height: 1.8;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  overflow: hidden;
  gap: 24px;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.p-faq__a *,
.p-faq__a *::before,
.p-faq__a *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (max-width: 600px) {
  .p-faq__a {
    text-align: justify;
    text-justify: inter-ideograph;
    word-break: break-all;
  }
}
@media (min-width: 600px) {
  .p-faq__a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 0 32px;
  }
}
.p-faq__a::before {
  content: "A";
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  color: #9A9793;
  font-weight: 700;
}
.p-faq__a::before *,
.p-faq__a::before *::before,
.p-faq__a::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (max-width: 600px) {
  .p-faq__a::before {
    display: block;
  }
}
.p-faq__a.is-open {
  padding: 16px;
}
@media (min-width: 600px) {
  .p-faq__a.is-open {
    padding: 40px 32px;
  }
}
.p-faq__a a {
  color: #C62812;
  text-decoration: underline;
}

/*------------------------------------
  インタビュー一覧
-------------------------------------*/
.p-interview-archive__list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-template-rows: repeat(1fr);
  position: relative;
}
@media (min-width: 600px) {
  .p-interview-archive__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 960px) {
  .p-interview-archive__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-interview-archive__list::before {
  content: "";
  width: calc(100% - 80px);
  margin: 0 auto;
  height: 1px;
  background-color: #C3BFBE;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
}
@media (min-width: 600px) {
  .p-interview-archive__list:not(:has(.p-interview-archive__card:nth-child(2)))::before {
    display: none;
  }
}
@media (min-width: 960px) {
  .p-interview-archive__list:not(:has(.p-interview-archive__card:nth-child(4)))::before {
    display: none;
  }
}
.p-interview-archive__card {
  padding: 24px;
  position: relative;
  display: block;
}
@media (min-width: 600px) {
  .p-interview-archive__card {
    padding: 40px 0;
  }
  .p-interview-archive__card:nth-child(2n) .p-interview-archive__card-link {
    border-right: none;
  }
}
@media (min-width: 960px) {
  .p-interview-archive__card:nth-child(2n) .p-interview-archive__card-link {
    border-right: 1px solid #C3BFBE;
  }
  .p-interview-archive__card:nth-child(3n) .p-interview-archive__card-link {
    border-right: none;
  }
}
.p-interview-archive__card-link {
  height: 100%;
  padding: 0 0 40px;
  border-bottom: 1px solid #C3BFBE;
  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;
}
@media (min-width: 600px) {
  .p-interview-archive__card-link {
    border-right: 1px solid #C3BFBE;
    border-bottom: none;
    padding: 0 40px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-interview-archive__card-link:hover .p-interview-archive__image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  .p-interview-archive__card-link:hover .p-interview-archive__year::after {
    background: #C62812;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-interview-archive__card-link:hover .p-interview-archive__image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  .p-interview-archive__card-link:hover .p-interview-archive__year::after {
    background: #C62812;
  }
}
.p-interview-archive__image {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 4px;
  overflow: hidden;
}
.p-interview-archive__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.p-interview-archive__catch {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  line-height: 1.4;
  font-weight: 700;
  margin-top: 24px;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.p-interview-archive__catch *,
.p-interview-archive__catch *::before,
.p-interview-archive__catch *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-interview-archive__job {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  margin-top: 12px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.p-interview-archive__job *,
.p-interview-archive__job *::before,
.p-interview-archive__job *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-interview-archive__job::before {
  content: "";
  width: 6px;
  aspect-ratio: 1/1;
  background: #C62812;
}
.p-interview-archive__name {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
}
.p-interview-archive__name *,
.p-interview-archive__name *::before,
.p-interview-archive__name *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-interview-archive__year {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  color: #5C5756;
  margin-top: 48px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
}
.p-interview-archive__year *,
.p-interview-archive__year *::before,
.p-interview-archive__year *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-interview-archive__year::after {
  content: "Read more";
  font-size: 12px;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  color: #FFFFFF;
  padding: 0 10px;
  background: #292626;
  border-radius: 999px;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}

/*------------------------------------
  インタビュー詳細
-------------------------------------*/
.p-interview-article-hero__inner {
  padding-top: 64px;
  aspect-ratio: auto;
}
@media (max-width: 600px) {
  .p-interview-article-hero__inner {
    padding: 64px 0 48px 0;
  }
}
.p-interview-article-hero__kv {
  width: 91%;
  margin-top: 32px;
  margin-left: 32px;
  border-radius: 8px;
  position: relative;
}
@media (min-width: 600px) {
  .p-interview-article-hero__kv {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    aspect-ratio: 3/2;
    margin-bottom: -60px;
    overflow: hidden;
    -webkit-box-shadow: 0px 2px 4px rgba(105, 28, 17, 0.12);
            box-shadow: 0px 2px 4px rgba(105, 28, 17, 0.12);
  }
}
@media (max-width: 600px) {
  .p-interview-article-hero__kv {
    margin-bottom: 0;
  }
}
.p-interview-article-hero__kv::before {
  content: "";
  width: 80%;
  height: 100%;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(54, 41, 38, 0.8)), color-stop(45%, rgba(54, 41, 38, 0.2)), to(rgba(54, 41, 38, 0)));
  background: -webkit-linear-gradient(bottom, rgba(54, 41, 38, 0.8) 0%, rgba(54, 41, 38, 0.2) 45%, rgba(54, 41, 38, 0) 100%);
  background: linear-gradient(360deg, rgba(54, 41, 38, 0.8) 0%, rgba(54, 41, 38, 0.2) 45%, rgba(54, 41, 38, 0) 100%);
  mix-blend-mode: multiply;
  position: absolute;
  top: 0;
}
@media (max-width: 600px) {
  .p-interview-article-hero__kv::before {
    display: none;
  }
}
@media (min-width: 600px) {
  .p-interview-article-hero__kv {
    width: min(82%, 1080px);
    aspect-ratio: initial;
    margin-left: 104px;
    margin-top: 70px;
    margin-bottom: -102px;
  }
  .p-interview-article-hero__kv::before {
    content: "";
    width: 100%;
  }
}
@media (max-width: 600px) {
  .p-interview-article-hero__image {
    aspect-ratio: 16/9;
  }
}
@media (min-width: 600px) {
  .p-interview-article-hero__image {
    height: 100%;
  }
}
.p-interview-article-hero__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
@media (max-width: 600px) {
  .p-interview-article-hero__image img {
    border-radius: 4px;
    -o-object-position: 100% 50%;
       object-position: 100% 50%;
  }
}
.p-interview-article-hero__textarea {
  width: 100%;
  padding: 0;
}
@media (max-width: 600px) {
  .p-interview-article-hero__textarea {
    margin-top: -20px;
  }
}
@media (min-width: 600px) {
  .p-interview-article-hero__textarea {
    position: absolute;
    bottom: 40px;
    left: 40px;
  }
}
.p-interview-article-hero__catch {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 40;
  font-weight: 700;
  line-height: 1.8;
  margin: auto;
  padding: 1px 6px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  background: #FFFFFF;
  display: inline;
}
.p-interview-article-hero__catch *,
.p-interview-article-hero__catch *::before,
.p-interview-article-hero__catch *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-interview-article-hero__catch {
    line-height: 1.7;
  }
}
.p-interview-article-hero__catch span {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 40;
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(198, 40, 18)), color-stop(10%, rgb(47, 44, 44)), color-stop(80%, rgb(47, 44, 44)), to(rgb(198, 40, 18)));
  background-image: -webkit-linear-gradient(left, rgb(198, 40, 18) 0%, rgb(47, 44, 44) 10%, rgb(47, 44, 44) 80%, rgb(198, 40, 18) 100%);
  background-image: linear-gradient(90deg, rgb(198, 40, 18) 0%, rgb(47, 44, 44) 10%, rgb(47, 44, 44) 80%, rgb(198, 40, 18) 100%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.p-interview-article-hero__catch span *,
.p-interview-article-hero__catch span *::before,
.p-interview-article-hero__catch span *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-interview-article-hero__job {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  color: #FFFFFF;
  margin-top: 8px;
}
.p-interview-article-hero__job *,
.p-interview-article-hero__job *::before,
.p-interview-article-hero__job *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-interview-article-hero__job {
    margin-top: 16px;
  }
}
.p-interview-article-hero__year {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  color: #FFFFFF;
  margin-top: 4px;
}
.p-interview-article-hero__year *,
.p-interview-article-hero__year *::before,
.p-interview-article-hero__year *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

.p-interview-article-faq__inner {
  padding-top: 32px;
  background: #FFFFFF;
}
.p-interview-article-faq__section {
  padding: 32px 24px;
  border-bottom: 1px solid #C3BFBE;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media (min-width: 600px) {
  .p-interview-article-faq__section {
    padding: min(6vw, 80px) min(7vw, 96px);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 960px) {
  .p-interview-article-faq__section {
    gap: 80px;
  }
}
.p-interview-article-faq__section + .p-interview-article-faq__section {
  margin-top: 5px;
  border-top: 1px solid #C3BFBE;
}
@media (min-width: 600px) {
  .p-interview-article-faq__section + .p-interview-article-faq__section {
    margin-top: 10px;
  }
}
.p-interview-article-faq__section:last-of-type {
  border-bottom: none;
}
.p-interview-article-faq__textarea {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (max-width: 600px) {
  .p-interview-article-faq__textarea {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
}
.p-interview-article-faq__textarea p {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  margin-top: 16px;
}
.p-interview-article-faq__textarea p *,
.p-interview-article-faq__textarea p *::before,
.p-interview-article-faq__textarea p *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-interview-article-faq__textarea p {
    margin-top: 24px;
  }
}
.p-interview-article-faq__image {
  width: 100%;
  aspect-ratio: 511/341;
  border-radius: 8px;
  overflow: hidden;
}
@media (min-width: 600px) {
  .p-interview-article-faq__image {
    width: min(43%, 511px);
  }
}
.p-interview-article-faq__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-interview-article-faq__image-center {
  width: 100%;
  overflow: hidden;
}
.p-interview-article-faq__image-center img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16/9;
}
@media (min-width: 600px) {
  .p-interview-article-faq__image-center img {
    aspect-ratio: 1340/574;
  }
}

.p-interview-archive-other {
  padding-bottom: 40px;
  border: none;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.p-interview-archive-other__body-inner {
  padding-bottom: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-left: auto;
  margin-left: 0;
}
@media (min-width: 600px) {
  .p-interview-archive-other__body-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
.p-interview-archive-other__swiper {
  width: 100%;
  margin-top: 48px;
}
@media (min-width: 600px) {
  .p-interview-archive-other__swiper {
    width: 100vw;
    margin-top: 64px;
    margin-left: calc(50% - 50vw - 40px);
  }
}
@media (min-width: 600px) {
  .p-interview-archive-other__swiper.is-few-large {
    width: 100%;
    padding-left: min(6vw, 80px);
    margin-left: auto;
  }
}
.p-interview-archive-other__button {
  width: min(100%, 200px);
  margin-top: 16px;
  margin-left: auto;
  height: 48px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 10px;
}
@media (min-width: 600px) {
  .p-interview-archive-other__button {
    height: 56px;
    margin-top: 0;
  }
}

.p-interview-archive-other__body-inner:has(.has-few-large) {
  margin-left: 0; /* 例 */
}

/*------------------------------------
  エントリー / お問い合わせ
-------------------------------------*/
.p-contact-line__button {
  width: min(100%, 966px);
  margin: 0 auto;
  background: #292626;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  .p-contact-line__button:hover .p-contact-line__scrolltext-text {
    color: #C62812;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-contact-line__button:hover .p-contact-line__scrolltext-text {
    color: #C62812;
  }
}
.p-contact-line__scrolltext {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.p-contact-line__scrolltext-inner {
  display: inline-block;
  opacity: 0.12;
}
.p-contact-line__scrolltext-text {
  font-size: 88px;
  color: #5C5756;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  display: inline-block;
  margin-right: 16px;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.p-contact-line__scrolltext-text::after {
  content: "/";
  font-size: 64px;
}
.p-contact-line__button-link {
  color: #FFFFFF;
  width: 100%;
  height: 100%;
  padding: 0 24px;
  display: grid;
  grid-template-columns: auto 48px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  position: absolute;
  top: 0;
  left: 0;
}
@media (min-width: 600px) {
  .p-contact-line__button-link {
    padding: 0 40px;
    grid-template-columns: auto 56px;
  }
}
.p-contact-line__button-link::after {
  content: "";
  width: 48px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16"><g transform="translate(-6)"><path d="M18.194,6.227,10.128,0,8.943,1.612l7.893,6.081a.617.617,0,0,1,0,.775L9.1,14.385,10.283,16l7.8-5.971.106-.095a2.668,2.668,0,0,0,0-3.708" transform="translate(4.057)" fill="%23C62812"/><rect width="12" height="2" transform="translate(6 7)" fill="%23C62812"/></g></svg>') no-repeat center center/14px auto;
  background-color: #FFFFFF;
  border-radius: 999px;
}
@media (min-width: 600px) {
  .p-contact-line__button-link::after {
    width: 56px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16"><g transform="translate(-6)"><path d="M18.194,6.227,10.128,0,8.943,1.612l7.893,6.081a.617.617,0,0,1,0,.775L9.1,14.385,10.283,16l7.8-5.971.106-.095a2.668,2.668,0,0,0,0-3.708" transform="translate(4.057)" fill="%23C62812"/><rect width="12" height="2" transform="translate(6 7)" fill="%23C62812"/></g></svg>') no-repeat center center/17px auto;
    background-color: #FFFFFF;
  }
}
.p-contact-line__button-title {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 24;
  --max-font-size: 40;
  position: relative;
}
.p-contact-line__button-title *,
.p-contact-line__button-title *::before,
.p-contact-line__button-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-contact-line__button-title::after {
  content: "";
  width: 8px;
  aspect-ratio: 1/1;
  background: #C62812;
  border-radius: 50%;
  position: absolute;
  top: 5px;
  right: -12px;
}
.p-contact-line__button-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  font-weight: 700;
  display: block;
}
.p-contact-line__button-caption *,
.p-contact-line__button-caption *::before,
.p-contact-line__button-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

/*------------------------------------
  送信完了
-------------------------------------*/
.p-contact-scrolltext {
  height: 93px;
  border-bottom: 1px solid #C3BFBE;
  overflow: hidden;
  white-space: nowrap;
}
@media (min-width: 600px) {
  .p-contact-scrolltext {
    height: 148px;
  }
}
.p-contact-scrolltext__inner {
  margin-top: -20px;
  display: inline-block;
}
@media (min-width: 600px) {
  .p-contact-scrolltext__inner {
    margin-top: -52px;
  }
}
.p-contact-scrolltext__text {
  font-size: 136px;
  line-height: 1;
  color: #FFFFFF;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  display: inline-block;
  margin-right: 48px;
}
@media (min-width: 600px) {
  .p-contact-scrolltext__text {
    font-size: 240px;
  }
}
.p-contact-scrolltext__text::after {
  content: "/";
  font-size: 90px;
  vertical-align: 0.1em;
  margin-left: 48px;
}
@media (min-width: 600px) {
  .p-contact-scrolltext__text::after {
    font-size: 160px;
  }
}

.p-contact-thanks__body::before {
  display: none !important;
}
.p-contact-thanks__inner {
  padding: 32px 24px;
  background: #FFFFFF;
  height: 100%;
}
@media (min-width: 600px) {
  .p-contact-thanks__inner {
    padding: min(6vw, 80px) min(6vw, 80px) min(12vw, 160px) min(6vw, 80px);
  }
}
.p-contact-thanks__textarea {
  width: min(100%, 900px);
}
.p-contact-thanks__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 32;
  font-weight: 700;
}
.p-contact-thanks__title *,
.p-contact-thanks__title *::before,
.p-contact-thanks__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-contact-thanks__caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  margin-top: 32px;
}
.p-contact-thanks__caption *,
.p-contact-thanks__caption *::before,
.p-contact-thanks__caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-contact-thanks__button {
  margin-top: 40px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

/*------------------------------------
  プライバシーポリシー
-------------------------------------*/
.p-privacy-content__inner {
  background: #FFFFFF;
}
.p-privacy-content__lead {
  width: min(100%, 966px);
  margin: 0 auto;
}
.p-privacy-content__lead-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 40;
}
.p-privacy-content__lead-title *,
.p-privacy-content__lead-title *::before,
.p-privacy-content__lead-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-privacy-content__lead-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  margin-top: 16px;
}
.p-privacy-content__lead-caption *,
.p-privacy-content__lead-caption *::before,
.p-privacy-content__lead-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-privacy-content__lead-caption {
    margin-top: 32px;
  }
}
.p-privacy-content__summary {
  width: min(100%, 966px);
  margin: 48px auto 0 auto;
  padding-top: 48px;
  border-top: 1px solid #C3BFBE;
}
@media (min-width: 600px) {
  .p-privacy-content__summary {
    margin: 64px auto 0 auto;
    padding-top: 64px;
  }
}
.p-privacy-content__summary-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 32;
}
.p-privacy-content__summary-title *,
.p-privacy-content__summary-title *::before,
.p-privacy-content__summary-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-privacy-content__summary-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  margin-top: 8px;
}
.p-privacy-content__summary-caption *,
.p-privacy-content__summary-caption *::before,
.p-privacy-content__summary-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-privacy-content__summary-caption + .p-privacy-content__summary-title {
  margin-top: 32px;
}
@media (min-width: 600px) {
  .p-privacy-content__summary-caption + .p-privacy-content__summary-title {
    margin-top: 48px;
  }
}
.p-privacy-content__contact {
  width: min(100%, 966px);
  margin: 48px auto 0 auto;
  padding-top: 48px;
  border-top: 1px solid #C3BFBE;
}
@media (min-width: 600px) {
  .p-privacy-content__contact {
    margin: 64px auto 0 auto;
    padding-top: 64px;
  }
}
.p-privacy-content__contact-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 32;
}
.p-privacy-content__contact-title *,
.p-privacy-content__contact-title *::before,
.p-privacy-content__contact-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-privacy-content__contact-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  font-weight: 700;
  margin-top: 8px;
}
.p-privacy-content__contact-caption *,
.p-privacy-content__contact-caption *::before,
.p-privacy-content__contact-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-privacy-content__contact-company {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  font-weight: 700;
  margin-top: 36px;
}
.p-privacy-content__contact-company *,
.p-privacy-content__contact-company *::before,
.p-privacy-content__contact-company *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-privacy-content__contact-tel {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
}
.p-privacy-content__contact-tel *,
.p-privacy-content__contact-tel *::before,
.p-privacy-content__contact-tel *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

/*------------------------------------
  404
-------------------------------------*/
.p-404-notfound__body::before {
  display: none !important;
}
.p-404-notfound__inner {
  padding: 32px 24px;
  background: #FFFFFF;
  height: 100%;
}
@media (min-width: 600px) {
  .p-404-notfound__inner {
    padding: min(6vw, 80px) min(6vw, 80px) min(12vw, 160px) min(6vw, 80px);
  }
}
.p-404-notfound__textarea {
  width: min(100%, 900px);
}
.p-404-notfound__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 32;
  font-weight: 700;
}
.p-404-notfound__title *,
.p-404-notfound__title *::before,
.p-404-notfound__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-404-notfound__caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  margin-top: 32px;
}
.p-404-notfound__caption *,
.p-404-notfound__caption *::before,
.p-404-notfound__caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-404-notfound__button {
  margin-top: 40px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.p-404-scrolltext {
  height: 93px;
  border-bottom: 1px solid #C3BFBE;
  overflow: hidden;
  white-space: nowrap;
}
@media (min-width: 600px) {
  .p-404-scrolltext {
    height: 148px;
  }
}
.p-404-scrolltext__inner {
  margin-top: -20px;
  display: inline-block;
}
@media (min-width: 600px) {
  .p-404-scrolltext__inner {
    margin-top: -52px;
  }
}
.p-404-scrolltext__text {
  font-size: 136px;
  line-height: 1;
  color: #FFFFFF;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  font-weight: 700;
  display: inline-block;
  margin-right: 48px;
}
@media (min-width: 600px) {
  .p-404-scrolltext__text {
    font-size: 240px;
  }
}
.p-404-scrolltext__text::after {
  content: "/";
  font-size: 90px;
  vertical-align: 0.1em;
  margin-left: 48px;
}
@media (min-width: 600px) {
  .p-404-scrolltext__text::after {
    font-size: 160px;
  }
}

/*----------------------------------------------------
  margin
----------------------------------------------------*/
.u-mt0 {
  margin-top: 0px;
}

.u-mt8 {
  margin-top: 8px;
}

.u-mt16 {
  margin-top: 16px;
}

.u-mt24 {
  margin-top: 24px;
}

.u-mt32 {
  margin-top: 32px;
}

.u-mt40 {
  margin-top: 40px;
}

.u-mt48 {
  margin-top: 48px;
}

.u-mt56 {
  margin-top: 56px;
}

.u-mt64 {
  margin-top: 64px;
}

.u-mt72 {
  margin-top: 72px;
}

.u-mt80 {
  margin-top: 80px;
}

.u-mt88 {
  margin-top: 88px;
}

.u-mt96 {
  margin-top: 96px;
}

.u-mt104 {
  margin-top: 104px;
}

.u-mt112 {
  margin-top: 112px;
}

.u-mt120 {
  margin-top: 120px;
}

.u-mt128 {
  margin-top: 128px;
}

.u-mt136 {
  margin-top: 136px;
}

.u-mt144 {
  margin-top: 144px;
}

.u-mt152 {
  margin-top: 152px;
}

.u-mt160 {
  margin-top: 160px;
}

@media (max-width: 600px) {
  .u-mt-sp0 {
    margin-top: 0px;
  }
  .u-mt-sp8 {
    margin-top: 8px;
  }
  .u-mt-sp16 {
    margin-top: 16px;
  }
  .u-mt-sp24 {
    margin-top: 24px;
  }
  .u-mt-sp32 {
    margin-top: 32px;
  }
  .u-mt-sp40 {
    margin-top: 40px;
  }
  .u-mt-sp48 {
    margin-top: 48px;
  }
  .u-mt-sp56 {
    margin-top: 56px;
  }
  .u-mt-sp64 {
    margin-top: 64px;
  }
  .u-mt-sp72 {
    margin-top: 72px;
  }
  .u-mt-sp80 {
    margin-top: 80px;
  }
  .u-mt-sp88 {
    margin-top: 88px;
  }
  .u-mt-sp96 {
    margin-top: 96px;
  }
  .u-mt-sp104 {
    margin-top: 104px;
  }
  .u-mt-sp112 {
    margin-top: 112px;
  }
  .u-mt-sp120 {
    margin-top: 120px;
  }
  .u-mt-sp128 {
    margin-top: 128px;
  }
  .u-mt-sp136 {
    margin-top: 136px;
  }
  .u-mt-sp144 {
    margin-top: 144px;
  }
  .u-mt-sp152 {
    margin-top: 152px;
  }
  .u-mt-sp160 {
    margin-top: 160px;
  }
}
/*----------------------------------------------------
  link
----------------------------------------------------*/
.u-no-link {
  pointer-events: none;
}

/*----------------------------------------------------
  comming soon
----------------------------------------------------*/
.u-coming-soon {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 40;
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
  margin-top: 40px;
  padding: 0 16px 0 8px;
  background: #FFFFFF;
  border-left: 8px solid #C62812;
  display: table;
}
.u-coming-soon *,
.u-coming-soon *::before,
.u-coming-soon *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.u-coming-soon span {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 32;
}
.u-coming-soon span *,
.u-coming-soon span *::before,
.u-coming-soon span *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

/*----------------------------------------------------
  display
----------------------------------------------------*/
.u-dn-tab-min {
  display: none;
}
@media (min-width: 960px) {
  .u-dn-tab-min {
    display: block;
  }
}

.u-dn-sp-min {
  display: block;
}
@media (min-width: 600px) {
  .u-dn-sp-min {
    display: none;
  }
}

.u-dn-tab-max {
  display: block;
}
@media (min-width: 960px) {
  .u-dn-tab-max {
    display: none;
  }
}

@media (max-width: 600px) {
  .u-dn-sp-max {
    display: none;
  }
}/*# sourceMappingURL=style.css.map */