@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;
}

body {
  font-family: "YakuHanJP", "Noto Sans JP", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "MS Pゴシック", "MS PGothic", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: #141715;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  background-color: #F5F8F6;
  background-image: -webkit-repeating-linear-gradient(left, #e9f0eb, #e9f0eb 1px, transparent 1px, transparent 200px);
  background-image: repeating-linear-gradient(90deg, #e9f0eb, #e9f0eb 1px, transparent 1px, transparent 200px);
  background-position: top center;
}
body.--bg-none {
  background: #FFFFFF;
}
body.--bg-base {
  background-color: #FFFFFF;
}

:where(main) :where(p) {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
}

b,
strong,
.bold {
  font-weight: 700;
}

img {
  max-width: 100%;
}

a {
  color: #141715;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

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

.grecaptcha-badge {
  visibility: hidden;
}

.js-fade-up {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
}

.l-header {
  width: 100%;
  background: #FFFFFF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}
@media (min-width: 960px) {
  .l-header {
    background: none;
  }
}
.is-open .l-header {
  background: #F5F8F6;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
@media (min-width: 960px) {
  .is-open .l-header {
    background: #FFFFFF;
    -webkit-box-shadow: 0px 4px 32px 0px rgba(115, 124, 117, 0.08);
            box-shadow: 0px 4px 32px 0px rgba(115, 124, 117, 0.08);
  }
}
@media (min-width: 600px) {
  .l-header.is-change {
    background: #FFFFFF;
    -webkit-box-shadow: 0px 4px 32px 0px rgba(115, 124, 117, 0.08);
            box-shadow: 0px 4px 32px 0px rgba(115, 124, 117, 0.08);
    -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
    transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  }
}
.l-header.is-change.is-open {
  background: #F5F8F6;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
@media (min-width: 960px) {
  .l-header.is-change.is-open {
    background: #FFFFFF;
  }
}
.l-header.is-open {
  background: #F5F8F6;
}
.l-header__inner {
  padding: 0 20px;
  min-height: 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-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 960px) {
  .l-header__inner {
    padding: 24px 32px;
    min-height: 112px;
  }
}
.is-open .l-header__inner, .is-change .l-header__inner {
  padding: 0px 20px;
  min-height: 64px;
}
@media (min-width: 960px) {
  .is-open .l-header__inner, .is-change .l-header__inner {
    padding: 0px 32px;
    min-height: 112px;
  }
}
.--home .l-header__inner {
  padding: 0 20px;
  min-height: 64px;
}
@media (min-width: 960px) {
  .--home .l-header__inner {
    padding: 32px clamp(20px, 3.5vw, 62px) 0 clamp(20px, 3.5vw, 62px);
    min-height: auto;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.is-open .--home .l-header__inner, .--home.is-change .l-header__inner {
  padding: 0px 20px;
  min-height: 64px;
}
@media (min-width: 960px) {
  .is-open .--home .l-header__inner, .--home.is-change .l-header__inner {
    padding: 0px 24px;
    min-height: 112px;
  }
}
.l-header__logo {
  width: min(100%, 197px);
}
@media (min-width: 960px) {
  .l-header__logo {
    width: min(30%, 360px);
    margin: auto 0;
    -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
    transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  }
  .l-header__logo img {
    width: 100%;
  }
}
@media (min-width: 960px) {
  .--home .l-header__logo {
    background: url(../images/common/head_logo_w.svg) no-repeat left center/100% auto;
  }
  .--home .l-header__logo img {
    opacity: 0;
  }
}
@media (min-width: 960px) {
  .is-open .l-header__logo, .is-change .l-header__logo {
    width: min(25%, 280px);
    margin: auto 0;
  }
  .is-open .l-header__logo img, .is-change .l-header__logo img {
    opacity: 1;
  }
}
.l-header__menu {
  width: 82px;
  height: 34px;
  padding: 0 6px 0 10px;
  background: #141715;
  border-radius: 9999px;
  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-header__menu::before {
  content: "MENU";
  font-size: 10px;
  color: #FFFFFF;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
@media (min-width: 960px) {
  .l-header__menu {
    display: none;
  }
}
.l-header__menu.is-active::before {
  content: "CLOSE";
}
.l-header__menu.is-active .l-header__menu-circle {
  width: 2px;
  height: 8px;
  border-radius: 0;
  position: absolute;
}
.l-header__menu.is-active .l-header__menu-circle:nth-of-type(1) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.l-header__menu.is-active .l-header__menu-circle:nth-of-type(2) {
  opacity: 0;
}
.l-header__menu.is-active .l-header__menu-circle:nth-of-type(3) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.l-header__menu-meetballs {
  width: 22px;
  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;
  gap: 2px;
}
.l-header__menu-circle {
  width: 2px;
  aspect-ratio: 1/1;
  background: #141715;
  border-radius: 50%;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
.l-header__nav {
  width: 100%;
  min-height: 100dvh;
  background: #F5F8F6;
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 64px;
  left: 0;
  z-index: -1;
}
.is-open .l-header__nav {
  top: 64px;
  opacity: 1;
  visibility: visible;
}
@media (min-width: 960px) {
  .l-header__nav {
    width: auto;
    min-height: auto;
    background: none;
    position: static;
    opacity: 1;
    visibility: visible;
    z-index: 1;
  }
}
.l-header__nav-inner {
  height: calc(100dvh - 64px);
  padding: 40px 32px 120px 32px;
  overflow-y: scroll;
}
@media (min-width: 960px) {
  .l-header__nav-inner {
    height: auto;
    padding: 0;
    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;
    gap: 12px;
    position: static;
    overflow-y: initial;
  }
}
.l-header__nav-list {
  border-bottom: 1px solid #D7DBD8;
}
@media (min-width: 960px) {
  .l-header__nav-list {
    border: none;
    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: clamp(8px, 2vw, 32px);
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
}
.l-header__nav-link {
  font-size: 14px;
  padding: 20px 0;
  border-top: 1px solid #D7DBD8;
  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;
}
@media (min-width: 960px) {
  .l-header__nav-link {
    font-weight: 700;
    padding: 0;
    border: none;
  }
}
.l-header__nav-link::after {
  content: "";
  min-width: 29px;
  aspect-ratio: 29/17;
  background: url(../images/common/ic_arrow.svg) #DBE6DB no-repeat center center/9px auto;
  border-radius: 9999px;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
@media (min-width: 960px) {
  .l-header__nav-link::after {
    display: none;
  }
}
@media (min-width: 960px) {
  .--home .l-header__nav-link {
    color: #FFFFFF;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 960px) {
  .l-header__nav-link:hover {
    color: #35B05E;
  }
}
@media (-ms-high-contrast: none) and (min-width: 960px), (-ms-high-contrast: active) and (min-width: 960px) {
  .l-header__nav-link:hover {
    color: #35B05E;
  }
}
.is-open .l-header__nav-link, .is-change .l-header__nav-link {
  color: #141715;
}
@media (hover: hover) and (pointer: fine) {
  .is-open .l-header__nav-link:hover, .is-change .l-header__nav-link:hover {
    color: #35B05E;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .is-open .l-header__nav-link:hover, .is-change .l-header__nav-link:hover {
    color: #35B05E;
  }
}
.l-header__nav-link.--parent {
  gap: 6px;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  cursor: pointer;
}
@media (min-width: 960px) {
  .--home .l-header__nav-link.--parent::after {
    background: #FFFFFF;
  }
}
@media (min-width: 960px) {
  .l-header__nav-link.--parent::before {
    content: "";
    width: 100%;
    height: 6px;
    background: #35B05E;
    border-radius: 1px 1px 0 0;
    position: absolute;
    bottom: -24px;
    opacity: 0;
    -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
    transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  }
}
@media (min-width: 960px) {
  .l-header__nav-link.--parent::after {
    content: "";
    min-width: 12px;
    aspect-ratio: 12/7;
    background: #141715;
    -webkit-mask: url(../images/common/ic_arrow_nav.svg) no-repeat center center/12px auto;
            mask: url(../images/common/ic_arrow_nav.svg) no-repeat center center/12px auto;
    border-radius: 0;
    display: block;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-header__nav-link.--parent:hover {
    color: #35B05E;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 960px) {
  .l-header__nav-link.--parent:hover::after {
    background: #35B05E;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__nav-link.--parent:hover {
    color: #35B05E;
  }
}
@media (-ms-high-contrast: none) and (min-width: 960px), (-ms-high-contrast: active) and (min-width: 960px) {
  .l-header__nav-link.--parent:hover::after {
    background: #35B05E;
  }
}
.is-open .l-header__nav-link.--parent, .is-change .l-header__nav-link.--parent {
  color: #141715;
}
.is-open .l-header__nav-link.--parent::after, .is-change .l-header__nav-link.--parent::after {
  background: #141715;
}
@media (hover: hover) and (pointer: fine) and (min-width: 960px) {
  .is-open .l-header__nav-link.--parent:hover, .is-change .l-header__nav-link.--parent:hover {
    color: #35B05E;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 960px) {
  .is-open .l-header__nav-link.--parent:hover::after, .is-change .l-header__nav-link.--parent:hover::after {
    background: #35B05E;
  }
}
@media (-ms-high-contrast: none) and (min-width: 960px), (-ms-high-contrast: active) and (min-width: 960px) {
  .is-open .l-header__nav-link.--parent:hover, .is-change .l-header__nav-link.--parent:hover {
    color: #35B05E;
  }
}
@media (-ms-high-contrast: none) and (min-width: 960px), (-ms-high-contrast: active) and (min-width: 960px) {
  .is-open .l-header__nav-link.--parent:hover::after, .is-change .l-header__nav-link.--parent:hover::after {
    background: #35B05E;
  }
}
@media (min-width: 960px) {
  .l-header__nav-link.--parent.is-active {
    color: #35B05E;
  }
}
.l-header__nav-link.--parent.is-active::before {
  opacity: 1;
}
.l-header__nav-link.--parent.is-active::after {
  background: #35B05E;
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}
.l-header__nav-link.--parent-sp::after {
  background-color: #141715;
  border-radius: 0;
  -webkit-mask: url(../images/common/ic_plus.svg) no-repeat center center/12px auto;
          mask: url(../images/common/ic_plus.svg) no-repeat center center/12px auto;
}
.l-header__nav-link.--parent-sp.is-active::after {
  -webkit-mask-image: url(../images/common/ic_minus.svg);
          mask-image: url(../images/common/ic_minus.svg);
}
.l-header__dropdown {
  position: absolute;
  top: 135px;
  opacity: 0;
  visibility: hidden;
}
.l-header__dropdown.is-open {
  background: #FFFFFF;
  border-radius: 8px;
  display: grid;
  opacity: 1;
  visibility: visible;
  overflow: hidden;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
.l-header__dropdown.--copmany {
  min-width: 630px;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(6, 1fr);
  right: 0;
  -webkit-transform: translateX(-5%);
          transform: translateX(-5%);
}
.l-header__dropdown.--technology {
  min-width: 325px;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(2, auto);
  -webkit-transform: translateX(-15%);
          transform: translateX(-15%);
}
.l-header__dropdown.--technology .l-header__dropdown-item {
  border-right: none;
}
.l-header__dropdown.--technology .l-header__dropdown-item:last-of-type {
  border: none;
}
.l-header__dropdown.--initiative {
  min-width: 650px;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(2, auto);
  right: 0;
  -webkit-transform: translateX(-5%);
          transform: translateX(-5%);
}
.l-header__dropdown.--initiative .l-header__dropdown-item:nth-child(2n) {
  border-right: none;
}
.l-header__dropdown.--initiative .l-header__dropdown-item:nth-child(n+3) {
  border-bottom: none;
}
.l-header__dropdown-item {
  border-bottom: 1px solid #D7DBD8;
  border-right: 1px solid #D7DBD8;
}
.l-header__dropdown-item.--message {
  grid-area: 1/1/4/2;
}
.l-header__dropdown-item.--outline {
  grid-area: 4/1/7/2;
  border-bottom: none;
}
.l-header__dropdown-item.--location {
  grid-area: 1/2/3/3;
  border-right: none;
}
.l-header__dropdown-item.--affiliated {
  grid-area: 3/2/5/3;
  border-right: none;
}
.l-header__dropdown-item.--club {
  grid-area: 5/2/7/3;
  border-right: none;
  border-bottom: none;
}
.l-header__dropdown-link {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  padding: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  gap: 16px;
}
.l-header__dropdown-link::after {
  content: "";
  min-width: 30px;
  aspect-ratio: 30/18;
  background-color: #141715;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../images/common/ic_arrow.svg);
  -webkit-mask-image: -webkit-linear-gradient(#000, #000), url(../images/common/ic_arrow.svg);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../images/common/ic_arrow.svg);
          mask-image: linear-gradient(#000, #000), url(../images/common/ic_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: 9999px;
  margin-left: auto;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__dropdown-link:hover {
    background-color: #F5F8F6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__dropdown-link:hover {
    background-color: #F5F8F6;
  }
}
.l-header__dropdown-link.--icon-nobg::after {
  background: #737C75;
  -webkit-mask: url(../images/common/ic_arrow.svg) no-repeat center center/12px auto;
          mask: url(../images/common/ic_arrow.svg) no-repeat center center/12px auto;
}
.l-header__dropdown-image {
  width: 80px;
  aspect-ratio: 1/1;
  display: block;
  margin: 0;
}
.l-header__dropdown-image img {
  border-radius: 4px;
}
.l-header__sub-nav {
  display: grid;
  grid-template-rows: 0fr;
  -webkit-transition: grid-template-rows 0.2s ease-out;
  transition: grid-template-rows 0.2s ease-out;
  transition: grid-template-rows 0.2s ease-out, -ms-grid-rows 0.2s ease-out;
}
@media (min-width: 960px) {
  .l-header__sub-nav {
    display: none;
  }
}
.l-header__sub-nav.is-open {
  margin-top: 4px;
  padding-bottom: 24px;
  grid-template-rows: 1fr;
}
.l-header__sub-nav-list {
  padding: 0 22px;
  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;
  overflow: hidden;
}
.l-header__sub-nav-link {
  --viewport-from: 960;
  --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;
}
.l-header__sub-nav-link::before {
  content: "-";
  margin-right: 0.5em;
}
@media (min-width: 960px) {
  .l-header__other-nav {
    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: 24px;
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
  }
}
.l-header__other-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;
  gap: 16px;
}
@media (min-width: 960px) {
  .l-header__other-nav-list {
    margin: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.l-header__other-link-recruit {
  font-size: 14px;
  font-weight: 700;
  padding: 14px 24px;
  background: #B2E561;
  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;
}
@media (min-width: 960px) {
  .l-header__other-link-recruit {
    padding: 6px 12px;
    gap: 8px;
  }
}
.l-header__other-link-recruit::after {
  content: "";
  width: 14px;
  aspect-ratio: 1/1;
  background: #141715;
  -webkit-mask: url(../images/common/ic_blank_l.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_blank_l.svg) no-repeat center center/100% auto;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
@media (min-width: 960px) {
  .--home .l-header__other-link-recruit {
    color: #FFFFFF;
    padding: 6px 12px;
    gap: 8px;
    background: rgba(255, 255, 255, 0.42);
    border: 1px solid #D7DBD8;
    -webkit-backdrop-filter: blur(1px) brightness(70%);
            backdrop-filter: blur(1px) brightness(70%);
  }
  .--home .l-header__other-link-recruit::after {
    background: #FFFFFF;
  }
}
.is-open .l-header__other-link-recruit, .is-change .l-header__other-link-recruit {
  color: #141715;
  background: #B2E561;
  border-color: transparent;
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
}
.is-open .l-header__other-link-recruit::after, .is-change .l-header__other-link-recruit::after {
  background: #141715;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__other-link-recruit:hover {
    opacity: 0.7;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__other-link-recruit:hover {
    opacity: 0.7;
  }
}
.l-header__other-link-contact {
  font-size: 14px;
  color: #FFFFFF;
  font-weight: 700;
  padding: 14px 24px;
  background: -webkit-linear-gradient(223deg, rgb(53, 176, 94) 65%, rgb(131, 209, 96) 100%);
  background: linear-gradient(227deg, rgb(53, 176, 94) 65%, rgb(131, 209, 96) 100%);
  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;
}
@media (min-width: 960px) {
  .l-header__other-link-contact {
    padding: 6px 12px;
    gap: 8px;
  }
}
.l-header__other-link-contact::after {
  content: "";
  width: 16px;
  aspect-ratio: 16/13;
  background: url(../images/common/ic_contact.svg) no-repeat center center/100% auto;
}
@media (min-width: 960px) {
  .--home .l-header__other-link-contact {
    background: rgba(255, 255, 255, 0.42);
    border: 1px solid #D7DBD8;
    -webkit-backdrop-filter: blur(1px) brightness(70%);
            backdrop-filter: blur(1px) brightness(70%);
  }
}
.is-open .l-header__other-link-contact, .is-change .l-header__other-link-contact {
  color: #FFFFFF;
  background: -webkit-linear-gradient(223deg, rgb(53, 176, 94) 65%, rgb(131, 209, 96) 100%);
  background: linear-gradient(227deg, rgb(53, 176, 94) 65%, rgb(131, 209, 96) 100%);
  border-color: transparent;
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__other-link-contact:hover {
    opacity: 0.7;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__other-link-contact:hover {
    opacity: 0.7;
  }
}
.l-header__lang-nav {
  width: min(100%, 180px);
  margin: 40px auto 0 auto;
  text-align: center;
  position: relative;
}
@media (min-width: 960px) {
  .l-header__lang-nav {
    width: min(100%, 115px);
    margin: 0;
    position: fixed;
    bottom: 40px;
    right: 96px;
  }
}
.l-header__lang-dropdown {
  display: inline-block;
}
.l-header__lang-btn {
  font-size: 12px;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #FFFFFF;
  text-align: left;
  width: 180px;
  height: 32px;
  padding: 0 10px;
  background: #35B05E;
  border: none;
  border-radius: 4px;
  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: 960px) {
  .l-header__lang-btn {
    width: 115px;
  }
}
.l-header__lang-btn::before {
  content: "";
  width: 16px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_lang.svg) no-repeat center center/100% auto;
}
.l-header__lang-btn::after {
  content: "";
  width: 12px;
  height: 7px;
  -webkit-mask: url(../images/common/ic_arrow_nav.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_arrow_nav.svg) no-repeat center center/100% auto;
  background-color: #FFFFFF;
  margin-left: auto;
}
.l-header__lang-list {
  font-size: 12px;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  margin: 5px 0 0;
  text-align: left;
  padding: 0;
  min-width: 100%;
  background: #35B05E;
  border-radius: 4px;
  display: none;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 100;
  overflow: hidden;
}
.l-header__lang-list a {
  display: block;
  padding: 6px 12px 6px 24px;
  text-decoration: none;
  color: #FFFFFF;
}
.l-header__lang-list a.gt-current-lang {
  background: #156C69;
  position: relative;
}
.l-header__lang-list a.gt-current-lang::before {
  content: "";
  width: 4px;
  height: 4px;
  margin: auto;
  border-radius: 50%;
  background-color: #FFFFFF;
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
}
.l-header__lang-list li a:hover {
  background: #156C69;
}
.l-header__lang-nav.is-open .l-header__lang-list {
  display: block;
}
.l-header__banner {
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
}
@media (min-width: 600px) {
  .l-header__banner {
    width: auto;
    left: initial;
    right: 0;
    top: 30%;
    bottom: initial;
  }
}
.l-header__banner-link {
  color: #FFFFFF;
  width: 100%;
  height: 48px;
  background: #35B05E;
  border-radius: 4px 4px 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;
  gap: 8px;
}
@media (min-width: 600px) {
  .l-header__banner-link {
    -webkit-writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
            writing-mode: vertical-lr;
    width: 48px;
    height: 186px;
    border-radius: 4px 0 0 4px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-header__banner-link:hover {
    background-color: #B2E561;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__banner-link:hover {
    background-color: #B2E561;
  }
}
.l-header__banner-link::after {
  content: "";
  width: 16px;
  height: 16px;
  background: url(../images/common/ic_pdf.svg) no-repeat center center/100% auto;
}

.l-footer {
  color: #FFFFFF;
  background: #2C2E2C;
  padding: 64px 0;
  overflow: hidden;
}
@media (min-width: 600px) {
  .l-footer {
    padding: 120px 0 80px 0;
  }
}
.l-footer__inner {
  width: calc(100% - 64px);
  margin: 0 auto;
}
@media (min-width: 960px) {
  .l-footer__inner {
    width: min(100% - clamp(80px, 5vw, 128px), 1600px);
    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: 0 50px;
  }
}
.l-footer__company {
  width: min(100%, 280px);
  margin: 0 auto;
}
@media (min-width: 960px) {
  .l-footer__company {
    margin: initial;
  }
}
.l-footer__company-logo {
  width: min(100%, 280px);
  margin: 0 auto;
}
@media (min-width: 960px) {
  .l-footer__company-logo {
    margin: 0;
  }
}
.l-footer__company-address {
  font-size: 12px;
  font-style: normal;
  text-align: center;
  margin-top: 40px;
}
@media (min-width: 600px) {
  .l-footer__company-address {
    margin-top: 32px;
  }
}
@media (min-width: 960px) {
  .l-footer__company-address {
    font-size: 14px;
    text-align: left;
  }
}
.l-footer__company-map {
  font-size: 12px;
  text-align: center;
  margin-top: 16px;
}
@media (min-width: 960px) {
  .l-footer__company-map {
    font-size: 14px;
    text-align: left;
  }
}
.l-footer__company-map-link {
  color: #FFFFFF;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-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: 6px;
}
.l-footer__company-map-link::after {
  content: "";
  width: 13px;
  height: 16px;
  background-color: #FFFFFF;
  -webkit-mask: url(../images/common/ic_map-pin.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_map-pin.svg) no-repeat center center/100% auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__company-map-link:hover {
    color: #35B05E;
  }
  .l-footer__company-map-link:hover::after {
    background: #35B05E;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-footer__company-map-link:hover {
    color: #35B05E;
  }
  .l-footer__company-map-link:hover::after {
    background: #35B05E;
  }
}
.l-footer__banner {
  margin: 32px auto 0 auto;
  width: min(100%, 280px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (min-width: 960px) {
  .l-footer__banner {
    margin: 32px 0 0 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__banner:hover {
    opacity: 0.7;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-footer__banner:hover {
    opacity: 0.7;
  }
}
@media (min-width: 960px) {
  .l-footer__nav {
    width: min(100%, 855px);
  }
}
.l-footer__nav-list {
  margin-top: 56px;
  border-bottom: 1px solid #4C4D4C;
}
@media (min-width: 600px) {
  .l-footer__nav-list {
    border: none;
    display: grid;
    grid-template-columns: repeat(5, auto);
    grid-template-rows: repeat(5, auto);
    gap: 16px clamp(16px, 3vw, 64px);
  }
}
@media (min-width: 960px) {
  .l-footer__nav-list {
    margin-top: 0;
  }
}
@media (min-width: 600px) {
  .l-footer__nav-item.--about {
    grid-area: 1/1/6/2;
  }
}
@media (min-width: 600px) {
  .l-footer__nav-item.--products {
    grid-area: 1/2/6/3;
  }
}
@media (min-width: 600px) {
  .l-footer__nav-item.--message {
    grid-area: 1/3/2/4;
  }
}
@media (min-width: 600px) {
  .l-footer__nav-item.--company {
    grid-area: 2/3/3/4;
  }
}
@media (min-width: 600px) {
  .l-footer__nav-item.--location {
    grid-area: 3/3/4/4;
  }
}
@media (min-width: 600px) {
  .l-footer__nav-item.--affiliated {
    grid-area: 4/3/5/4;
  }
}
@media (min-width: 600px) {
  .l-footer__nav-item.--club {
    grid-area: 5/3/6/4;
  }
}
@media (min-width: 600px) {
  .l-footer__nav-item.--philosophy {
    grid-area: 1/4/2/5;
  }
}
@media (min-width: 600px) {
  .l-footer__nav-item.--csr {
    grid-area: 2/4/3/5;
  }
}
@media (min-width: 600px) {
  .l-footer__nav-item.--sustainability {
    grid-area: 3/4/6/5;
  }
}
@media (min-width: 600px) {
  .l-footer__nav-item.--news {
    grid-area: 1/5/2/6;
  }
}
@media (min-width: 600px) {
  .l-footer__nav-item.--news {
    grid-area: 1/5/2/6;
  }
}
@media (min-width: 600px) {
  .l-footer__nav-item.--recruit {
    grid-area: 2/5/3/6;
  }
}
@media (min-width: 600px) {
  .l-footer__nav-item.--contact {
    grid-area: 3/5/4/6;
  }
}
.l-footer__nav-link {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  color: #FFFFFF;
  font-weight: 900;
  padding: 16px 0;
  border-top: 1px solid #4C4D4C;
  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) {
  .l-footer__nav-link {
    border: none;
    padding: 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__nav-link:hover {
    color: #35B05E;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-footer__nav-link:hover {
    color: #35B05E;
  }
}
.l-footer__nav-link.--parent::after {
  content: "";
  min-width: 12px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_plus.svg) no-repeat center center/100% auto;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
@media (min-width: 600px) {
  .l-footer__nav-link.--parent::after {
    display: none;
  }
}
.l-footer__nav-link.--parent.is-active::after {
  background: url(../images/common/ic_minus.svg) no-repeat center center/100% auto;
}
.l-footer__nav-link.--blank::after {
  content: "";
  min-width: 12px;
  aspect-ratio: 1/1;
  background: #FFFFFF;
  -webkit-mask: url(../images/common/ic_blank.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_blank.svg) no-repeat center center/100% auto;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
@media (min-width: 600px) {
  .l-footer__nav-link.--blank::after {
    display: none;
  }
}
.l-footer__sub-nav {
  display: grid;
  grid-template-rows: 0fr;
  -webkit-transition: grid-template-rows 0.2s ease-out;
  transition: grid-template-rows 0.2s ease-out;
  transition: grid-template-rows 0.2s ease-out, -ms-grid-rows 0.2s ease-out;
}
@media (min-width: 600px) {
  .l-footer__sub-nav {
    margin-top: 8px;
    display: block;
  }
}
.l-footer__sub-nav.is-open {
  grid-template-rows: 1fr;
  padding-bottom: 16px;
}
.l-footer__sub-nav-list {
  overflow: hidden;
}
@media (min-width: 600px) {
  .l-footer__sub-nav-list {
    overflow: visible;
  }
}
.l-footer__sub-nav-link {
  color: #FFFFFF;
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  line-height: 1;
  padding: 8px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__sub-nav-link:hover {
    color: #35B05E;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-footer__sub-nav-link:hover {
    color: #35B05E;
  }
}
.l-footer__sub-nav-link::before {
  content: "-";
  margin-right: 0.5em;
}
@media (min-width: 600px) {
  .l-footer__bottom {
    width: min(100% - 64px, 1620px);
    margin: 80px auto 0 auto;
    padding: 48px 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;
  }
  .l-footer__bottom::before {
    content: "";
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    height: 1px;
    background: #141715;
    -webkit-box-ordinal-group: -1;
    -webkit-order: -2;
        -ms-flex-order: -2;
            order: -2;
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media (min-width: 600px) {
  .l-footer__other-nav {
    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 24px;
  }
}
.l-footer__ob {
  margin-top: 40px;
  padding: 0 32px;
}
@media (min-width: 600px) {
  .l-footer__ob {
    margin: 0;
    padding: 0;
  }
}
.l-footer__ob-link {
  font-size: 14px;
  width: min(100%, 210px);
  margin: 0 auto;
  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;
}
@media (min-width: 600px) {
  .l-footer__ob-link {
    color: #FFFFFF;
    width: max(100%, 117px);
    margin: 0;
    padding: 8px 16px;
    background: #141715;
    gap: 0 24px;
  }
}
.l-footer__ob-link::after {
  content: "";
  min-width: 12px;
  aspect-ratio: 1/1;
  background: #141715;
  -webkit-mask: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
}
@media (min-width: 600px) {
  .l-footer__ob-link::after {
    background: #FFFFFF;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__ob-link:hover {
    background: #35B05E;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-footer__ob-link:hover {
    background: #35B05E;
  }
}
.l-footer__policy {
  font-size: 14px;
  text-align: center;
  margin-top: 64px;
  padding: 40px 32px 0 32px;
  border-top: 1px solid #141715;
}
@media (min-width: 600px) {
  .l-footer__policy {
    margin: 0;
    padding: 0;
    border: none;
  }
}
.l-footer__policy-link {
  color: #D7DBD8;
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__policy-link:hover {
    color: #35B05E;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-footer__policy-link:hover {
    color: #35B05E;
  }
}
.l-footer__copyright {
  font-size: 13px;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #D7DBD8;
  text-align: center;
  margin-top: 32px;
  display: block;
}
@media (min-width: 600px) {
  .l-footer__copyright {
    text-align: left;
    margin: 0;
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
  }
}

.l-container {
  overflow: clip;
  position: relative;
}
.l-container:after {
  content: "";
  width: 100%;
  height: 100dvh;
  background: #141715;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
.l-container.is-open::after {
  opacity: 0.24;
  visibility: visible;
}

.l-main__pagetop {
  width: 40px;
  aspect-ratio: 1/1;
  background: #156C69;
  border-radius: 50%;
  position: fixed;
  bottom: 36px;
  right: 40px;
  z-index: 10;
  overflow: hidden;
}
@media (max-width: 600px) {
  .l-main__pagetop {
    right: 24px;
    bottom: 24px;
  }
}
.l-main__pagetop a {
  -webkit-mask: url(../images/common/ic_arrow.svg) no-repeat center center/12px auto;
          mask: url(../images/common/ic_arrow.svg) no-repeat center center/12px auto;
  background-color: #FFFFFF;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.l-two-column {
  width: calc(100% - 32px);
  margin: 0 auto;
  padding: 56px 0;
  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: 56px;
}
@media (min-width: 600px) {
  .l-two-column {
    width: min(91%, 1312px);
    padding: 150px 0;
  }
}
@media (min-width: 960px) {
  .l-two-column {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 64px;
  }
}
.l-two-column.--news {
  padding-top: 0;
}
.l-two-column.--other {
  padding-top: 0;
  margin-top: 16px;
}
@media (min-width: 600px) {
  .l-two-column.--other {
    margin-top: 50px;
  }
}
@media (min-width: 600px) {
  .l-two-column.--ob {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media (min-width: 600px) {
  .l-two-column.--ob .l-two-column__main {
    width: min(100%, 1080px);
  }
}
.l-two-column__main {
  width: 100%;
  background: #FFFFFF;
  border: 1px solid #D7DBD8;
  border-radius: 8px;
  overflow: hidden;
}
@media (min-width: 600px) {
  .l-two-column__main {
    width: min(100%, 963px);
  }
}
.l-two-column__side {
  padding: 24px;
  background: #FFFFFF;
  border: 1px solid #D7DBD8;
  border-radius: 8px;
}
@media (min-width: 960px) {
  .l-two-column__side {
    width: min(100%, 285px);
    padding: 32px;
    position: -webkit-sticky;
    position: sticky;
    top: 150px;
    left: 0;
  }
}
.l-two-column__nav-title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  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;
}
.l-two-column__nav-title::before {
  content: "";
  min-width: 8px;
  aspect-ratio: 1/1;
  background: #35B05E;
  border-radius: 2px;
}
.l-two-column__nav-list {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 16px;
}
@media (min-width: 600px) {
  .l-two-column__nav-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 24px;
  }
}
@media (min-width: 960px) {
  .l-two-column__nav-list {
    margin-top: 32px;
    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: 0;
  }
}
.l-two-column__nav-item {
  border-bottom: 1px solid #D7DBD8;
}
.l-two-column__nav-link {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 13;
  --max-font-size: 14;
  padding: 16px 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;
  gap: 8px;
}
.l-two-column__nav-link::after {
  content: "";
  min-width: 10px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23737C75"/></svg>') no-repeat no-repeat center center/100% auto;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
@media (min-width: 960px) {
  .l-two-column__nav-link.is-active {
    color: #35B05E;
  }
  .l-two-column__nav-link.is-active::after {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}

.c-container-head {
  width: min(100% - 64px, 1200px);
  margin: 0 auto;
  padding: 90px 0 56px 0;
}
@media (min-width: 600px) {
  .c-container-head {
    padding: 225px 0 90px 0;
  }
}

.c-container {
  width: min(100% - 64px, 1200px);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 600px) {
  .c-container.--sp-narrow {
    width: calc(100% - 32px);
  }
}

.c-container-narrow {
  width: min(100% - 64px, 1080px);
  margin: 0 auto;
}

.c-button {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  min-width: 180px;
  padding: 8px 8px 8px 16px;
  background: #FFFFFF;
  border-radius: 9999px;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-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: 16px;
}
@media (min-width: 600px) {
  .c-button {
    padding: 8px 8px 8px 24px;
    min-width: 210px;
    gap: 24px;
  }
}
.c-button::after {
  content: "";
  min-width: 32px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center;
  background-size: 10px auto;
  background-color: #35B05E;
  border-radius: 50%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (min-width: 600px) {
  .c-button::after {
    min-width: 40px;
    background-size: 12px auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-button:hover {
    color: #141715;
    background: #B2E561;
  }
  .c-button:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23141715"/></svg>') no-repeat no-repeat center center;
    background-color: #FFFFFF;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-button:hover {
    color: #141715;
    background: #B2E561;
  }
  .c-button:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23141715"/></svg>') no-repeat no-repeat center center;
    background-color: #FFFFFF;
  }
}
.c-button.--gradient {
  color: #FFFFFF;
  background: -webkit-linear-gradient(38deg, rgb(53, 176, 94) 0%, rgb(178, 229, 97) 50%, rgb(178, 229, 97) 50%, rgb(178, 229, 97) 100%);
  background: linear-gradient(52deg, rgb(53, 176, 94) 0%, rgb(178, 229, 97) 50%, rgb(178, 229, 97) 50%, rgb(178, 229, 97) 100%);
  background-size: 200% auto;
  background-position: left top;
  -webkit-box-shadow: 0px 8px 20px 0px rgba(53, 176, 94, 0.3);
          box-shadow: 0px 8px 20px 0px rgba(53, 176, 94, 0.3);
}
.c-button.--gradient::after {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%2335B05E"/></svg>') no-repeat no-repeat center center;
  background-color: #FFFFFF;
  background-size: 10px auto;
  border-radius: 50%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (min-width: 600px) {
  .c-button.--gradient::after {
    background-size: 12px auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-button.--gradient:hover {
    color: #141715;
    background-position: right top;
  }
  .c-button.--gradient:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23141715"/></svg>') no-repeat no-repeat center center;
    background-color: #FFFFFF;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-button.--gradient:hover {
    color: #141715;
    background-position: right top;
  }
  .c-button.--gradient:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23141715"/></svg>') no-repeat no-repeat center center;
    background-color: #FFFFFF;
  }
}
.c-button.--primary {
  color: #FFFFFF;
  background: #35B05E;
}
.c-button.--primary::after {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%2335B05E"/></svg>') no-repeat no-repeat center center;
  background-size: 10px auto;
  background-color: #FFFFFF;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (min-width: 600px) {
  .c-button.--primary::after {
    background-size: 12px auto;
  }
}
.c-button.--primary.--pdf::after {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><rect width="14" height="14" fill="none"/><path d="M162.75-868.8h5.5v-1.4h-5.5Zm0-2.8h5.5V-873h-5.5Zm-1.375,5.6a1.312,1.312,0,0,1-.971-.411,1.361,1.361,0,0,1-.4-.989v-11.2a1.36,1.36,0,0,1,.4-.989,1.312,1.312,0,0,1,.971-.411h5.5L171-875.8v8.4a1.361,1.361,0,0,1-.4.989,1.312,1.312,0,0,1-.971.411Zm4.813-9.1v-3.5h-4.812v11.2h8.25v-7.7Zm-4.812-3.5v0Z" transform="translate(-158.32 880)" fill="%2335B05E"/></svg>') no-repeat no-repeat center center;
  background-size: 12px auto;
  background-color: #FFFFFF;
}
@media (min-width: 600px) {
  .c-button.--primary.--pdf::after {
    background-size: 14px auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-button.--primary:hover {
    color: #141715;
    background: #B2E561;
  }
  .c-button.--primary:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23141715"/></svg>') no-repeat no-repeat center center;
    background-color: #FFFFFF;
  }
  .c-button.--primary:hover.--pdf::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><rect width="14" height="14" fill="none"/><path d="M162.75-868.8h5.5v-1.4h-5.5Zm0-2.8h5.5V-873h-5.5Zm-1.375,5.6a1.312,1.312,0,0,1-.971-.411,1.361,1.361,0,0,1-.4-.989v-11.2a1.36,1.36,0,0,1,.4-.989,1.312,1.312,0,0,1,.971-.411h5.5L171-875.8v8.4a1.361,1.361,0,0,1-.4.989,1.312,1.312,0,0,1-.971.411Zm4.813-9.1v-3.5h-4.812v11.2h8.25v-7.7Zm-4.812-3.5v0Z" transform="translate(-158.32 880)" fill="%23141715"/></svg>') no-repeat no-repeat center center;
    background-color: #FFFFFF;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-button.--primary:hover {
    color: #141715;
    background: #B2E561;
  }
  .c-button.--primary:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23141715"/></svg>') no-repeat no-repeat center center;
    background-color: #FFFFFF;
  }
  .c-button.--primary:hover.--pdf::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><rect width="14" height="14" fill="none"/><path d="M162.75-868.8h5.5v-1.4h-5.5Zm0-2.8h5.5V-873h-5.5Zm-1.375,5.6a1.312,1.312,0,0,1-.971-.411,1.361,1.361,0,0,1-.4-.989v-11.2a1.36,1.36,0,0,1,.4-.989,1.312,1.312,0,0,1,.971-.411h5.5L171-875.8v8.4a1.361,1.361,0,0,1-.4.989,1.312,1.312,0,0,1-.971.411Zm4.813-9.1v-3.5h-4.812v11.2h8.25v-7.7Zm-4.812-3.5v0Z" transform="translate(-158.32 880)" fill="%23141715"/></svg>') no-repeat no-repeat center center;
    background-color: #FFFFFF;
  }
}
.c-button.--pdf::after {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><rect width="14" height="14" fill="none"/><path d="M162.75-868.8h5.5v-1.4h-5.5Zm0-2.8h5.5V-873h-5.5Zm-1.375,5.6a1.312,1.312,0,0,1-.971-.411,1.361,1.361,0,0,1-.4-.989v-11.2a1.36,1.36,0,0,1,.4-.989,1.312,1.312,0,0,1,.971-.411h5.5L171-875.8v8.4a1.361,1.361,0,0,1-.4.989,1.312,1.312,0,0,1-.971.411Zm4.813-9.1v-3.5h-4.812v11.2h8.25v-7.7Zm-4.812-3.5v0Z" transform="translate(-158.32 880)" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center;
  background-size: 12px auto;
  background-color: #35B05E;
}
@media (min-width: 600px) {
  .c-button.--pdf::after {
    background-size: 14px auto;
  }
}

.c-button-more {
  font-size: 14px;
  margin: 40px 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;
  gap: 16px;
  cursor: pointer;
}
.c-button-more::after {
  content: "";
  width: 30px;
  height: 18px;
  background: url(../images/common/ic_plus.svg) #141715 no-repeat center center/10px auto;
  border-radius: 9999px;
}
.c-button-more.is-active::after {
  background-image: url(../images/common/ic_minus.svg);
}

.c-button-link {
  font-size: 14px;
  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;
  cursor: pointer;
}
.c-button-link::after {
  content: "";
  width: 30px;
  height: 18px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center/10px auto;
  background-color: #141715;
  border-radius: 9999px;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
@media (hover: hover) and (pointer: fine) {
  .c-button-link:hover {
    color: #35B05E;
  }
  .c-button-link:hover::after {
    background-color: #35B05E;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-button-link:hover {
    color: #35B05E;
  }
  .c-button-link:hover::after {
    background-color: #35B05E;
  }
}

.c-heading {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 30;
  --max-font-size: 72;
  font-weight: 900;
  text-align: right;
}
.c-heading::before {
  content: attr(data-en);
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  line-height: 1.4;
  display: block;
}

.c-sec-title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 28;
  --max-font-size: 48;
  font-weight: 900;
}
@media (min-width: 600px) {
  .c-sec-title {
    text-align: left;
    display: table;
    margin: 0 auto;
  }
}
.c-sec-title::before {
  content: attr(data-en);
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 16;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #35B05E;
  line-height: 1;
  margin-bottom: 0;
  display: block;
}
@media (min-width: 600px) {
  .c-sec-title::before {
    margin-bottom: 8px;
    -webkit-box-ordinal-group: 11;
    -webkit-order: 10;
        -ms-flex-order: 10;
            order: 10;
  }
}
@media (min-width: 600px) {
  .c-sec-title.--left {
    display: block;
  }
}

.c-sec-title-inline {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 28;
  --max-font-size: 32;
  font-weight: 900;
  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;
}
@media (min-width: 600px) {
  .c-sec-title-inline {
    gap: 0 24px;
  }
}
.c-sec-title-inline span {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  font-weight: 500;
  line-height: 2;
  width: 100%;
}
.c-sec-title-inline::after {
  content: attr(data-en);
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 16;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #35B05E;
  font-weight: 600;
  line-height: 1;
  margin: 0 0 8px 0;
  width: 100%;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}
@media (min-width: 600px) {
  .c-sec-title-inline::after {
    width: auto;
    margin: 0.5em 0 0 0;
    -webkit-box-ordinal-group: inherit;
    -webkit-order: inherit;
        -ms-flex-order: inherit;
            order: inherit;
  }
}

.c-subtitle {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
  font-weight: 500;
  text-indent: -16px;
  margin-left: 16px;
}
.c-subtitle::before {
  content: "";
  min-width: 8px;
  aspect-ratio: 1/1;
  margin-right: 8px;
  background: #35B05E;
  border-radius: 2px;
  display: inline-block;
  vertical-align: 0.2em;
}
.c-subtitle.--sm {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.c-subtitle.--sm span {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
}
.c-subtitle.--lg {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 22;
  --max-font-size: 32;
}

.c-catch {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 48;
  font-weight: 900;
  line-height: 1.4;
}
.c-catch span {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  font-weight: 500;
  margin-top: 16px;
  display: block;
}

.c-table-wrap {
  overflow-x: auto;
}
.c-table-wrap.js-table-more table {
  position: relative;
}
.c-table-wrap.js-table-more table tr {
  display: none;
}
.c-table-wrap.is-hide table::after {
  content: "";
  width: calc(100% - 1px);
  height: 40%;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(bottom, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
  position: absolute;
  left: 0;
  bottom: -1px;
}
.c-table-wrap[data-limit="7"] tr th:first-child {
  width: 25%;
}
.c-table-wrap + .c-table-wrap {
  margin-top: 64px;
}

h3 + .c-table-wrap {
  margin-top: 32px;
}

p + .c-table-wrap {
  margin-top: 40px;
}

.c-table {
  font-size: 14px;
  min-width: 600px;
  border-collapse: collapse;
  border: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .c-table {
    width: 100%;
  }
}
.c-table th {
  text-align: left;
  font-weight: 900;
  padding: 12px 24px;
  background: #E9F0EB;
  border: 1px solid #D7DBD8;
  white-space: nowrap;
  vertical-align: top;
}
@media (min-width: 960px) {
  .c-table th {
    white-space: wrap;
  }
}
.c-table td {
  padding: 12px 24px;
  border: 1px solid #D7DBD8;
  white-space: nowrap;
  vertical-align: top;
}
@media (min-width: 960px) {
  .c-table td {
    white-space: wrap;
  }
}

.c-breadcrumbs {
  background: #FFFFFF;
  padding: 24px 0;
  position: relative;
}
@media (min-width: 600px) {
  .c-breadcrumbs {
    padding: 32px 0;
  }
}

.c-breadcrumbs-list {
  width: calc(100% - 32px);
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  white-space: nowrap;
  overflow-x: scroll;
  scrollbar-width: none;
}
@media (min-width: 600px) {
  .c-breadcrumbs-list {
    width: calc(100% - 64px);
  }
}
@media (min-width: 960px) {
  .c-breadcrumbs-list {
    width: min(95%, 1600px);
  }
}

.c-breadcrumbs-item {
  font-size: 12px;
  color: #646464;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
}
@media (min-width: 600px) {
  .c-breadcrumbs-item {
    font-size: 14px;
  }
}
.c-breadcrumbs-item a {
  font-size: 12px;
  color: #141715;
}
@media (min-width: 600px) {
  .c-breadcrumbs-item a {
    font-size: 14px;
  }
}
.c-breadcrumbs-item a::after {
  content: "/";
  margin: 0 8px;
}
.c-breadcrumbs-item.--current {
  color: #FFFFFF;
  padding: 2px 4px;
  background: #141715;
  border-radius: 2px;
}

.c-section__head {
  padding: 24px;
  background: #FCFEF5;
  border-bottom: 1px solid #D7DBD8;
  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;
}
@media (min-width: 600px) {
  .c-section__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 960px) {
  .c-section__head {
    padding: 32px 40px;
  }
}
.c-section__body {
  padding: 40px 24px;
}
@media (min-width: 960px) {
  .c-section__body {
    padding: 64px;
  }
}
.c-section + .c-section {
  border-top: 1px solid #D7DBD8;
}

.c-section-round-block {
  background: #FFFFFF;
  border: 1px solid #D7DBD8;
  border-radius: 8px;
}
.c-section-round-block__head {
  padding: 24px;
  border-bottom: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .c-section-round-block__head {
    padding: 32px 40px;
  }
}
.c-section-round-block__body {
  padding: 40px 24px;
}
@media (min-width: 960px) {
  .c-section-round-block__body {
    padding: 64px;
  }
}

.c-subsection-round-block {
  padding: 32px 24px;
  background: #F5F8F6;
  border: 1px solid #D7DBD8;
  border-radius: 8px;
}
@media (min-width: 960px) {
  .c-subsection-round-block {
    padding: 32px 40px;
  }
}
.c-subsection-round-block + .c-subsection-round-block {
  margin-top: 56px;
}

.c-section-sdgs {
  margin-top: 56px;
  padding: 24px 16px;
  border: 1px solid #D7DBD8;
  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;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 32px;
}
@media (min-width: 600px) {
  .c-section-sdgs {
    margin-top: 72px;
    -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: 48px;
  }
}
@media (min-width: 960px) {
  .c-section-sdgs {
    padding: 32px 40px;
  }
}
.c-section-sdgs__text-area {
  width: min(100%, 443px);
}
.c-section-sdgs__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  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: 16px;
}
.c-section-sdgs__title::before {
  content: "";
  min-width: 32px;
  aspect-ratio: 1/1;
  background: url(../images/csr/ic_sdgs.svg) no-repeat center center/100% auto;
}
@media (min-width: 600px) {
  .c-section-sdgs__title::before {
    min-width: 40px;
  }
}
.c-section-sdgs__caption {
  font-size: 14px;
}
.c-section-sdgs__icon {
  width: min(100%, 248px);
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 20px;
}
@media (min-width: 600px) {
  .c-section-sdgs__icon {
    margin: 0;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.c-section-sdgs__icon-item {
  width: min((100% - 20px) / 2, 112px);
}

.c-modal {
  width: 100%;
  height: 100dvh;
  background: rgba(25, 22, 22, 0.85);
  position: fixed;
  top: 0;
  z-index: -100;
  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;
  opacity: 0;
  visibility: hidden;
}
.c-modal.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 11;
}
.c-modal__close {
  width: 30px;
  height: 30px;
  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: 10px;
  position: absolute;
  cursor: pointer;
  z-index: 10;
  top: 14px;
  right: 18px;
}
@media (min-width: 600px) {
  .c-modal__close {
    width: 40px;
    height: 40px;
    top: 40px;
    right: 40px;
  }
}
.c-modal__content {
  width: min(80%, 900px);
  background: #141715;
  border-radius: 4px;
  position: absolute;
  max-height: 80dvh;
}
.c-modal__slider {
  width: min(100%, 900px);
  margin: 0 auto;
}
.c-modal__slider img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  max-height: 100%;
}
.c-modal__pagenation {
  width: 80%;
  height: 0;
  margin: 0 auto;
  position: absolute;
  bottom: calc(10dvh - 30px);
}
@media (min-width: 600px) {
  .c-modal__pagenation {
    width: 100%;
    margin: auto;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
  }
}
.c-modal .swiper-button-prev, .c-modal .swiper-button-next {
  min-width: 40px;
  height: 40px;
  display: grid;
  place-content: center;
  cursor: pointer;
}
@media (min-width: 960px) {
  .c-modal .swiper-button-prev, .c-modal .swiper-button-next {
    min-width: 56px;
    height: 56px;
  }
}
.c-modal .swiper-button-prev::before, .c-modal .swiper-button-next::before {
  content: "";
  width: 40px;
  height: 40px;
  margin: auto;
  background: #35B05E;
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
@media (min-width: 600px) {
  .c-modal .swiper-button-prev::before, .c-modal .swiper-button-next::before {
    width: 56px;
    height: 56px;
  }
}
.c-modal .swiper-button-prev::after, .c-modal .swiper-button-next::after {
  content: "";
  width: 40px;
  height: 40px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23FFFFFF"/></svg>') no-repeat center center/15px auto;
}
@media (min-width: 600px) {
  .c-modal .swiper-button-prev::after, .c-modal .swiper-button-next::after {
    width: 56px;
    height: 56px;
    background-size: 18px auto;
  }
}
.c-modal .swiper-button-prev {
  left: 0;
}
@media (min-width: 600px) {
  .c-modal .swiper-button-prev {
    left: calc((100% - min(80%, 900px)) / 4 - 28px);
  }
}
.c-modal .swiper-button-prev::after {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
.c-modal .swiper-button-next::after {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.c-modal .swiper-button-next {
  right: 0;
}
@media (min-width: 600px) {
  .c-modal .swiper-button-next {
    right: calc((100% - min(80%, 900px)) / 4 - 28px);
  }
}
.c-modal .swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}

.p-home-kv {
  width: 100%;
  margin-top: 64px;
  position: relative;
}
@media (min-width: 600px) {
  .p-home-kv {
    height: 100vh;
    margin: 0;
    background: none;
  }
}
@media (max-width: 600px) {
  .p-home-kv {
    height: 50vh;
  }
}
.p-home-kv__inner {
  width: 100%;
  padding: 0;
  margin: 0 auto;
}
.p-home-kv__video {
  width: 100%;
  height: 100vh;
  border-radius: 0;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
}
@media (max-width: 600px) {
  .p-home-kv__video {
    top: 64px;
    height: 50vh;
  }
}
.p-home-kv__video video {
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 600px) {
  .p-home-kv__video video {
    width: 100%;
    height: 100%;
  }
}
.p-home-kv__video.is-fixed {
  position: relative;
}
.p-home-kv__video::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(20, 23, 21, 0.4);
  background-blend-mode: multiply;
  position: absolute;
  top: 0;
  z-index: 1;
}
.p-home-kv__catch {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
@media (min-width: 600px) {
  .p-home-kv__catch {
    height: 100dvh;
  }
}
.p-home-kv__catch-slide {
  padding: 20px;
  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;
  padding-bottom: 15%;
}
@media (min-width: 600px) {
  .p-home-kv__catch-slide {
    padding: 36px clamp(20px, 3.5vw, 62px) 48px clamp(20px, 3.5vw, 62px);
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    position: relative;
  }
}
.p-home-kv__catch-slide img {
  width: min(90%, 910px);
}
@media (max-width: 600px) {
  .p-home-kv__catch-slide img {
    width: 85%;
  }
}

.p-home-about {
  padding: 0 0 55px 0;
  margin-top: -30%;
  position: relative;
  z-index: 1;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(50%, rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(bottom, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(0deg, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%);
}
@media (min-width: 600px) {
  .p-home-about {
    margin-top: -8%;
  }
}
.p-home-about::before {
  content: "";
  width: 100%;
  aspect-ratio: 3/1;
  background: url(../images/home/img_about_deco.svg) no-repeat bottom center/100% auto;
  display: block;
}
.p-home-about::after {
  content: "";
  width: 100%;
  aspect-ratio: 333/230;
  margin-top: 24px;
  background: url(../images/home/img_about.png) no-repeat left bottom/100% auto;
  display: block;
  -webkit-transform: translateX(-22%);
          transform: translateX(-22%);
}
@media (min-width: 600px) {
  .p-home-about::after {
    width: 46.25%;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
  }
}
.p-home-about__inner {
  width: calc(100% - 64px);
  margin: 0 auto;
  padding: 40px 0 0 0;
  position: relative;
}
@media (min-width: 960px) {
  .p-home-about__inner {
    width: min(100% - 128px, 1170px);
    padding: 0;
  }
}
.p-home-about__inner::before {
  content: "";
  width: 100vw;
  height: 120%;
  margin: 0 calc(50% - 50vw);
  background: #FFFFFF;
  position: absolute;
  top: -5%;
  left: 0;
  z-index: -1;
}
@media (max-width: 600px) {
  .p-home-about__inner::before {
    top: -2%;
  }
}
.p-home-about__title {
  --viewport-from: 320;
  --viewport-to: 960;
  --min-font-size: 60;
  --max-font-size: 100;
  letter-spacing: 0.04em;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #E9F0EB;
  width: min(100%, 880px);
}
@media (min-width: 600px) {
  .p-home-about__title {
    --viewport-from: 960;
    --viewport-to: 1440;
    --min-font-size: 100;
    --max-font-size: 180;
  }
}
.p-home-about__title-deco-top {
  white-space: nowrap;
}
.p-home-about__title-deco-top::after {
  content: "";
  width: min(0.744em, 134px);
  aspect-ratio: 134/123;
  margin-left: 2.3vw;
  background: url(../images/home/deco_about01.png) no-repeat center center/100% auto;
  display: inline-block;
}
@media (min-width: 960px) {
  .p-home-about__title-deco-top::after {
    margin-left: 38px;
  }
}
.p-home-about__title-deco-btm::before {
  content: "";
  width: min(0.756em, 136px);
  aspect-ratio: 136/151;
  margin-right: 0.5vw;
  background: url(../images/home/deco_about02.png) no-repeat center center/100% auto;
  display: inline-block;
  -webkit-transform: translateX(-3%);
          transform: translateX(-3%);
}
.p-home-about__title-deco-btm::after {
  content: "";
  width: min(1.456em, 262px);
  aspect-ratio: 262/120;
  margin-left: 2.3vw;
  background: url(../images/home/deco_about03.png) no-repeat center center/100% auto;
  display: inline-block;
}
.p-home-about__text-area {
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-home-about__text-area {
    display: table;
    margin-left: auto;
  }
}
.p-home-about__catch {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 48;
  line-height: 1.5;
  font-weight: 900;
  display: inline-block;
}
.p-home-about__catch span {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 20;
  font-weight: 500;
}
.p-home-about__caption {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
  line-height: 2.2;
  margin-top: 40px;
}
.p-home-about__button {
  text-align: center;
  margin-top: 48px;
}
@media (min-width: 600px) {
  .p-home-about__button {
    text-align: left;
  }
}

.p-home-strength {
  padding: 0 0 56px 0;
  background: #F5F8F6;
  position: relative;
  z-index: 1;
}
@media (min-width: 600px) {
  .p-home-strength {
    padding: 0;
  }
}
.p-home-strength::before {
  content: "";
  width: 100%;
  aspect-ratio: 1440/269;
  margin-bottom: 54px;
  background: url(../images/home/img_strength_deco.svg) no-repeat top center/100% auto;
  display: block;
}
@media (min-width: 600px) {
  .p-home-strength::before {
    margin-bottom: 0;
  }
}
.p-home-strength__heading {
  width: calc(100% - 64px);
  margin: 0 auto;
}
@media (min-width: 600px) {
  .p-home-strength__heading {
    width: calc(100% - 128px);
  }
}
.p-home-strength__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 32;
  --max-font-size: 48;
  font-weight: 900;
}
@media (min-width: 600px) {
  .p-home-strength__title {
    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;
  }
}
.p-home-strength__title::before {
  content: attr(data-en);
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 16;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #35B05E;
  line-height: 1;
  margin-bottom: 8px;
  display: block;
}
@media (min-width: 600px) {
  .p-home-strength__title::before {
    margin-bottom: 0;
    -webkit-box-ordinal-group: 11;
    -webkit-order: 10;
        -ms-flex-order: 10;
            order: 10;
  }
}
.p-home-strength__list {
  margin-top: 24px;
  position: relative;
}
@media (min-width: 600px) {
  .p-home-strength__list {
    margin-top: 48px;
  }
}
.p-home-strength__swiper {
  width: 100%;
  background: #FFFFFF;
  border-top: 1px solid #D7DBD8;
  border-bottom: 1px solid #D7DBD8;
  position: relative;
  overflow: hidden;
}
@media (min-width: 600px) {
  .p-home-strength__swiper {
    padding: 0 76px;
  }
}
.p-home-strength__swiper-slide {
  padding: 24px;
}
@media (max-width: 600px) {
  .p-home-strength__swiper-slide {
    border-left: 1px solid #D7DBD8;
  }
}
.p-home-strength__link {
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  .p-home-strength__link:hover strong::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center/10px auto;
    background-color: #35B05E;
  }
  .p-home-strength__link:hover .p-home-strength__image img {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  .p-home-strength__link:hover .p-home-strength__caption strong {
    color: #35B05E;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-home-strength__link:hover strong::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center/10px auto;
    background-color: #35B05E;
  }
  .p-home-strength__link:hover .p-home-strength__image img {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  .p-home-strength__link:hover .p-home-strength__caption strong {
    color: #35B05E;
  }
}
.p-home-strength__image {
  border-radius: 4px;
  overflow: hidden;
}
.p-home-strength__image img {
  border-radius: 4px;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
.p-home-strength__image.--border {
  border: 1px solid #D7DBD8;
}
.p-home-strength__caption {
  margin-top: 10px;
}
.p-home-strength__caption span {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 14;
}
.p-home-strength__caption strong {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
  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-home-strength__caption strong::after {
  content: "";
  min-width: 38px;
  aspect-ratio: 38/23;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center/10px auto;
  background-color: #141715;
  border-radius: 9999px;
}
.p-home-strength__paging {
  margin: 24px auto 0 32px;
  width: 160px;
  height: 48px;
  background: #FFFFFF;
  border-radius: 9999px;
  position: relative;
  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;
}
@media (min-width: 600px) {
  .p-home-strength__paging {
    position: initial;
    width: 100%;
    height: 100%;
    margin: 0;
    background: none;
    border-radius: 0;
    z-index: 1;
    top: 0;
  }
}
.p-home-strength__paging::before {
  content: "";
  width: 1px;
  height: 32px;
  background: #D7DBD8;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
@media (min-width: 600px) {
  .p-home-strength__paging::before {
    display: none;
  }
}
.p-home-strength__paging .swiper-button-prev {
  position: static;
  width: 50%;
  height: 100%;
  margin: 0;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
@media (min-width: 600px) {
  .p-home-strength__paging .swiper-button-prev {
    position: absolute;
    width: 76px;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #FFFFFF;
    border: 1px solid #D7DBD8;
    border-left: none;
    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;
  }
}
.p-home-strength__paging .swiper-button-prev::before {
  display: none;
}
@media (min-width: 600px) {
  .p-home-strength__paging .swiper-button-prev::before {
    content: "前へ";
    font-size: 13px;
    color: #141715;
    display: block;
  }
}
.p-home-strength__paging .swiper-button-prev::after {
  content: "";
  width: 14px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media (min-width: 600px) {
  .p-home-strength__paging .swiper-button-prev::after {
    width: 24px;
  }
}
.p-home-strength__paging .swiper-button-next {
  position: static;
  width: 50%;
  height: 100%;
  margin: 0;
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
  z-index: 1;
}
@media (min-width: 600px) {
  .p-home-strength__paging .swiper-button-next {
    position: absolute;
    width: 76px;
    height: 100%;
    top: 0;
    right: 0;
    background-color: #FFFFFF;
    border: 1px solid #D7DBD8;
    border-right: none;
    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;
  }
}
.p-home-strength__paging .swiper-button-next::before {
  display: none;
}
@media (min-width: 600px) {
  .p-home-strength__paging .swiper-button-next::before {
    content: "次へ";
    font-size: 13px;
    color: #141715;
    display: block;
  }
}
.p-home-strength__paging .swiper-button-next::after {
  content: "";
  width: 14px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
}
@media (min-width: 600px) {
  .p-home-strength__paging .swiper-button-next::after {
    width: 24px;
  }
}

.p-home-parallax {
  width: 100%;
  aspect-ratio: 39/32;
  overflow: hidden;
}
@media (min-width: 600px) {
  .p-home-parallax {
    aspect-ratio: 72/25;
  }
}
.p-home-parallax img {
  width: 100%;
  height: auto;
  will-change: transform;
  -webkit-transform: scale(2);
          transform: scale(2);
}
@media (min-width: 600px) {
  .p-home-parallax img {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

.p-home-products {
  padding: 0 0 56px 0;
  position: relative;
}
@media (min-width: 960px) {
  .p-home-products {
    padding: 0 0 150px 0;
  }
}
.p-home-products__inner {
  width: calc(100% - 32px);
  margin: 0 auto;
  padding: 48px 32px;
  background: -webkit-radial-gradient(circle, rgb(178, 229, 97) 0%, rgb(107, 199, 95) 10%, rgb(53, 176, 94) 30%, rgb(163, 248, 27) 55%, rgb(53, 176, 94) 100%) right 100% bottom 498%/200% 1000%;
  background: radial-gradient(circle, rgb(178, 229, 97) 0%, rgb(107, 199, 95) 10%, rgb(53, 176, 94) 30%, rgb(163, 248, 27) 55%, rgb(53, 176, 94) 100%) right 100% bottom 498%/200% 1000%;
  border-radius: 8px;
  position: relative;
}
@media (min-width: 600px) {
  .p-home-products__inner {
    width: calc(100% - 64px);
  }
}
@media (min-width: 960px) {
  .p-home-products__inner {
    padding: 64px 56px;
  }
}
.p-home-products__inner::after {
  content: "";
  background: url(../images/home/bg_recruit.svg) no-repeat left -64px bottom 115px/695px auto;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: color-dodge;
  opacity: 0.9;
}
@media (min-width: 600px) {
  .p-home-products__inner::after {
    background: url(../images/home/bg_products.svg) no-repeat left bottom 32px/100% auto;
  }
}
.p-home-products__heading {
  color: #FFFFFF;
  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-home-products__heading {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 54px;
  }
}
@media (min-width: 960px) {
  .p-home-products__heading {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-home-products__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 32;
  --max-font-size: 48;
  font-weight: 900;
}
.p-home-products__title::before {
  content: attr(data-en);
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 16;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  white-space: nowrap;
  margin-bottom: 8px;
  line-height: 1;
  display: block;
}
.p-home-products__caption {
  line-height: 2;
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-home-products__caption {
    width: min(100%, 640px);
    margin: 0;
  }
}
.p-home-products__list {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
  position: relative;
  z-index: 1;
}
@media (min-width: 600px) {
  .p-home-products__list {
    margin-top: 64px;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
}
@media (min-width: 960px) {
  .p-home-products__list {
    gap: clamp(24px, 3.8vw, 48px);
  }
}
.p-home-products__link {
  height: 100%;
  padding: 16px;
  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;
}
@media (min-width: 960px) {
  .p-home-products__link {
    padding: 24px;
    border: 1px solid #D7DBD8;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-home-products__link:hover .p-home-products__image img {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  .p-home-products__link:hover .p-home-products__card-title {
    color: #35B05E;
  }
  .p-home-products__link:hover .p-home-products__card-title::after {
    background-color: #35B05E;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-home-products__link:hover .p-home-products__image img {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  .p-home-products__link:hover .p-home-products__card-title {
    color: #35B05E;
  }
  .p-home-products__link:hover .p-home-products__card-title::after {
    background-color: #35B05E;
  }
}
.p-home-products__image {
  margin: 0;
  border-radius: 4px;
  overflow: hidden;
}
.p-home-products__image img {
  border-radius: 4px;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
.p-home-products__card-title {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 16;
  --max-font-size: 18;
  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;
  -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;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
@media (min-width: 600px) {
  .p-home-products__card-title {
    --viewport-from: 960;
    --viewport-to: 1440;
    --min-font-size: 14;
    --max-font-size: 24;
  }
}
.p-home-products__card-title::before {
  content: attr(data-en);
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 14;
  color: #737C75;
  white-space: nowrap;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  line-height: 1;
  margin: 16px 0 4px 0;
  width: 100%;
}
.p-home-products__card-title::after {
  content: "";
  min-width: 38px;
  aspect-ratio: 46/28;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center/10px auto;
  background-color: #141715;
  border-radius: 9999px;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
@media (min-width: 600px) {
  .p-home-products__card-title::after {
    min-width: 40px;
  }
}
@media (min-width: 960px) {
  .p-home-products__card-title::after {
    min-width: 40px;
    background-size: 12px auto;
  }
}
@media (min-width: 1440px) {
  .p-home-products__card-title::after {
    min-width: 46px;
  }
}
.p-home-products__button {
  text-align: center;
  margin-top: 40px;
  position: relative;
  z-index: 1;
}
@media (min-width: 600px) {
  .p-home-products__button {
    text-align: right;
    margin-top: 64px;
  }
}

.p-home-company {
  padding: 56px 0 32px 0;
  background: #FFFFFF;
}
@media (min-width: 960px) {
  .p-home-company {
    padding: 150px 0 0 0;
  }
}
.p-home-company__inner {
  width: calc(100% - 64px);
  margin: 0 auto;
}
@media (min-width: 960px) {
  .p-home-company__inner {
    width: min(90%, 1600px);
  }
}
@media (min-width: 600px) {
  .p-home-company__info {
    display: grid;
    grid-template-columns: 45% 48%;
    gap: 0 40px;
  }
}
@media (min-width: 960px) {
  .p-home-company__info {
    padding: 0 56px;
    gap: 0 80px;
  }
}
@media (min-width: 600px) {
  .p-home-company__text {
    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;
    grid-area: 1/2/4/3;
  }
}
.p-home-company__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 32;
  --max-font-size: 48;
  font-weight: 900;
}
.p-home-company__title::before {
  content: attr(data-en);
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 16;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #35B05E;
  margin-bottom: 8px;
  line-height: 1;
  display: block;
}
.p-home-company__caption {
  line-height: 2;
  margin-top: 24px;
}
.p-home-company__image {
  margin: 24px 0 0 0;
}
@media (min-width: 600px) {
  .p-home-company__image {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
    grid-area: 1/1/2/2;
  }
}
.p-home-company__image img {
  border-radius: 8px;
}
@media (min-width: 960px) {
  .p-home-company__nav {
    padding: 0 56px;
  }
}
.p-home-company__nav-list {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
@media (min-width: 600px) {
  .p-home-company__nav-list {
    margin-top: 72px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 960px) {
  .p-home-company__nav-list {
    gap: 48px;
  }
}
.p-home-company__nav-item {
  height: 100%;
  border-bottom: 1px solid #D7DBD8;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.p-home-company__nav-link {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  width: 100%;
  padding: 0 0 16px 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;
}
.p-home-company__nav-link::after {
  content: "";
  min-width: 30px;
  aspect-ratio: 30/16;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center/10px auto;
  background-color: #141715;
  border-radius: 9999px;
}
@media (min-width: 960px) {
  .p-home-company__nav-link::after {
    min-width: 36px;
    background-size: 12px auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-home-company__nav-link:hover {
    opacity: 0.7;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-home-company__nav-link:hover {
    opacity: 0.7;
  }
}

.p-home-ethos {
  padding: 56px 0;
  background: #FFFFFF;
}
@media (min-width: 960px) {
  .p-home-ethos {
    padding: 150px 0;
  }
}
.p-home-ethos__inner {
  width: calc(100% - 32px);
  margin: 0 auto;
}
@media (min-width: 600px) {
  .p-home-ethos__inner {
    width: calc(100% - 64px);
  }
}
@media (min-width: 960px) {
  .p-home-ethos__inner {
    width: min(90%, 1600px);
  }
}
.p-home-ethos__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 32;
  --max-font-size: 48;
  font-weight: 900;
  padding: 0 16px;
  -webkit-transform: translateY(35%);
          transform: translateY(35%);
}
@media (min-width: 960px) {
  .p-home-ethos__title {
    padding: 0 56px;
  }
}
.p-home-ethos__title::before {
  content: attr(data-en);
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 16;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #35B05E;
  margin-bottom: 8px;
  line-height: 1;
  display: block;
}
.p-home-ethos__list {
  width: 100%;
  padding: 56px 32px;
  background: #F6F8F6;
  border-radius: 8px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
}
@media (min-width: 600px) {
  .p-home-ethos__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 960px) {
  .p-home-ethos__list {
    padding: 62px 56px;
    gap: clamp(24px, 3.8vw, 48px);
  }
}
.p-home-ethos__link {
  height: 100%;
  padding: 16px;
  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;
  border: 1px solid #D7DBD8;
}
@media (min-width: 960px) {
  .p-home-ethos__link {
    padding: clamp(16px, 1.8vw, 24px);
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-home-ethos__link:hover .p-home-ethos__image img {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  .p-home-ethos__link:hover .p-home-ethos__card-title {
    color: #35B05E;
  }
  .p-home-ethos__link:hover .p-home-ethos__card-title::after {
    background-color: #35B05E;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-home-ethos__link:hover .p-home-ethos__image img {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  .p-home-ethos__link:hover .p-home-ethos__card-title {
    color: #35B05E;
  }
  .p-home-ethos__link:hover .p-home-ethos__card-title::after {
    background-color: #35B05E;
  }
}
.p-home-ethos__image {
  margin: 0;
  overflow: hidden;
  border-radius: 4px;
}
.p-home-ethos__image img {
  border-radius: 4px;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
.p-home-ethos__card-title {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 18;
  --max-font-size: 18;
  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;
  -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;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
@media (min-width: 600px) {
  .p-home-ethos__card-title {
    --viewport-from: 960;
    --viewport-to: 1440;
    --min-font-size: 14;
    --max-font-size: 24;
  }
}
.p-home-ethos__card-title::before {
  content: attr(data-en);
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 14;
  color: #737C75;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  line-height: 1;
  margin: 16px 0 4px 0;
  width: 100%;
}
.p-home-ethos__card-title::after {
  content: "";
  min-width: 38px;
  aspect-ratio: 46/28;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center/10px auto;
  background-color: #141715;
  border-radius: 9999px;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
@media (min-width: 600px) {
  .p-home-ethos__card-title::after {
    min-width: 40px;
  }
}
@media (min-width: 960px) {
  .p-home-ethos__card-title::after {
    min-width: 40px;
    background-size: 12px auto;
  }
}
@media (min-width: 1440px) {
  .p-home-ethos__card-title::after {
    min-width: 46px;
  }
}

.p-home-news {
  padding: 56px 0;
  background: #F6F8F6;
}
@media (min-width: 960px) {
  .p-home-news {
    padding: 150px 0;
  }
}
.p-home-news__inner {
  width: calc(100% - 64px);
  margin: 0 auto;
}
@media (min-width: 600px) {
  .p-home-news__inner {
    width: calc(100% - 80px);
  }
}
@media (min-width: 960px) {
  .p-home-news__inner {
    width: min(80%, 1600px);
    display: grid;
    grid-template-columns: 30% 70%;
    grid-template-rows: repeat(3, 1fr);
    gap: 0 24px;
  }
}
.p-home-news__head {
  grid-area: 1/1/2/2;
}
.p-home-news__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 32;
  --max-font-size: 48;
  font-weight: 900;
}
.p-home-news__title::before {
  content: attr(data-en);
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 16;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #35B05E;
  margin-bottom: 8px;
  line-height: 1;
  display: block;
}
.p-home-news__body {
  grid-area: 1/2/4/3;
}
.p-home-news__list {
  margin-top: 12px;
}
@media (min-width: 960px) {
  .p-home-news__list {
    margin-top: 0;
  }
}
.p-home-news__list-item {
  border-bottom: 1px solid #D7DBD8;
}
@media (min-width: 960px) {
  .p-home-news__list-item:first-of-type .p-home-news__list-link {
    padding-top: 0;
  }
}
.p-home-news__list-link {
  padding: 24px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
}
@media (min-width: 600px) {
  .p-home-news__list-link {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 24px;
  }
}
.p-home-news__list-link::after {
  content: "";
  min-width: 12px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
  margin: auto 0 auto auto;
}
@media (min-width: 960px) {
  .p-home-news__list-link::after {
    min-width: 24px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-home-news__list-link:hover {
    opacity: 0.7;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-home-news__list-link:hover {
    opacity: 0.7;
  }
}
.p-home-news__list-image {
  width: min(100%, 96px);
  min-width: 96px;
  margin: 0;
  border: 2px solid #E9F0EB;
  border-radius: 4px;
}
@media (min-width: 600px) {
  .p-home-news__list-image {
    width: min(21%, 180px);
  }
}
.p-home-news__list-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 24;
  line-height: 1.7;
}
.p-home-news__list-date {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  color: #737C75;
  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;
}
@media (min-width: 600px) {
  .p-home-news__list-date {
    gap: 16px;
  }
}
.p-home-news__list-cat {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 14;
  color: #FFFFFF;
  padding: 0 16px;
  background: #141715;
  border-radius: 9999px;
}
.p-home-news__button {
  text-align: center;
  margin: 40px 0 0 0;
}
@media (min-width: 960px) {
  .p-home-news__button {
    text-align: left;
    margin: 0;
    grid-area: 2/1/3/2;
  }
}

.p-home-recruit {
  padding: 56px 0;
  background: #FFFFFF;
}
@media (min-width: 960px) {
  .p-home-recruit {
    padding: 150px 0;
  }
}
.p-home-recruit__inner {
  width: calc(100% - 32px);
  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-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media (min-width: 600px) {
  .p-home-recruit__inner {
    width: calc(100% - 64px);
  }
}
@media (min-width: 960px) {
  .p-home-recruit__inner {
    width: min(80%, 1600px);
  }
}
.p-home-recruit__image {
  width: 100%;
  padding: 12px 0;
  background: #FCFEF5;
  border: 1px solid #D7DBD8;
  border-top: none;
  border-radius: 0 0 8px 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: 12px 0;
}
@media (min-width: 600px) {
  .p-home-recruit__image {
    width: 46%;
    padding: 0 24px;
    border-radius: 8px 0 0 8px;
    border: 1px solid #D7DBD8;
    border-right: none;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
    gap: 24px;
  }
}
.p-home-recruit__image-wrap {
  width: 100%;
  position: relative;
  overflow: hidden;
}
@media (min-width: 600px) {
  .p-home-recruit__image-wrap {
    height: 350px;
  }
}
@media (min-width: 960px) {
  .p-home-recruit__image-wrap {
    height: 523px;
  }
}
.p-home-recruit__image-wrap.--order .p-home-recruit__image-slider {
  direction: rtl;
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
}
.p-home-recruit__image-wrap.--order .p-home-recruit__image-item {
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
}
.p-home-recruit__image-slider {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
}
@media (min-width: 600px) {
  .p-home-recruit__image-slider {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-home-recruit__image-item {
  margin: 0;
  margin-right: 10px;
}
@media (min-width: 600px) {
  .p-home-recruit__image-item {
    margin: 0 0 24px 0;
  }
}
.p-home-recruit__image-item img {
  min-width: 140px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 4px;
}
@media (min-width: 600px) {
  .p-home-recruit__image-item img {
    min-width: initial;
  }
}
.p-home-recruit__textarea {
  color: #FFFFFF;
  width: 100%;
  border-radius: 8px 8px 0 0;
  padding: 40px 32px;
  background: -webkit-radial-gradient(circle, rgb(178, 229, 97) 0%, rgb(107, 199, 95) 10%, rgb(53, 176, 94) 30%, rgb(163, 248, 27) 55%, rgb(53, 176, 94) 100%) right 197% bottom 197%/400% 400%;
  background: radial-gradient(circle, rgb(178, 229, 97) 0%, rgb(107, 199, 95) 10%, rgb(53, 176, 94) 30%, rgb(163, 248, 27) 55%, rgb(53, 176, 94) 100%) right 197% bottom 197%/400% 400%;
  position: relative;
}
@media (min-width: 600px) {
  .p-home-recruit__textarea {
    width: 54%;
    border-radius: 0 8px 8px 0;
  }
}
@media (min-width: 960px) {
  .p-home-recruit__textarea {
    width: 54%;
    padding: 64px;
    border-radius: 0 8px 8px 0;
  }
}
.p-home-recruit__textarea::after {
  content: "";
  background: url(../images/home/bg_recruit.svg) no-repeat center bottom/100% auto;
  width: 100%;
  aspect-ratio: 216/41;
  position: absolute;
  bottom: 40px;
  left: 0;
  mix-blend-mode: color-dodge;
}
.p-home-recruit__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 32;
  --max-font-size: 48;
  font-weight: 900;
}
.p-home-recruit__title::before {
  content: attr(data-en);
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 16;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  margin-bottom: 8px;
  line-height: 1;
  display: block;
}
.p-home-recruit__caption {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  font-weight: 900;
  line-height: 2;
  margin-top: 24px;
}
.p-home-recruit__button {
  margin-top: 24px;
  position: relative;
  z-index: 2;
}
@media (min-width: 960px) {
  .p-home-recruit__button {
    margin-top: 80px;
  }
}

.p-about-head {
  color: #FFFFFF;
  width: calc(100% - 32px);
  margin: 100px auto 0 auto;
}
@media (min-width: 600px) {
  .p-about-head {
    width: calc(100% - 48px);
  }
}
@media (min-width: 960px) {
  .p-about-head {
    margin-top: 225px;
    width: min(80%, 1600px);
  }
}
.p-about-head__inner {
  width: 100%;
  padding: 0 16px;
  position: relative;
  aspect-ratio: 5/4;
}
@media (min-width: 600px) {
  .p-about-head__inner {
    aspect-ratio: 1344/788;
  }
}
@media (min-width: 960px) {
  .p-about-head__inner {
    aspect-ratio: 1344/688;
    padding: 0 48px;
  }
}
.p-about-head__inner::after {
  content: "";
  width: 100%;
  margin: 0 auto;
  height: 100%;
  background: url(../images/about/img_headline.jpg) no-repeat top right;
  background-size: cover;
  border-radius: 8px;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: -1;
}
.p-about-head__title {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 20;
  --max-font-size: 24;
  width: 100%;
  padding: 16px 0;
}
@media (min-width: 600px) {
  .p-about-head__title {
    --viewport-from: 960;
    --viewport-to: 1440;
    --min-font-size: 24;
    --max-font-size: 48;
    padding: 40px 0;
  }
}
.p-about-head__title::before {
  content: "ABOUT US";
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  width: 100%;
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 45;
  --max-font-size: 140;
  line-height: 1;
  display: block;
}

.p-about-lead {
  padding-top: 60px;
}
@media (min-width: 600px) {
  .p-about-lead {
    padding-top: 120px;
  }
}
.p-about-lead::after {
  content: "";
  width: 100%;
  aspect-ratio: 1440/300;
  margin: 40px 0 0 0;
  background: url(../images/about/deco_lead.svg) no-repeat center center/100% auto;
  display: block;
}
@media (min-width: 600px) {
  .p-about-lead::after {
    margin: 80px 0 0 0;
  }
}
.p-about-lead__catch {
  font-size: 6vw;
  line-height: 1.5;
  font-weight: 900;
}
@media (min-width: 600px) {
  .p-about-lead__catch {
    font-size: 5vw;
    line-height: 1.3;
  }
}
@media (min-width: 1440px) {
  .p-about-lead__catch {
    font-size: 72px;
  }
}
.p-about-lead__catch::after {
  content: attr(data-en);
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #35B05E;
  line-height: 1.4;
  display: block;
  margin-top: 8px;
}
@media (min-width: 600px) {
  .p-about-lead__catch::after {
    margin-top: 16px;
  }
}
.p-about-lead__text-area {
  width: min(100%, 705px);
  margin: 0;
}
@media (min-width: 960px) {
  .p-about-lead__text-area {
    margin: 0 96px 0 auto;
  }
}
.p-about-lead__caption {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-about-lead__caption {
    margin-top: 48px;
  }
}

.p-about-grobal-reach {
  padding: 56px 0;
}
@media (min-width: 600px) {
  .p-about-grobal-reach {
    padding: 120px 0 150px 0;
  }
}
.p-about-grobal-reach__list {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 600px) {
  .p-about-grobal-reach__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-about-grobal-reach__card {
  padding: 32px 24px;
  border-top: 1px solid #D7DBD8;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -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;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 16px;
}
@media (min-width: 600px) {
  .p-about-grobal-reach__card {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 16px;
  }
}
@media (min-width: 960px) {
  .p-about-grobal-reach__card {
    padding: 32px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 32px;
  }
}
.p-about-grobal-reach__card:first-child {
  padding: 32px 24px;
  border-top: none !important;
}
@media (min-width: 960px) {
  .p-about-grobal-reach__card:first-child {
    padding: 64px 32px;
  }
}
@media (min-width: 600px) {
  .p-about-grobal-reach__card:nth-child(odd) {
    border-right: 1px solid #D7DBD8;
  }
}
.p-about-grobal-reach__card:nth-child(-n+2) {
  border-top: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .p-about-grobal-reach__card:nth-child(-n+2) {
    border-top: none;
  }
}
.p-about-grobal-reach__image {
  margin: 0;
  width: min(100%, 100px);
}
@media (min-width: 960px) {
  .p-about-grobal-reach__image {
    width: min(30%, 160px);
  }
}
.p-about-grobal-reach__term {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 20;
}
.p-about-grobal-reach__description {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 18;
  font-weight: 900;
}
.p-about-grobal-reach__description strong {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 900;
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 28;
  --max-font-size: 56;
  line-height: 1;
}
.p-about-grobal-reach__description span {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 40;
  font-weight: 900;
  vertical-align: middle;
}
.p-about-grobal-reach__locations {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.p-about-grobal-reach__locations-description {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  line-height: 1.3;
}
.p-about-grobal-reach__locations-description strong {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 900;
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 28;
  --max-font-size: 40;
}
.p-about-grobal-reach__locations-description span {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  font-weight: 900;
  vertical-align: middle;
}
.p-about-grobal-reach__button {
  width: 100%;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .p-about-grobal-reach__button {
    padding-top: 32px;
  }
}
.p-about-grobal-reach__button a {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.p-about-grobal-reach__share {
  padding: 0;
}
.p-about-grobal-reach__lead {
  padding: 40px 24px;
  border-bottom: 1px solid #D7DBD8;
  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: 600px) {
  .p-about-grobal-reach__lead {
    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-about-grobal-reach__lead {
    padding: 40px 64px;
    gap: 80px;
  }
}
.p-about-grobal-reach__lead-catch {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  line-height: 1.75;
}
.p-about-grobal-reach__lead-caption {
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-about-grobal-reach__lead-caption {
    margin-top: 32px;
  }
}
.p-about-grobal-reach__lead-image {
  width: min(100%, 460px);
}
.p-about-grobal-reach__lead-text-area {
  margin: 0;
  width: min(100%, 535px);
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}
.p-about-grobal-reach__supplier {
  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;
}
.p-about-grobal-reach__supplier-item {
  padding: 32px 24px;
  width: 100%;
}
@media (min-width: 600px) {
  .p-about-grobal-reach__supplier-item {
    width: 50%;
    padding: 32px 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-about-grobal-reach__supplier-item {
    padding: 32px 64px;
  }
}
.p-about-grobal-reach__supplier-item:first-child {
  width: 100%;
  border-bottom: 1px solid #D7DBD8;
}
.p-about-grobal-reach__supplier-item:last-child {
  border-top: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .p-about-grobal-reach__supplier-item:last-child {
    border-left: 1px solid #D7DBD8;
    border-top: none;
  }
}
.p-about-grobal-reach__supplier-title span {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-about-grobal-reach__supplier-caption {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
}

.p-about-flagship {
  padding: 56px 0;
  background: #FFFFFF;
}
@media (min-width: 600px) {
  .p-about-flagship {
    padding: 150px 0;
  }
}
.p-about-flagship__lead-caption {
  margin-top: 32px;
  width: min(100%, 780px);
}
.p-about-flagship__list {
  width: min(100%, 1600px);
  margin: 56px auto 0 auto;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  position: relative;
}
@media (min-width: 600px) {
  .p-about-flagship__list {
    margin: 80px auto 0 auto;
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-about-flagship__list::before {
  content: "";
  width: 100vw;
  height: 1px;
  margin: 0 calc(50% - 50vw);
  background: #D7DBD8;
  position: absolute;
  left: 0;
  top: 0;
}
.p-about-flagship__list::after {
  content: "";
  width: 100vw;
  height: 1px;
  margin: 0 calc(50% - 50vw);
  background: #D7DBD8;
  position: absolute;
  left: 0;
  bottom: 0;
}
.p-about-flagship__card {
  padding: 24px;
  border-bottom: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .p-about-flagship__card {
    border-left: 1px solid #D7DBD8;
    border-bottom: none;
  }
}
@media (min-width: 960px) {
  .p-about-flagship__card {
    padding: 32px;
  }
}
@media (min-width: 600px) {
  .p-about-flagship__card:last-child {
    border-right: 1px solid #D7DBD8;
  }
}
.p-about-flagship__image {
  margin: 0;
}
.p-about-flagship__image img {
  border-radius: 4px;
}
.p-about-flagship__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  font-weight: 500;
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-about-flagship__title {
    margin-top: 24px;
  }
}
.p-about-flagship__caption {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  margin-top: 4px;
}

.p-about-strength {
  margin: 56px 0;
}
@media (min-width: 600px) {
  .p-about-strength {
    padding: 150px 0;
  }
}
.p-about-strength__lead-caption {
  margin-top: 32px;
  width: min(100%, 780px);
}
.p-about-strength__content {
  margin-top: 80px;
  margin-right: calc(50% - 50vw);
  background: #FFFFFF;
  border-radius: 8px 0 0 0;
}
@media (max-width: 600px) {
  .p-about-strength__content {
    margin-left: -16px;
  }
}
.p-about-strength__image {
  margin: 0;
}
.p-about-strength__image img {
  border-radius: 8px 0 0 0;
}
.p-about-strength__list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 600px) {
  .p-about-strength__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-about-strength__card {
  padding: 32px 24px;
  border-bottom: 1px solid #D7DBD8;
  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: 24px;
}
@media (min-width: 600px) {
  .p-about-strength__card {
    padding: 32px;
    gap: 32px;
  }
}
@media (min-width: 960px) {
  .p-about-strength__card {
    padding: 64px;
    gap: 64px;
  }
}
@media (min-width: 600px) {
  .p-about-strength__card:nth-child(odd) {
    border-right: 1px solid #D7DBD8;
  }
}
@media (min-width: 600px) {
  .p-about-strength__card:nth-last-child(-n+2) {
    border-bottom: none;
  }
}
.p-about-strength__card:last-child {
  border-bottom: none;
}
.p-about-strength__card::before {
  content: "";
  min-width: 24px;
  aspect-ratio: 1/1;
  background: no-repeat center center/100% auto;
}
@media (min-width: 960px) {
  .p-about-strength__card::before {
    min-width: 32px;
  }
}
.p-about-strength__card.--technology::before {
  background-image: url(../images/about/ic_technology.svg);
}
.p-about-strength__card.--craft::before {
  background-image: url(../images/about/ic_craftsmanship.svg);
}
.p-about-strength__card.--global::before {
  background-image: url(../images/about/ic_global.svg);
}
.p-about-strength__card.--history::before {
  background-image: url(../images/about/ic_history.svg);
}
.p-about-strength__text-area {
  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: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  height: 100%;
}
.p-about-strength__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  font-weight: 500;
  line-height: 2;
}
.p-about-strength__title span {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  color: #737C75;
  line-height: 1;
  display: block;
}
.p-about-strength__caption {
  margin: 24px 0 40px 0;
}
.p-about-strength__button {
  margin: auto 0 0 0;
}

.p-technology-functional__inner, .p-technology-electrification__inner, .p-technology-measurement__inner, .p-technology-prototype__inner, .p-technology-analysis__inner, .p-technology-design__inner {
  background: #FFFFFF;
  border: 1px solid #D7DBD8;
  border-radius: 8px;
}

.p-technology-functional__head, .p-technology-electrification__head, .p-technology-measurement__head, .p-technology-prototype__head, .p-technology-analysis__head, .p-technology-design__head {
  padding: 24px 24px;
  border-bottom: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .p-technology-functional__head, .p-technology-electrification__head, .p-technology-measurement__head, .p-technology-prototype__head, .p-technology-analysis__head, .p-technology-design__head {
    padding: 32px 40px;
  }
}

.p-technology-functional__body, .p-technology-electrification__body, .p-technology-measurement__body, .p-technology-prototype__body, .p-technology-analysis__body, .p-technology-design__body {
  padding: 40px 24px;
}
@media (min-width: 960px) {
  .p-technology-functional__body, .p-technology-electrification__body, .p-technology-measurement__body, .p-technology-prototype__body, .p-technology-analysis__body, .p-technology-design__body {
    padding: 64px;
  }
}

.p-technology-functional__lead, .p-technology-electrification__lead, .p-technology-measurement__lead, .p-technology-prototype__lead, .p-technology-analysis__lead, .p-technology-design__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-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;
}
@media (min-width: 600px) {
  .p-technology-functional__lead, .p-technology-electrification__lead, .p-technology-measurement__lead, .p-technology-prototype__lead, .p-technology-analysis__lead, .p-technology-design__lead {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 16px;
  }
}

.p-technology-functional__catch, .p-technology-electrification__catch, .p-technology-measurement__catch, .p-technology-prototype__catch, .p-technology-analysis__catch, .p-technology-design__catch {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  font-weight: 500;
  line-height: 1.5;
}

.p-technology-functional__caption, .p-technology-electrification__caption, .p-technology-measurement__caption, .p-technology-prototype__caption, .p-technology-analysis__caption, .p-technology-design__caption {
  line-height: 2;
  width: 100%;
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-technology-functional__caption, .p-technology-electrification__caption, .p-technology-measurement__caption, .p-technology-prototype__caption, .p-technology-analysis__caption, .p-technology-design__caption {
    width: min(60%, 640px);
    margin-top: 0;
  }
}

.p-technology-functional__list, .p-technology-electrification__list, .p-technology-measurement__list, .p-technology-prototype__list, .p-technology-analysis__list, .p-technology-design__list {
  margin-top: 64px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 48px;
}
@media (min-width: 600px) {
  .p-technology-functional__list, .p-technology-electrification__list, .p-technology-measurement__list, .p-technology-prototype__list, .p-technology-analysis__list, .p-technology-design__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
}
@media (min-width: 960px) {
  .p-technology-functional__list, .p-technology-electrification__list, .p-technology-measurement__list, .p-technology-prototype__list, .p-technology-analysis__list, .p-technology-design__list {
    gap: 32px;
  }
}

.p-technology-functional__card-image, .p-technology-electrification__card-image, .p-technology-measurement__card-image, .p-technology-prototype__card-image, .p-technology-design__card-image {
  margin: 0;
}
.p-technology-functional__card-image img, .p-technology-electrification__card-image img, .p-technology-measurement__card-image img, .p-technology-prototype__card-image img, .p-technology-design__card-image img {
  border-radius: 4px;
}

.p-technology-value {
  padding: 56px 0;
  background: url(../images/technology/bg_value.png) #FFFFFF no-repeat center bottom 90px/100% auto;
}
@media (min-width: 600px) {
  .p-technology-value {
    padding: 150px 0;
    background: url(../images/technology/bg_value.png) #FFFFFF no-repeat center center/100% auto;
  }
}
.p-technology-value__inner {
  width: min(100% - 64px, 1346px);
  margin: 0 auto;
  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: 40px 30px;
}
@media (min-width: 600px) {
  .p-technology-value__inner {
    gap: 40px;
  }
}
@media (min-width: 960px) {
  .p-technology-value__inner {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
  }
}
.p-technology-value__image-left {
  width: 45%;
  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: 10px;
  -webkit-box-ordinal-group: 6;
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5;
}
@media (min-width: 600px) {
  .p-technology-value__image-left {
    width: min(100%, 240px);
    gap: 40px;
  }
}
@media (min-width: 960px) {
  .p-technology-value__image-left {
    -webkit-box-ordinal-group: initial;
    -webkit-order: initial;
        -ms-flex-order: initial;
            order: initial;
    gap: 40px;
  }
}
.p-technology-value__image-left img {
  border-radius: 4px;
}
.p-technology-value__image-left-buttom {
  width: min(70%, 165px);
}
.p-technology-value__image-right {
  width: 45%;
  -webkit-box-ordinal-group: 7;
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6;
}
@media (min-width: 600px) {
  .p-technology-value__image-right {
    width: min(100%, 240px);
  }
}
.p-technology-value__image-right img {
  border-radius: 4px;
}
.p-technology-value__text-area {
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 600px) {
  .p-technology-value__text-area {
    width: min(100%, 640px);
  }
}
.p-technology-value__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
  font-weight: 500;
  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-technology-value__title::before {
  content: "";
  min-width: 8px;
  aspect-ratio: 1/1;
  margin-top: 0.5em;
  background: #35B05E;
  border-radius: 2px;
}
.p-technology-value__catch {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 24;
  --max-font-size: 32;
  font-weight: 900;
  line-height: 1.6;
  margin-top: 32px;
}
@media (min-width: 600px) {
  .p-technology-value__catch {
    --viewport-from: 960;
    --viewport-to: 1440;
    --min-font-size: 32;
    --max-font-size: 48;
    line-height: 1.3;
    margin-top: 64px;
  }
}
.p-technology-value__caption {
  line-height: 2;
  margin-top: 40px;
}

.p-technology-design {
  padding: 54px 0 0 0;
}
@media (min-width: 600px) {
  .p-technology-design {
    padding: 155px 0 0 0;
  }
}
.p-technology-design__card-title {
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-technology-design__card-title {
    margin-top: 24px;
  }
}
.p-technology-design__card-caption {
  line-height: 2;
  margin-top: 8px;
}
@media (min-width: 600px) {
  .p-technology-design__card-caption {
    margin-top: 16px;
  }
}

.p-technology-analysis {
  margin-top: 54px;
}
@media (min-width: 600px) {
  .p-technology-analysis {
    margin-top: 100px;
  }
}
.p-technology-analysis__image {
  margin: 40px 0 0 0;
}
@media (min-width: 600px) {
  .p-technology-analysis__image {
    margin-top: 64px;
  }
}
.p-technology-analysis__image img {
  border-radius: 4px;
}
.p-technology-analysis__cae {
  margin-top: 40px;
  padding: 32px 24px;
  background: #FCFEF5;
  border: 1px solid #D7DBD8;
  border-radius: 4px;
}
@media (min-width: 600px) {
  .p-technology-analysis__cae {
    margin-top: 64px;
    padding: 40px;
  }
}
.p-technology-analysis__cae-caption {
  line-height: 2;
  margin-top: 16px;
}
.p-technology-analysis__list {
  margin-top: 48px;
}
.p-technology-analysis__card-image {
  margin: 0;
  border: 1px solid #D7DBD8;
  border-radius: 4px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}
.p-technology-analysis__card-image::after {
  content: "";
  width: 48px;
  aspect-ratio: 1/1;
  background: url(../images/technology/ic_enlarge.svg) no-repeat #141715 center center/12px auto;
  opacity: 0.9;
  position: absolute;
  bottom: 0;
  right: 0;
}
.p-technology-analysis__card-caption {
  margin-top: 16px;
}

.p-technology-analysis-modal__movie {
  border-radius: 4px;
  overflow: hidden;
}
.p-technology-analysis-modal__movie video {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-technology-prototype {
  margin-top: 54px;
}
@media (min-width: 600px) {
  .p-technology-prototype {
    margin-top: 100px;
  }
}
.p-technology-prototype__card-title {
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-technology-prototype__card-title {
    margin-top: 24px;
  }
}
.p-technology-prototype__card-caption {
  line-height: 2;
  margin-top: 8px;
}
@media (min-width: 600px) {
  .p-technology-prototype__card-caption {
    margin-top: 16px;
  }
}

.p-technology-measurement {
  margin-top: 54px;
}
@media (min-width: 600px) {
  .p-technology-measurement {
    margin-top: 100px;
  }
}
.p-technology-measurement__body {
  position: relative;
}
.p-technology-measurement__card-title {
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-technology-measurement__card-title {
    margin-top: 24px;
  }
}
.p-technology-measurement__card-caption {
  line-height: 2;
  margin-top: 8px;
}
@media (min-width: 600px) {
  .p-technology-measurement__card-caption {
    margin-top: 16px;
  }
}
.p-technology-measurement__other {
  margin-top: 128px;
}
.p-technology-measurement__other::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #D7DBD8;
  position: absolute;
  left: 0;
  -webkit-transform: translateY(-64px);
          transform: translateY(-64px);
}
.p-technology-measurement__other-list {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 13;
  --max-font-size: 16;
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
@media (min-width: 600px) {
  .p-technology-measurement__other-list {
    gap: 32px;
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-technology-measurement__other-item {
  padding-bottom: 16px;
  border-bottom: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .p-technology-measurement__other-item {
    padding-bottom: 24px;
  }
}

.p-technology-electrification {
  margin-top: 54px;
}
@media (min-width: 600px) {
  .p-technology-electrification {
    margin-top: 100px;
  }
}
.p-technology-electrification__body {
  position: relative;
}
.p-technology-electrification__card-title {
  margin-top: 24px;
}
.p-technology-electrification__card-caption {
  line-height: 2;
  margin-top: 16px;
}

.p-technology-functional {
  margin-top: 54px;
  padding-bottom: 54px;
}
@media (min-width: 600px) {
  .p-technology-functional {
    margin-top: 100px;
    padding-bottom: 150px;
  }
}
.p-technology-functional__card-title {
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-technology-functional__card-title {
    margin-top: 24px;
  }
}
.p-technology-functional__card-caption {
  line-height: 2;
  margin-top: 8px;
}
@media (min-width: 600px) {
  .p-technology-functional__card-caption {
    margin-top: 16px;
  }
}

.p-craftsmanship-importance {
  padding: 56px 0;
  background: #FFFFFF;
}
@media (min-width: 600px) {
  .p-craftsmanship-importance {
    padding: 150px 0;
  }
}
.p-craftsmanship-importance__top {
  background: url(../images/technology/bg_value.png) #FFFFFF no-repeat center bottom 90px/100% auto;
}
@media (min-width: 600px) {
  .p-craftsmanship-importance__top {
    background: url(../images/technology/bg_value.png) #FFFFFF no-repeat center top/100% auto;
  }
}
.p-craftsmanship-importance__inner {
  width: min(100% - 64px, 1346px);
  margin: 0 auto;
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px 30px;
}
@media (min-width: 600px) {
  .p-craftsmanship-importance__inner {
    gap: 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-craftsmanship-importance__inner {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.p-craftsmanship-importance__images {
  width: min(100%, 672px);
  position: relative;
}
@media (min-width: 600px) {
  .p-craftsmanship-importance__images {
    width: min(45%, 672px);
  }
}
.p-craftsmanship-importance__images img {
  border-radius: 4px;
}
.p-craftsmanship-importance__image-top {
  width: min(59%, 394px);
  margin: 0;
}
.p-craftsmanship-importance__image-bottom {
  width: min(52%, 348px);
  margin: -20% 0 0 auto;
}
.p-craftsmanship-importance__text-area {
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 600px) {
  .p-craftsmanship-importance__text-area {
    width: min(50%, 432px);
  }
}
.p-craftsmanship-importance__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
  font-weight: 500;
  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-craftsmanship-importance__title::before {
  content: "";
  min-width: 8px;
  aspect-ratio: 1/1;
  margin-top: 0.5em;
  background: #35B05E;
  border-radius: 2px;
}
.p-craftsmanship-importance__caption {
  line-height: 2;
  margin-top: 32px;
}
@media (min-width: 600px) {
  .p-craftsmanship-importance__caption {
    margin-top: 40px;
  }
}
.p-craftsmanship-importance__bottom {
  margin-top: 56px;
  padding-top: 56px;
  border-top: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .p-craftsmanship-importance__bottom {
    margin-top: 120px;
    padding-top: 120px;
  }
}
.p-craftsmanship-importance__bottom-lead {
  width: min(100%, 1120px);
  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-craftsmanship-importance__bottom-lead {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 40px;
  }
}
.p-craftsmanship-importance__bottom-image {
  margin: 40px 0 0 0;
  position: relative;
  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) {
  .p-craftsmanship-importance__bottom-image {
    margin: 64px 0 0 0;
  }
}
.p-craftsmanship-importance__bottom-image::before {
  content: "";
  width: min(25%, 152px);
  aspect-ratio: 152/154;
  background: url("../images/craftsmanship/ic_play.svg") no-repeat center center/100% auto;
  position: absolute;
}
.p-craftsmanship-importance__bottom-image img {
  border-radius: 8px;
}
.p-craftsmanship-importance__lead-caption {
  line-height: 2;
  width: 100%;
  margin-top: 32px;
}
@media (min-width: 600px) {
  .p-craftsmanship-importance__lead-caption {
    width: min(50%, 560px);
    margin: 0;
  }
}

.p-craftsmanship-modal__movie {
  border-radius: 4px;
  overflow: hidden;
}
.p-craftsmanship-modal__movie video {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-craftsmanship-makeing {
  padding: 56px 0;
}
@media (min-width: 600px) {
  .p-craftsmanship-makeing {
    padding: 150px 0;
  }
}
.p-craftsmanship-makeing__inner {
  margin-top: 48px;
  background: #FFFFFF;
  border-radius: 8px;
  border: 1px solid #D7DBD8;
  overflow: hidden;
}
@media (max-width: 600px) {
  .p-craftsmanship-makeing__title {
    padding: 0 16px;
  }
}
.p-craftsmanship-makeing__lead {
  padding: 40px 24px 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-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media (min-width: 600px) {
  .p-craftsmanship-makeing__lead {
    padding: 56px 40px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 40px;
  }
}
@media (min-width: 960px) {
  .p-craftsmanship-makeing__lead {
    padding: 100px 64px;
  }
}
.p-craftsmanship-makeing__lead-text-area {
  width: min(100%, 640px);
}
.p-craftsmanship-makeing__lead-cacth {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
  font-weight: 500;
  line-height: 1.5;
}
.p-craftsmanship-makeing__lead-image {
  width: min(100%, 368px);
  margin: 0 auto;
}
.p-craftsmanship-makeing__lead-image img {
  border-radius: 4px;
}
.p-craftsmanship-makeing__lead-caption {
  line-height: 2;
  margin-top: 32px;
}
.p-craftsmanship-makeing__flow {
  border-top: 1px solid #D7DBD8;
  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;
  counter-increment: num;
  position: relative;
}
@media (min-width: 600px) {
  .p-craftsmanship-makeing__flow {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.p-craftsmanship-makeing__flow + .p-craftsmanship-makeing__flow::before {
  content: "";
  width: 0;
  height: 0;
  margin: 0 auto;
  border-right: 15px solid transparent;
  border-left: 15px solid transparent;
  border-top: 15px solid #d7dbd0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
@media (min-width: 600px) {
  .p-craftsmanship-makeing__flow + .p-craftsmanship-makeing__flow::before {
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
    border-top: 20px solid #d7dbd0;
  }
}
.p-craftsmanship-makeing__flow-term {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  color: #737C75;
  padding: 16px 24px;
  min-width: 100%;
  background: #FCFEF5;
  border-bottom: 1px solid #D7DBD8;
  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-craftsmanship-makeing__flow-term {
    min-width: 50px;
    padding: 24px 0px;
    -webkit-writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
            writing-mode: vertical-lr;
    border-right: 1px solid #D7DBD8;
    border-bottom: none;
  }
}
@media (min-width: 960px) {
  .p-craftsmanship-makeing__flow-term {
    min-width: 80px;
    padding: 40px 0px;
  }
}
.p-craftsmanship-makeing__flow-term::before {
  content: "";
  width: 8px;
  aspect-ratio: 1/1;
  background: #35B05E;
  border-radius: 2px;
}
.p-craftsmanship-makeing__flow-section {
  width: 100%;
  padding: 40px 24px;
}
@media (min-width: 600px) {
  .p-craftsmanship-makeing__flow-section {
    width: calc(100% - 50px);
    padding: 56px 40px;
  }
}
@media (min-width: 960px) {
  .p-craftsmanship-makeing__flow-section {
    width: calc(100% - 80px);
    padding: 100px 64px;
  }
}
.p-craftsmanship-makeing__flow-text-area {
  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;
}
@media (min-width: 600px) {
  .p-craftsmanship-makeing__flow-text-area {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.p-craftsmanship-makeing__flow-title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
  font-weight: 500;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 600px) {
  .p-craftsmanship-makeing__flow-title {
    width: min(100%, 225px);
  }
}
.p-craftsmanship-makeing__flow-title::before {
  content: "[0" counter(num) "]";
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  color: #737C75;
  width: 45px;
}
.p-craftsmanship-makeing__flow-caption {
  line-height: 2;
  margin: 24px 0 0 0;
  width: 100%;
}
@media (min-width: 600px) {
  .p-craftsmanship-makeing__flow-caption {
    margin: 0;
    width: min(100% - 225px, 640px);
  }
}
.p-craftsmanship-makeing__flow-images {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
@media (min-width: 600px) {
  .p-craftsmanship-makeing__flow-images {
    margin-top: 64px;
    gap: 40px;
  }
}
.p-craftsmanship-makeing__flow-images.--col3 {
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
@media (min-width: 600px) {
  .p-craftsmanship-makeing__flow-images.--col3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-craftsmanship-makeing__flow-image {
  margin: 0;
}
.p-craftsmanship-makeing__flow-image img {
  border-radius: 4px;
}

.p-craftsmanship-facilities {
  padding: 56px 0;
  background: #FFFFFF;
}
@media (min-width: 600px) {
  .p-craftsmanship-facilities {
    padding: 150px 0;
  }
}
.p-craftsmanship-facilities__lead {
  width: min(100%, 800px);
  margin-top: 64px;
}
@media (min-width: 600px) {
  .p-craftsmanship-facilities__lead {
    margin-top: 120px;
  }
}
.p-craftsmanship-facilities__caption {
  margin-top: 24px;
  line-height: 2;
}
@media (min-width: 600px) {
  .p-craftsmanship-facilities__caption {
    margin-top: 40px;
  }
}
.p-craftsmanship-facilities__section {
  margin-top: 64px;
  padding: 40px 0;
  border-top: 1px solid #D7DBD8;
  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;
  counter-increment: num;
}
@media (min-width: 600px) {
  .p-craftsmanship-facilities__section {
    margin-top: 120px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.p-craftsmanship-facilities__section + .p-craftsmanship-facilities__section {
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-craftsmanship-facilities__section + .p-craftsmanship-facilities__section {
    margin-top: 24px;
  }
}
.p-craftsmanship-facilities__text-area {
  width: min(100%, 692px);
}
.p-craftsmanship-facilities__section-title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
  font-weight: 500;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.p-craftsmanship-facilities__section-title::before {
  content: "[0" counter(num) "]";
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  color: #737C75;
  width: 40px;
}
@media (min-width: 960px) {
  .p-craftsmanship-facilities__section-title::before {
    width: 54px;
  }
}
.p-craftsmanship-facilities__section-caption {
  line-height: 2;
  margin: 24px 0 0 40px;
}
@media (min-width: 960px) {
  .p-craftsmanship-facilities__section-caption {
    margin: 24px 0 0 54px;
  }
}
.p-craftsmanship-facilities__image {
  width: min(100% - 40px, 320px);
  margin: 0 0 0 40px;
}
@media (min-width: 600px) {
  .p-craftsmanship-facilities__image {
    margin-left: 0;
  }
}
.p-craftsmanship-facilities__image img {
  border-radius: 4px;
}

.p-global-expansiont-lead {
  padding: 24px 0 0 0;
}
@media (min-width: 600px) {
  .p-global-expansiont-lead {
    padding: 70px 0 0 0;
  }
}
.p-global-expansiont-lead__inner {
  padding: 40px 0;
  background: #FFFFFF;
  border: 1px solid #D7DBD8;
  border-radius: 8px 8px 0 0;
}
@media (min-width: 600px) {
  .p-global-expansiont-lead__inner {
    text-align: center;
    padding: 100px 0 120px 0;
  }
}
.p-global-expansiont-lead__textarea {
  padding: 0 24px;
}
.p-global-expansiont-lead__caption {
  text-align: left;
  width: min(100%, 600px);
  margin: 24px auto 0 auto;
}
@media (min-width: 600px) {
  .p-global-expansiont-lead__caption {
    margin: 40px auto 0 auto;
  }
}
.p-global-expansiont-lead__image {
  width: 98%;
  margin: 24px auto 0 auto;
}
@media (min-width: 600px) {
  .p-global-expansiont-lead__image {
    width: 98%;
    margin: 64px auto 0 auto;
  }
}

.p-global-expansiont-needs {
  padding-bottom: 56px;
}
@media (min-width: 600px) {
  .p-global-expansiont-needs {
    padding-bottom: 150px;
  }
}
.p-global-expansiont-needs__inner {
  padding: 40px 24px 0 24px;
  background: #FFFFFF;
  border: 1px solid #D7DBD8;
  border-top: none;
  border-radius: 0 0 8px 8px;
  overflow: hidden;
}
@media (min-width: 600px) {
  .p-global-expansiont-needs__inner {
    padding: 120px 32px 0 32px;
  }
}
@media (min-width: 960px) {
  .p-global-expansiont-needs__inner {
    padding: 120px 80px 0 80px;
  }
}
.p-global-expansiont-needs__caption {
  margin-top: 24px;
  width: min(100%, 655px);
}
@media (min-width: 600px) {
  .p-global-expansiont-needs__caption {
    margin-top: 32px;
  }
}
.p-global-expansiont-needs__table-wrap {
  margin-top: 56px;
}
.p-global-expansiont-needs__table {
  font-size: 14px;
  line-height: 1.3;
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #D7DBD8;
}
.p-global-expansiont-needs__table th {
  white-space: nowrap;
  font-weight: 900;
  padding: 20px 2px;
  background: #FFF9D9;
  border: 1px solid #D7DBD8;
}
.p-global-expansiont-needs__table th.--sm {
  width: 7.5%;
}
.p-global-expansiont-needs__table td {
  font-size: 8px;
  white-space: nowrap;
  text-align: center;
  color: #35B05E;
  padding: 12px 10px;
  border: 1px solid #D7DBD8;
}
.p-global-expansiont-needs__table td.--area {
  font-size: 14px;
  color: inherit;
  background: #F8F8F5;
}
.p-global-expansiont-needs__table td.--company {
  font-size: 14px;
  color: inherit;
}
.p-global-expansiont-needs__table td.--local {
  font-size: 14px;
  color: inherit;
}
.p-global-expansiont-needs__table .--sm {
  font-size: 12px;
}
.p-global-expansiont-needs__swiper {
  width: calc(100% + 48px);
  margin: 56px -24px 0 -24px;
  padding: 40px 0;
  border-top: 1px solid #D7DBD8;
  position: relative;
}
@media (min-width: 600px) {
  .p-global-expansiont-needs__swiper {
    width: calc(100% + 64px);
    margin: 120px -32px 0 -32px;
    padding: 56px 0;
  }
}
@media (min-width: 960px) {
  .p-global-expansiont-needs__swiper {
    width: calc(100% + 160px);
    margin: 120px -80px 0 -80px;
  }
}
.p-global-expansiont-needs__swiper img {
  border-radius: 4px;
}
.p-global-expansiont-needs__swiper-image {
  margin: 0;
}
.p-global-expansiont-needs__swiper-country {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  line-height: 1.3;
  margin-top: 16px;
  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;
}
.p-global-expansiont-needs__swiper-country::before {
  content: "[" attr(data-num) "]";
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #737C75;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
.p-global-expansiont-needs__swiper-country span {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  width: 100%;
  margin-top: 4px;
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
}
.p-global-expansiont-needs__swiper-button::before {
  content: "";
  width: 1px;
  height: 32px;
  background: #141715;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  z-index: 1;
}
@media (min-width: 600px) {
  .p-global-expansiont-needs__swiper-button::before {
    display: none;
  }
}
@media (max-width: 600px) {
  .p-global-expansiont-needs__swiper-button {
    border-top: 1px solid #D7DBD8;
    margin-top: 40px;
    padding: 32px 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;
    position: relative;
  }
}
@media (max-width: 600px) {
  .p-global-expansiont-needs__swiper-button::after {
    content: "";
    width: 160px;
    height: 48px;
    position: absolute;
    background: #E9F0EB;
    border-radius: 9999px;
  }
}
.p-global-expansiont-needs .swiper-button-prev, .p-global-expansiont-needs .swiper-button-next {
  width: 80px;
  height: 48px;
  background: #E9F0EB;
  position: static;
  margin: 0;
}
@media (min-width: 600px) {
  .p-global-expansiont-needs .swiper-button-prev, .p-global-expansiont-needs .swiper-button-next {
    color: #141715;
    width: 76px;
    height: 100%;
    background: #FFFFFF;
    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;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}
.p-global-expansiont-needs .swiper-button-prev {
  left: 0;
  border-right: 1px solid #D7DBD8;
}
@media (max-width: 600px) {
  .p-global-expansiont-needs .swiper-button-prev {
    border: none;
    border-radius: 999px 0 0 999px;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
}
.p-global-expansiont-needs .swiper-button-prev::before {
  content: "";
  display: block;
}
@media (min-width: 600px) {
  .p-global-expansiont-needs .swiper-button-prev::before {
    content: "前へ";
    font-size: 14px;
  }
}
.p-global-expansiont-needs .swiper-button-prev::after {
  content: "";
  width: 14px;
  height: 14px;
  background: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media (min-width: 600px) {
  .p-global-expansiont-needs .swiper-button-prev::after {
    width: 24px;
    height: 24px;
  }
}
.p-global-expansiont-needs .swiper-button-next {
  right: 0;
  border-left: 1px solid #D7DBD8;
}
@media (max-width: 600px) {
  .p-global-expansiont-needs .swiper-button-next {
    border: none;
    border-radius: 0 999px 999px 0;
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
}
.p-global-expansiont-needs .swiper-button-next::before {
  content: "";
  display: block;
}
@media (min-width: 600px) {
  .p-global-expansiont-needs .swiper-button-next::before {
    content: "次へ";
    font-size: 14px;
  }
}
.p-global-expansiont-needs .swiper-button-next::after {
  content: "";
  width: 14px;
  height: 14px;
  background: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
}
@media (min-width: 600px) {
  .p-global-expansiont-needs .swiper-button-next::after {
    width: 24px;
    height: 24px;
  }
}

.p-history-lead {
  padding: 56px 0;
  background: url(../images/history/bg_lead.svg) #FFFFFF no-repeat center center/100% auto;
}
@media (min-width: 600px) {
  .p-history-lead {
    padding: 150px 0;
  }
}
.p-history-lead__inner {
  text-align: left;
  width: min(100% - 64px, 650px);
  margin: 0 auto;
}
@media (min-width: 600px) {
  .p-history-lead__inner {
    text-align: center;
  }
}
.p-history-lead__caption {
  text-align: left;
  width: min(100%, 600px);
  margin: 40px auto 0 auto;
}

.p-history-chronology .c-section:last-of-type .p-history-chronology__body::before {
  height: 95%;
}
.p-history-chronology__years {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}
@media (max-width: 600px) {
  .p-history-chronology__years {
    margin-left: 16px;
  }
}
.p-history-chronology__body {
  padding: 32px 24px;
  position: relative;
  z-index: 0;
  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: 48px;
}
@media (min-width: 600px) {
  .p-history-chronology__body {
    padding: 40px;
  }
}
@media (min-width: 960px) {
  .p-history-chronology__body {
    padding: 64px;
  }
}
.p-history-chronology__body::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #D7DBD8;
  position: absolute;
  top: 0;
  left: 118px;
  z-index: -1;
}
@media (max-width: 600px) {
  .p-history-chronology__body::before {
    left: 70px;
  }
}
.p-history-chronology__section {
  padding: 24px 16px;
  background: #FFFFFF;
  border: 1px solid #D7DBD8;
  border-radius: 4px;
}
@media (min-width: 600px) {
  .p-history-chronology__section {
    padding: 32px;
  }
}
.p-history-chronology__section.--flex {
  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-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
@media (min-width: 600px) {
  .p-history-chronology__section.--flex {
    gap: 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-history-chronology__section.--flex {
    gap: 64px;
  }
}
.p-history-chronology__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  font-weight: 500;
}
.p-history-chronology__title strong {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 32;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  vertical-align: top;
}
.p-history-chronology__title span {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  margin-left: 12px;
}
.p-history-chronology__caption {
  margin-top: 8px;
}
.p-history-chronology__images {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (min-width: 600px) {
  .p-history-chronology__images {
    margin-top: 40px;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
}
.p-history-chronology__image {
  width: min(100%, 240px);
  margin: 0;
}
.p-history-chronology__image img {
  border-radius: 4px;
  border: 1px solid #D7DBD8;
}
.p-history-chronology__image figcaption {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  margin-top: 10px;
}
.p-history-chronology__image figcaption a {
  color: #35B05E;
  text-decoration: underline;
}
.p-history-chronology__image figcaption a::after {
  content: "";
  width: 14px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><path d="M121.556-826a1.5,1.5,0,0,1-1.1-.457,1.5,1.5,0,0,1-.457-1.1v-10.889a1.5,1.5,0,0,1,.457-1.1,1.5,1.5,0,0,1,1.1-.457H127v1.556h-5.444v10.889h10.889V-833H134v5.444a1.5,1.5,0,0,1-.457,1.1,1.5,1.5,0,0,1-1.1.457Zm3.656-4.122-1.089-1.089,7.233-7.233h-2.8V-840H134v5.444h-1.556v-2.8Z" transform="translate(-120 840)" fill="%2335B05E"/></svg>') no-repeat no-repeat center center/100% auto;
  display: inline-block;
  margin-left: 6px;
  vertical-align: middle;
}
.p-history-chronology__text-area {
  width: min(100%, 465px);
}
.p-history-chronology__conclusion {
  padding: 40px 0 0 0;
  background: url(../images/common/logo_tgs.svg) #FFFFFF no-repeat bottom right;
}
@media (max-width: 600px) {
  .p-history-chronology__conclusion {
    padding-top: 16px;
    background-size: 60px auto;
  }
}
.p-history-chronology__conclusion-caption {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 32;
  font-weight: 900;
  line-height: 1.5;
}

.p-product-info-other, .p-product-info-parts, .p-product-info-group {
  padding: 56px 0;
  background: #FFFFFF;
  border-bottom: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .p-product-info-other, .p-product-info-parts, .p-product-info-group {
    padding: 150px 0;
  }
}

.p-product-info-group__list {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px 16px;
}
@media (min-width: 600px) {
  .p-product-info-group__list {
    margin-top: 64px;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
  }
}
.p-product-info-group__image {
  margin: 0;
}
.p-product-info-group__image img {
  border-radius: 4px;
}
.p-product-info-group__button {
  text-align: center;
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-product-info-group__button {
    margin-top: 100px;
  }
}

.p-product-info-parts__gallery {
  margin-top: 64px;
  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: 32px;
}
@media (min-width: 600px) {
  .p-product-info-parts__gallery {
    gap: 48px;
  }
}
@media (min-width: 960px) {
  .p-product-info-parts__gallery {
    -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;
  }
}
.p-product-info-parts__list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
@media (min-width: 600px) {
  .p-product-info-parts__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 960px) {
  .p-product-info-parts__list {
    width: min(100%, 280px);
    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;
  }
}
.p-product-info-parts__item a {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 11;
  --max-font-size: 14;
  line-height: 1;
  padding: 8px;
  height: 100%;
  border: 1px solid #D7DBD8;
  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;
  gap: 8px;
}
@media (min-width: 600px) {
  .p-product-info-parts__item a {
    padding: 16px;
  }
}
.p-product-info-parts__item a::after {
  content: "";
  min-width: 25px;
  aspect-ratio: 30/18;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center/8px auto;
  background-color: #141715;
  border-radius: 9999px;
}
@media (min-width: 600px) {
  .p-product-info-parts__item a::after {
    min-width: 30px;
    background-size: 10px;
  }
}
.p-product-info-parts__image {
  width: min(100%, 598px);
  margin: 0 auto;
}
.p-product-info-parts__image-sub {
  width: min(53%, 320px);
  border-radius: 8px;
  -webkit-box-shadow: 0px 8px 25px 0px rgba(115, 124, 117, 0.16);
          box-shadow: 0px 8px 25px 0px rgba(115, 124, 117, 0.16);
  overflow: hidden;
}

#js-preview-image,
#js-preview-subimage {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  opacity: 1;
}

.p-product-info-other {
  border: none;
}
.p-product-info-other__list {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px 16px;
}
@media (min-width: 600px) {
  .p-product-info-other__list {
    margin-top: 64px;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
  }
}
.p-product-info-other__image {
  margin: 0;
}
.p-product-info-other__image img {
  border-radius: 4px;
}

.p-product-group {
  padding: 0 0 56px 0;
}
@media (min-width: 600px) {
  .p-product-group {
    margin-top: 0;
    padding: 0 0 150px 0;
  }
}
.p-product-group__section {
  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-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
@media (min-width: 600px) {
  .p-product-group__section {
    padding: 40px;
    gap: 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-product-group__section {
    padding: 64px;
    gap: 80px;
  }
}
.p-product-group__section + .p-product-group__section {
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-product-group__section + .p-product-group__section {
    margin-top: 80px;
  }
}
.p-product-group__image {
  width: 100%;
  margin: 0;
}
@media (min-width: 600px) {
  .p-product-group__image {
    width: min(100%, 360px);
  }
}
.p-product-group__image img {
  border-radius: 4px;
}
.p-product-group__textarea {
  width: 100%;
}
@media (min-width: 600px) {
  .p-product-group__textarea {
    width: min(100%, 632px);
  }
}
.p-product-group__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 28;
  --max-font-size: 32;
  display: block;
}
.p-product-group__title::after {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 16;
}
.p-product-group__use {
  margin-top: 32px;
  padding: 16px;
  background: #FCFEF5;
  border: 1px solid #D7DBD8;
  border-radius: 4px;
}
@media (min-width: 600px) {
  .p-product-group__use {
    padding: 24px;
    margin-top: 48px;
  }
}
.p-product-group__button {
  margin-top: 100px;
}
@media (max-width: 600px) {
  .p-product-group__button {
    margin-top: 60px;
  }
}
.p-product-group__button-list {
  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;
  gap: 24px;
}
@media (max-width: 600px) {
  .p-product-group__button-list {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.p-product-group__button-item {
  min-width: 250px;
}
.p-product-group__button-link {
  width: 100%;
  min-width: initial;
}

.p-car-part-heading {
  width: 94%;
  margin: 90px auto 0 auto;
  padding: 40px 24px;
  background-color: #F5F8F6;
  background-image: -webkit-repeating-linear-gradient(left, #e9f0eb, #e9f0eb 1px, transparent 1px, transparent 200px);
  background-image: repeating-linear-gradient(90deg, #e9f0eb, #e9f0eb 1px, transparent 1px, transparent 200px);
  background-position: top center;
  border: 1px solid #D7DBD8;
  border-radius: 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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
@media (min-width: 600px) {
  .p-car-part-heading {
    margin: 190px auto 0 auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 960px) {
  .p-car-part-heading {
    padding: 40px 64px;
    gap: 56px;
  }
}
.p-car-part-heading__image {
  margin: 0;
  width: 100%;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
@media (min-width: 600px) {
  .p-car-part-heading__image {
    width: min(45%, 603px);
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
  }
}
@media (min-width: 960px) {
  .p-car-part-heading__image {
    width: min(50%, 603px);
  }
}
.p-car-part-heading__text-area {
  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;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 600px) {
  .p-car-part-heading__text-area {
    width: min(55%, 557px);
  }
}
@media (min-width: 960px) {
  .p-car-part-heading__text-area {
    width: min(50%, 557px);
  }
}
.p-car-part-heading__title {
  text-align: left !important;
  margin: 0;
}
.p-car-part-heading__caption {
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-car-part-heading__caption {
    margin-top: 32px;
  }
}

.p-car-part-index {
  padding: 56px 0;
}
@media (min-width: 600px) {
  .p-car-part-index {
    padding: 150px 0;
  }
}
.p-car-part-index__inner {
  width: calc(100% - 64px);
  margin: 0 auto;
}
@media (min-width: 600px) {
  .p-car-part-index__inner {
    width: min(100% - 64px, 1600px);
  }
}
.p-car-part-index__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
@media (min-width: 600px) {
  .p-car-part-index__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
  }
}
@media (min-width: 960px) {
  .p-car-part-index__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.p-car-part-index__thumbnail {
  margin: 0;
}
.p-car-part-index__thumbnail img {
  border-radius: 4px;
}
.p-car-part-index__category {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  color: #737C75;
  margin-top: 8px;
  padding: 4px 16px;
  border: 1px solid #D7DBD8;
  border-radius: 9999px;
  display: inline-block;
}
.p-car-part-index__button {
  margin-top: 64px;
  text-align: center;
}
@media (min-width: 600px) {
  .p-car-part-index__button {
    margin-top: 100px;
  }
}

.p-car-part-article {
  width: min(100% - 64px, 720px);
  margin: 40px auto 0 auto;
  padding: 54px 0;
}
@media (min-width: 600px) {
  .p-car-part-article {
    margin: 0 auto;
    padding: 150px 0;
  }
}
@media (min-width: 960px) {
  .p-car-part-article {
    margin: 110px auto 0 auto;
  }
}
.p-car-part-article__image {
  width: 100%;
  margin: 0;
}
.p-car-part-article__image img {
  border-radius: 4px;
}
.p-car-part-article__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 28;
  --max-font-size: 32;
  font-weight: 900;
  margin-top: 32px;
}
.p-car-part-article__category {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  color: #737C75;
  line-height: 1;
  margin-top: 8px;
  padding: 4px 16px;
  border: 1px solid #D7DBD8;
  border-radius: 9999px;
  display: inline-block;
}
.p-car-part-article__summry {
  margin-top: 16px;
  border: 1px solid #D7DBD8;
  border-bottom: none;
  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;
}
@media (min-width: 600px) {
  .p-car-part-article__summry {
    -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;
  }
}
.p-car-part-article__summry-term {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  font-weight: 900;
  width: 100%;
  padding: 12px 16px;
  background: #F5F8F6;
  border-bottom: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .p-car-part-article__summry-term {
    padding: 12px 24px;
    width: min(100%, 210px);
    border-right: 1px solid #D7DBD8;
  }
}
.p-car-part-article__summry-discription {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  line-height: 2;
  width: 100%;
  padding: 12px 16px;
  border-bottom: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .p-car-part-article__summry-discription {
    padding: 12px 24px;
    width: calc(100% - 210px);
  }
}
.p-car-part-article__summry-image {
  margin: 16px 0 0 0;
}
.p-car-part-article__summry-image img {
  border-radius: 4px;
}
.p-car-part-article__button {
  text-align: center;
  margin-top: 80px;
}
.p-car-part-article__summry-pdf {
  text-decoration: underline;
}
.p-car-part-article__summry-pdf::after {
  content: "";
  width: 14px;
  aspect-ratio: 1/1;
  margin-left: 4px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><rect width="14" height="14" fill="none"/><path d="M162.75-868.8h5.5v-1.4h-5.5Zm0-2.8h5.5V-873h-5.5Zm-1.375,5.6a1.312,1.312,0,0,1-.971-.411,1.361,1.361,0,0,1-.4-.989v-11.2a1.36,1.36,0,0,1,.4-.989,1.312,1.312,0,0,1,.971-.411h5.5L171-875.8v8.4a1.361,1.361,0,0,1-.4.989,1.312,1.312,0,0,1-.971.411Zm4.813-9.1v-3.5h-4.812v11.2h8.25v-7.7Zm-4.812-3.5v0Z" transform="translate(-158.32 880)" fill="%23000"/></svg>') no-repeat center center/100% auto;
  display: inline-block;
  vertical-align: middle;
}

.p-message-greeting {
  padding: 0 0 56px 0;
}
@media (min-width: 600px) {
  .p-message-greeting {
    padding: 50px 0 150px 0;
  }
}
.p-message-greeting__inner {
  margin: 0 auto;
  width: min(100% - 64px, 1312px);
}
@media (max-width: 600px) {
  .p-message-greeting__inner {
    width: calc(100% - 32px);
  }
}
.p-message-greeting__image {
  margin: 0;
}
.p-message-greeting__image img {
  border-radius: 8px 8px 0 0;
}
.p-message-greeting__content {
  padding: 32px 24px;
  background: #FFFFFF;
  border-radius: 8px;
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
}
@media (min-width: 600px) {
  .p-message-greeting__content {
    padding: 64px;
  }
}
@media (min-width: 960px) {
  .p-message-greeting__content {
    padding: 120px;
  }
}
.p-message-greeting__catch {
  font-size: 6vw;
  font-weight: 900;
  line-height: 1.5;
}
@media (min-width: 600px) {
  .p-message-greeting__catch {
    font-size: 5vw;
    line-height: 1.3;
  }
}
@media (min-width: 1440px) {
  .p-message-greeting__catch {
    font-size: 72px;
  }
}
.p-message-greeting__catch::after {
  content: attr(data-en);
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #35B05E;
  line-height: 1.4;
  display: block;
  margin-top: 8px;
}
@media (min-width: 600px) {
  .p-message-greeting__catch::after {
    margin-top: 16px;
  }
}
.p-message-greeting__text-area {
  margin: 32px 0 0 0;
  width: 100%;
}
@media (min-width: 600px) {
  .p-message-greeting__text-area {
    margin: 40px 0 0 0;
  }
}
@media (min-width: 960px) {
  .p-message-greeting__text-area {
    width: min(100%, 705px);
    margin: 80px 0 0 auto;
  }
}
.p-message-greeting__caption {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 20;
  line-height: 2;
}
@media (min-width: 600px) {
  .p-message-greeting__caption {
    line-height: 2.4;
  }
}
.p-message-greeting__caption + .p-message-greeting__caption {
  margin-top: 32px;
}
@media (min-width: 600px) {
  .p-message-greeting__caption + .p-message-greeting__caption {
    margin-top: 56px;
  }
}
.p-message-greeting__name {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
  text-align: right;
  margin-top: 32px;
}
@media (min-width: 600px) {
  .p-message-greeting__name {
    margin-top: 56px;
  }
}
.p-message-greeting__name strong {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  font-weight: 500;
}

.p-messaage-vision {
  padding: 56px 0 0 0;
  background: #FFFFFF;
}
@media (min-width: 600px) {
  .p-messaage-vision {
    padding: 150px 0 0 0;
  }
}
.p-messaage-vision__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 28;
  --max-font-size: 48;
  font-weight: 900;
  line-height: 1.4;
}
.p-messaage-vision__caption {
  margin: 24px 0 0 0;
  width: min(100%, 675px);
}
@media (min-width: 600px) {
  .p-messaage-vision__caption {
    margin: 40px 0 0 0;
  }
}
.p-messaage-vision__bland {
  margin-top: 56px;
  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;
  position: relative;
}
@media (min-width: 600px) {
  .p-messaage-vision__bland {
    margin: 0;
    -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;
  }
}
@media (min-width: 600px) {
  .p-messaage-vision__text-area {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px);
    position: absolute;
    z-index: 1;
  }
}
.p-messaage-vision__image {
  width: 200%;
  -webkit-transform: translateX(-28%);
          transform: translateX(-28%);
  position: relative;
}
@media (min-width: 600px) {
  .p-messaage-vision__image {
    margin-left: auto;
    width: min(85%, 1019px);
    -webkit-transform: translateX(10%);
            transform: translateX(10%);
  }
}
.p-messaage-vision__list {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}
.p-messaage-vision__challenge {
  width: min(20.8%, 212px);
  aspect-ratio: 1/1;
  background: #ccc;
  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;
  position: absolute;
  border-radius: 50%;
  top: 21.2%;
  right: 30.1%;
  overflow: hidden;
  opacity: 0;
  cursor: pointer;
}
.p-messaage-vision__relationships {
  width: min(20.8%, 212px);
  aspect-ratio: 1/1;
  background: #ccc;
  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;
  position: absolute;
  border-radius: 50%;
  top: 42.2%;
  right: 45.77%;
  overflow: hidden;
  opacity: 0;
  cursor: pointer;
}
.p-messaage-vision__appreciation {
  width: min(20.8%, 212px);
  aspect-ratio: 1/1;
  background: #ccc;
  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;
  position: absolute;
  border-radius: 50%;
  top: 48.1%;
  right: 23.2%;
  overflow: hidden;
  opacity: 0;
  cursor: pointer;
}

.p-message-modal__content {
  width: min(80%, 900px);
}
.p-message-modal__slider {
  width: 100%;
  max-height: 650px;
  height: 80dvh;
  border-radius: 8px;
  overflow: hidden;
}
.p-message-modal__swiper-slide {
  padding: 24px;
  background: #FFFFFF;
  overflow-y: auto;
  scrollbar-color: #35B05E #E9F0EB;
}
@media (min-width: 600px) {
  .p-message-modal__swiper-slide {
    padding: 64px;
  }
}
.p-message-modal__subtitle {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 32;
  font-weight: 900;
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-message-modal__subtitle {
    margin-top: 40px;
  }
}
.p-message-modal__text-area > p {
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-message-modal__text-area > p {
    margin-top: 24px;
  }
}

.p-company-profile {
  padding: 56px 0;
  background: #FFFFFF;
}
@media (min-width: 600px) {
  .p-company-profile {
    padding: 150px 0;
  }
}
.p-company-profile__list {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  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-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media (min-width: 600px) {
  .p-company-profile__list {
    margin-top: 48px;
  }
}
.p-company-profile__term {
  font-weight: 900;
  width: 100%;
  padding: 8px 16px;
  background: #F5F8F6;
}
@media (min-width: 600px) {
  .p-company-profile__term {
    width: min(100%, 150px);
    padding: 32px 0;
    background: none;
    border-bottom: 1px solid #D7DBD8;
  }
}
@media (min-width: 960px) {
  .p-company-profile__term {
    width: min(100%, 200px);
  }
}
.p-company-profile__discription {
  width: 100%;
  padding: 16px 8px;
}
@media (min-width: 600px) {
  .p-company-profile__discription {
    width: calc(100% - 150px);
    padding: 32px 0;
    border-bottom: 1px solid #D7DBD8;
  }
}
@media (min-width: 960px) {
  .p-company-profile__discription {
    width: calc(100% - 200px);
  }
}
.p-company-profile__section + .p-company-profile__section {
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-company-profile__section + .p-company-profile__section {
    margin-top: 40px;
  }
}
.p-company-profile__title::before {
  content: "";
  width: 8px;
  aspect-ratio: 1/1;
  margin-right: 8px;
  background: #35B05E;
  border-radius: 2px;
  vertical-align: 0.1em;
  display: inline-block;
}
.p-company-profile__caption {
  margin: 8px 0 0 16px;
}
@media (min-width: 600px) {
  .p-company-profile__company-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-company-certification {
  padding: 56px 0;
}
@media (min-width: 600px) {
  .p-company-certification {
    padding: 150px 0;
  }
}
@media (max-width: 600px) {
  .p-company-certification__title {
    padding: 0 16px;
  }
}
.p-company-certification__section {
  margin-top: 48px;
  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-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
@media (min-width: 600px) {
  .p-company-certification__section {
    padding: 40px;
    gap: 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-company-certification__section {
    padding: 64px;
    gap: 80px;
  }
}
.p-company-certification__section.--col1 {
  display: block;
}
.p-company-certification__section + .p-company-certification__section {
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-company-certification__section + .p-company-certification__section {
    margin-top: 32px;
  }
}
.p-company-certification__image {
  width: min(100%, 240px);
  margin: 0 auto;
}
.p-company-certification__image img {
  border-radius: 4px;
}
.p-company-certification__text-area {
  width: min(100%, 752px);
}

.p-base-introduction-map {
  padding: 0;
}
@media (min-width: 600px) {
  .p-base-introduction-map {
    padding: 70px 0 0 0;
  }
}
.p-base-introduction-map__text-area {
  width: min(100%, 510px);
}
.p-base-introduction-map__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  font-weight: 500;
}
.p-base-introduction-map__caption {
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-base-introduction-map__caption {
    margin-top: 24px;
  }
}
.p-base-introduction-map__image {
  position: relative;
}
.p-base-introduction-map__links {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.p-base-introduction-map__item {
  width: 22.56%;
  aspect-ratio: 88/32;
  border-radius: 999px;
  overflow: hidden;
  position: absolute;
}
@media (min-width: 600px) {
  .p-base-introduction-map__item {
    width: 7.5%;
    aspect-ratio: 108/40;
  }
}
.p-base-introduction-map__item.--togo {
  top: 11.557%;
  right: 23.46%;
}
@media (min-width: 600px) {
  .p-base-introduction-map__item.--togo {
    top: 10.52%;
    right: 22.95%;
  }
}
.p-base-introduction-map__item.--toyoake {
  top: 19.1%;
  right: 22.75%;
}
@media (min-width: 600px) {
  .p-base-introduction-map__item.--toyoake {
    top: 18.536%;
    right: 22.75%;
  }
}
.p-base-introduction-map__item.--seto {
  top: 9.17%;
  left: 28.205%;
}
@media (min-width: 600px) {
  .p-base-introduction-map__item.--seto {
    top: 8.05%;
    left: auto;
    right: 31.597%;
  }
}
.p-base-introduction-map__item.--saitama {
  top: 42.75%;
  right: 23.46%;
}
@media (min-width: 600px) {
  .p-base-introduction-map__item.--saitama {
    top: 27.029%;
    left: 36.95%;
  }
}
.p-base-introduction-map__item.--osaka {
  top: 41.257%;
  left: 29.487%;
}
@media (min-width: 600px) {
  .p-base-introduction-map__item.--osaka {
    top: 27.029%;
    left: 27.743%;
  }
}
.p-base-introduction-map__item.--hiroshima {
  top: 45.24%;
  left: 9.615%;
}
@media (min-width: 600px) {
  .p-base-introduction-map__item.--hiroshima {
    top: 30.608%;
    left: 20.22%;
  }
}
.p-base-introduction-map__item.--america {
  bottom: 17.76%;
  right: 17.92%;
}
@media (min-width: 600px) {
  .p-base-introduction-map__item.--america {
    width: 8.646%;
    aspect-ratio: 125/40;
    bottom: 37.77%;
    right: 26.2%;
  }
}
.p-base-introduction-map__item.--thailand {
  bottom: 12.588%;
  left: 20.512%;
}
@media (min-width: 600px) {
  .p-base-introduction-map__item.--thailand {
    width: 7.15%;
    aspect-ratio: 103/40;
    bottom: 36.004%;
    left: 21.145%;
  }
}
.p-base-introduction-map__item.--germany {
  bottom: 18.88%;
  left: 1.282%;
}
@media (min-width: 600px) {
  .p-base-introduction-map__item.--germany {
    bottom: 33.06%;
    left: 9.95%;
  }
}
.p-base-introduction-map__item.--chaina {
  bottom: 24.206%;
  left: 24.358%;
}
@media (min-width: 600px) {
  .p-base-introduction-map__item.--chaina {
    width: 7.15%;
    aspect-ratio: 103/40;
    bottom: 40.865%;
    left: 23.854%;
  }
}
.p-base-introduction-map__link {
  width: 100%;
  height: 100%;
  padding-top: 100%;
  position: absolute;
  top: 0;
  overflow: hidden;
}

.p-base-introduction-japan {
  padding: 56px 0;
  background: #FFFFFF;
  border-bottom: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .p-base-introduction-japan {
    padding: 150px 0;
  }
}
.p-base-introduction-japan__category {
  padding: 24px;
  background: #F5F8F6;
  border: 1px solid #D7DBD8;
  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-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 16px;
}
@media (min-width: 960px) {
  .p-base-introduction-japan__category {
    padding: 32px;
  }
}
.p-base-introduction-japan__category-title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-base-introduction-japan__category-title::before {
  content: "";
  width: 8px;
  aspect-ratio: 1/1;
  margin-right: 8px;
  background: #35B05E;
  border-radius: 2px;
  display: inline-block;
  vertical-align: 0.1em;
}
.p-base-introduction-japan__category-list {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px 16px;
}
@media (min-width: 600px) {
  .p-base-introduction-japan__category-list {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 8px 32px;
  }
}
.p-base-introduction-japan__category-link {
  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;
}
.p-base-introduction-japan__category-link::after {
  content: "";
  min-width: 15px;
  aspect-ratio: 18/30;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center/8px auto;
  background-color: #141715;
  border-radius: 9999px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media (min-width: 600px) {
  .p-base-introduction-japan__category-link::after {
    min-width: 18px;
    background-size: 10px;
  }
}
@media (max-width: 600px) {
  .p-base-introduction-japan__heading {
    padding: 16px;
  }
}
.p-base-introduction-japan__section {
  margin-top: 32px;
  overflow: hidden;
}
@media (min-width: 600px) {
  .p-base-introduction-japan__section {
    margin-top: 56px;
  }
}
.p-base-introduction-japan__section + .p-base-introduction-japan__section {
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-base-introduction-japan__section + .p-base-introduction-japan__section {
    margin-top: 80px;
  }
}
.p-base-introduction-japan__head {
  padding: 16px 24px;
  background: #F5F8F6;
}
@media (min-width: 600px) {
  .p-base-introduction-japan__head {
    padding: 24px 32px;
  }
}
@media (min-width: 960px) {
  .p-base-introduction-japan__head {
    padding: 32px 64px;
  }
}
.p-base-introduction-japan__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  font-weight: 500;
}
.p-base-introduction-japan__body {
  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-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media (min-width: 600px) {
  .p-base-introduction-japan__body {
    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-base-introduction-japan__body {
    padding: 64px;
    gap: 0 40px;
  }
}
.p-base-introduction-japan__text-area {
  width: 100%;
}
@media (min-width: 600px) {
  .p-base-introduction-japan__text-area {
    width: min(100%, 632px);
  }
}
.p-base-introduction-japan__image {
  width: min(100%, 320px);
  margin: 0 auto;
}
@media (min-width: 600px) {
  .p-base-introduction-japan__image {
    margin: 0;
  }
}
.p-base-introduction-japan__image img {
  border-radius: 4px;
}
.p-base-introduction-japan__list {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.p-base-introduction-japan__term {
  width: 100%;
  padding: 24px 0 0 0;
}
@media (min-width: 600px) {
  .p-base-introduction-japan__term {
    width: min(100%, 80px);
    border-bottom: 1px solid #D7DBD8;
  }
}
@media (min-width: 960px) {
  .p-base-introduction-japan__term {
    width: min(100%, 140px);
  }
}
.p-base-introduction-japan__term:first-of-type {
  padding: 0;
}
@media (min-width: 600px) {
  .p-base-introduction-japan__term:first-of-type {
    padding: 0 0 24px 0;
  }
}
.p-base-introduction-japan__term:last-of-type {
  padding: 24px 0 0 0;
  border-bottom: none;
}
.p-base-introduction-japan__description {
  width: 100%;
  padding: 16px 0 24px 0;
  border-bottom: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .p-base-introduction-japan__description {
    width: calc(100% - 80px);
    padding: 24px 0;
    border-bottom: 1px solid #D7DBD8;
  }
}
@media (min-width: 960px) {
  .p-base-introduction-japan__description {
    width: calc(100% - 140px);
  }
}
.p-base-introduction-japan__description:first-of-type {
  padding: 16px 0 24px 0;
}
@media (min-width: 600px) {
  .p-base-introduction-japan__description:first-of-type {
    padding: 0 0 24px 0;
  }
}
.p-base-introduction-japan__description:last-of-type {
  padding: 16px 0 0 0;
  border-bottom: none;
}
@media (min-width: 600px) {
  .p-base-introduction-japan__description:last-of-type {
    padding: 24px 0 0 0;
    order-bottom: none;
  }
}
.p-base-introduction-japan__map {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #35B05E;
  text-decoration: underline;
  margin-top: 24px;
  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-base-introduction-japan__map::after {
  content: "";
  width: 12px;
  height: 18px;
  background: url(../images/company/ic_map.svg) no-repeat center center/100% auto;
}
.p-base-introduction-japan__access + .p-base-introduction-japan__access {
  margin-top: 24px;
}
.p-base-introduction-japan__access-title {
  font-weight: 500;
}
.p-base-introduction-japan__access-title::before {
  content: "";
  width: 8px;
  aspect-ratio: 1/1;
  margin-right: 8px;
  background: #35B05E;
  border-radius: 2px;
  display: inline-block;
  vertical-align: 0.1em;
}
.p-base-introduction-japan__access-caption {
  margin: 8px 0 0 16px;
}
.p-base-introduction-japan__office {
  margin-top: 32px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 40px;
}
@media (min-width: 600px) {
  .p-base-introduction-japan__office {
    margin-top: 64px;
    grid-template-columns: repeat(2, 1fr);
    gap: 48px;
  }
}
.p-base-introduction-japan__office-section {
  overflow: hidden;
}
.p-base-introduction-japan__office-head {
  padding: 12px 24px;
  background: #F5F8F6;
}
.p-base-introduction-japan__office-title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
  font-weight: 500;
}
.p-base-introduction-japan__office-body {
  padding: 24px;
}
@media (min-width: 600px) {
  .p-base-introduction-japan__office-body {
    padding: 32px;
  }
}
.p-base-introduction-japan__office-list {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.p-base-introduction-japan__office-term {
  width: 100%;
}
@media (min-width: 960px) {
  .p-base-introduction-japan__office-term {
    width: min(100%, 140px);
  }
}
.p-base-introduction-japan__office-description {
  width: 100%;
  margin-top: 16px;
}
@media (min-width: 960px) {
  .p-base-introduction-japan__office-description {
    width: calc(100% - 140px);
  }
}

.p-base-introduction-affiliated {
  padding: 56px 0;
  background: #FFFFFF;
}
@media (min-width: 600px) {
  .p-base-introduction-affiliated {
    padding: 150px 0;
  }
}
.p-base-introduction-affiliated__section {
  margin-top: 32px;
  overflow: hidden;
}
@media (min-width: 600px) {
  .p-base-introduction-affiliated__section {
    margin-top: 56px;
  }
}
.p-base-introduction-affiliated__section + .p-base-introduction-japan__section {
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-base-introduction-affiliated__section + .p-base-introduction-japan__section {
    margin-top: 80px;
  }
}
.p-base-introduction-affiliated__head {
  padding: 16px 24px;
  background: #F5F8F6;
}
@media (min-width: 600px) {
  .p-base-introduction-affiliated__head {
    padding: 24px 32px;
  }
}
@media (min-width: 960px) {
  .p-base-introduction-affiliated__head {
    padding: 32px 64px;
  }
}
.p-base-introduction-affiliated__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  font-weight: 500;
}
.p-base-introduction-affiliated__body {
  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-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media (min-width: 600px) {
  .p-base-introduction-affiliated__body {
    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-base-introduction-affiliated__body {
    padding: 64px;
    gap: 0 40px;
  }
}
.p-base-introduction-affiliated__text-area {
  width: 100%;
}
@media (min-width: 600px) {
  .p-base-introduction-affiliated__text-area {
    width: min(100%, 632px);
  }
}
.p-base-introduction-affiliated__image {
  width: min(100%, 320px);
  margin: 0 auto;
}
@media (min-width: 600px) {
  .p-base-introduction-affiliated__image {
    margin: 0;
  }
}
.p-base-introduction-affiliated__image img {
  border-radius: 4px;
}
.p-base-introduction-affiliated__list {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.p-base-introduction-affiliated__term {
  width: 100%;
  padding: 0;
}
@media (min-width: 600px) {
  .p-base-introduction-affiliated__term {
    width: min(100%, 80px);
  }
}
@media (min-width: 960px) {
  .p-base-introduction-affiliated__term {
    width: min(100%, 140px);
  }
}
.p-base-introduction-affiliated__description {
  width: 100%;
  padding: 16px 0 0 0;
}
@media (min-width: 600px) {
  .p-base-introduction-affiliated__description {
    width: calc(100% - 80px);
    padding: 0;
  }
}
@media (min-width: 960px) {
  .p-base-introduction-affiliated__description {
    width: calc(100% - 140px);
  }
}
.p-base-introduction-affiliated__map {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #35B05E;
  text-decoration: underline;
  margin-top: 24px;
  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-base-introduction-affiliated__map::after {
  content: "";
  width: 12px;
  height: 18px;
  background: url(../images/company/ic_map.svg) no-repeat center center/100% auto;
}

.p-related-companies {
  padding: 56px 0;
  background: #FFFFFF;
  border-bottom: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .p-related-companies {
    padding: 150px 0;
  }
}
.p-related-companies__lead {
  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: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 24px 40px;
}
@media (min-width: 960px) {
  .p-related-companies__lead {
    gap: 24px 80px;
  }
}
.p-related-companies__lead-title {
  margin: 0;
}
.p-related-companies__lead-caption {
  width: min(100%, 490px);
}
@media (min-width: 600px) {
  .p-related-companies__lead-caption {
    width: min(100%, 430px);
  }
}
@media (min-width: 960px) {
  .p-related-companies__lead-caption {
    width: min(100%, 490px);
  }
}
.p-related-companies__section {
  margin-top: 32px;
  overflow: hidden;
}
@media (min-width: 600px) {
  .p-related-companies__section {
    margin-top: 80px;
  }
}
.p-related-companies__section + .p-base-introduction-japan__section {
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-related-companies__section + .p-base-introduction-japan__section {
    margin-top: 64px;
  }
}
.p-related-companies__head {
  padding: 16px 24px;
  background: #F5F8F6;
}
@media (min-width: 600px) {
  .p-related-companies__head {
    padding: 32px 40px;
  }
}
.p-related-companies__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  font-weight: 500;
}
.p-related-companies__body {
  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-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media (min-width: 600px) {
  .p-related-companies__body {
    padding: 40px;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 960px) {
  .p-related-companies__body {
    padding: 40px;
    gap: 0 40px;
  }
}
.p-related-companies__text-area {
  width: 100%;
}
@media (min-width: 600px) {
  .p-related-companies__text-area {
    width: min(100%, 632px);
  }
}
.p-related-companies__image {
  width: min(100%, 320px);
  margin: 0 auto;
}
@media (min-width: 600px) {
  .p-related-companies__image {
    margin: 0;
  }
}
.p-related-companies__image img {
  border-radius: 4px;
}
.p-related-companies__list {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.p-related-companies__term {
  width: 100%;
  padding: 24px 0 0 0;
}
@media (min-width: 600px) {
  .p-related-companies__term {
    width: min(100%, 80px);
    border-bottom: 1px solid #D7DBD8;
  }
}
@media (min-width: 960px) {
  .p-related-companies__term {
    width: min(100%, 140px);
  }
}
.p-related-companies__term:first-of-type {
  padding: 0;
}
@media (min-width: 600px) {
  .p-related-companies__term:first-of-type {
    padding: 0 0 24px 0;
  }
}
.p-related-companies__term:last-of-type {
  padding: 24px 0 0 0;
  border-bottom: none;
}
.p-related-companies__term:first-of-type:last-of-type {
  padding: 0;
}
.p-related-companies__description {
  width: 100%;
  padding: 16px 0 24px 0;
  border-bottom: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .p-related-companies__description {
    width: calc(100% - 80px);
    padding: 24px 0;
    border-bottom: 1px solid #D7DBD8;
  }
}
@media (min-width: 960px) {
  .p-related-companies__description {
    width: calc(100% - 140px);
  }
}
.p-related-companies__description:first-of-type {
  padding: 16px 0 24px 0;
}
@media (min-width: 600px) {
  .p-related-companies__description:first-of-type {
    padding: 0 0 24px 0;
  }
}
.p-related-companies__description:last-of-type {
  padding: 16px 0 0 0;
  border-bottom: none;
}
@media (min-width: 600px) {
  .p-related-companies__description:last-of-type {
    padding: 24px 0 0 0;
    border-bottom: none;
  }
}
.p-related-companies__description:first-of-type:last-of-type {
  padding: 16px 0 0 0;
}
@media (min-width: 600px) {
  .p-related-companies__description:first-of-type:last-of-type {
    padding: 0;
  }
}
.p-related-companies__link {
  color: #35B05E;
  text-decoration: underline;
}

.p-related-companies-sponsoring {
  padding: 56px 0;
  background: #FFFFFF;
}
@media (min-width: 600px) {
  .p-related-companies-sponsoring {
    padding: 150px 0;
  }
}
.p-related-companies-sponsoring__lead {
  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: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 24px 40px;
}
@media (min-width: 960px) {
  .p-related-companies-sponsoring__lead {
    gap: 24px 80px;
  }
}
.p-related-companies-sponsoring__lead-title {
  margin: 0;
}
.p-related-companies-sponsoring__lead-caption {
  width: min(100%, 490px);
}
@media (min-width: 600px) {
  .p-related-companies-sponsoring__lead-caption {
    width: min(100%, 430px);
  }
}
@media (min-width: 960px) {
  .p-related-companies-sponsoring__lead-caption {
    width: min(100%, 490px);
  }
}
.p-related-companies-sponsoring__list {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 40px;
}
@media (min-width: 600px) {
  .p-related-companies-sponsoring__list {
    margin-top: 64px;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
}
@media (min-width: 960px) {
  .p-related-companies-sponsoring__list {
    gap: 48px;
  }
}
.p-related-companies-sponsoring__image {
  margin: 0;
}
.p-related-companies-sponsoring__image img {
  border-radius: 4px;
}
.p-related-companies-sponsoring__name {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  line-height: 1.6;
  margin-top: 16px;
  padding-right: 30px;
  position: relative;
}
@media (min-width: 600px) {
  .p-related-companies-sponsoring__name {
    margin-top: 24px;
  }
}
@media (min-width: 600px) {
  .p-related-companies-sponsoring__name {
    padding-right: 40px;
  }
}
.p-related-companies-sponsoring__name::after {
  content: "";
  min-width: 25px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><path d="M121.556-826a1.5,1.5,0,0,1-1.1-.457,1.5,1.5,0,0,1-.457-1.1v-10.889a1.5,1.5,0,0,1,.457-1.1,1.5,1.5,0,0,1,1.1-.457H127v1.556h-5.444v10.889h10.889V-833H134v5.444a1.5,1.5,0,0,1-.457,1.1,1.5,1.5,0,0,1-1.1.457Zm3.656-4.122-1.089-1.089,7.233-7.233h-2.8V-840H134v5.444h-1.556v-2.8Z" transform="translate(-120 840)" fill="%23FFFFFF"/></svg>') no-repeat center center/10px auto;
  background-color: #35B05E;
  border-radius: 50%;
  position: absolute;
  top: 5px;
  right: 0;
}
@media (min-width: 960px) {
  .p-related-companies-sponsoring__name::after {
    min-width: 32px;
    background-size: 14px auto;
  }
}
.p-related-companies-sponsoring__name span {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  line-height: 1;
  display: block;
}
.p-related-companies-sponsoring__offer {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 12;
  color: #737C75;
}

.p-club-ev-eco .swiper-pagination, .p-club-tennis .swiper-pagination, .p-club-baseball .swiper-pagination {
  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;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  position: static;
}
.p-club-ev-eco .swiper-pagination-bullet, .p-club-tennis .swiper-pagination-bullet, .p-club-baseball .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0 !important;
}
.p-club-ev-eco .swiper-pagination-bullet-active, .p-club-tennis .swiper-pagination-bullet-active, .p-club-baseball .swiper-pagination-bullet-active {
  background: #35B05E;
}

.p-club-lead {
  color: #FFFFFF;
  width: calc(100% - 32px);
  margin: 100px auto 0 auto;
}
@media (min-width: 600px) {
  .p-club-lead {
    width: calc(100% - 48px);
  }
}
@media (min-width: 960px) {
  .p-club-lead {
    margin-top: 225px;
    width: min(80%, 1600px);
  }
}
.p-club-lead__inner {
  width: 100%;
  padding: 0 16px;
  position: relative;
  aspect-ratio: 1/1;
}
@media (min-width: 600px) {
  .p-club-lead__inner {
    aspect-ratio: 1344/788;
  }
}
@media (min-width: 960px) {
  .p-club-lead__inner {
    aspect-ratio: 1344/688;
    padding: 0 48px;
  }
}
.p-club-lead__inner::after {
  content: "";
  width: 100%;
  margin: 0 auto;
  height: 100%;
  background: url(../images/club/img_headline.jpg) no-repeat top right;
  background-size: cover;
  border-radius: 8px;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: -1;
}
.p-club-lead__title {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 20;
  --max-font-size: 24;
  width: 100%;
  padding: 16px 0;
}
@media (min-width: 600px) {
  .p-club-lead__title {
    --viewport-from: 960;
    --viewport-to: 1440;
    --min-font-size: 24;
    --max-font-size: 48;
    padding: 40px 0;
  }
}
.p-club-lead__title::before {
  content: "CLUB ACTIVITIES";
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  width: 100%;
  --viewport-from: 600;
  --viewport-to: 1640;
  --min-font-size: 35;
  --max-font-size: 140;
  line-height: 1;
  display: block;
  white-space: nowrap;
}
.p-club-lead__caption {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 13;
  --max-font-size: 16;
  line-height: 2;
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-club-lead__caption {
    margin-top: 64px;
  }
}

.p-club-baseball {
  margin-top: 60px;
}
@media (min-width: 600px) {
  .p-club-baseball {
    margin-top: 150px;
  }
}
.p-club-baseball__body {
  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: 600px) {
  .p-club-baseball__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 960px) {
  .p-club-baseball__body {
    gap: 64px;
  }
}
.p-club-baseball__image {
  width: 100%;
}
@media (min-width: 600px) {
  .p-club-baseball__image {
    width: min(35%, 368px);
  }
}
.p-club-baseball__image img {
  border-radius: 4px;
}
.p-club-baseball__catch {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
  line-height: 1.5;
}
.p-club-baseball__caption {
  margin-top: 32px;
}
.p-club-baseball__button {
  margin-top: 40px;
}
.p-club-baseball__button a {
  min-width: 180px;
}

.p-club-tennis {
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-club-tennis {
    margin-top: 80px;
  }
}
.p-club-tennis__body {
  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: 600px) {
  .p-club-tennis__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 32px;
  }
}
@media (min-width: 960px) {
  .p-club-tennis__body {
    gap: 64px;
  }
}
.p-club-tennis__image {
  width: 100%;
}
@media (min-width: 600px) {
  .p-club-tennis__image {
    width: min(35%, 368px);
  }
}
.p-club-tennis__image img {
  border-radius: 4px;
}
.p-club-tennis__catch {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
  line-height: 1.5;
}
.p-club-tennis__caption {
  line-height: 2;
  margin-top: 32px;
}
.p-club-tennis__button {
  margin-top: 40px;
}
.p-club-tennis__button a {
  min-width: 180px;
}

.p-club-ev-eco {
  margin-top: 56px;
  padding-bottom: 56px;
}
@media (min-width: 600px) {
  .p-club-ev-eco {
    margin-top: 80px;
    padding-bottom: 150px;
  }
}
.p-club-ev-eco__body {
  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: 600px) {
  .p-club-ev-eco__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 960px) {
  .p-club-ev-eco__body {
    gap: 64px;
  }
}
.p-club-ev-eco__image {
  width: 100%;
}
@media (min-width: 600px) {
  .p-club-ev-eco__image {
    width: min(35%, 368px);
  }
}
.p-club-ev-eco__image img {
  border-radius: 4px;
}
.p-club-ev-eco__catch {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
  line-height: 1.5;
}
.p-club-ev-eco__caption {
  line-height: 2;
  margin-top: 32px;
}
.p-club-ev-eco__button {
  margin-top: 40px;
}
.p-club-ev-eco__button a {
  min-width: 180px;
}

.p-club-news {
  padding: 56px 0;
  background: #FFFFFF;
}
@media (min-width: 600px) {
  .p-club-news {
    padding: 150px 0;
  }
}
.p-club-news__caption {
  line-height: 2;
  margin-top: 24px;
}
.p-club-news__list {
  margin-top: 32px;
}
.p-club-news__item {
  padding: 32px 0;
  border-bottom: 1px solid #D7DBD8;
}
.p-club-news__link {
  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: 16px;
  position: relative;
}
@media (min-width: 600px) {
  .p-club-news__link {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
  }
}
.p-club-news__link::after {
  content: "";
  min-width: 12px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
  background-color: #141715;
  margin-left: auto;
  position: absolute;
  right: 0;
}
@media (min-width: 960px) {
  .p-club-news__link::after {
    min-width: 24px;
    position: static;
  }
}
.p-club-news__date {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  color: #737C75;
  width: 100%;
  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: 600px) {
  .p-club-news__date {
    width: min(100%, 210px);
  }
}
.p-club-news__category {
  color: #FFFFFF;
  text-align: center;
  min-width: 75px;
  padding: 0 16px;
  background: #141715;
  border-radius: 9999px;
}
.p-club-news__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  width: 100%;
}
@media (min-width: 600px) {
  .p-club-news__title {
    width: auto;
  }
}
.p-club-news__button {
  text-align: center;
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-club-news__button {
    text-align: right;
    margin-top: 64px;
  }
}

.p-club-intro {
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-club-intro {
    margin-top: 120px;
  }
}
.p-club-intro__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: 40px;
}
@media (min-width: 600px) {
  .p-club-intro__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-club-intro__lead {
    gap: 64px;
  }
}
.p-club-intro__lead-image {
  width: min(100%, 368px);
  margin: 0 auto;
}
@media (min-width: 600px) {
  .p-club-intro__lead-image {
    margin: 0;
  }
}
.p-club-intro__lead-image img {
  border-radius: 4px;
}
.p-club-intro__lead-text-area {
  width: 100%;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}
@media (min-width: 600px) {
  .p-club-intro__lead-text-area {
    width: min(100%, 640px);
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
}
.p-club-intro__lead-title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
  line-height: 1.5;
}
.p-club-intro__lead-caption {
  margin-top: 32px;
  line-height: 2;
}
.p-club-intro__greeting {
  margin-top: 48px;
  background: #FCFEF5;
  border: 1px solid #D7DBD8;
  border-radius: 4px;
}
.p-club-intro__section {
  padding: 24px 16px;
  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-club-intro__section {
    padding: 40px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0;
  }
}
.p-club-intro__section:not(:first-child) {
  border-top: 1px solid #D7DBD8;
}
.p-club-intro__greeting-image {
  width: min(100%, 180px);
  margin: 0 auto;
}
@media (min-width: 600px) {
  .p-club-intro__greeting-image {
    margin: 0;
  }
}
.p-club-intro__greeting-image img {
  border-radius: 4px;
}
.p-club-intro__greeting-text-area {
  width: 100%;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}
@media (min-width: 600px) {
  .p-club-intro__greeting-text-area {
    width: calc(100% - 220px);
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
}
.p-club-intro__greeting-caption {
  line-height: 2;
  margin-top: 16px;
}
.p-club-intro__greeting-name {
  text-align: right;
  margin-top: 8px;
}

.p-club-member {
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-club-member {
    margin-top: 120px;
  }
}

.p-club-results {
  margin-top: 56px;
  padding-bottom: 56px;
}
@media (min-width: 600px) {
  .p-club-results {
    margin-top: 120px;
    padding-bottom: 120px;
  }
}

.p-misson-company-policy__catch {
  text-align: center;
}

.p-misson-management-policy__list {
  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;
}
.p-misson-management-policy__item {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  padding-bottom: 24px;
  border-bottom: 1px solid #D7DBD8;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  counter-increment: num;
}
.p-misson-management-policy__item::before {
  content: "[0" counter(num) "]";
  color: #737C75;
  min-width: 40px;
}
@media (min-width: 600px) {
  .p-misson-management-policy__item::before {
    min-width: 64px;
  }
}

.p-misson-safety-policy__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  font-weight: 500;
}
.p-misson-safety-policy__basis-list {
  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;
}
.p-misson-safety-policy__basis-item {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
.p-misson-safety-policy__basis-item::before {
  content: "一.";
}
.p-misson-safety-policy__health {
  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-misson-safety-policy__health {
    -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: 32px;
  }
}
@media (min-width: 960px) {
  .p-misson-safety-policy__health {
    -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: 48px;
  }
}
.p-misson-safety-policy__health-image {
  width: 100%;
}
@media (min-width: 600px) {
  .p-misson-safety-policy__health-image {
    width: min(32%, 240px);
  }
}
.p-misson-safety-policy__health-image img {
  border-radius: 4px;
}
.p-misson-safety-policy__health-text-area {
  width: 100%;
  margin: 0;
}
@media (min-width: 600px) {
  .p-misson-safety-policy__health-text-area {
    width: min(61%, 467px);
  }
}
.p-misson-safety-policy__organization-list {
  margin-top: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 16px;
}
@media (min-width: 600px) {
  .p-misson-safety-policy__organization-list {
    gap: 24px;
  }
}
.p-misson-safety-policy__organization-item {
  width: min(100%, 360px);
}
@media (min-width: 600px) {
  .p-misson-safety-policy__organization-item {
    width: min(47%, 360px);
  }
}
.p-misson-safety-policy__organization-link {
  width: 100%;
  border: 1px solid #D7DBD8;
}
@media (hover: hover) and (pointer: fine) {
  .p-misson-safety-policy__organization-link:hover {
    border: 1px solid #B2E561;
  }
  .p-misson-safety-policy__organization-link:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><rect width="14" height="14" fill="none"/><path d="M162.75-868.8h5.5v-1.4h-5.5Zm0-2.8h5.5V-873h-5.5Zm-1.375,5.6a1.312,1.312,0,0,1-.971-.411,1.361,1.361,0,0,1-.4-.989v-11.2a1.36,1.36,0,0,1,.4-.989,1.312,1.312,0,0,1,.971-.411h5.5L171-875.8v8.4a1.361,1.361,0,0,1-.4.989,1.312,1.312,0,0,1-.971.411Zm4.813-9.1v-3.5h-4.812v11.2h8.25v-7.7Zm-4.812-3.5v0Z" transform="translate(-158.32 880)" fill="%23141715"/></svg>') no-repeat no-repeat center center;
    background-color: #FFFFFF;
    background-size: 12px auto;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 600px) {
  .p-misson-safety-policy__organization-link:hover::after {
    background-size: 14px auto;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-misson-safety-policy__organization-link:hover {
    border: 1px solid #B2E561;
  }
  .p-misson-safety-policy__organization-link:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><rect width="14" height="14" fill="none"/><path d="M162.75-868.8h5.5v-1.4h-5.5Zm0-2.8h5.5V-873h-5.5Zm-1.375,5.6a1.312,1.312,0,0,1-.971-.411,1.361,1.361,0,0,1-.4-.989v-11.2a1.36,1.36,0,0,1,.4-.989,1.312,1.312,0,0,1,.971-.411h5.5L171-875.8v8.4a1.361,1.361,0,0,1-.4.989,1.312,1.312,0,0,1-.971.411Zm4.813-9.1v-3.5h-4.812v11.2h8.25v-7.7Zm-4.812-3.5v0Z" transform="translate(-158.32 880)" fill="%23141715"/></svg>') no-repeat no-repeat center center;
    background-color: #FFFFFF;
    background-size: 12px auto;
  }
}
@media (-ms-high-contrast: none) and (min-width: 600px), (-ms-high-contrast: active) and (min-width: 600px) {
  .p-misson-safety-policy__organization-link:hover::after {
    background-size: 14px auto;
  }
}
@media (max-width: 600px) {
  .p-misson-safety-policy .c-subsection-round-block {
    padding: 24px 16px;
  }
}

.p-misson-quality-policy__list {
  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;
}
.p-misson-quality-policy__item {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  padding-bottom: 24px;
  border-bottom: 1px solid #D7DBD8;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  counter-increment: num;
}
.p-misson-quality-policy__item::before {
  content: "[0" counter(num) "]";
  color: #737C75;
  min-width: 40px;
}
@media (min-width: 600px) {
  .p-misson-quality-policy__item::before {
    min-width: 64px;
  }
}
@media (max-width: 600px) {
  .p-misson-quality-policy .c-subsection-round-block {
    padding: 24px 16px;
  }
}

.p-csr-workplace__section {
  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: 32px;
}
@media (min-width: 600px) {
  .p-csr-workplace__section {
    -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;
  }
}
@media (min-width: 960px) {
  .p-csr-workplace__section {
    -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: 48px;
  }
}
.p-csr-workplace__image {
  width: 100%;
  margin: 0;
}
@media (min-width: 600px) {
  .p-csr-workplace__image {
    width: min(32%, 240px);
  }
}
.p-csr-workplace__image img {
  border-radius: 4px;
}
.p-csr-workplace__text-area {
  width: 100%;
}
@media (min-width: 600px) {
  .p-csr-workplace__text-area {
    width: min(61%, 467px);
    -webkit-align-self: center;
        -ms-flex-item-align: center;
            align-self: center;
  }
}
.p-csr-workplace__mental-health {
  margin-top: 56px;
  border: 1px solid #D7DBD8;
  border-radius: 8px;
  overflow: hidden;
}
.p-csr-workplace__mental-health-top {
  padding: 24px 16px;
  background: #F5F8F6;
}
@media (min-width: 960px) {
  .p-csr-workplace__mental-health-top {
    padding: 32px 40px;
  }
}
.p-csr-workplace__mental-health-bottom {
  padding: 24px 16px;
}
@media (min-width: 960px) {
  .p-csr-workplace__mental-health-bottom {
    padding: 32px 40px;
  }
}
.p-csr-workplace__mental-health-catch {
  font-weight: 900;
  line-height: 1.4;
}
@media (max-width: 600px) {
  .p-csr-workplace .c-subsection-round-block {
    padding: 24px 16px;
  }
}

.p-sustainability-environmental-policy__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: 24px;
}
.p-sustainability-environmental-policy__item {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  padding-bottom: 24px;
  border-bottom: 1px solid #D7DBD8;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  counter-increment: num;
}
.p-sustainability-environmental-policy__item::before {
  content: "[0" counter(num) "]";
  color: #737C75;
  min-width: 40px;
}
@media (min-width: 600px) {
  .p-sustainability-environmental-policy__item::before {
    min-width: 64px;
  }
}
.p-sustainability-environmental-policy__sign {
  text-align: right;
  margin-top: 32px;
}

.p-sustainability-iso__card {
  margin-top: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 16px;
}
.p-sustainability-iso__card-image {
  margin: 0;
  width: min(100%, 120px);
}
.p-sustainability-iso__card-image img {
  border-radius: 4px;
}
@media (max-width: 600px) {
  .p-sustainability-iso .c-subsection-round-block {
    padding: 24px 16px;
  }
}

.p-sustainability-green-procurement__list {
  margin-top: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 16px;
}
@media (min-width: 600px) {
  .p-sustainability-green-procurement__list {
    gap: 24px;
  }
}
.p-sustainability-green-procurement__item {
  width: min(100%, 360px);
}
@media (min-width: 600px) {
  .p-sustainability-green-procurement__item {
    width: min(47%, 360px);
  }
}
.p-sustainability-green-procurement__link {
  width: 100%;
  border: 1px solid #D7DBD8;
  gap: 16px;
}
.p-sustainability-green-procurement__note {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  margin-top: 24px;
}

.p-sustainability-carbon-neutral__card {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (min-width: 600px) {
  .p-sustainability-carbon-neutral__card {
    margin-top: 56px;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
  }
}
.p-sustainability-carbon-neutral__card-image {
  margin: 0;
}
.p-sustainability-carbon-neutral__card-image img {
  border-radius: 4px;
}

.p-sustainability-social-contribution__card {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (min-width: 600px) {
  .p-sustainability-social-contribution__card {
    margin-top: 56px;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
  }
}
.p-sustainability-social-contribution__card-image {
  margin: 0;
}
.p-sustainability-social-contribution__card-image img {
  border-radius: 4px;
}

.p-sustainability-circular-economy__card {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (min-width: 600px) {
  .p-sustainability-circular-economy__card {
    margin-top: 56px;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
  }
}
.p-sustainability-circular-economy__card-image {
  margin: 0;
}
.p-sustainability-circular-economy__card-image img {
  border-radius: 4px;
}

.p-social-contribution-local__section {
  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: 32px;
}
@media (min-width: 600px) {
  .p-social-contribution-local__section {
    -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;
  }
}
@media (min-width: 960px) {
  .p-social-contribution-local__section {
    -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: 48px;
  }
}
.p-social-contribution-local__image {
  width: 100%;
  margin: 0;
}
@media (min-width: 600px) {
  .p-social-contribution-local__image {
    width: min(32%, 240px);
  }
}
.p-social-contribution-local__image img {
  border-radius: 4px;
}
.p-social-contribution-local__text-area {
  width: 100%;
}
@media (min-width: 600px) {
  .p-social-contribution-local__text-area {
    width: min(61%, 467px);
  }
}

.p-social-contribution-donation__section {
  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: 32px;
}
@media (min-width: 600px) {
  .p-social-contribution-donation__section {
    -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;
  }
}
@media (min-width: 960px) {
  .p-social-contribution-donation__section {
    -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: 48px;
  }
}
.p-social-contribution-donation__image {
  width: 100%;
  margin: 0;
}
@media (min-width: 600px) {
  .p-social-contribution-donation__image {
    width: min(32%, 240px);
  }
}
.p-social-contribution-donation__image img {
  border-radius: 4px;
}
.p-social-contribution-donation__text-area {
  width: 100%;
}
@media (min-width: 600px) {
  .p-social-contribution-donation__text-area {
    width: min(61%, 467px);
  }
}

.p-social-contribution-culture-sports__section {
  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: 32px;
}
@media (min-width: 600px) {
  .p-social-contribution-culture-sports__section {
    -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;
  }
}
@media (min-width: 960px) {
  .p-social-contribution-culture-sports__section {
    -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: 48px;
  }
}
.p-social-contribution-culture-sports__image {
  width: 100%;
  margin: 0;
}
@media (min-width: 600px) {
  .p-social-contribution-culture-sports__image {
    width: min(32%, 240px);
  }
}
.p-social-contribution-culture-sports__image img {
  border-radius: 4px;
}
.p-social-contribution-culture-sports__text-area {
  width: 100%;
}
@media (min-width: 600px) {
  .p-social-contribution-culture-sports__text-area {
    width: min(61%, 467px);
  }
}

.p-social-contribution-education__section {
  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: 32px;
}
@media (min-width: 600px) {
  .p-social-contribution-education__section {
    -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;
  }
}
@media (min-width: 960px) {
  .p-social-contribution-education__section {
    -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: 48px;
  }
}
.p-social-contribution-education__image {
  width: 100%;
  margin: 0;
}
@media (min-width: 600px) {
  .p-social-contribution-education__image {
    width: min(32%, 240px);
  }
}
.p-social-contribution-education__image img {
  border-radius: 4px;
}
.p-social-contribution-education__text-area {
  width: 100%;
}
@media (min-width: 600px) {
  .p-social-contribution-education__text-area {
    width: min(61%, 467px);
  }
}

.p-carbon-neutral-goal__image {
  width: 100%;
  margin: 40px 0 0 0;
}
@media (min-width: 600px) {
  .p-carbon-neutral-goal__image {
    margin: 64px 0 0 0;
  }
}

.p-carbon-neutral-case-study__images {
  margin-top: 40px;
  display: grid;
  gap: 16px;
}
@media (min-width: 600px) {
  .p-carbon-neutral-case-study__images {
    margin-top: 56px;
    gap: 32px;
  }
}
.p-carbon-neutral-case-study__images.--3col {
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 600px) {
  .p-carbon-neutral-case-study__images.--3col {
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-carbon-neutral-case-study__images.--2col {
  grid-template-columns: repeat(2, 1fr);
}
.p-carbon-neutral-case-study__image {
  margin: 0;
}
.p-carbon-neutral-case-study__image img {
  border-radius: 4px;
}
.p-carbon-neutral-case-study__image img.--border {
  border: 1px solid #D7DBD8;
}

.p-news-passward {
  padding: 150px 0;
  height: 100vh;
  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;
}
.p-news-passward__form {
  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;
  gap: 8px;
}
.p-news-passward__form input[type=password] {
  background: #FFFFFF;
  padding: 5px 10px;
  border: 1px solid #D7DBD8;
  border-radius: 4px;
  outline: none;
}
.p-news-passward__form input[type=submit] {
  color: #FFFFFF;
  background: #35B05E;
  padding: 5px 10px;
  border: 1px solid #35B05E;
  border-radius: 4px;
  outline: none;
}

.p-news-category__title {
  font-size: 16px;
  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;
}
.p-news-category__title::before {
  content: "";
  min-width: 8px;
  aspect-ratio: 1/1;
  background: #35B05E;
  border-radius: 2px;
}
.p-news-category__list {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
@media (min-width: 600px) {
  .p-news-category__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 960px) {
  .p-news-category__list {
    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;
  }
}
.p-news-category__item {
  font-size: 12px;
}
@media (min-width: 600px) {
  .p-news-category__item {
    font-size: 14px;
  }
}
.p-news-category__item.current-cat a {
  color: #FFFFFF;
  background: #35B05E;
  border-color: #35B05E;
}
.p-news-category__item.current-cat a::after {
  background: #FFFFFF;
  border-color: #FFFFFF;
}
.p-news-category__item a {
  padding: 4px 12px 4px 16px;
  border: 1px solid #D7DBD8;
  border-radius: 9999px;
  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-news-category__item a::after {
  content: "";
  min-width: 8px;
  aspect-ratio: 1/1;
  background: #F5F8F6;
  border: 1px solid #D7DBD8;
  border-radius: 50%;
}
@media (hover: hover) and (pointer: fine) {
  .p-news-category__item a:hover {
    color: #FFFFFF;
    background: #35B05E;
    border-color: #35B05E;
  }
  .p-news-category__item a:hover::after {
    background: #FFFFFF;
    border-color: #FFFFFF;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-news-category__item a:hover {
    color: #FFFFFF;
    background: #35B05E;
    border-color: #35B05E;
  }
  .p-news-category__item a:hover::after {
    background: #FFFFFF;
    border-color: #FFFFFF;
  }
}

.p-news-note {
  padding: 64px 32px;
}

.p-news-list {
  padding: 0 32px 64px 32px;
}
.p-news-list__item {
  padding: 24px 0;
  border-bottom: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .p-news-list__item {
    padding: 40px 0;
  }
}
.p-news-list__link {
  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: 40px;
}
@media (min-width: 960px) {
  .p-news-list__link {
    gap: 24px;
  }
}
.p-news-list__link::after {
  content: "";
  min-width: 12px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
  background-color: #141715;
}
@media (min-width: 960px) {
  .p-news-list__link::after {
    min-width: 24px;
  }
}
.p-news-list__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 20;
  line-height: 1.7;
}
.p-news-list__date {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  color: #737C75;
  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;
}
@media (min-width: 600px) {
  .p-news-list__date {
    margin-top: 16px;
    gap: 16px;
  }
}
.p-news-list__category {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 14;
  color: #FFFFFF;
  padding: 0 16px;
  background: #141715;
  border-radius: 9999px;
}
.p-news-list__pagenavi {
  padding: 0 0 64px 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;
  gap: 16px;
}
.p-news-list__pagenavi .page-numbers {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-news-list__pagenavi .prev {
  margin-right: 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;
}
@media (min-width: 600px) {
  .p-news-list__pagenavi .prev {
    margin-right: 72px;
    gap: 16px;
  }
}
.p-news-list__pagenavi .prev::before {
  content: "";
  min-width: 30px;
  aspect-ratio: 30/18;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center/10px auto;
  background-color: #141715;
  border-radius: 9999px;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.p-news-list__pagenavi .next {
  margin-left: 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;
}
@media (min-width: 600px) {
  .p-news-list__pagenavi .next {
    margin-left: 72px;
    gap: 16px;
  }
}
.p-news-list__pagenavi .next::after {
  content: "";
  min-width: 30px;
  aspect-ratio: 30/18;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center/10px auto;
  background-color: #141715;
  border-radius: 9999px;
}
.p-news-list__pagenavi .current {
  color: #ABB0AC;
}

.p-news-article {
  margin: 150px auto 0 auto;
  padding: 56px 0;
  background: #FFFFFF;
}
@media (min-width: 600px) {
  .p-news-article {
    margin: 440px auto 0 auto;
    padding: 150px 0;
  }
}
.p-news-article__head {
  padding-bottom: 64px;
  border-bottom: 1px solid #D7DBD8;
}
.p-news-article__title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 32;
  font-weight: 900;
}
.p-news-article__date {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  color: #737C75;
  margin-top: 40px;
  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;
}
.p-news-article__category {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  color: #FFFFFF;
  padding: 0 12px;
  background: #141715;
  border-radius: 9999px;
}
.p-news-article__body {
  margin-top: 60px;
}
.p-news-article__foot {
  margin-top: 150px;
  border-top: 1px solid #D7DBD8;
}
.p-news-article__pagenavi {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.p-news-article__pagenavi-prev-link {
  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;
}
@media (min-width: 600px) {
  .p-news-article__pagenavi-prev-link {
    gap: 16px;
  }
}
.p-news-article__pagenavi-prev-link::before {
  content: "";
  min-width: 30px;
  aspect-ratio: 30/18;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center/10px auto;
  background-color: #141715;
  border-radius: 9999px;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.p-news-article__pagenavi-back {
  text-align: center;
}
.p-news-article__pagenavi-next {
  text-align: right;
}
.p-news-article__pagenavi-next-link {
  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;
}
@media (min-width: 600px) {
  .p-news-article__pagenavi-next-link {
    gap: 16px;
  }
}
.p-news-article__pagenavi-next-link::after {
  content: "";
  min-width: 30px;
  aspect-ratio: 30/18;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M169.131-793.25H160v-1.5h9.131l-4.2-4.2L166-800l6,6-6,6-1.069-1.05Z" transform="translate(-160 800)" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center/10px auto;
  background-color: #141715;
  border-radius: 9999px;
}

.p-contact-call {
  padding: 56px 0;
  margin-top: 90px;
  background: #FFFFFF;
}
@media (min-width: 600px) {
  .p-contact-call {
    padding: 150px 0;
  }
}
.p-contact-call__inner {
  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: 960px) {
  .p-contact-call__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0;
  }
}
.p-contact-call__side {
  width: 100%;
}
@media (min-width: 960px) {
  .p-contact-call__side {
    width: min(100%, 310px);
  }
}
.p-contact-call__caption {
  line-height: 2;
  margin-top: 16px;
}
.p-contact-call__main {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 30px;
}
@media (min-width: 600px) {
  .p-contact-call__main {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 960px) {
  .p-contact-call__main {
    width: min(100%, 710px);
    gap: 40px;
  }
}
.p-contact-call__card {
  border: 1px solid #D7DBD8;
  border-radius: 4px;
  overflow: hidden;
}
.p-contact-call__card.--full {
  grid-column: 1/-1;
}
.p-contact-call__card-head {
  padding: 16px;
  background: #F5F8F6;
}
@media (min-width: 600px) {
  .p-contact-call__card-head {
    padding: 24px;
  }
}
@media (min-width: 960px) {
  .p-contact-call__card-head {
    padding: 32px;
  }
}
.p-contact-call__card-title {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
  font-weight: 500;
}
.p-contact-call__card-caption {
  color: #737C75;
  margin-top: 8px;
}
.p-contact-call__card-body {
  padding: 16px;
}
@media (min-width: 600px) {
  .p-contact-call__card-body {
    padding: 24px;
  }
}
@media (min-width: 960px) {
  .p-contact-call__card-body {
    padding: 24px 32px;
  }
}
.p-contact-call__tel {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 25;
  --max-font-size: 32;
  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: 12px;
}
.p-contact-call__tel::before {
  content: "";
  min-width: 30px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_tel.svg) no-repeat center center/15px auto;
  border: 2px solid #D7DBD8;
  border-radius: 50%;
}
@media (min-width: 960px) {
  .p-contact-call__tel::before {
    min-width: 40px;
    background-size: 20px auto;
  }
}
.p-contact-call__link {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  text-decoration: underline;
  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: 12px;
}
.p-contact-call__link::after {
  content: "";
  min-width: 30px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_blank.svg) no-repeat center center/12px auto;
  border: 2px solid #D7DBD8;
  border-radius: 50%;
}
@media (min-width: 960px) {
  .p-contact-call__link::after {
    min-width: 40px;
    background-size: 16px auto;
  }
}

.p-contact-form {
  padding: 56px 0;
}
@media (min-width: 600px) {
  .p-contact-form {
    padding: 150px 0;
  }
}
.p-contact-form__inner {
  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: 960px) {
  .p-contact-form__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0;
  }
}
.p-contact-form__side {
  width: 100%;
}
@media (min-width: 960px) {
  .p-contact-form__side {
    width: min(100%, 310px);
  }
}
.p-contact-form__main {
  width: 100%;
  padding: 0 0 40px 0;
  background: #FFFFFF;
  border: 1px solid #D7DBD8;
  border-radius: 8px;
}
@media (min-width: 960px) {
  .p-contact-form__main {
    width: min(100%, 710px);
  }
}
.p-contact-form__caption {
  padding: 24px;
  border-bottom: 1px solid #D7DBD8;
}
@media (min-width: 600px) {
  .p-contact-form__caption {
    padding: 30px 40px;
  }
}
.p-contact-form__list {
  margin-top: 40px;
  padding: 0 24px;
}
@media (min-width: 600px) {
  .p-contact-form__list {
    padding: 0 40px;
  }
}
.p-contact-form__term {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-contact-form__term span {
  margin-left: 6px;
}
.p-contact-form__input {
  margin-top: 16px;
}
.p-contact-form__input + .p-contact-form__term {
  margin-top: 32px;
}
@media (min-width: 600px) {
  .p-contact-form__input + .p-contact-form__term {
    margin-top: 56px;
  }
}
.p-contact-form__required {
  color: #E01A1A;
}
.p-contact-form__note {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  margin-top: 40px;
  padding: 0 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: 12px;
}
@media (min-width: 600px) {
  .p-contact-form__note {
    padding: 0 40px;
  }
}
.p-contact-form__note-item {
  line-height: 2;
  text-indent: calc(-1em - 8px);
  margin-left: calc(1em + 8px);
}
.p-contact-form__note-item::before {
  content: "※";
  margin-right: 8px;
}
.p-contact-form__note-item a {
  text-decoration: underline;
}
.p-contact-form__submit {
  text-align: center;
  margin-top: 40px;
  padding: 0 40px;
  cursor: pointer;
}
@media (min-width: 600px) {
  .p-contact-form__submit {
    margin-top: 64px;
  }
}
.p-contact-form__recaptcha {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  margin-top: 40px;
  padding: 0 40px;
  opacity: 0.5;
}
.p-contact-form__recaptcha .pp-link {
  display: inline-block;
  text-decoration: underline;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-contact-form__recaptcha .pp-link:hover {
  opacity: 0.3;
  text-decoration: underline;
}
.p-contact-form .wpcf7-radio {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.p-contact-form .wpcf7-radio .wpcf7-list-item {
  margin: 8px 0 0 0;
  display: block;
}
@media (max-width: 600px) {
  .p-contact-form .wpcf7-radio .wpcf7-list-item:first-of-type {
    margin: 0;
  }
}
@media (min-width: 600px) {
  .p-contact-form .wpcf7-radio .wpcf7-list-item {
    margin: 0 32px 0 0;
    display: inline-block;
  }
}
.p-contact-form .wpcf7-radio .wpcf7-list-item-label {
  position: relative;
  height: 20px;
  line-height: 20px;
  padding-left: 28px;
  display: inline-block;
}
.p-contact-form .wpcf7-radio .wpcf7-list-item-label::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border: 1px solid #D7DBD8;
  border-radius: 50%;
  background: #F5F8F6;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.p-contact-form .wpcf7-radio input[type=radio]:checked + .wpcf7-list-item-label::before {
  border: 1px solid #35B05E;
}
.p-contact-form .wpcf7-radio input[type=radio]:checked + .wpcf7-list-item-label::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #35B05E;
  position: absolute;
  left: 5px;
  top: 5px;
}
.p-contact-form input[type=radio] {
  display: none;
}
.p-contact-form input[type=text], .p-contact-form input[type=email], .p-contact-form input[type=tel] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  background: #FFFFFF;
  padding: 12px 16px;
  border: 1px solid #D7DBD8;
  border-radius: 4px;
  outline: none;
}
.p-contact-form input[type=text]::-webkit-input-placeholder, .p-contact-form input[type=email]::-webkit-input-placeholder, .p-contact-form input[type=tel]::-webkit-input-placeholder {
  color: #ABB0AC;
}
.p-contact-form input[type=text]::-moz-placeholder, .p-contact-form input[type=email]::-moz-placeholder, .p-contact-form input[type=tel]::-moz-placeholder {
  color: #ABB0AC;
}
.p-contact-form input[type=text]:-ms-input-placeholder, .p-contact-form input[type=email]:-ms-input-placeholder, .p-contact-form input[type=tel]:-ms-input-placeholder {
  color: #ABB0AC;
}
.p-contact-form input[type=text]::-ms-input-placeholder, .p-contact-form input[type=email]::-ms-input-placeholder, .p-contact-form input[type=tel]::-ms-input-placeholder {
  color: #ABB0AC;
}
.p-contact-form input[type=text]::placeholder, .p-contact-form input[type=email]::placeholder, .p-contact-form input[type=tel]::placeholder {
  color: #ABB0AC;
}
.p-contact-form textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  background: #FFFFFF;
  padding: 12px 16px;
  border: 1px solid #D7DBD8;
  border-radius: 4px;
  outline: none;
}
.p-contact-form textarea::-webkit-input-placeholder {
  color: #ABB0AC;
}
.p-contact-form textarea::-moz-placeholder {
  color: #ABB0AC;
}
.p-contact-form textarea:-ms-input-placeholder {
  color: #ABB0AC;
}
.p-contact-form textarea::-ms-input-placeholder {
  color: #ABB0AC;
}
.p-contact-form textarea::placeholder {
  color: #ABB0AC;
}
.p-contact-form input[type=submit] {
  color: #FFFFFF;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  min-width: 210px;
  background: #35B05E;
  padding: 12px 16px;
  border: none;
  border-radius: 9999px;
  outline: none;
  cursor: pointer;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
.p-contact-form input[type=submit]::-webkit-input-placeholder {
  color: #ABB0AC;
}
.p-contact-form input[type=submit]::-moz-placeholder {
  color: #ABB0AC;
}
.p-contact-form input[type=submit]:-ms-input-placeholder {
  color: #ABB0AC;
}
.p-contact-form input[type=submit]::-ms-input-placeholder {
  color: #ABB0AC;
}
.p-contact-form input[type=submit]::placeholder {
  color: #ABB0AC;
}
@media (hover: hover) and (pointer: fine) {
  .p-contact-form input[type=submit]:hover {
    color: #141715;
    background: #B2E561;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-contact-form input[type=submit]:hover {
    color: #141715;
    background: #B2E561;
  }
}
.p-contact-form .wpcf7-spinner {
  display: none;
}

.p-contact-thanks {
  padding: 56px 0;
  margin-top: 90px;
  background: #FFFFFF;
  position: relative;
}
@media (min-width: 600px) {
  .p-contact-thanks {
    padding: 150px 0;
    position: static;
  }
}
.p-contact-thanks__inner {
  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-contact-thanks__inner {
    position: relative;
  }
}
@media (min-width: 960px) {
  .p-contact-thanks__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0;
  }
}
.p-contact-thanks__inner::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #D7DBD8;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media (min-width: 600px) {
  .p-contact-thanks__inner::after {
    bottom: -140px;
  }
}
.p-contact-thanks__side {
  width: 100%;
}
@media (min-width: 960px) {
  .p-contact-thanks__side {
    width: min(100%, 310px);
  }
}
.p-contact-thanks__main {
  width: 100%;
}
@media (min-width: 960px) {
  .p-contact-thanks__main {
    width: min(100%, 710px);
  }
}
.p-contact-thanks__caption {
  line-height: 2;
}
.p-contact-thanks__caption + .p-contact-thanks__caption {
  margin-top: 32px;
}
@media (min-width: 600px) {
  .p-contact-thanks__caption + .p-contact-thanks__caption {
    margin-top: 40px;
  }
}
.p-contact-thanks + .p-contact-call {
  margin-top: 0;
}
.p-contact-thanks__button {
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-contact-thanks__button {
    margin-top: 56px;
  }
}

.p-privacy-policy {
  padding: 56px 0;
  background: #FFFFFF;
}
@media (min-width: 600px) {
  .p-privacy-policy {
    padding: 150px 0;
  }
}
.p-privacy-policy__inner {
  width: min(100% - 64px, 800px);
  margin: 0 auto;
}
.p-privacy-policy__caption {
  line-height: 2;
}
.p-privacy-policy__list {
  margin-top: 64px;
}
@media (min-width: 600px) {
  .p-privacy-policy__list {
    margin-top: 80px;
  }
}
.p-privacy-policy__term {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
  font-weight: 500;
}
.p-privacy-policy__description {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-privacy-policy__description {
    margin-top: 24px;
  }
}
.p-privacy-policy__description + .p-privacy-policy__term {
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-privacy-policy__description + .p-privacy-policy__term {
    margin-top: 64px;
  }
}
.p-privacy-policy__note {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  line-height: 2;
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-privacy-policy__note {
    margin-top: 64px;
  }
}

.p-notfound-content {
  padding: 100px 0 54px 0;
}
@media (min-width: 600px) {
  .p-notfound-content {
    padding: 180px 0 150px 0;
  }
}
.p-notfound-content__inner {
  padding: 64px 32px;
  background: #FFFFFF;
  border: 1px solid #D7DBD8;
  border-radius: 8px;
  position: relative;
  overflow: hidden;
  z-index: 0;
}
@media (min-width: 600px) {
  .p-notfound-content__inner {
    text-align: center;
    padding: 180px 32px 150px 32px;
  }
}
.p-notfound-content__title span {
  display: inline-block;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-notfound-content__caption {
  line-height: 2;
  margin-top: 40px;
}
.p-notfound-content__button {
  text-align: center;
  margin-top: 64px;
}
.p-notfound-content__parts {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.p-notfound-content__part {
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.p-notfound-content__part.--deco01 {
  width: 104px;
  aspect-ratio: 104/95;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
@media (max-width: 600px) {
  .p-notfound-content__part.--deco01 {
    width: 52px;
  }
}
.p-notfound-content__part.--deco02 {
  width: 70px;
  aspect-ratio: 70/92;
  z-index: -1;
  -webkit-transform: translateY(-100%) translateX(-80%);
          transform: translateY(-100%) translateX(-80%);
}
@media (max-width: 600px) {
  .p-notfound-content__part.--deco02 {
    width: 35px;
  }
}
.p-notfound-content__part.--deco03 {
  width: 99px;
  aspect-ratio: 99/82;
  z-index: -1;
  -webkit-transform: translateY(-100%) translateX(50%);
          transform: translateY(-100%) translateX(50%);
}
@media (max-width: 600px) {
  .p-notfound-content__part.--deco03 {
    width: 50px;
  }
}
.p-notfound-content__part.--deco04 {
  width: 105px;
  aspect-ratio: 105/116;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
@media (max-width: 600px) {
  .p-notfound-content__part.--deco04 {
    width: 52px;
  }
}

/*----------------------------------------------------
  margin top
----------------------------------------------------*/
.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;
  }
}
.u-pad-sp16 {
  padding: 0 16px;
}

.u-txt-link {
  color: #35B05E;
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .u-txt-link:hover {
    text-decoration: none;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .u-txt-link:hover {
    text-decoration: none;
  }
}

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

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

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

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