@charset "UTF-8";
/* =====================================================
  1.0 - Foundation
===================================================== */
/* ----------------------------------------------
   1.1 Reset
---------------------------------------------- */
/* ---------- [ 1.11 ] global ---------- */
*,
::before,
::after,
::backdrop {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after,
  ::backdrop {
    transition: none !important;
    animation: none !important;
  }
}
:target {
  scroll-margin-top: calc(var(--header-height, 80px) + 2rem);
}
/* ---------- [ 1.12 ] Document & Sections ---------- */
:where(html) {
  font-family: var(--base-font-family);
  font-weight: var(--base-font-weight);
  line-break: strict;
  overflow-wrap: anywhere;
  line-height: var(--base-line-height, 1.5);
  color: var(--base-color);
  background-color: var(--base-background);
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media screen and (max-width: 768px) {
  :where(html) {
    line-height: var(--base-line-height-sp, 1.5);
  }
}

:where(body) {
  min-block-size: 100svb;
  overflow-x: clip;
}

/* ---------- [ 1.13 ] Grouping content ---------- */
:where(section) {
  scroll-margin-block-start: var(--base-scroll-margin);
}

:where(ul, ol) {
  list-style: none;
}

/* ---------- [ 1.14 ] Text-level semantics ---------- */
:where(em, address) {
  font-style: normal;
}

:where(strong) {
  font-weight: 700;
  color: var(--base-strong-color);
}

:where(:any-link) {
  color: unset;
}

/* ---------- [ 1.15 ] Embedded content ---------- */
:where(img, svg, iframe) {
  display: block flow;
}

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

/* ---------- [ 1.16 ] Tabular data ---------- */
:where(table) {
  border-collapse: collapse;
}

/* ---------- [ 1.17 ] Forms ---------- */
:where(input, button, textarea, select, optgroup) {
  color: unset;
  letter-spacing: inherit;
  word-spacing: inherit;
  font: unset;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
}

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

:where(button, label, select, summary) {
  cursor: pointer;
}

/* ----------------------------------------------
   1.2 Variable
---------------------------------------------- */
:root {
  /* ---------- [ 1.21 ] color ---------- */
  --color-key: #8bc782;
  --color-light-green: #c5e3c0;
  --color-dark-gray: #333333;
  --color-gray: #444444;
  --color-light-dark: #555555;
  --color-soft-grey: #707070;
  --color-olive-dark: #1c281a;
  --color-dark: #221815;
  --color-light: #ffffff;
  --color-beige: #fff6ec;
  --color-blue: #7c9fd3;
  --color-red: #ed838c;

  --color-yellow: #fdfd60;
  /* ---------- [ 1.22 ] offset ---------- */
  --offset-default: 0.875rem;

  /* コンテナ変数 */
  /* コンテンツ幅1760px分のオフセット */
  --offset-sm: max(calc(100vw / 2 - 55rem), var(--offset-default));
  /* コンテンツ幅1560px分のオフセット */
  --offset-md: max(calc(100vw / 2 - 48.75rem), var(--offset-default));
  /* コンテンツ幅1480px分のオフセット */
  --offset-lg: max(calc(100vw / 2 - 46.25rem), var(--offset-default));
  /* コンテンツ幅1240px分のオフセット */
  --offset-xl: max(calc(100vw / 2 - 38.75rem), var(--offset-default));

  /* ---------- [ 1.23 ] animation & transition ---------- */
  --duration-fast: 0.3s;
  --duration-normal: 0.6s;
  --duration-slow: 1.6s;
  --ease-out-sine: cubic-bezier(0.61, 1, 0.88, 1);

  /* ---------- [ 1.24 ] base ---------- */
  --base-line-height-sp: 1.78;
  --base-line-height: 2;
  --base-font-family: "Noto Sans JP";
  --base-font-weight: 500;

  /* ---------- [ 1.25 ] R ---------- */
  --r: 6.25rem;

  /* ---------- [ 1.26 ] Header & Menu ---------- */
  --header-height: 5.31rem;
  --circle-thin: 0.625rem;
}

@media screen and (max-width: 768px) {
  :root {
    /* ---------- [ 1.25 ] R ---------- */
    --r: 3.125rem;

    /* ---------- [ 1.26 ] Header & Menu ---------- */
    --header-height: 3rem;
    --circle-thin: 0.5rem;
  }
}
/* ----------------------------------------------
   1.3 Base
---------------------------------------------- */
html {
  /* 1920pxを基準に16pxとなるように指定 */
  /* pcサイズでは、画面幅に対して可変 */
  /* font-size: calc(0.83vw * (1rem / 16px)); */
  /* ↑ ブラウザで不安定になるため、rem変換は廃止*/

  font-size: 0.83vw;
}
* {
  letter-spacing: 0.05em;
}
body {
  overflow: scroll;
  color: var(--color-dark-gray);
  font-size: 1.25rem;
  font-family: var(--base-font-family);
  font-weight: var(--base-font-weight);
}
/* 管理バーが出ているとき（ログイン時）だけ上にズラす */
body.admin-bar .l-header {
  top: var(--wp-admin--admin-bar--height);
}
.is-drawer-open body {
  overflow: hidden;
}
.is-drawer-open body::after {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--color-dark-gray);
  opacity: 0.5;
  z-index: 1;
}

p {
  line-height: var(--base-line-height-sp);
}
@media screen and (min-width: 769px) {
  p {
    line-height: var(--base-line-height);
  }
}

a,
button {
  text-decoration: none;
  transition: opacity var(--duration-normal);
}
a:focus-visible,
button:focus-visible {
  opacity: 0.5;
  outline: none;
}
@media (any-hover) {
  a:hover,
  button:hover {
    opacity: 0.5;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 100%;
  }
  * {
    letter-spacing: 0.025em;
  }
  body {
    font-size: 0.875rem;
  }
}

/* =====================================================
  2.0 - Layout
===================================================== */
/* ----------------------------------------------
   2.1 Header
---------------------------------------------- */
.l-header {
  position: fixed;
  inset: 0;
  padding: 1.375rem var(--offset-default) 0;
  width: 100%;
  z-index: 1000;
}
@media screen and (max-width: 768px) {
  .l-header {
    padding: 0.5rem var(--offset-default) 0;
    padding-right: 0;
  }
}
/* ----------------------------------------------
   2.2 Main
---------------------------------------------- */
.l-main {
}

/* ----------------------------------------------
   2.3 Footer
---------------------------------------------- */
.l-footer {
}

/* =====================================================
  3.0 - Component
===================================================== */
/* ----------------------------------------------
   3.1 section
---------------------------------------------- */
/* ---------- [ 3.11 ] util ---------- */
.c-sec {
  background: linear-gradient(180deg, var(--prev-bg-color, transparent) 50%, var(--next-bg-color, transparent) 50%);
}
/* ---------- [ 3.21 ] Hero ---------- */
.c-hero {
}
.c-hero__wrapper {
  display: flex;
  justify-content: space-between;
  padding: 12rem 0 5rem var(--offset-sm);
}
.c-hero__title {
  margin-top: 2.5rem;
  text-wrap: nowrap;
}
.c-hero__title--img {
  display: block;
  height: 5rem;
}
.c-hero__title--text {
  font-size: 2.1875rem;
  color: var(--color-key);
}
.c-hero__check {
  --check-color: var(--color-key);
  --check-f-color: var(--color-light);
  --check-circle-bg-color: var(--color-light);
  --check-arrow-color: var(--color-light);
  --check-height: 21rem;
  --check-fs: 1.375rem;
  width: 50%;
}
.c-hero--story {
}
.c-hero--story .c-hero__wrapper {
  display: grid;
  grid-template-columns: 0.8fr 1fr;
  grid-template-rows: auto 1fr;
  padding: 6.5rem 0 0 var(--offset-sm);
  height: 37.5rem;
  background-color: var(--color-beige);
}
.c-hero--story .c-hero__title {
  grid-row: 1 / 2;
  grid-column: 1 / 2;
  margin-top: 6.5rem;
  margin-bottom: 1rem;
}
.c-hero--story .c-hero__info {
  grid-row: 2 / 3;
  grid-column: 1 / 2;
  margin-bottom: 4rem;
  padding: 1.5rem 1rem;
  font-size: 1.25rem;
  background-color: var(--color-light);
}
.c-hero--story .c-hero__thumbnail {
  grid-row: -1 / 1;
  grid-column: 2 / 3;
}
.c-hero--story .c-hero__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 5%;
}
@media screen and (max-width: 768px) {
  .c-hero {
  }
  .c-hero__wrapper {
    padding: 6rem 0 3rem var(--offset-sm);
  }
  .c-hero__title {
    margin-top: 1.5rem;
  }
  .c-hero__title--img {
    height: 5vw;
  }
  .c-hero__title--text {
    font-size: 1.25rem;
  }
  .c-hero__check {
    --check-height: 7rem;
    width: 45%;
  }
  .c-hero--story {
  }
  .c-hero--story .c-hero__wrapper {
    padding: 3rem 0 0 var(--offset-sm);
    height: 20rem;
  }
  .c-hero--story .c-hero__title {
    margin-top: 4rem;
    margin-bottom: 1rem;
  }
  .c-hero--story .c-hero__info {
    margin-bottom: 1rem;
    padding: 1rem 0.5rem;
    height: fit-content;
    font-size: 0.875rem;
  }
  .c-hero--story .c-hero__thumbnail {
  }
  .c-hero--story .c-hero__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 5%;
  }
}
/* ----------------------------------------------
   3.2 parts
---------------------------------------------- */
/* ---------- [ 3.21 ] check ---------- */
/* check エフィラグループのアイコンのような図形
  <利用にあたっての注意>
  .c-checkクラスをつけた要素に以下のプロパティを持たせる
  --check-color: 図形のベースの色
  --check-f-color: 図形の文字の色
  --check-arrow-color: 矢印を使う場合、矢印の色
  --check-height: 図形の高さ
  --check-fs: 図形内の文字の大きさ
*/
.c-check {
  display: grid;
}
.c-check:has(.c-check__text:first-child) {
  grid-template-columns: 1fr var(--check-height);
}
.c-check:has(.c-check__text:last-child) {
  grid-template-columns: var(--check-height) 1fr;
}
.c-check__circle {
  position: relative;
  align-self: center;
  display: grid;
  place-items: center;
  width: var(--check-height); /* 追加 Safari15で図形の描画の問題で、中のアイコンんが中央に揃わないため */
  height: var(--check-height); /* 追加 Safari15で図形の描画の問題で、中のアイコンんが中央に揃わないため */
  /* aspect-ratio: 1 / 1; */ /* 削除 Safari15で図形の描画の問題で、中のアイコンんが中央に揃わないため */
  background-color: var(--check-circle-bg-color, transparent);
  border: calc(var(--check-height) * 0.15) solid var(--check-color);
  border-radius: 50%;
  overflow: hidden;
  z-index: 1;
}
.c-check__circle--arrow svg {
  width: 30%;
  transition: transform var(--duration-normal);
}
.c-check__circle--arrow path {
  fill: var(--check-arrow-color);
}
.c-check__circle--icon img {
  width: 60%;
}
.c-check__circle--icon svg {
  width: 80%;
  color: var(--color-key);
  stroke-width: 1;
}
.c-check__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 2rem;
  font-size: var(--check-fs);
  background-color: var(--check-color);
  color: var(--check-f-color);
}
.c-check__text img {
  width: fit-content;
  height: 0.5em;
}

.c-check__text:first-child {
  margin-right: calc(var(--check-height) * 0.15 * -1);
}
.c-check__text:last-child {
  margin-left: calc(var(--check-height) * 0.15 * -1);
}
:is(a:focus-visible, button:focus-visible) .c-check__circle--arrow svg {
  transform: translateX(calc(var(--check-height) * 0.2));
}
@media (any-hover) {
  :is(a:hover, button:hover) .c-check__circle--arrow svg {
    transform: translateX(calc(var(--check-height) * 0.2));
  }
}
@media screen and (max-width: 768px) {
  .c-check__text {
    padding: 0 0.5rem;
  }
}

/* check エフィラグループのアイコンのような図形
  外枠バージョン
  <利用にあたっての注意>
  .c-check-outlineクラスをつけた要素に以下のプロパティを持たせる
  --check-color: 図形の外枠の色
  --check-f-color: 図形の文字の色
  --check-bg-color: 図形の背面の色
  --check-height: 円の高さ
  --check-fs: 図形内の文字の大きさ
  --circle-thin: 円の太さ
  --check-b-thin: 外枠の太さ
*/
.c-check-outline {
  position: relative;
  --check-b-thin: 1px;
  --circle-thin: max(2rem, 20px);
}
.c-check-outline--circle-top {
  display: grid;
  align-items: stretch;
}
.c-check-outline--circle-top .c-check-outline__circle-front {
  grid-row: 1 / 1;
  grid-column: 1 / 1;
  left: calc(var(--check-b-thin) / 2);
  top: calc(var(--check-b-thin) / 2);
}
.c-check-outline--circle-top .c-check-outline__circle-back {
  grid-row: 1 / 1;
  grid-column: 1 / 1;
  left: calc(var(--check-b-thin) / 2 * -1);
  top: calc(var(--check-b-thin) / 2 * -1);
}
.c-check-outline--circle-top .c-check-outline__box {
  grid-row: 1 / 1;
  grid-column: 1 / 1;
  margin-top: calc(var(--check-height) - var(--circle-thin) / 2);
  width: var(--check-height);
}
.c-check-outline--circle-top .c-check-outline__text {
  grid-row: 1 / 1;
  grid-column: 1 / 1;
  margin-top: calc(var(--check-height) - var(--circle-thin) / 2);
  width: var(--check-height);
  z-index: 3;
}

.c-check-outline--circle-left {
  padding-left: calc(var(--check-height) - var(--circle-thin) / 2);
}
.c-check-outline--circle-left .c-check-outline__box {
  padding-left: calc(var(--circle-thin) / 2);
}
.c-check-outline--circle-left .c-check-outline__circle-front {
  left: calc(var(--check-b-thin) / 2);
}
.c-check-outline--circle-left .c-check-outline__circle-back {
  left: calc(var(--check-b-thin) / 2 * -1);
}
.c-check-outline--circle-left .c-check-outline__box {
  height: var(--check-height);
}

.c-check-outline--circle-right {
  padding-right: calc(var(--check-height) - var(--circle-thin) / 2);
}
.c-check-outline--circle-right .c-check-outline__box {
  padding-right: calc(var(--circle-thin) / 2);
}
.c-check-outline--circle-right .c-check-outline__circle-front {
  right: calc(var(--check-b-thin) / 2);
}
.c-check-outline--circle-right .c-check-outline__circle-back {
  right: calc(var(--check-b-thin) / 2 * -1);
}
.c-check-outline--circle-right .c-check-outline__box {
  height: var(--check-height);
}

.c-check-outline__box {
  position: relative;
  display: flex;
  align-items: center;
  font-size: var(--check-fs);
  color: var(--check-f-color);
  border: var(--check-b-thin) solid var(--check-color);
  background-color: var(--check-bg-color, var(--color-light));
  z-index: 1;
}
.c-check-outline__circle-front,
.c-check-outline__circle-back {
  position: absolute;
  display: block;
  width: var(--check-height);
  aspect-ratio: 1 / 1;
  background-color: var(--check-bg-color, var(--color-light));
  border-radius: 50%;
  box-sizing: content-box;
}
.c-check-outline__circle-front {
  top: calc(var(--check-b-thin) / 2);
  transform-origin: center;
  scale: 0.98;
  z-index: 2;
}
.c-check-outline__circle-front::before {
  position: absolute;
  inset: 0;
  content: "";
  display: block;
  margin: auto;
  width: calc(var(--check-height) - var(--circle-thin));
  aspect-ratio: 1 / 1;
  border: var(--check-b-thin) solid var(--check-color);
  border-radius: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1;
}
.c-check-outline__circle-front img {
  width: 100%;
  height: 100%;
}

.c-check-outline__circle-back {
  top: calc(var(--check-b-thin) / 2 * -1);
  border: var(--check-b-thin) solid var(--check-color);
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .c-check-outline {
    --circle-thin: max(1rem, 10px);
  }
}
/* ---------- [ 3.22 ] section title ---------- */
.c-title:not(:last-child) {
  margin-bottom: 4rem;
}
.c-title__sub {
  display: block;
  height: 7.25rem;
  margin-bottom: 3rem;
}
.c-title__sub img {
  height: 100%;
  object-fit: contain;
}
.c-title__main {
  font-size: 2.25rem;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .c-title:not(:last-child) {
    margin-bottom: 2rem;
  }
  .c-title__sub {
    height: 40px;
    margin-bottom: 16px;
  }
  .c-title__sub img {
    height: 100%;
    object-fit: contain;
  }
  .c-title__main {
    font-size: 1.25rem;
  }
}

/* ---------- [ 3.22 ] heading ---------- */
.c-heading {
  font-size: 2.25rem;
}

/* ---------- [ 3.23 ] button icon arrow ---------- */
.c-button {
  position: relative;
  display: inline-block;
  padding: 1.5em 4em;
  width: 100%;
  text-align: center;
  background-color: var(--color-light);
  color: var(--color-dark);
}
.c-button::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1em;
  content: "";
  display: block;
  margin: auto 0;
  width: 1.5em;
  height: calc(1.5em / 1.3);
  background-image: url("../img/common/icon/icon_site_icon-03.png");
  background-size: contain;
  background-repeat: no-repeat;
}
.c-button::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1.5em;
  content: "";
  display: block;
  margin: auto 0;
  width: 0.5em;
  height: calc(0.5em / 1.2);
  background-image: url("../img/common/parts/arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform var(--duration-normal);
}
.c-button--primary {
  color: var(--color-dark);
}
.c-button--primary::before {
  background-image: url("../img/common/icon/icon_site_icon-03.png");
}
.c-button--primary::after {
  background-image: url("../img/common/parts/arrow.svg");
}
.c-button--secondary {
  color: var(--color-light);
}
.c-button--secondary::before {
  background-image: url("../img/common/icon/icon_site_icon-02.png");
}
.c-button--secondary::after {
  background-image: url("../img/common/parts/arrow_02.svg");
}
.c-button:focus-visible::after {
  transform: translateX(0.3rem);
}
@media (any-hover) {
  .c-button:hover::after {
    transform: translateX(0.3rem);
  }
}
@media screen and (max-width: 768px) {
  .c-button {
    padding: 1em 2em;
  }
}

/* ---------- [ 3.24 ] button jump ---------- */
.c-button-jump {
  display: flex;
  align-items: center;
  padding: 0.8rem 1rem;
}
.c-button-jump::after {
  content: "";
  display: inline-block;
  margin-left: 1em;
  width: 1em;
  aspect-ratio: 1 / 1;
  background-image: url("../img/common/icon/icon_jump_black.png");
  background-size: contain;
  background-repeat: no-repeat;
}

/* ---------- [ 3.25 ] text jump ---------- */
.c-text-jump-01::after {
  content: "";
  display: inline-block;
  margin-left: 1em;
  width: 1em;
  height: 0.8em;
  background-image: url("../img/common/icon/icon_jump_black.png");
  background-size: contain;
  background-repeat: no-repeat;
}
.c-text-jump-02::after {
  content: "";
  display: inline-block;
  margin-left: 0.5em;
  width: 1em;
  height: 0.8em;
  background-image: url("../img/common/icon/icon_jump_white.png");
  background-size: contain;
  background-repeat: no-repeat;
}

/* ---------- [ 3.26 ] text icon ---------- */
.c-text-check {
  display: flex;
}
.c-text-check::before {
  content: "";
  display: inline-block;
  margin-top: calc((1em * 2 - 0.8em) / 2);
  margin-right: 0.5em;
  width: 1em;
  height: 0.8em;
  background-size: contain;
  background-position: 50%;
  background-repeat: no-repeat;
}
.c-text-check--01::before {
  background-image: url("../img/common/icon/icon_site_icon-01.png");
}
.c-text-check--02::before {
  background-image: url("../img/common/icon/icon_site_icon-02.png");
}
.c-text-check--03::before {
  background-image: url("../img/common/icon/icon_site_icon-03.png");
}

.c-text-search {
  display: flex;
  align-items: center;
}
.c-text-search::before {
  content: "";
  display: inline-block;
  margin-right: 0.5em;
  width: 1.2em;
  height: 1.2em;
  background-size: contain;
  background-image: url("../img/common/icon/icon_search.svg");
  background-position: 50%;
  background-repeat: no-repeat;
}
/* ---------- [ 3.27 ] text underline ---------- */
.c-text-underline {
  position: relative;
}
.c-text-underline::before {
  position: absolute;
  top: calc(100% + 0.4em);
  left: 0;
  right: 0;
  content: "";
  width: 100%;
  height: 0.1em;
  background-color: var(--line-color, currentColor);
}
.c-text-underline::after {
  position: absolute;
  top: calc(100% + 0.4em);
  right: 0;
  content: "";
  width: 0.5em;
  aspect-ratio: 1 / 1;
  border: 0.1em solid var(--line-color, currentColor);
  border-radius: 50%;
}

/* ---------- [ 3.28 ] form ---------- */
.c-form {
  margin: 0 auto;
  max-width: 62.5rem;
}
.c-form br {
  display: none;
}
.c-form__fields {
  padding: 4rem 7rem;
  border: 1px solid var(--color-key);
}
.c-form__title {
  --line-color: var(--color-key);
  --line-width: 8rem;

  margin-bottom: 6rem;
  font-size: 2.25rem;
  font-weight: 500;
  text-align: center;
}
.c-form__title::before {
  margin: 0 auto;
  width: var(--line-width);
}
.c-form__title::after {
  right: calc((100% - var(--line-width)) / 2);
}

.c-form__row:not(:last-child) {
  margin-bottom: 2.25rem;
}

.c-form__head:has(input[aria-required="true"]) .c-form__label::after {
  content: "必須";
  display: inline-block;
  margin-left: 0.5em;
  padding: 0.2em 0.5em;
  font-size: 1em;
  color: var(--color-light);
  background-color: #e76e79;
  line-height: 1;
}

.c-form__label {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  font-size: 1.25rem;
  font-weight: 500;
}
.c-form__agree {
  margin-top: 2.5rem;
}
.c-form__agree-box {
}
.c-form__agree-title {
  --line-color: var(--color-key);
  --line-width: 8rem;

  margin-bottom: 4rem;
  font-size: 2.25rem;
  font-weight: 500;
  text-align: center;
}
.c-form__agree-title::before {
  margin: 0 auto;
  width: var(--line-width);
}
.c-form__agree-title::after {
  right: calc((100% - var(--line-width)) / 2);
}

.c-form__agree-list {
  margin-bottom: 3.5rem;
  list-style: number;
  padding-left: 1.5em;
  font-size: 1.25rem;
}
.c-form__agree-list li:not(:last-child) {
  margin-bottom: 1.25rem;
}

.c-form__agree-check {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
}
.c-form__actions {
  --check-color: var(--color-gray);
  --check-f-color: var(--color-light);
  --check-circle-bg-color: var(--color-light);
  --check-arrow-color: var(--color-soft-gray);
  --check-height: 4.375rem;
  --check-fs: 1.625rem;

  margin: 3rem auto 0;
  width: 23.75rem;
}
.c-form__actions p {
  display: contents;
}
.wpcf7-spinner {
  display: none;
}
.wpcf7-text {
  padding: 1rem 2rem;
  width: 100%;
  font-size: 1.25rem;
  background-color: #f8f8f8;
  border-width: 1px;
}
.wpcf7-text::placeholder {
  color: #a7a7a7;
}
.wpcf7-textarea {
  padding: 1rem 2rem;
  width: 100%;
  font-size: 1.25rem;
  background-color: #f8f8f8;
}
.wpcf7-textarea::placeholder {
  color: #a7a7a7;
}
.wpcf7-chekbox {
}
.wpcf7-select {
  padding: 1rem 2rem;
  font-size: 1.25rem;
}
.wpcf7-response-output {
  max-width: 23.75rem;
}
.wpcf7-submit {
  border-radius: 0;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .c-form {
  }
  .c-form__fields {
    padding: 2rem 1rem;
  }
  .c-form__title {
    --line-color: var(--color-key);
    --line-width: 4rem;

    margin-bottom: 3rem;
    font-size: 1.25rem;
  }

  .c-form__row:not(:last-child) {
    margin-bottom: 1.25rem;
  }

  .c-form__head {
  }
  .c-form__label {
    margin-bottom: 0.5rem;
    font-size: 1rem;
  }
  .c-form__agree {
    margin-top: 1.5rem;
  }
  .c-form__agree-box {
  }
  .c-form__agree-title {
    --line-color: var(--color-key);
    --line-width: 4rem;

    margin-bottom: 2rem;
    font-size: 1.25rem;
  }

  .c-form__agree-list {
    margin-bottom: 2rem;
    font-size: 1rem;
  }
  .c-form__agree-list li:not(:last-child) {
    margin-bottom: 1rem;
  }

  .c-form__agree-check {
    font-size: 1rem;
  }
  .c-form__actions {
    --check-color: var(--color-gray);
    --check-f-color: var(--color-light);
    --check-circle-bg-color: var(--color-light);
    --check-arrow-color: var(--color-soft-gray);
    --check-height: 2rem;
    --check-fs: 1.25rem;

    margin: 1.5rem auto 0;
    width: 12rem;
  }
  .wpcf7-spinner {
  }
  .wpcf7-text {
    padding: 0.5rem 0.75rem;
    font-size: 0.75rem;
  }
  .wpcf7-textarea {
    padding: 0.5rem 0.75rem;
    font-size: 0.75rem;
  }
  .wpcf7-chekbox {
  }
  .wpcf7-select {
    padding: 0.5rem 0.75rem;
    font-size: 0.75rem;
  }
  .wpcf7-response-output {
  }
}

/* ---------- [ 3.29 ] page top btn ---------- */
.c-page-top {
  --button-main-color: var(--color-light);
  --button-circle-color: var(--color-dark);

  position: absolute;
  right: var(--offset-sm);
  bottom: 1.5rem;
  display: flex;
  align-items: end;
  gap: 1rem;
  width: fit-content;
}
.c-page-top__text {
  font-size: 1.125rem;
  text-transform: uppercase;
  line-height: 1.5;
}
.c-page-top__icon {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 3rem;
  height: calc(3rem + 1rem);
}
.c-page-top__icon-circle {
  position: relative;
  margin-bottom: -0.5rem;
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 0.5rem solid var(--button-main-color);
  border-radius: 50%;
  background-color: var(--button-circle-color);
}
.c-page-top__icon-circle::before {
  position: absolute;
  top: 40%;
  left: 0;
  right: 0;
  content: "";
  display: block;
  margin: 0 auto;
  width: 40%;
  aspect-ratio: 1 / 1;
  border: 0.2rem solid var(--color-light);
  border-right: none;
  border-bottom: none;
  rotate: 45deg;
  z-index: 1;
}
.c-page-top__icon-box {
  height: 100%;
  background-color: var(--button-main-color);
}
@media screen and (max-width: 768px) {
  .c-page-top {
    position: initial;
  }
  .c-page-top__text {
    display: none;
  }
}
/* =====================================================
  4.0 - Project
===================================================== */
/* ----------------------------------------------
   4.1 Layout
---------------------------------------------- */
/* ---------- [ 4.11 ] Header ---------- */
.p-header {
  height: fit-content;
}
.p-header__wrapper {
  display: grid;
  grid-template: "left button" auto/ 1fr var(--header-height);
  color: var(--color-light);
}
.p-header__left {
  grid-area: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem 1rem 2.25em;
  margin-right: calc(var(--circle-thin) * -1);
  background-color: var(--color-key);
}
.p-header__logo {
  line-height: 1;
}
.p-header__logo-inner {
  display: flex;
  gap: 3.25rem;
  align-items: center;
}
.p-header__logo-main {
  width: 10rem;
}
.p-header__logo-text {
  font-size: 1.375rem;
}
.p-header__cta {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}
.p-header__cta-item {
  padding: 0.875rem 2.75rem;
  font-size: 1.56rem;
  line-height: 1;
  background-color: var(--color-light);
  border-radius: 2rem;
  color: var(--color-gray);
}
.p-menu {
  position: fixed;
  padding: 1.375rem var(--offset-default) 0;
  width: 100vw;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity var(--duration-normal),
    visibility var(--duration-normal);
  pointer-events: none;
  z-index: 10;
}
.p-menu__wrapper {
  display: grid;
  grid-template-columns: 0.9fr 1fr;
  padding: calc(var(--header-height) + 3rem) 4rem 3rem;
  column-gap: 4rem;
  width: calc(100% - var(--header-height) + var(--circle-thin));
  color: var(--color-light);
  background-color: var(--color-key);
}

.p-menu__panel {
  position: relative;
  display: grid;
  place-items: center;
  background-color: var(--color-light);
}
.p-menu__img {
  width: 57%;
}
.p-menu__text {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  color: var(--color-gray);
  font-size: 1.125rem;
}
.p-menu__sns {
  display: flex;
  justify-content: flex-end;
  gap: 2.5rem;
  margin: 1rem 0;
}
.p-menu__sns a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: var(--color-light);
}
.p-menu__sns a img {
  width: 60%;
}
.p-nav {
  padding-bottom: 3rem;
  border-bottom: 0.0625rem solid var(--color-light);
}
.p-nav__list {
  display: grid;
  grid-template-columns: 0.8fr 1fr;
  grid-template-rows: repeat(5, auto);
  grid-auto-flow: column;
  gap: 2rem;
  grid-auto-rows: min-content;
}
.p-nav__item {
  font-size: 1.875rem;
  line-height: 1.2;
}
.p-nav__item * {
  line-height: 1.2;
}
.p-nav__item:has(.p-nav__list-sub) {
  grid-row: 1 / 3;
}
.p-nav__list-sub {
  padding-left: 1.5em;
  font-size: 1.375rem;
}
.p-nav__item-sub {
  margin-top: 0.1rem;
}
.p-nav__item-sub::before {
  content: "・";
}
.p-header__button {
  grid-area: button;
}
.p-hamburger {
  display: grid;
  place-items: center;
  width: var(--header-height);
  height: var(--header-height);
  background-color: var(--color-light);
  border: var(--circle-thin) solid var(--color-key);
  border-radius: 50%;
}
.p-hamburger:focus-visible {
  opacity: 1;
}
@media (any-hover) {
  .p-hamburger:hover {
    opacity: 1;
  }
}
.p-hamburger__line {
  position: relative;
  width: 54%;
  height: 0.125rem;
  background-color: transparent;
  color: var(--color-gray);
}
.p-hamburger__line::before,
.p-hamburger__line::after {
  position: absolute;
  inset: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: currentColor;
  transition: transform var(--duration-normal);
}
.p-hamburger__line::before {
  transform: translateY(0.3rem);
}
.p-hamburger__line::after {
  transform: translateY(-0.3rem);
}
/* ドロワーメニューが開いてる時 */
body::before {
  position: fixed;
  inset: 0;
  content: "";
  background-color: var(--color-dark);
  opacity: 0;
  visibility: hidden;
  z-index: 9;
  transition:
    opacity var(--duration-normal),
    visibility var(--duration-normal);
  pointer-events: none;
}
body.is-drawer-open {
  height: 100vh;
  overflow: hidden;
}
body.is-drawer-open::before {
  opacity: 0.5;
  visibility: visible;
  pointer-events: auto;
}
.is-drawer-open .p-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: initial;
}
.is-drawer-open .p-hamburger__line::before {
  transform: translateY(0) rotate(200deg);
}
.is-drawer-open .p-hamburger__line::after {
  transform: translateY(0) rotate(-200deg);
}

@media screen and (max-width: 768px) {
  .p-header__wrapper {
  }
  .p-header__left {
    padding: 0.25rem 0.5rem;
  }
  .p-header__logo-inner {
    gap: 1rem;
  }
  .p-header__logo-main {
    width: 4rem;
  }
  .p-header__logo-text {
    font-size: 0.75rem;
  }
  .p-header__cta {
    gap: 0.5rem;
  }
  .p-header__cta-item {
    padding: 0.5rem 1rem;
    font-size: 0.75rem;
    line-height: 1;
  }
  .p-menu {
    padding: 0.5rem var(--offset-default) 0;
  }
  .p-menu__wrapper {
    grid-template-columns: 1fr;
    grid-template-rows: 20vh auto;
    padding: calc(var(--header-height) + 1rem) 1rem 1rem;
    row-gap: 2rem;
    width: calc(100% - var(--header-height) + var(--circle-thin) + var(--offset-default));
  }

  .p-menu__panel {
    position: relative;
    display: grid;
    place-items: center;
    background-color: var(--color-light);
  }
  .p-menu__img {
    width: 60%;
    height: 40%;
    object-fit: contain;
  }
  .p-menu__text {
    right: 1rem;
    bottom: 1rem;
    font-size: 0.75rem;
  }
  .p-menu__sns {
    gap: 1rem;
    margin: 1rem 0;
  }
  .p-menu__sns a {
    width: 2.5rem;
  }
  .p-menu__sns a img {
    width: 40%;
  }
  .p-nav {
    padding-bottom: 1.5rem;
  }
  .p-nav__list {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
  .p-nav__item {
    font-size: 0.875rem;
  }
  .p-nav__item--left {
  }
  .p-nav__item--right {
  }
  .p-nav__list-sub {
    padding-left: 0;
    font-size: 0.75rem;
  }
  .p-nav__item-sub {
    margin-top: 0.1rem;
  }
  .p-nav__item-sub::before {
    content: "・";
  }
}
@media screen and (max-width: 600px) {
  .p-header__logo-inner {
    gap: 0.5rem;
  }
  .p-header__logo-main {
    width: 3rem;
  }
  .p-header__logo-text {
    font-size: clamp(0.5rem, 2.667vw, 0.75rem);
  }
  .p-header__cta {
    gap: 0.5rem;
  }
  .p-header__cta-item {
    padding: 0.7em 1.3em;
    font-size: clamp(0.5rem, 2.667vw, 0.75rem);
  }
}
/* ---------- [ 4.12 ] Footer ---------- */
.p-footer {
}
.p-footer__wrapper {
  position: relative;
  display: grid;
  grid-template:
    "panel menu cta" auto
    "copy copy copy" auto / 1fr 1fr auto;
  padding: 6.5rem var(--offset-sm) 1.5rem;
  background-color: var(--color-dark-gray);
  color: var(--color-light);
}
.p-footer__panel {
  grid-area: panel;
}
.p-footer__siteName {
  display: inline-flex;
  gap: 3.25rem;
  align-items: center;
  margin-bottom: 3rem;
}
.p-footer__siteName-main {
  width: 14rem;
}
.p-footer__siteName-sub {
  align-self: flex-end;
  padding-bottom: 0.3rem;
  font-size: 1.875rem;
  line-height: 1.2;
}
.p-footer__info {
}
.p-footer__group {
  margin-bottom: 3rem;
  font-size: 1.375rem;
  line-height: 1.2;
}
.p-footer__address {
}
.p-footer__postal {
  font-size: 1rem;
  line-height: 1.2;
}
.p-footer__lines {
  font-size: 1.375rem;
}
.p-footer__menu {
  grid-area: menu;
}
.p-footer__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(5, auto);
  grid-auto-flow: column;
  gap: 3rem;
  grid-auto-rows: min-content;
}
.p-footer__item {
  font-size: 1.875rem;
  line-height: 1.2;
}
.p-footer__item * {
  line-height: 1.2;
}
.p-footer__item:has(.p-footer__list-sub) {
  grid-row: 1 / 3;
}
.p-footer__list-sub {
  padding-left: 1.5em;
  font-size: 1.375rem;
}
.p-footer__item-sub {
  margin-top: 0.1rem;
}
.p-footer__item-sub::before {
  content: "・";
}
.p-footer__cta {
  grid-area: cta;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 21.875rem;
}
.p-footer__cta-check {
  --check-color: var(--color-light);
  --check-f-color: var(--color-dark-gray);
  --check-circle-bg-color: var(--color-dark-gray);
  --check-arrow-color: var(--color-light);
  --check-height: 3.8rem;
  --check-fs: 1.375rem;
}
.p-footer__cta-check .c-check__text {
  padding: 0 0.5rem;
}
.p-footer__copy {
  grid-area: copy;
  margin-top: 5rem;
  text-align: center;
}
.p-footer__copy small {
  font-size: 1rem;
}

@media screen and (max-width: 768px) {
  .p-footer {
  }
  .p-footer__wrapper {
    grid-template:
      "menu menu" auto
      "cta cta" auto
      "panel panel" auto
      "copy top" auto / 1fr 3rem;
    justify-content: center;
    row-gap: 2rem;
    padding: 3rem var(--offset-sm) 1rem;
  }
  .p-footer__panel {
    text-align: center;
  }
  .p-footer__siteName {
    gap: 1rem;
    margin-bottom: 1rem;
  }
  .p-footer__siteName-main {
    width: 8rem;
  }
  .p-footer__siteName-sub {
    font-size: 1.125rem;
  }
  .p-footer__info {
  }
  .p-footer__group {
    margin-bottom: 1.5rem;
    font-size: 1.25rem;
  }
  .p-footer__address {
  }
  .p-footer__postal {
    font-size: 0.875rem;
  }
  .p-footer__lines {
    font-size: 1rem;
  }
  .p-footer__menu {
    justify-self: center;
    width: 100%;
    max-width: 28.125rem;
  }
  .p-footer__list {
    gap: 1rem;
  }
  .p-footer__item {
    font-size: 1rem;
  }
  .p-footer__item--left {
  }
  .p-footer__item--right {
  }
  .p-footer__list-sub {
    padding-left: 0;
    font-size: 0.75rem;
  }
  .p-footer__item-sub {
    margin-top: 0.1rem;
  }
  .p-footer__cta {
    justify-self: center;
    width: 80%;
    max-width: 350px;
  }
  .p-footer__cta-check {
    --check-height: 2.5rem;
    --check-fs: 1rem;
  }
  .p-footer__cta-check .c-check__text {
  }
  .p-footer__copy {
    margin-top: 2rem;
  }
  .p-footer__copy small {
    font-size: 0.75rem;
  }
}

/* ----------------------------------------------
   4.2 Section & Parts
---------------------------------------------- */
/* ---------- [ 4.21 ] recruit ---------- */
.p-recruit {
}
.p-recruit__wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 8rem;
  align-items: center;
  padding: 4rem var(--offset-lg) 4rem var(--offset-xl);
  background-color: var(--color-light);
}
.p-recruit__content {
  padding-top: 9rem;
  /* text-align: center; */
}
.p-recruit__copy {
  margin-bottom: 3rem;
  /* font-size: 2.5rem; */
  /* font-family: "Yu Gothic", "YuGothic"; */
  /* color: var(--color-olive-dark); */
  /* font-feature-settings: "palt"; */
}
.p-recruit__title {
  /* text-align: left; */
  /* color: var(--color-key); */
}
.p-recruit__card {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-recruit__img {
  width: 33rem;
  aspect-ratio: 1 / 1;
  border: 4rem solid var(--color-key);
  border-radius: 50%;
  overflow: hidden;
}
.p-recruit__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-recruit__links {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: -4rem;
  padding: 3rem 4rem;
  background-color: var(--color-key);
}
.p-recruit__links li {
  width: 33.4rem;
}
@media screen and (max-width: 768px) {
  .p-recruit {
  }
  .p-recruit__wrapper {
    grid-template-columns: 1fr;
    column-gap: 4rem;
    padding: 2rem var(--offset-lg);
  }
  .p-recruit__content {
    padding-top: 0;
  }
  .p-recruit__copy {
    margin-bottom: 1.25rem;
    font-size: 1.25rem;
    font-feature-settings: "palt";
  }
  .p-recruit__title {
    margin-bottom: 2rem;
  }
  .p-recruit__title img {
  }
  .p-recruit__card {
  }
  .p-recruit__img {
    width: 80%;
    aspect-ratio: 1 / 1;
    border: 8.5vw solid var(--color-key);
    border-radius: 50%;
    overflow: hidden;
  }
  .p-recruit__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .p-recruit__links {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: -8.5vw;
    padding: 1.5rem 2rem;
    width: 100%;
  }
  .p-recruit__links li {
    width: 100%;
  }
}
/* ---------- [ 4.22 ] blog sns ---------- */
.p-blog {
}
.p-blog__wrapper {
  position: relative;
  display: grid;
  grid-template:
    "title staff" auto
    "list list" auto / 1fr 0.7fr;
  justify-content: center;
  align-items: center;
  row-gap: 7rem;
  padding: 12rem var(--offset-sm) 6rem;
  background-color: var(--color-beige);
}
.p-blog__title {
  grid-area: title;
  padding-left: 5rem;
  width: 42.75rem;
  max-width: 90%;
}
.p-blog__staff {
  --check-color: var(--color-key);
  --check-f-color: var(--color-light);
  --check-circle-bg-color: var(--color-light);
  --check-height: 180px;
  --check-fs: 2.25rem;
  grid-area: staff;
  width: 41.625rem;
  max-width: 90%;
  line-height: 1.4;
}
.p-blog__list {
  grid-area: list;
  display: grid;
  /* grid-template-columns: repeat(auto-fill, min(26rem, 600px)); */
  grid-template-columns: 1fr 1fr 1fr 1fr;
  justify-content: center;
  gap: 1rem;
}
.p-blog__item-check {
  --check-color: var(--color-key);
  --check-f-color: var(--color-light);
  --check-circle-bg-color: var(--color-light);
  --check-height: 120px;
  --check-fs: 1.25rem;
  height: 100%;
  line-height: 1.4;
}

@media screen and (max-width: 768px) {
  .p-blog {
  }
  .p-blog__wrapper {
    grid-template:
      "title" auto
      "staff" auto
      "list" auto / 1fr;
    row-gap: 3rem;
    padding: 6rem var(--offset-sm) 3rem;
  }
  .p-blog__title {
    padding-left: 0;
    width: 100%;
    height: 40px;
  }
  .p-blog__title img {
    margin: 0 auto;
    height: 100%;
  }
  .p-blog__staff {
    --check-height: 96px;
    --check-fs: min(1.5rem, 26px);
    width: 20rem;
    max-width: 95vw;
    justify-self: center;
  }
  .p-blog__list {
    grid-area: list;
    display: grid;
    grid-template-columns: repeat(auto-fill, min(16rem, 95vw));
    gap: 1rem;
  }

  .p-blog__item-check {
    --check-height: 64px;
    --check-fs: min(0.875rem, 1.125rem);
  }
}
/* ---------- [ 4.23 ] banner ---------- */
.p-banner {
}
.p-banner__wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.25rem;
  padding: 11rem var(--offset-lg);
  background-color: var(--color-light-dark);
}
.p-banner__wrapper img {
  width: 100%;
}
.p-banner__wrapper::before {
  position: absolute;
  top: 3rem;
  left: var(--offset-sm);
  content: "";
  background-image: url("../img/common/icon/icon_site_icon-02.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 2.5rem;
  aspect-ratio: 1.3 / 1;
}
@media screen and (max-width: 768px) {
  .p-banner__wrapper {
    grid-template-columns: 1fr;
    align-items: center;
    gap: 1rem;
    padding: 4.5rem var(--offset-lg);
  }
  .p-banner__wrapper::before {
    top: 1.5rem;
  }
}

/* ---------- [ 4.23 ] staffCard ---------- */
.p-staffCard {
  border: 1px solid var(--color-gray);
}
.p-staffCard__link {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  justify-content: center;
  /* width: 350px; */
}
.p-staffCard__meta {
  --check-color: var(--color-key);
  --check-f-color: var(--color-light);
  --check-circle-bg-color: var(--color-light);
  --check-arrow-color: var(--color-gray);
  --check-height: 5rem;
  --check-fs: 1.25rem;

  position: relative;
  grid-column: 1 / 1;
  grid-row: 1 / 1;
  align-self: end;
  margin: var(--offset-default);
  line-height: 1.4;
  z-index: 1;
}
.p-staffCard__meta .c-check__text {
  padding: 0.5rem 2rem;
}
.p-staffCard__thumbnail {
  grid-column: 1 / 1;
  grid-row: 1 / 1;
  width: 100%;
  aspect-ratio: 0.76 / 1;
}
.p-staffCard__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
@media screen and (max-width: 768px) {
  .p-staffCard {
  }
  .p-staffCard__link {
    /* width: 250px; */
  }
  .p-staffCard__meta {
    --check-height: 3rem;
    --check-fs: 0.875rem;
  }
  .p-staffCard__meta .c-check__text {
    padding: 0.3rem 1rem;
  }
}
/* ----------------------------------------------
   4.3 Top Page
---------------------------------------------- */
/* ---------- [ 4.36 ] fv ---------- */
.p-fv {
  position: relative;
  height: 66.875rem;
}
.p-fv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 8%;
}

.p-fv__copy {
  position: absolute;
  left: var(--offset-sm);
  bottom: 8rem;
  font-size: 3.75rem;
  line-height: 1.6;
}
.p-fv__copy span {
  display: inline-block;
  margin: 1rem 0;
  padding: 0 1.25rem;
  background-color: var(--color-key);
}

@media screen and (max-width: 768px) {
  .p-fv {
    height: 30rem;
  }
  .p-fv img {
    object-position: center top;
  }
  .p-fv__copy {
    bottom: 3rem;
    font-size: 1.75rem;
  }
  .p-fv__copy span {
    margin: 0.5rem 0;
    padding: 0 0.75rem;
  }
}

/* ---------- [ 4.36 ] about ---------- */
.p-about {
}
.p-about__wrapper {
  position: relative;
  padding: 8rem var(--offset-sm) 8rem var(--offset-lg);
  background-color: var(--color-light);
  display: grid;
  grid-template:
    "content thumbnail" auto
    "nav thumbnail" 1fr / 52.5rem 1fr;
  column-gap: 2rem;
}
.p-about__wrapper::before {
  position: absolute;
  top: 3rem;
  right: var(--offset-sm);
  content: "";
  background-image: url("../img/common/icon/icon_site_icon-01.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 2.5rem;
  aspect-ratio: 1.3 / 1;
}
.p-about__decor {
  position: absolute;
  top: 2rem;
  left: var(--offset-default);
  width: 7.31rem;
}
.p-about__content {
  grid-area: content;
  margin-bottom: 5rem;
}
.p-about__title {
  margin-bottom: 4rem;
  font-size: 2.25rem;
  line-height: 1.2;
}
.p-about__nav {
  grid-area: nav;
  display: grid;
  grid-template-columns: 23rem 1fr;
  grid-template-rows: 25.5rem;
  column-gap: 1.25rem;
}
.p-about__nav--img {
  border-radius: 20px;
  overflow: hidden;
}
.p-about__nav--img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-about__links {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.p-about__links-check {
  --check-color: var(--color-key);
  --check-f-color: var(--color-light);
  --check-circle-bg-color: var(--color-light);
  --check-arrow-color: var(--color-key);
  --check-height: 7.5rem;
  --check-fs: 1.125rem;
}
.p-about__thumbnail {
  grid-area: thumbnail;
}
.p-about__thumbnail-01 {
  margin-top: 4rem;
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
}
.p-about__thumbnail-02 {
  margin-top: -8rem;
  margin-left: auto;
  width: 73%;
}

@media screen and (max-width: 768px) {
  .p-about {
  }
  .p-about__wrapper {
    position: relative;
    padding: 3rem var(--offset-sm);
    grid-template:
      "decor" auto
      "content" auto
      "nav" auto
      "thumbnail" auto / 1fr;
    column-gap: 2rem;
  }
  .p-about__wrapper::before {
    top: 1rem;
  }
  .p-about__decor {
    grid-area: decor;
    position: initial;
    margin-bottom: 0.875rem;
    width: 100%;
    height: 40px;
  }
  .p-about__decor img {
    height: 100%;
  }
  .p-about__content {
    margin-bottom: 2rem;
  }
  .p-about__title {
    margin-bottom: 1.25rem;
    font-size: 1.25rem;
  }
  .p-about__nav {
    grid-template-columns: 13.5rem 1fr;
    grid-template-rows: auto;
    column-gap: 0.5rem;
  }
  .p-about__links {
    gap: 0.75rem;
  }
  .p-about__links-check {
    --check-height: 4rem;
    --check-fs: 0.875rem;
  }
  .p-about__thumbnail {
    grid-area: thumbnail;
  }
  .p-about__thumbnail-01 {
    margin-top: 2rem;
  }
  .p-about__thumbnail-02 {
    margin-top: -128px;
    margin-left: auto;
  }
}

/* ---------- [ 4.36 ] staff ---------- */
.p-staff {
}
.p-staff__wrapper {
  position: relative;
  padding: 6rem var(--offset-sm) 6rem var(--offset-lg);
  background-color: var(--color-key);
  color: var(--color-light);
  overflow-x: hidden;
}
.p-staff__wrapper::before {
  position: absolute;
  top: 2rem;
  right: var(--offset-sm);
  content: "";
  background-image: url("../img/common/icon/icon_site_icon-02-lg.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 39rem;
  aspect-ratio: 1.3 / 1;
}
.p-staff__decor {
  position: absolute;
  top: 2rem;
  left: var(--offset-default);
  width: 7.31rem;
}
.p-staff__title {
  margin-bottom: 4rem;
  font-size: 2.25rem;
  line-height: 1.2;
}
.p-staff__text {
  margin-bottom: 4rem;
}
.p-staff__list {
  position: relative;
}
.p-staff__list::before {
  position: absolute;
  left: -0.5rem;
  bottom: 4.5rem;
  content: "";
  display: block;
  width: 110%;
  height: 6rem;
  background-color: var(--color-light);
}
.p-staff__nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2.5rem;
  padding-right: var(--offset-lg);
}
.p-staff__prev,
.p-staff__next {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: min(3rem, 48px);
  height: min(3rem, 48px);
  border-radius: 50%;
  background-color: var(--color-light);
  border: none;
  color: var(--color-gray);
}
.p-staff__more {
  width: 17.5rem;
  font-family: "Yu Gothic", "YuGothic";
  font-weight: 700;
}
.p-staff__nav-check {
  --check-color: var(--color-gray);
  --check-f-color: var(--color-light);
  --check-circle-bg-color: var(--color-key);
  --check-arrow-color: var(--color-gray);
  --check-height: 3rem;
  --check-fs: 1.375rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-staff {
  }
  .p-staff__wrapper {
    padding: 3rem var(--offset-sm);
  }
  .p-staff__wrapper::before {
    position: absolute;
    top: 15rem;
    right: -0.5rem;
    width: 45%;
  }
  .p-staff__decor {
    position: initial;
    height: 40px;
    margin-bottom: 0.875rem;
  }
  .p-staff__decor img {
    width: 100%;
    height: 100%;
  }
  .p-staff__title {
    margin-bottom: 1.25rem;
    font-size: 1.25rem;
  }
  .p-staff__text {
    margin-bottom: 3.5rem;
  }
  .p-staff__list {
  }
  .p-staff__list::before {
    position: absolute;
    left: calc(var(--offset-default) * -1);
    bottom: 4.5rem;
    width: 100vw;
    height: 4.5rem;
  }
  .p-staff__nav {
  }
  .p-staff__prev,
  .p-staff__next {
  }
  .p-staff__more {
    width: 11.5rem;
  }
  .p-staff__nav-check {
    --check-height: 2rem;
    --check-fs: 0.875rem;
  }
}

/* ---------- [ 4.36 ] one day ---------- */
.p-oneday {
}
.p-oneday__wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 4rem;
  padding: 4rem var(--offset-md);
  background-color: var(--color-beige);
}
.p-oneday__content {
  padding: 3rem 0;
}
.p-oneday__text {
  margin-bottom: 4rem;
}
.p-oneday__button {
  width: 17.5rem;
  text-align: center;
  font-family: "Yu Gothic", "YuGothic";
  font-weight: 700;
}
.p-oneday__links-check {
  --check-color: var(--color-gray);
  --check-f-color: var(--color-light);
  --check-circle-bg-color: var(--color-beige);
  --check-arrow-color: var(--color-gray);
  --check-height: 3rem;
  --check-fs: 1.375rem;
}
.p-oneday__thumbnail {
  position: relative;
}
.p-oneday__thumbnail img {
  border-radius: 20px;
}
@media screen and (max-width: 768px) {
  .p-oneday {
  }
  .p-oneday__wrapper {
    grid-template-columns: 1fr;
    row-gap: 2rem;
    padding: 2rem var(--offset-md);
  }
  .p-oneday__content {
    padding: 0;
  }
  .p-oneday__text {
    margin-bottom: 2rem;
  }
  .p-oneday__button {
    width: 11.5rem;
    text-align: center;
    font-family: "Yu Gothic", "YuGothic";
    font-weight: 700;
  }
  .p-oneday__links-check {
    --check-height: 2rem;
    --check-fs: 0.875rem;
  }
  .p-oneday__thumbnail {
  }
}

/* ---------- [ 4.36 ] benefits ---------- */
.p-benefits {
}
.p-benefits__wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 0.8fr 1fr;
  column-gap: 8rem;
  padding: 4rem var(--offset-md);
  background-color: var(--color-blue);
  color: var(--color-light);
}
.p-benefits__visual {
  position: relative;
}
.p-benefits__visual::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  content: "";
  display: block;
  width: 12.5rem;
  height: 100%;
  background-color: var(--color-key);
  z-index: 0;
}
.p-benefits__thumbnail {
  position: relative;
  width: 31.875rem;
  aspect-ratio: 1 / 1;
  border: 4.375rem solid var(--color-key);
  border-radius: 50%;
  background-color: white;
  overflow: hidden;
  z-index: 1;
}
.p-benefits__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-benefits__text {
  margin-bottom: 3rem;
}
.p-benefits__button {
  width: 17.5rem;
  text-align: center;
  font-family: "Yu Gothic", "YuGothic";
  font-weight: 700;
}
.p-benefits__links-check {
  --check-color: var(--color-light);
  --check-f-color: var(--color-gray);
  --check-circle-bg-color: var(--color-blue);
  --check-arrow-color: var(--color-light);
  --check-height: 3rem;
  --check-fs: 1.375rem;
}
@media screen and (max-width: 768px) {
  .p-benefits {
  }
  .p-benefits__wrapper {
    grid-template-columns: 1fr;
    column-gap: 4rem;
    padding: 2rem var(--offset-md);
  }
  .p-benefits__visual {
    margin-bottom: 2rem;
  }
  .p-benefits__visual::before {
    width: 35%;
  }
  .p-benefits__thumbnail {
    width: 75%;
    border: 8.5vw solid var(--color-key);
  }
  .p-benefits__thumbnail img {
  }
  .p-benefits__text {
    margin-bottom: 1.5rem;
  }
  .p-benefits__button {
    width: 11.5rem;
  }
  .p-benefits__links-check {
    --check-height: 2rem;
    --check-fs: 0.875rem;
  }
}

/* ---------- [ 4.37 ] career ---------- */
.p-career {
}
.p-career__wrapper {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto 1fr;
  padding: 4rem var(--offset-md);
  background-color: var(--color-key);
  color: var(--color-light);
}
.p-career__title {
  grid-column: 1 / 1;
  grid-row: 1 / 2;
  z-index: 1;
}
.p-career__text {
  grid-column: 1 / 1;
  grid-row: 2 / 3;
  margin-bottom: 3rem;
  z-index: 1;
}
.p-career__button {
  grid-column: 1 / 1;
  grid-row: 3 / 4;
  width: 17.5rem;
  text-align: center;
  font-family: "Yu Gothic", "YuGothic";
  font-weight: 700;
  z-index: 1;
}
.p-career__links-check {
  --check-color: var(--color-light);
  --check-f-color: var(--color-gray);
  --check-circle-bg-color: var(--color-key);
  --check-arrow-color: var(--color-light);
  --check-height: 3rem;
  --check-fs: 1.375rem;
}
.p-career__thumbnail {
  grid-column: 1 / 1;
  grid-row: 1 / 4;
  justify-self: end;
  margin-top: 2rem;
  width: 48.75rem;
  border-radius: 20px;
  overflow: hidden;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .p-career {
  }
  .p-career__wrapper {
    grid-template-rows: auto auto auto auto;
    padding: 2rem var(--offset-md);
  }
  .p-career__title {
  }
  .p-career__text {
    margin-bottom: 1.5rem;
  }
  .p-career__button {
    margin-bottom: 2rem;
    width: 11.5rem;
  }
  .p-career__links-check {
    --check-height: 2rem;
    --check-fs: 0.875rem;
  }
  .p-career__thumbnail {
    grid-row: 4 / 5;
    justify-self: center;
    margin-top: 0;
    width: 100%;
  }
}

/* ---------- [ 4.38 ] flow ---------- */
.p-flow {
}
.p-flow__wrapper {
  position: relative;
  display: grid;
  padding: 4rem var(--offset-md);
  background-color: var(--color-light);
}
.p-flow__title {
}
.p-flowBlock {
  margin: 0 7rem;
}
.p-flowBlock + .p-flowBlock {
  margin-top: 5rem;
  padding-top: 5rem;
  border-top: 0.375rem solid var(--color-key);
}
.p-flowBlock--fresh {
  --flow-color: var(--color-key);
}
.p-flowBlock--career {
  --flow-color: var(--color-blue);
}
.p-flowBlock__head {
  width: 24.125rem;
  margin-bottom: 1.7rem;
}
.p-flowBlock__heading {
  --check-color: var(--flow-color);
  --check-f-color: var(--color-light);
  --check-circle-bg-color: var(--color-light);
  --check-height: 7.5rem;
  --check-fs: 2.25rem;
  line-height: 1.4;
}
.p-flowBlock__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, 13rem);
  gap: 3rem;
  justify-content: space-between;
  margin-bottom: 2rem;
}
.p-flowBlock__item {
  position: relative;
}
.p-flowBlock__item img {
  width: 100%;
}
.p-flowBlock__item-body {
  position: absolute;
  top: 50%;
  display: grid;
  place-items: center;
  width: 100%;
  height: 50%;
  text-align: center;
}
.p-flowBlock__item-title {
  align-self: end;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
}
.p-flowBlock__item-place {
  align-self: start;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
}
.p-flowBlock__item--goal {
  color: var(--color-light);
}
.p-flowBlock__item--goal .p-flowBlock__item-title {
  align-self: center;
}
.p-flowBlock__note {
  margin-bottom: 3rem;
}
.p-flowBlock__note li {
  position: relative;
  padding-left: 1.5em;
}
.p-flowBlock__note li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
  display: inline-block;
  font-size: inherit;
  line-height: inherit;
}
.p-flowBlock__cta {
  text-align: right;
}
.p-flowBlock__button {
  width: 33.4rem;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.2;
  background-color: var(--flow-color);
}
@media screen and (max-width: 768px) {
  .p-flow {
  }
  .p-flow__wrapper {
    padding: 2rem var(--offset-md);
  }
  .p-flow__title {
  }
  .p-flowBlock {
    margin: 0;
  }
  .p-flowBlock + .p-flowBlock {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 0.125rem solid var(--color-key);
  }
  .p-flowBlock--fresh {
  }
  .p-flowBlock--career {
  }
  .p-flowBlock__head {
    width: 12.5rem;
    margin-bottom: 1rem;
  }
  .p-flowBlock__heading {
    --check-height: 4rem;
    --check-fs: 1.25rem;
    line-height: 1.4;
  }
  .p-flowBlock__list {
    grid-template-columns: repeat(auto-fill, 10rem);
    gap: 1.5rem;
    justify-content: center;
    margin-bottom: 1.5rem;
  }
  .p-flowBlock__item {
  }
  .p-flowBlock__item-body {
    position: absolute;
    top: 50%;
    display: grid;
    place-items: center;
    width: 100%;
    height: 50%;
    text-align: center;
  }
  .p-flowBlock__item-title {
    font-size: 1.125rem;
  }
  .p-flowBlock__item-place {
    font-size: 0.875rem;
  }
  .p-flowBlock__item--goal {
  }
  .p-flowBlock__item--goal .p-flowBlock__item-title {
  }
  .p-flowBlock__note {
    margin-bottom: 1.5rem;
  }
  .p-flowBlock__note li {
  }
  .p-flowBlock__note li::before {
    line-height: inherit;
  }
  .p-flowBlock__cta {
  }
  .p-flowBlock__button {
    width: 100%;
    max-width: 400px;
    font-size: 1.25rem;
  }
}

/* ---------- [ 4.39 ] group ---------- */
.p-group {
}
.p-group__wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  padding: 4rem 0 12rem var(--offset-sm);
  background-color: var(--color-light);
}
.p-group__decor {
  width: 44rem;
  max-width: 90%;
}
.p-group__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: start;
  height: 39.375rem;
  padding: 4rem var(--offset-sm) 4rem 4rem;
  color: var(--color-light);
  background-color: var(--color-dark-gray);
}
.p-group__title {
  font-size: 2.25rem;
  font-weight: 700;
  margin-bottom: 4.5rem;
}
.p-group__text {
  margin-bottom: 4rem;
}
.p-group__button a {
  padding: 0.5rem 1rem;
  background-color: var(--color-light);
  color: var(--color-dark-gray);
}
@media screen and (max-width: 768px) {
  .p-group {
  }
  .p-group__wrapper {
    grid-template-columns: 1fr;
    padding: 4rem 0 4rem var(--offset-sm);
  }
  .p-group__decor {
    margin-bottom: 3rem;
    width: 70%;
    max-width: 400px;
  }
  .p-group__content {
    margin-left: auto;
    height: auto;
    padding: 2rem var(--offset-sm) 2rem 2rem;
  }
  .p-group__title {
    font-size: 1.5rem;
    margin-bottom: 3rem;
  }
  .p-group__text {
    margin-bottom: 2rem;
  }
  .p-group__button a {
    padding: 0.5em 1em;
  }
}

/* ----------------------------------------------
   4.4 career detail
---------------------------------------------- */
/* ---------- [ 4.41 ] intro ---------- */
.p-career-detail__intro {
}
.p-career-detail__intro-wrapper {
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  column-gap: 4rem;
  padding: 4rem var(--offset-md);
}
.p-career-detail__intro-content {
  margin-top: 4rem;
}
.p-career-detail__intro-title {
  margin-bottom: 2rem;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.2;
}
.p-career-detail__intro-text {
}
.p-career-detail__intro-photos {
  display: grid;
  grid-template:
    "p1 p1 p1 .  p2 p2 p2 .  ." auto
    ".  .  p3 p3 p3 .  p4 p4 p4" auto
    / 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  align-items: center;
  row-gap: 1rem;
}
.p-career-detail__intro-photo {
  width: 17.5rem;
  border-radius: 20px;
  overflow: hidden;
}
.p-career-detail__intro-photo--01 {
  grid-area: p1;
}
.p-career-detail__intro-photo--02 {
  grid-area: p2;
}
.p-career-detail__intro-photo--03 {
  grid-area: p3;
}
.p-career-detail__intro-photo--04 {
  grid-area: p4;
}
@media screen and (max-width: 768px) {
  .p-career-detail__intro {
  }
  .p-career-detail__intro-wrapper {
    grid-template-columns: 1fr;
    row-gap: 2rem;
    padding: 2rem var(--offset-md);
  }
  .p-career-detail__intro-content {
    margin-top: 2rem;
  }
  .p-career-detail__intro-title {
    margin-bottom: 1rem;
    font-size: 1.25rem;
  }
  .p-career-detail__intro-text {
  }
  .p-career-detail__intro-photos {
  }
  .p-career-detail__intro-photo {
    width: 100%;
  }
}

/* ---------- [ 4.42 ] imagine ---------- */
.p-career-detail__imagine {
}
.p-career-detail__imagine-wrapper {
  padding: 6rem var(--offset-md);
}
.p-career-detail__imagine-title {
  align-items: center;
  margin-bottom: 3rem;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.2;
}
.p-career-detail__imagine-title::before {
  margin-top: 0;
}
.p-career-detail__imagine-thumbnail {
  margin-left: 3.375rem;
  width: 90%;
}
@media screen and (max-width: 768px) {
  .p-career-detail__imagine {
  }
  .p-career-detail__imagine-wrapper {
    padding: 3rem var(--offset-md);
  }
  .p-career-detail__imagine-title {
    margin-bottom: 1.5rem;
    font-size: 1.25rem;
  }
  .p-career-detail__imagine-thumbnail {
    margin: 0 auto;
    width: 100%;
  }
}

/* ---------- [ 4.43 ] job ---------- */
.p-career-detail__job {
}
.p-career-detail__job-wrapper {
  position: relative;
  padding: 4rem var(--offset-xl);
  background-color: var(--color-key);
  text-align: center;
}
.p-career-detail__job-title {
  display: inline-block;
  margin: 0 auto 3rem;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-yellow);
}
.p-career-detail__job-decor {
  position: absolute;
  top: 10rem;
  left: var(--offset-default);
  width: 6.25rem;
}
.p-career-detail__job-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-content: center;
  align-items: center;
  column-gap: 5rem;
  row-gap: 2.5rem;
}
.p-career-detail__job-item {
  --circle-thin: max(2.5rem, 40px);

  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
}
.p-career-detail__job-item-img {
  margin: 0 auto;
  width: calc(40% + (var(--circle-thin) * 2));
  border-radius: 50%;
  border: var(--circle-thin) solid var(--color-light);
}
.p-career-detail__job-item-body {
  margin-top: calc(var(--circle-thin) * -1);
  padding: 2.5rem 1.5rem 1.5rem;
  background-color: var(--color-light);
}
.p-career-detail__job-item-title {
  margin-bottom: 1.5rem;
  padding: 1.5rem;
  font-size: 1.875rem;
  font-weight: 700;
  background-color: var(--color-key);
  color: var(--color-light);
  text-align: center;
  line-height: 1.5;
}
.p-career-detail__job-item-title small {
  font-size: 0.7em;
}
.p-career-detail__job-item-text {
}
@media screen and (max-width: 768px) {
  .p-career-detail__job {
  }
  .p-career-detail__job-wrapper {
    padding: 2rem var(--offset-xl);
  }
  .p-career-detail__job-title {
    margin-bottom: 2rem;
    font-size: 1.25rem;
  }
  .p-career-detail__job-decor {
    position: initial;
    margin-bottom: 0.875rem;
    width: 100%;
    height: 40px;
    text-align: center;
  }
  .p-career-detail__job-decor img {
    height: 100%;
  }
  .p-career-detail__job-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 400px));
    column-gap: 1.5rem;
    row-gap: 2rem;
  }
  .p-career-detail__job-item {
    --circle-thin: max(1.5rem, 24px);
  }
  .p-career-detail__job-item-img {
  }
  .p-career-detail__job-item-body {
    margin-top: calc(var(--circle-thin) * -1);
    padding: 1.5rem 1rem 1rem;
  }
  .p-career-detail__job-item-title {
    margin-bottom: 1rem;
    padding: 0.5rem;
    font-size: 1.125rem;
  }
  .p-career-detail__job-item-title small {
    font-size: 0.7em;
  }
  .p-career-detail__job-item-text {
  }
}

/* ----------------------------------------------
   4.5 benefit(welfare)
---------------------------------------------- */
/* ---------- [ 4.50 ] pre ---------- */
.p-benefit-detail {
  background-color: var(--color-key);
  border-bottom: 6.25rem solid transparent;
}
@media screen and (max-width: 768px) {
  .p-benefit-detail {
    border-bottom: 3rem solid transparent;
  }
}

/* ---------- [ 4.51 ] welfare ---------- */
.p-welfare {
}
.p-welfare__wrapper {
  margin-left: max(calc(var(--offset-md) - var(--offset-sm)), var(--offset-default));
  padding-bottom: 12.5rem;
  background-color: var(--color-light-green);
}
.p-welfare__head {
  display: grid;
  grid-template-columns: 1fr 0.95fr;
  gap: 1rem;
  margin-bottom: 8rem;
}
.p-welfare__intro {
  padding-top: 4rem;
  padding-left: 3.5rem;
}
.p-welfare__title {
  margin-bottom: 2rem;
  font-size: 2.25rem;
  line-height: 1.2;
}
.p-welfare__text {
}
.p-welfare__text p + p {
  margin-top: 1rem;
}
.p-welfare__thumbnail {
  aspect-ratio: 2.4 / 1;
}
.p-welfare__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 15%;
}
.p-welfare__body {
  padding-left: var(--offset-sm);
  padding-right: var(--offset-md);
}
.p-welfare__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.5rem;
}
.p-welfare__item {
  padding: 1rem;
  background-color: var(--color-light);
}
.p-welfare__item-head {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.p-welfare__item-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 5.25rem;
  aspect-ratio: 1 / 1;
  background-color: var(--color-key);
  border-radius: 50%;
  line-height: 1.2;
}
.p-welfare__item-icon img {
  width: 60%;
}
.p-welfare__item-title {
  font-size: 1.5rem;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .p-welfare__wrapper {
    padding-bottom: 6rem;
  }
  .p-welfare__head {
    display: grid;
    grid-template-columns: 1fr;
    margin-bottom: 4rem;
  }
  .p-welfare__intro {
    padding-top: 2rem;
    padding-left: 1rem;
    padding-right: var(--offset-default);
  }
  .p-welfare__title {
    margin-bottom: 1rem;
    font-size: 1.25rem;
  }
  .p-welfare__thumbnail {
    order: -1;
  }
  .p-welfare__body {
  }
  .p-welfare__list {
    grid-template-columns: 1fr 1fr;
  }
  .p-welfare__item {
  }
  .p-welfare__item-head {
  }
  .p-welfare__item-icon {
    width: 2rem;
  }
  .p-welfare__item-title {
    font-size: 1rem;
  }
}
@media screen and (max-width: 600px) {
  .p-welfare__list {
    grid-template-columns: 1fr;
  }
}

/* ---------- [ 4.52 ] training ---------- */
.p-training {
}
.p-training__wrapper {
  margin-left: max(calc(var(--offset-md) - var(--offset-sm)), var(--offset-default));
  padding-bottom: 6.25rem;
  background-color: var(--color-light);
}
.p-training__head {
  display: grid;
  grid-template-columns: 1fr 0.95fr;
  gap: 1rem;
  margin-bottom: 8rem;
}
.p-training__intro {
  padding-top: 4rem;
  padding-left: 3.5rem;
}
.p-training__title {
  margin-bottom: 2rem;
  font-size: 2.25rem;
  line-height: 1.2;
}
.p-training__text {
}
.p-training__text p + p {
  margin-top: 1rem;
}
.p-training__thumbnail {
  aspect-ratio: 2.4 / 1;
}
.p-training__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-training__body {
  padding-left: var(--offset-sm);
  padding-right: var(--offset-sm);
}
.p-training__emp {
  margin-bottom: 4.5rem;
}
.p-training__sec-title {
  --line-color: var(--color-key);

  margin-bottom: 6rem;
  font-size: 2.25rem;
  font-weight: 500;
  line-height: 1.2;
}
.p-emp__title {
}
.p-emp__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.75rem;
}
.p-emp__item {
  --circle-dia: 4.5rem;
  --circle-thin: max(1.25rem, 20px);
  --circle-b-thin: 1px;

  position: relative;
}
.p-emp__item-body {
  position: relative;
  display: grid;
  grid-template-rows: 4rem 1fr;
  margin-left: calc(var(--circle-dia) - var(--circle-thin) / 2);
  padding: 1rem 1.25rem;
  height: 100%;
  background-color: var(--color-light);
  border: 1px solid var(--color-key);
  z-index: 1;
}
.p-emp__item-title {
  align-self: center;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  color: var(--color-key);
  line-height: 1.2;
}
.p-emp__item-text {
}
.p-emp__item-circle-front,
.p-emp__item-circle-back {
  position: absolute;
  display: block;
  width: var(--circle-dia);
  aspect-ratio: 1 / 1;
  background-color: var(--color-light);
  border-radius: 50%;
  box-sizing: content-box;
}
.p-emp__item-circle-front {
  top: var(--circle-b-thin);
  left: var(--circle-b-thin);
  z-index: 2;
  scale: 0.97;
}
.p-emp__item-circle-front::before {
  position: absolute;
  inset: 0;
  content: "";
  display: block;
  margin: auto;
  width: calc(var(--circle-dia) - var(--circle-thin));
  aspect-ratio: 1 / 1;
  border: var(--circle-b-thin) solid var(--color-key);
  border-radius: 50%;
  z-index: 1;
}
.p-emp__item-circle-back {
  border: var(--circle-b-thin) solid var(--color-key);
}

.p-training__worry {
  margin-bottom: 4.5rem;
}
.p-worry__title {
}
.p-worry__body {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  align-items: center;
  gap: 6rem;
}
.p-worry__visual {
  position: relative;
  width: 40rem;
}
.p-worry__visual::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  content: "";
  display: block;
  width: 12.5rem;
  height: 100%;
  background-color: var(--color-key);
  z-index: 0;
}
.p-worry__thumbnail {
  position: relative;
  width: 31.875rem;
  aspect-ratio: 1 / 1;
  border: 4.375rem solid var(--color-key);
  border-radius: 50%;
  background-color: white;
  overflow: hidden;
  z-index: 1;
}
.p-worry__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-training__support {
}
.p-support__title {
}
.p-support__body {
  margin: 0 2rem;
  display: block;
  padding: 2.5rem 3rem;
  border: 1px solid var(--color-key);
  text-align: center;
}
.p-support__text {
  margin-bottom: 3.25rem;
  line-height: 1.2;
}
.p-support__certification {
  display: flex;
  justify-content: center;
  align-items: end;
  gap: 0.75rem;
  margin: 0 auto;
  font-size: 1.125rem;
}
.p-support__certification-list {
  display: flex;
  flex-wrap: wrap;
  max-width: 48rem;
  column-gap: 2.5rem;
  row-gap: 2rem;
  font-size: 1.5rem;
}
.p-support__certification-item {
  align-items: center;
}
.p-support__certification-item::before {
  width: 1.8em;
  height: 1.4em;
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  .p-training__wrapper {
    padding-bottom: 3rem;
  }
  .p-training__head {
    display: grid;
    grid-template-columns: 1fr;
    margin-bottom: 4rem;
  }
  .p-training__intro {
    padding-top: 2rem;
    padding-left: 1rem;
  }
  .p-training__title {
    margin-bottom: 1rem;
    font-size: 1.25rem;
  }
  .p-training__thumbnail {
    order: -1;
  }
  .p-training__body {
  }
  .p-training__emp {
    margin-bottom: 2rem;
  }
  .p-training__sec-title {
    margin-bottom: 3rem;
    font-size: 1.25rem;
  }
  .p-emp__title {
  }
  .p-emp__list {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
  .p-emp__item {
    --circle-dia: 2rem;
    --circle-thin: max(0.625rem, 10px);
    --circle-b-thin: 1px;
  }
  .p-emp__item-body {
    grid-template-rows: 3rem 1fr;
    padding: 0.5rem 0.75rem;
  }
  .p-emp__item-title {
    margin-bottom: 0.5rem;
    font-size: 1rem;
  }
  .p-emp__item-text {
  }
  .p-emp__item-circle-front,
  .p-emp__item-circle-back {
  }
  .p-emp__item-circle-front {
  }
  .p-emp__item-circle-back {
  }
  .p-training__worry {
    margin-bottom: 4rem;
  }
  .p-worry__title {
  }
  .p-worry__body {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: 3rem;
  }
  .p-worry__visual {
    position: relative;
    width: 100%;
    max-width: 40rem;
    margin-left: auto;
  }
  .p-worry__visual::before {
    width: 31.25%;
  }
  .p-worry__thumbnail {
    width: 80%;
    border: 8.5vw solid var(--color-key);
  }
  .p-worry__thumbnail img {
  }
  .p-training__support {
  }
  .p-support__title {
  }
  .p-support__body {
    margin: 0 1rem;
    padding: 1rem 1.5rem;
    text-align: left;
  }
  .p-support__text {
    margin-bottom: 1.5rem;
  }
  .p-support__certification {
    justify-content: start;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.75rem;
  }
  .p-support__certification-list {
    align-items: start;
    flex-direction: column;
    column-gap: 1.5rem;
    row-gap: 1rem;
    font-size: 1rem;
  }
  .p-support__certification-item {
  }
  .p-support__certification-item::before {
    width: 1.2em;
    height: 1em;
  }
}

@media screen and (max-width: 600px) {
  .p-emp__list {
    grid-template-columns: 1fr;
  }
}

/* ----------------------------------------------
   4.6 one day detail (job)
---------------------------------------------- */
/* ---------- [ 4.61 ] schedule ---------- */
.p-schedule {
  --circle-dia: 12.5rem;
  --circle-thin: calc(var(--circle-dia) * 0.15);
}
.p-schedule__wrapper {
  padding: 4rem var(--offset-xl) 6rem;
  display: grid;
  align-items: start;
}
.p-schedule__wrapper::before {
  grid-row: 1 / 1;
  grid-column: 1 / 1;
  align-self: start;
  justify-self: start;
  content: "";
  display: block;
  width: var(--circle-dia);
  aspect-ratio: 1 / 1;
  border: var(--circle-thin) solid var(--color-key);
  border-radius: 50%;
}
.p-schedule__content {
  grid-row: 1 / 1;
  grid-column: 1 / 1;
  align-self: start;
  justify-self: end;
  width: calc(100% - var(--circle-dia) + var(--circle-thin));
  padding: 5rem 4rem;
  background-color: var(--color-key);
  text-align: center;
}
.p-schedule__title {
  margin-bottom: 3rem;
  padding-bottom: 3rem;
  font-size: 3rem;
  font-weight: 700;
  color: var(--color-light);
  border-bottom: 2px solid currentColor;
  line-height: 1.2;
}
.p-schedule__body {
  padding-top: 3rem;
}
.p-schedule__list {
}
.p-schedule__item {
  display: grid;
  grid-template-columns: 12.5rem 1fr;
  column-gap: 5.5rem;
  align-items: start;
}
.p-schedule__item:nth-child(odd) .p-schedule__activity {
  color: var(--color-light);
  background-color: transparent;
}
.p-schedule__item:nth-child(even) .p-schedule__activity {
  color: var(--color-key);
  background-color: var(--color-light);
}
.p-schedule__time {
  position: relative;
  display: block;
  padding: 0.5rem 1rem;
  font-size: 2rem;
  color: var(--color-key);
  background-color: var(--color-light);
  border-radius: 0.3rem;
  line-height: 1.2;
  letter-spacing: 0;
  transform: translateY(-50%);
}
.p-schedule__time::after {
  position: absolute;
  top: 0;
  left: 95%;
  bottom: 0;
  content: "";
  display: block;
  margin: auto 0;
  width: 60%;
  height: 4px;
  background-color: var(--color-light);
}
.p-schedule__activity {
  position: relative;
  display: block;
  padding: 3rem 1.5rem;
  font-size: 2rem;
  border: 4px solid var(--color-light);
  text-align: left;
  line-height: 1;
}
.p-schedule__activity::after {
  position: absolute;
  top: -2px;
  left: -2px;
  content: "";
  display: block;
  width: 2.5rem;
  aspect-ratio: 1 / 1;
  background-color: var(--color-red);
  border: 3px solid var(--color-light);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .p-schedule {
    --circle-dia: 2rem;
    --circle-thin: calc(var(--circle-dia) * 0.15);
  }
  .p-schedule__wrapper {
    padding: 2rem var(--offset-xl) 3rem;
  }
  .p-schedule__content {
    padding: 2rem 1rem;
  }
  .p-schedule__title {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    font-size: 1.25rem;
  }
  .p-schedule__body {
    padding-top: 1.5rem;
  }
  .p-schedule__list {
  }
  .p-schedule__item {
    grid-template-columns: 5rem 1fr;
    column-gap: 2rem;
  }
  .p-schedule__time {
    padding: 0.25rem 0.5rem;
    font-size: 1rem;
    border-radius: 0.3rem;
    transform: translateY(-50%);
  }
  .p-schedule__time::after {
    width: 60%;
    height: 2px;
  }
  .p-schedule__activity {
    padding: 1.5rem 0.5rem;
    font-size: 0.875rem;
    border: 2px solid var(--color-light);
  }
  .p-schedule__activity::after {
    width: 1rem;
    border: 1px solid var(--color-light);
  }
}

/* ---------- [ 4.62 ] job media ---------- */
.p-job-media {
}
.p-job-media__wrapper {
  padding: 0 var(--offset-xl) 15rem;
  aspect-ratio: 1.77 / 1;
}
.p-job-media__wrapper iframe {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .p-job-media {
  }
  .p-job-media__wrapper {
    padding: 0 var(--offset-xl) 6rem;
  }
  .p-job-media__movie {
  }
}

/* ----------------------------------------------
   4.7 recruit list
---------------------------------------------- */
/* ---------- [ 4.71 ] recruit list ---------- */
.p-recruit-list {
  padding: var(--offset-sm);
  background-color: var(--color-key);
}
.p-recruit-list__wrapper {
  padding: 4.5rem var(--offset-xl) 9rem;
  background-color: var(--color-light);
}
.p-recruit-list__title {
  margin-bottom: 6rem;
  font-size: 2.25rem;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}
.p-recruit-list__group {
}
.p-recruit-list__group:not(:last-child) {
  margin-bottom: 9rem;
}
.p-recruit-list__group-title {
  --check-color: var(--color-key);
  --check-f-color: var(--color-light);
  --check-circle-bg-color: var(--color-light);
  --check-height: 5rem;
  --check-fs: 2.25rem;

  margin-bottom: 2.5rem;
  font-weight: 500;
}
.p-recruit-list__items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.75rem;
}
.p-recruit-list__item {
  --inline-pad: 0.625rem;

  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
  padding-bottom: 0.875rem;
  border: 1px solid var(--color-key);
}
.p-recruit-list__item-title {
  margin: 0 var(--inline-pad);
  padding: 0.5rem var(--inline-pad);
  font-size: 1.125rem;
  font-weight: 700;
}
.p-recruit-list__item-data {
  margin: 0 var(--inline-pad) 1.25rem;
}
.p-recruit-list__item-row {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  align-items: start;
  gap: 0.75rem;
  padding: var(--inline-pad);
  border-top: 1px solid #e6e6e6;
}
.p-recruit-list__item-row:last-of-type {
  border-bottom: 1px solid #e6e6e6;
}
.p-recruit-list__item-term {
  padding: 0 0.2em;
  width: 100%;
  background-color: var(--color-key);
  color: var(--color-light);
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
}
.p-recruit-list__item-desc {
  font-size: 0.875rem;
}
.p-recruit-list__item-list {
}
.p-recruit-list__item-list li::before {
  content: "・";
}
.p-recruit-list__item-salary {
}
.p-recruit-list__item-salary-note {
  display: block;
}
.p-recruit-list__item-thumbnail {
  order: -1;
  aspect-ratio: 1.6 / 1;
  background-color: var(--color-key);
  background-image: url(../img/common/parts/img-check.webp);
  background-repeat: no-repeat;
  background-size: 50%;
  background-position: center;
}
.p-recruit-list__item-button {
  position: relative;
  display: block;
  margin: 0 var(--inline-pad);
  padding: 0.75rem 0.5rem;
  font-size: 1rem;
  color: var(--color-light);
  background-color: var(--color-key);
  text-align: center;
}
.p-recruit-list__item-button::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1rem;
  content: "";
  display: block;
  margin: auto 0;
  width: 0.8em;
  height: 0.8em;
  border-top: 2px solid;
  border-right: 2px solid;
  border-color: currentColor;
  transform: rotate(45deg);
  transition: transform var(--duration-normal);
}
.p-recruit-list__item-button:focus-visible::after {
  transform: translateX(40%) rotate(45deg);
}
@media (any-hover) {
  .p-recruit-list__item-button:hover::after {
    transform: translateX(40%) rotate(45deg);
  }
}
@media screen and (max-width: 768px) {
  .p-recruit-list {
  }
  .p-recruit-list__wrapper {
  }
  .p-recruit-list__title {
    margin-bottom: 2rem;
    font-size: 1.25rem;
  }
  .p-recruit-list__group {
  }
  .p-recruit-list__group:not(:last-child) {
    margin-bottom: 4rem;
  }
  .p-recruit-list__group-title {
    --check-color: var(--color-key);
    --check-f-color: var(--color-light);
    --check-circle-bg-color: var(--color-light);
    --check-height: 3rem;
    --check-fs: 1.25rem;

    margin-bottom: 1.5rem;
  }
  .p-recruit-list__items {
    grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
  }
  .p-recruit-list__item {
    --inline-pad: 0.5rem;
  }
  .p-recruit-list__item-title {
    font-size: 0.875rem;
  }
  .p-recruit-list__item-data {
  }
  .p-recruit-list__item-row {
  }
  .p-recruit-list__item-term {
    font-size: 0.625rem;
  }
  .p-recruit-list__item-desc {
    font-size: 0.625rem;
  }
  .p-recruit-list__item-list {
  }
  .p-recruit-list__item-thumbnail {
  }
  .p-recruit-list__item-button {
    padding: 0.5rem 0.5rem;
    font-size: 0.875rem;
  }
}

/* ----------------------------------------------
   4.8 recruit detail
---------------------------------------------- */
/* ---------- [ 4.81 ] job desc ---------- */
.p-jobDesc {
  padding: var(--offset-sm);
  background-color: var(--color-key);
}
.p-jobDesc__wrapper {
  padding: 1.25rem var(--offset-xl) 10rem;
  background-color: var(--color-light);
}
.p-jobDesc__thumbnail {
  width: 100%;
  aspect-ratio: 1.6 / 1;
  background-color: var(--color-key);
  background-image: url(../img/common/parts/img-check.webp);
  background-repeat: no-repeat;
  background-size: 50%;
  background-position: center;
  margin-bottom: 1.625rem;
}
.p-jobDesc__title {
  display: flex;
  align-items: end;
  margin-bottom: 9rem;
  gap: 2rem;
}
.p-jobDesc__title-main {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.2;
}
.p-jobDesc__title-tag {
  font-size: 0.875rem;
  font-weight: 700;
  padding: 0.2rem 0.625rem;
  color: var(--color-light);
  background-color: var(--color-key);
  vertical-align: bottom;
}
.p-jobDesc__detail {
  margin-bottom: 4rem;
}
.p-jobDesc__detail-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 4rem;
  overflow-x: hidden;
}
.p-jobDesc__detail-title-eng {
  display: inline-block;
  height: 3rem;
}
.p-jobDesc__detail-title-eng img {
  height: 100%;
  object-fit: contain;
}
.p-jobDesc__detail-title-main {
  position: relative;
  display: inline-block;
  margin-top: 0.5rem;
  font-size: 1.625rem;
  font-weight: 500;
}
.p-jobDesc__detail-title-main::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 115%;
  content: "";
  display: block;
  margin: auto 0;
  width: 100vw;
  height: 1px;
  background-color: var(--color-key);
}

.p-jobDesc__detail-contents {
}
.p-jobDesc__detail-contents table {
}
.p-jobDesc__detail-contents tbody {
}
.p-jobDesc__detail-contents tr {
}
.p-jobDesc__detail-contents tr + tr {
  border-top: 1px solid var(--color-key);
}
.p-jobDesc__detail-contents th {
  width: 12.5rem;
  font-size: 1.25rem;
  color: var(--color-key);
  border: none;
  text-align: left;
  vertical-align: top;
}
.p-jobDesc__detail-contents td {
  font-size: 1.25rem;
  border: none;
}
.p-jobDesc__detail-contents strong {
  font-weight: 700;
}
.p-jobDesc__detail-contents em {
  display: block;
  margin-top: 1rem;
  margin-left: 1rem;
  padding: 1rem;
  background-color: #f4f6f4;
}
.p-jobDesc__detail-contents .wp-block-table .g-bullet {
  display: inline-block;
  margin-right: 0.5rem;
  color: var(--color-key);
  font-weight: 700;
  line-height: 0;
  scale: 2;
}

.p-jobDesc__detail-person {
  margin-top: 4.5rem;
  padding: 2.25rem 0;
  border: 1px solid var(--color-key);
}
.p-jobDesc__detail-person h4 {
  justify-content: center;
  margin-bottom: 2.75rem;
  font-size: 1.625rem;
  font-weight: 500;
}
.p-jobDesc__detail-person ul {
  margin: 0 auto;
  width: fit-content;
  max-width: 90%;
  list-style: none;
}
.p-jobDesc__detail-person li {
  position: relative;
  padding-left: 1.5em;
  font-size: 1.25rem;
}
.p-jobDesc__detail-person li::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  content: "■";
  display: block;
  margin: auto 0;
  font-size: 1em;
  color: var(--color-key);
}

.p-jobDesc__cta {
  margin: 0 auto;
  width: 39.375rem;
}
.p-jobDesc__cta-links {
  --check-color: var(--color-key);
  --check-f-color: var(--color-light);
  --check-circle-bg-color: var(--color-light);
  --check-arrow-color: var(--color-key);
  --check-height: 7rem;
  --check-fs: 2.5rem;

  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-jobDesc {
  }
  .p-jobDesc__wrapper {
    padding: 1.25rem var(--offset-xl) 5rem;
  }
  .p-jobDesc__thumbnail {
  }
  .p-jobDesc__title {
    display: flex;
    align-items: end;
    margin-bottom: 4rem;
    gap: 1rem;
  }
  .p-jobDesc__title-main {
    font-size: 1.25rem;
  }
  .p-jobDesc__title-tag {
    font-size: 0.625rem;
  }
  .p-jobDesc__detail {
    margin-bottom: 2rem;
  }
  .p-jobDesc__detail-title {
    margin-bottom: 2rem;
    overflow-x: hidden;
  }
  .p-jobDesc__detail-title-eng {
    height: 1.625rem;
  }
  .p-jobDesc__detail-title-main {
    margin-top: 0.5rem;
    font-size: 1rem;
    font-weight: 500;
  }

  .p-jobDesc__detail-contents {
  }
  .p-jobDesc__detail-contents table {
  }
  .p-jobDesc__detail-contents tbody {
  }
  .p-jobDesc__detail-contents tr {
    display: flex;
    flex-direction: column;
  }
  .p-jobDesc__detail-contents tr + tr {
    border-top: 1px solid var(--color-key);
  }
  .p-jobDesc__detail-contents th {
    width: 100%;
    font-size: 0.875rem;
  }
  .p-jobDesc__detail-contents td {
    padding-top: 0;
    font-size: 0.75rem;
  }
  .p-jobDesc__detail-contents strong {
  }
  .p-jobDesc__detail-contents em {
    margin-top: 1rem;
    margin-left: 0.5rem;
    padding: 0.5rem;
  }
  .p-jobDesc__detail-contents .wp-block-table .g-bullet {
  }

  .p-jobDesc__detail-person {
    margin-top: 2rem;
    padding: 1.25rem 0;
  }
  .p-jobDesc__detail-person h4 {
    margin-bottom: 1.5rem;
    font-size: 1rem;
  }
  .p-jobDesc__detail-person ul {
  }
  .p-jobDesc__detail-person li {
    padding-left: 1.5em;
    font-size: 0.75rem;
  }
  .p-jobDesc__detail-person li::before {
  }

  .p-jobDesc__cta {
    margin: 0 auto;
    width: 100%;
  }
  .p-jobDesc__cta-links {
    --check-color: var(--color-key);
    --check-f-color: var(--color-light);
    --check-circle-bg-color: var(--color-light);
    --check-arrow-color: var(--color-key);
    --check-height: 3rem;
    --check-fs: 1.125rem;
  }
}

/* ----------------------------------------------
   4.9 company
---------------------------------------------- */
/* ---------- [ 4.91 ] concept ---------- */
.p-com-concept {
  padding: 0 var(--offset-sm);
  background-color: var(--color-key);
}
.p-com-concept__wrapper {
  background-color: var(--color-light);
}
.p-com-concept__content {
  display: grid;
  grid-template-columns: 0.6fr 1fr;
  padding: 10rem var(--offset-xl) 15rem;
}
.p-com-concept__title {
}
.p-com-concept__title img {
  width: 7rem;
}
.p-com-concept__text {
  font-size: 1.25rem;
}
.p-com-concept__text p:not(:last-child) {
  margin-bottom: 1.6em;
}

.p-com-support {
}
.p-com-support__wrapper {
  padding: 0 var(--offset-sm) 5.5rem;
}
.p-com-support__title {
  --check-color: var(--color-key);
  --check-f-color: var(--color-dark-gray);
  --check-height: 10rem;
  --check-fs: 2.25rem;

  margin-left: calc(var(--offset-sm) * 2 * -1);
  margin-bottom: 3.5rem;
  width: 52vw;
  font-weight: 700;
}
.p-com-support__title .c-check-outline__box {
  padding-left: var(--offset-sm);
}
.p-com-support__text {
  margin-bottom: 3.5rem;
  font-size: 1.25rem;
}

/* バナーセクションのアイコンを非表示 */
.p-com-concept + .p-banner .p-banner__wrapper::before {
  content: none;
}

@media screen and (max-width: 768px) {
  .p-com-concept {
  }
  .p-com-concept__wrapper {
  }
  .p-com-concept__content {
    display: grid;
    grid-template-columns: 0.3fr 1fr;
    margin: 0 auto;
    padding: 4rem var(--offset-xl) 5rem;
    max-width: 32rem;
  }
  .p-com-concept__title {
  }
  .p-com-concept__title img {
    width: 3rem;
  }
  .p-com-concept__text {
    font-size: 0.75rem;
  }
  .p-com-concept__text p:not(:last-child) {
    margin-bottom: 1em;
  }
  .p-com-support {
  }
  .p-com-support__wrapper {
    padding: 0 var(--offset-sm) 2rem;
  }
  .p-com-support__title {
    --check-height: 4rem;
    --check-fs: 1.25rem;

    margin-bottom: 2rem;
    width: fit-content;
  }
  .p-com-support__text {
    margin-bottom: 2rem;
    font-size: 0.875rem;
  }
}

/* ---------- [ 4.92 ] challenge ---------- */
.p-com-challenge {
  background-color: var(--color-beige);
}
.p-com-challenge__wrapper {
  margin: 0 auto;
  padding: 8rem var(--offset-xl) 5rem;
  max-width: 60rem;
  box-sizing: content-box;
}
.p-com-challenge__title {
  --line-color: var(--color-key);

  margin-bottom: 6rem;
  font-size: 3.75rem;
  font-family: "Yu Gothic", "YuGothic";
  font-weight: 500;
  text-align: center;
  line-height: 1.2;
}
.p-com-challenge__text {
  margin-bottom: 4rem;
  font-size: 1.25rem;
  text-align: center;
}
.p-com-challenge__thumbnail {
  padding: 1rem;
  background-color: var(--color-light);
}
@media screen and (max-width: 768px) {
  .p-com-challenge {
  }
  .p-com-challenge__wrapper {
    padding: 4rem var(--offset-xl) 3rem;
  }
  .p-com-challenge__title {
    --line-color: var(--color-key);

    margin-bottom: 2.5rem;
    font-size: 1.375rem;
  }
  .p-com-challenge__text {
    margin-bottom: 2rem;
    font-size: 0.75rem;
  }
}

/* ----------------------------------------------
   4.10 contact
---------------------------------------------- */
/* ---------- [ 4.101 ] form ---------- */
.p-form {
  padding: var(--offset-sm);
  background-color: var(--color-beige);
}
.p-form__wrapper {
  padding: 7rem var(--offset-sm);
  background-color: var(--color-light);
}
@media screen and (max-width: 768px) {
  .p-form {
  }
  .p-form__wrapper {
    padding: var(--offset-sm);
    padding-bottom: 2rem;
  }
}

/* ---------- [ 4.102 ] thanks ---------- */
.p-contact-thanks {
}
.p-contact-thanks__wrapper {
  padding: 4rem var(--offset-md);
}
.p-contact-thanks__wrapper p {
  font-size: 1.25rem;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-contact-thanks {
  }
  .p-contact-thanks__wrapper {
    padding: 2rem var(--offset-md);
  }
  .p-contact-thanks__wrapper p {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}

/* ----------------------------------------------
   4.11 about us
---------------------------------------------- */
/* ---------- [ 4.11 0 ] common ---------- */
.p-about-detail {
  padding-top: 7rem;
  background-color: var(--color-beige);
}
.p-about-detail__title {
  --line-color: var(--color-key);

  display: block;
  margin: 0 auto;
  padding: 0 var(--offset-default);
  width: fit-content;
  font-size: 3.75rem;
  font-weight: 500;
  font-family: "Yu Gothic", "YuGothic";
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .p-about-detail {
    padding-top: 4rem;
  }
  .p-about-detail__title {
    font-size: 1.25rem;
  }
}

/* ---------- [ 4.11 1 ] support ---------- */
.p-about-support {
  position: relative;
  padding: 6rem var(--offset-lg) 4rem;
}
.p-about-support__contents {
  --check-color: var(--color-key);
  --check-f-color: var(--color-dark-gray);
  --check-bg-color: var(--color-beige);
  --check-height: 68.75rem;
  --check-b-thin: 2px;
  --circle-thin: 18.75rem;

  position: relative;
  margin: 0 auto;
  width: 68.75rem;
  z-index: 1;
}
.p-about-support__contents .c-check-outline__circle-front {
  scale: 0.995;
}
.p-about-support__thumbnail {
}
.p-about-support__thumbnail::before {
  background-image: url(../img/page/about/img-support-main.webp);
  background-size: cover;
  background-position: 35% center;
}
.p-about-support__box {
  padding: 4rem 4rem;
}
.p-about-support__title {
  margin-bottom: 4rem;
  font-size: 2.25rem;
  font-weight: 700;
}
.p-about-support__text {
  font-size: 1.25rem;
  text-align: center;
}
.p-about-support__decor {
  position: absolute;
  z-index: 0;
  aspect-ratio: 1 / 1;
  border-radius: 3rem;
  overflow: hidden;
}
.p-about-support__decor img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-about-support__decor--01 {
  top: 14%;
  left: var(--offset-default);
  width: 17.5rem;
}
.p-about-support__decor--02 {
  top: 45%;
  left: var(--offset-default);
  width: 21.25rem;
}
.p-about-support__decor--03 {
  top: 4%;
  right: var(--offset-default);
  width: 17.5rem;
}
.p-about-support__decor--04 {
  top: 50%;
  right: var(--offset-default);
  width: 21.25rem;
}
@media screen and (max-width: 768px) {
  .p-about-support {
    padding: 3rem var(--offset-lg) 2rem;
  }
  .p-about-support__contents {
    --check-height: 90vw;
    --circle-thin: 25vw;
    margin: 0 auto;
    width: 90vw;
  }
  .p-about-support__contents {
  }
  .p-about-support__box {
    width: 100%;
    padding: 2rem 1rem;
  }
  .p-about-support__title {
    margin-bottom: 2rem;
    font-size: 1rem;
  }
  .p-about-support__text {
    font-size: 0.875rem;
    text-align: left;
  }
  .p-about-support__decor {
    border-radius: 1rem;
  }
  .p-about-support__decor--01 {
    top: 9%;
    left: 0;
    width: 20%;
  }
  .p-about-support__decor--02 {
    top: 30%;
    left: 0;
    width: 20%;
  }
  .p-about-support__decor--03 {
    top: 4%;
    right: 0;
    width: 20%;
  }
  .p-about-support__decor--04 {
    top: 35%;
    right: 0;
    width: 20%;
  }
}

/* ---------- [ 4.11 2 ] service ---------- */
.p-about-service {
  padding: 10rem 0 6rem;
  background-color: var(--color-light);
}
.p-about-service__title {
  --check-color: var(--color-key);
  --check-f-color: var(--color-dark-gray);
  --check-height: 11.25rem;
  --check-b-thin: 1px;
  --check-fs: 2.25rem;

  width: 62.5rem;
}
.p-about-service__title .c-check-outline__box {
  padding-left: var(--offset-sm);
}
.p-about-service__body {
  display: grid;
  grid-template-columns: 0.8fr 1fr;
  align-items: center;
  gap: 3rem;
  padding: 2rem var(--offset-sm) 0;
}
.p-about-service__text {
}
.p-about-service__thumbnail {
}
@media screen and (max-width: 768px) {
  .p-about-service {
    padding: 5rem 0 3rem;
  }
  .p-about-service__title {
    --check-height: 4rem;
    --check-fs: 1rem;

    width: fit-content;
  }
  .p-about-service__text {
  }
  .p-about-service__body {
    grid-template-columns: 1fr;
    align-items: center;
    gap: 2rem;
    padding: 2rem var(--offset-sm) 0;
  }
  .p-about-service__text {
  }
  .p-about-service__thumbnail {
    order: -1;
  }
}

/* ---------- [ 4.11 3 ] rest ---------- */
.p-about-rest {
  position: relative;
  padding: 18.75rem 0 16.875rem;
  background-color: var(--color-key);
}
.p-about-rest__contents {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: auto;
  width: 62.5rem;
}
.p-about-rest__title {
  --check-color: var(--color-light);
  --check-f-color: var(--color-dark-gray);
  --check-height: 11.25rem;
  --check-b-thin: 1px;
  --check-fs: 2.25rem;

  margin-bottom: 5rem;
  width: 100%;
}
.p-about-rest__title .c-text-check {
  padding-left: 1rem;
}
.p-about-rest__text {
  padding: 0 var(--offset-default);
  font-size: 1.25rem;
  color: var(--color-light);
}

.p-about-rest__decor-01 {
  --check-color: var(--color-light);
  --check-height: 5rem;
  --check-b-thin: 0;
  --circle-thin: max(1rem, 12px);

  position: absolute;
  top: -25%;
  right: 0;
  width: 120%;
}
.p-about-rest__decor-01 .c-check-outline__circle-front::before {
  background-color: var(--color-key);
}

.p-about-rest__decor-02 {
  --check-color: var(--color-light);
  --check-height: 5rem;
  --check-b-thin: 0;
  --circle-thin: max(1rem, 12px);

  position: absolute;
  bottom: -25%;
  right: 0;
  width: 50%;
}
.p-about-rest__decor-02 .c-check-outline__circle-front::before {
  background-color: var(--color-key);
}

.p-about-rest__decor-img {
  --check-color: var(--color-light);
  --check-f-color: var(--color-dark-gray);
  --check-bg-color: var(--color-key);
  --check-b-thin: 2px;
  --circle-thin: calc(var(--check-height) * 0.3);

  position: absolute;
  width: calc(var(--check-height) * 1.25);
  background-repeat: no-repeat;
  background-size: cover;
}
.p-about-rest__decor-img--01 {
  --check-height: 25rem;
  top: 10%;
  left: var(--offset-default);
}
.p-about-rest__decor-img--01 .c-check-outline__circle-front::before {
  background-image: url(../img/page/about/img-rest-01.webp);
}
.p-about-rest__decor-img--02 {
  --check-height: 14.375rem;
  top: 40%;
  left: 30%;
}
.p-about-rest__decor-img--02 .c-check-outline__circle-front::before {
  background-image: url(../img/page/about/img-rest-02.webp);
}
.p-about-rest__decor-img--03 {
  --check-height: 12.5rem;
  top: 60%;
  left: var(--offset-default);
}
.p-about-rest__decor-img--03 .c-check-outline__circle-front::before {
  background-image: url(../img/page/about/img-rest-03.webp);
}
.p-about-rest__decor-img--04 {
  --check-height: 9.375rem;
  top: 50%;
  left: 16%;
}
.p-about-rest__decor-img--04 .c-check-outline__circle-front::before {
  background-image: url(../img/page/about/img-rest-04.webp);
}
.p-about-rest__decor-img--05 {
  --check-height: 17.5rem;
  top: 66%;
  left: 22%;
}
.p-about-rest__decor-img--05 .c-check-outline__circle-front::before {
  background-image: url(../img/page/about/img-rest-05.webp);
}

@media screen and (max-width: 768px) {
  .p-about-rest {
    padding: 9rem 0 9rem;
  }
  .p-about-rest::before {
    position: absolute;
    inset: 0;
    content: "";
    background-color: rgb(139 199 130 / 0.85);
    z-index: 4;
  }
  .p-about-rest__contents {
    width: 90%;
    max-width: 25rem;
    z-index: 5;
  }
  .p-about-rest__title {
    --check-height: 4rem;
    --check-b-thin: 1px;
    --check-fs: 1rem;

    margin-bottom: 2rem;
    width: 100%;
  }
  .p-about-rest__text {
    font-size: 0.875rem;
  }
  .p-about-rest__decor-01 {
    --check-height: 2rem;
    --circle-thin: 0.75rem;

    position: absolute;
    top: -15%;
    right: 0;
    width: 105%;
  }
  .p-about-rest__decor-01 .c-check-outline__circle-front::before {
    background-color: var(--color-key);
  }
  .p-about-rest__decor-02 {
    --check-height: 2rem;
    --circle-thin: 0.75rem;

    bottom: -15%;
    right: 0;
    width: 50%;
  }
  .p-about-rest__decor-img {
  }
  .p-about-rest__decor-img--01 {
    --check-height: 10rem;
    top: 10%;
    left: var(--offset-default);
  }
  .p-about-rest__decor-img--02 {
    --check-height: 7rem;
    top: 35%;
    left: 12rem;
  }
  .p-about-rest__decor-img--03 {
    --check-height: 5rem;
    top: 47%;
    left: var(--offset-default);
  }
  .p-about-rest__decor-img--04 {
    --check-height: 3rem;
    top: 45%;
    left: 8rem;
  }
  .p-about-rest__decor-img--05 {
    --check-height: 8rem;
    top: 55%;
    left: 9rem;
  }
}

/* ---------- [ 4.11 4 ] more ---------- */
.p-about-more {
}
.p-about-more__wrapper {
  padding: 10rem var(--offset-md) 6rem;
}
.p-about-more__title {
  margin: 4rem;
  text-align: center;
}
.p-about-more__title .c-title__sub {
  display: inline-block;
  width: fit-content;
  height: 6rem;
}
.p-about-more__links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 5rem;
  row-gap: 2rem;
}
.p-about-more__link {
  --check-color: var(--color-key);
  --check-f-color: var(--color-light);
  --check-circle-bg-color: var(--color-light);
  --check-height: 10rem;
  --check-fs: 2.25rem;

  line-height: 1.2;
}
.p-about-more__link .c-check__text {
  align-items: flex-start;
}
.p-about-more__link .c-check__text img {
  display: block;
  height: 1.75rem;
  width: auto;
}
.p-about-more__link .c-check__circle img {
  width: 5rem;
  aspect-ratio: 1 / 1;
}
@media screen and (max-width: 768px) {
  .p-about-more {
  }
  .p-about-more__wrapper {
    padding: 5rem var(--offset-md) 3rem;
  }
  .p-about-more__title {
    margin: 2rem;
  }
  .p-about-more__title .c-title__sub {
    height: 3rem;
  }
  .p-about-more__links {
    grid-template-columns: 1fr 1fr;
  }
  .p-about-more__link {
    --check-height: 5rem;
    --check-fs: 1.25rem;
  }
  .p-about-more__link .c-check__text img {
    display: block;
    height: 1rem;
  }
  .p-about-more__link .c-check__circle img {
    width: 2.5rem;
  }
}
@media screen and (max-width: 649px) {
  .p-about-more__links {
    grid-template-columns: 1fr;
  }
}

/* ----------------------------------------------
   4.12 message
---------------------------------------------- */
/* ---------- [ 4.12 1 ] intro ---------- */
.p-msg-intro {
}
.p-msg-intro__wrapper {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  align-items: center;
  gap: 4rem;
  padding: 9rem var(--offset-sm);
  background-color: var(--color-key);
}
.p-msg-intro__content {
  color: var(--color-light);
}
.p-msg-intro__title {
  margin-bottom: 3.5rem;
  font-size: 2.25rem;
  font-weight: 700;
}
.p-msg-intro__text {
  font-size: 1.25rem;
}
.p-msg-intro__media {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-msg-intro {
  }
  .p-msg-intro__wrapper {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 4rem var(--offset-sm);
  }
  .p-msg-intro__content {
  }
  .p-msg-intro__title {
    margin-bottom: 1.5rem;
    font-size: 1.25rem;
  }
  .p-msg-intro__text {
    font-size: 0.875rem;
  }
  .p-msg-intro__media {
    order: -1;
  }
}
/* ---------- [ 4.12 2 ] content ---------- */
.p-msg-content {
  --body-pad: 3rem;
  --circle-dia: 12rem;
  --circle-thin: 1.75rem;
}

.p-msg-content__head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  padding: 9rem var(--offset-sm) 14rem 0;
}
.p-msg-content__from {
  --check-color: var(--color-key);
  --check-f-color: var(--color-light);
  --check-height: 33.75rem;
  --check-fs: 2.25rem;

  font-weight: 700;
}
.p-msg-content__from-post {
  font-size: 1.5rem;
}
.p-msg-content__what {
  padding: 2rem 5rem;
}
.p-msg-content__title {
  margin-bottom: 3rem;
  font-size: 2.25;
  font-weight: 700;
}
.p-msg-content__text {
  font-size: 1.25rem;
}
.p-msg-content__body {
  position: relative;
  padding: var(--body-pad);
  background-color: var(--color-key);
}
.p-msg-content__body::before {
  position: absolute;
  right: var(--offset-default);
  bottom: calc(100% - var(--circle-thin));
  content: "";
  display: block;
  width: var(--circle-dia);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: var(--circle-thin) solid var(--color-key);
}
.p-msg-content__body-wrapper {
  position: relative;
  padding: 5rem 8rem;
  background-color: var(--color-light);
}
.p-msg-body__lead {
  position: absolute;
  left: 0;
  bottom: calc(100% + var(--body-pad));
  font-size: 2.5rem;
  font-family: "Yu Gothic", "YuGothic";
}
.p-msg-body__item {
  padding: 2.5rem 4rem;
}
.p-msg-body__item + .p-msg-body__item {
  border-top: 1px solid var(--color-gray);
}
.p-msg-body__item--primary {
  text-align: center;
}
.p-msg-body__item--primary .p-msg-body__item-medias {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}
.p-msg-body__item--secondary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 6rem;
}
.p-msg-body__item--secondary .p-msg-body__item-media {
  margin: 0;
}
.p-msg-body__item--tertiary {
  text-align: left;
}
.p-msg-body__item-title {
  margin-bottom: 2.5rem;
  font-size: 1.875rem;
  color: var(--color-key);
}
.p-msg-body__item-text {
  font-size: 1.25rem;
}
.p-msg-body__item-text p:not(:last-child) {
  margin-bottom: 1rem;
}

.p-msg-body__item-media {
  margin-bottom: 2.5rem;
}
.p-msg-body__item-media--sm img {
  width: 80%;
}
.p-msg-content--01 .c-check__circle {
  background-image: url(../img/page/message/img-photo-01.webp);
  background-repeat: no-repeat;
  background-size: 130%;
  background-position: center 15%;
}
.p-msg-content--02 .c-check__circle {
  background-image: url(../img/page/message/img-photo-02.webp);
  background-repeat: no-repeat;
  background-size: cover;
}
.p-msg-body__item-media--map {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0;
}
.p-msg-body__item-media--map p {
  font-size: 1.5rem;
  line-height: 1;
}
.p-msg-body__item-media--map p strong {
  font-size: 3em;
  font-family: "Urbanist", sans-serif;
  font-family: 500;
}
.p-msg-body__item-media--map span {
  align-self: flex-end;
  display: block;
  margin-top: 0.5rem;
  font-size: 0.75rem;
}
.p-msg-body__item-media--map div:has(svg) {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-msg-content {
    --body-pad: 1rem;
    --circle-dia: 4rem;
    --circle-thin: 0.75rem;
  }
  .p-msg-content__head {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 4rem var(--offset-sm) 5rem 0;
  }
  .p-msg-content__from {
    --check-height: 10rem;
    --check-fs: 1.25rem;
  }
  .p-msg-content__from-post {
    font-size: 0.875rem;
  }
  .p-msg-content__what {
    padding: 1rem 2rem;
  }
  .p-msg-content__title {
    margin-bottom: 1.5rem;
    font-size: 1.25;
  }
  .p-msg-content__text {
    font-size: 0.875rem;
  }
  .p-msg-content__body {
  }
  .p-msg-content__body::before {
  }
  .p-msg-content__body-wrapper {
    padding: 1rem;
  }
  .p-msg-body__lead {
    font-size: 1.25rem;
  }
  .p-msg-body__item {
    padding: 2rem 1rem;
  }
  .p-msg-body__item + .p-msg-body__item {
  }
  .p-msg-body__item--primary {
    text-align: left;
  }
  .p-msg-body__item--primary .p-msg-body__item-medias {
    gap: 1rem;
  }
  .p-msg-body__item--secondary {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .p-msg-body__item--secondary .p-msg-body__item-media {
    order: -1;
  }
  .p-msg-body__item--tertiary {
  }
  .p-msg-body__item-title {
    margin-bottom: 1rem;
    font-size: 1rem;
  }
  .p-msg-body__item-text {
    font-size: 0.875rem;
  }
  .p-msg-body__item-text p:not(:last-child) {
    margin-bottom: 1em;
  }

  .p-msg-body__item-media {
    margin-bottom: 1rem;
  }
  .p-msg-body__item-media--sm img {
    margin: 0 auto;
  }
  .p-msg-body__item-media--map {
  }
  .p-msg-body__item-media--map p {
    font-size: 1rem;
  }
  .p-msg-body__item-media--map p strong {
  }
  .p-msg-body__item-media--map span {
    margin-top: 0.3rem;
    font-size: 0.5rem;
  }
}

/* ----------------------------------------------
   4.13 staff
---------------------------------------------- */
/* ---------- [ 4.13 1 ] archive ---------- */
.p-staff-archive {
  padding: 0 var(--offset-sm);
  background-color: var(--color-key);
}
.p-staff-archive__wrapper {
  padding: 8rem;
  background-color: var(--color-light);
}
.p-staff-archive__lead {
  margin-bottom: 9rem;
  font-size: 1.625rem;
  text-align: center;
}
.p-staff-archive__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(21.75rem, 1fr));
  column-gap: 1.625rem;
  row-gap: 3rem;
}

.p-staff-card__empty {
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-staff-archive {
  }
  .p-staff-archive__wrapper {
    padding: 2rem;
  }
  .p-staff-archive__lead {
    margin-bottom: 3rem;
    font-size: 0.875rem;
  }
  .p-staff-archive__list {
    grid-template-columns: repeat(auto-fit, minmax(13.5rem, 1fr));
    column-gap: 1rem;
    row-gap: 1.5rem;
  }

  .p-staff-card__empty {
    font-size: 0.875rem;
  }
}

/* ----------------------------------------------
   4.14 staff desc
---------------------------------------------- */
/* ---------- [ 4.14 0 ] hero ---------- */

/* ---------- [ 4.14 1 ] desc ---------- */
.p-staffDesc {
  padding-left: var(--offset-xl);
  background-color: var(--color-key);
}
.p-staffDesc__wrapper {
  padding: var(--offset-sm);
  background-color: var(--color-light);
  overflow: hidden;
}
.p-staffDesc__title {
  position: relative;
  display: inline-block;
  margin-bottom: 5rem;
}
.p-staffDesc__title::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 110%;
  content: "";
  display: inline-block;
  margin: auto 0;
  width: 100vw;
  height: 1px;
  background-color: var(--color-key);
}
.p-staffDesc__title-eng {
  display: inline-block;
  height: 3rem;
}
.p-staffDesc__title-eng img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-staffDesc__contents {
}
.p-staffDesc__contents p {
  font-size: 1.25rem;
  margin-bottom: 4rem;
}
.p-staffDesc__contents p br {
  display: none;
}
.p-staffDesc__contents strong {
  position: relative;
  display: block;
  margin-bottom: 3rem;
  padding-left: 1.5em;
  font-size: 2.25rem;
}
.p-staffDesc__contents strong::before {
  position: absolute;
  top: 0.5em;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  aspect-ratio: 1 / 1;
  background-image: url(../img/common/parts/q.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.p-staffDesc-more {
  padding: 6rem var(--offset-xl);
  background-color: var(--color-key);
}
.p-staffDesc-more__title img {
  margin: 0 auto;
}
.p-staffDesc-more__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.25rem;
  margin-bottom: 5rem;
}
.p-staffDesc-more__item {
}
.p-staffDesc-more__item-link {
}
.p-staffDesc-more__item-thumbnail {
  aspect-ratio: 0.75 / 1;
}
.p-staffDesc-more__item-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.p-staffDesc-more__item-title {
  font-size: 1.25rem;
}
.p-staffDesc-more__button {
  --check-color: var(--color-gray);
  --check-f-color: var(--color-light);
  --check-circle-bg-color: var(--color-key);
  --check-arrow-color: var(--color-gray);
  --check-height: 3rem;
  --check-fs: 1.375rem;

  margin: 0 auto;
  width: 17.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-staffDesc {
  }
  .p-staffDesc__wrapper {
  }
  .p-staffDesc__title {
    margin-bottom: 2rem;
  }
  .p-staffDesc__title::after {
    left: 105%;
  }
  .p-staffDesc__title-eng {
    height: 1.5rem;
  }
  .p-staffDesc__contents {
  }
  .p-staffDesc__contents p {
    font-size: 0.875rem;
    margin-bottom: 2rem;
  }
  .p-staffDesc__contents strong {
    margin-bottom: 1.5rem;
    padding-left: 1.5em;
    font-size: 1rem;
  }
  .p-staffDesc-more {
    padding: 3rem var(--offset-xl);
  }
  .p-staffDesc-more__title img {
  }
  .p-staffDesc-more__list {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.875rem;
    margin-bottom: 2rem;
  }
  .p-staffDesc-more__item {
  }
  .p-staffDesc-more__item-link {
  }
  .p-staffDesc-more__item-thumbnail {
  }
  .p-staffDesc-more__item-thumbnail img {
  }
  .p-staffDesc-more__item-title {
    font-size: 0.875rem;
  }
  .p-staffDesc-more__button {
    --check-color: var(--color-gray);
    --check-f-color: var(--color-light);
    --check-circle-bg-color: var(--color-key);
    --check-arrow-color: var(--color-gray);
    --check-height: 1.5rem;
    --check-fs: 1rem;

    width: 12rem;
  }
}

/* ----------------------------------------------
   4.15 data
---------------------------------------------- */
/* ---------- [ 4.15 0 ] data ---------- */
.p-data {
  padding: var(--offset-sm);
  background-color: var(--color-key);
}
.p-data__wrapper {
  padding: var(--offset-md);
  background-color: var(--color-light);
}
.p-data__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
.p-data__item {
  padding: 2.5rem 4.5rem;
  border: 1px solid var(--color-key);
  text-align: center;
}
.p-data__item .c-check-outline__circle-front::before {
  background-size: 60%;
  background-repeat: no-repeat;
  background-position: center;
}
.p-data__item--01 .c-check-outline__circle-front::before {
  background-image: url(../img/page/data/img-number-01.svg);
  background-size: 50%;
}
.p-data__item--02 .c-check-outline__circle-front::before {
  background-image: url(../img/page/data/img-number-02.svg);
}
.p-data__item--03 .c-check-outline__circle-front::before {
  background-image: url(../img/page/data/img-number-03.svg);
}
.p-data__item--04 .c-check-outline__circle-front::before {
  background-image: url(../img/page/data/img-number-04.svg);
}
.p-data__item--05 .c-check-outline__circle-front::before {
  background-image: url(../img/page/data/img-number-05.svg);
}
.p-data__item--06 .c-check-outline__circle-front::before {
  background-image: url(../img/page/data/img-number-06.svg);
}
.p-data__item--07 .c-check-outline__circle-front::before {
  background-image: url(../img/page/data/img-number-07.svg);
}
.p-data__item--08 .c-check-outline__circle-front::before {
  background-image: url(../img/page/data/img-number-08.svg);
}
.p-data__item--09 .c-check-outline__circle-front::before {
  background-image: url(../img/page/data/img-number-09.svg);
}
.p-data__title {
  --check-color: var(--color-key);
  --check-f-color: var(--color-dark-gray);
  --check-height: 6rem;
  --check-b-thin: 2px;
  --check-fs: 2.25rem;

  margin: 0 auto 2rem;
  font-weight: 700;
}
.p-data__title .c-check-outline__box {
  justify-content: center;
}
.p-data__figure {
  margin-bottom: 1.5rem;
  height: 17rem;
}
.p-data__figure img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-data__text {
  font-size: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-data {
  }
  .p-data__wrapper {
  }
  .p-data__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .p-data__item {
    padding: 1rem 1.5rem;
  }
  .p-data__title {
    --check-height: 3rem;
    --check-b-thin: 2px;
    --check-fs: 1.25rem;

    margin: 0 auto 1rem;
  }
  .p-data__title .c-check-outline__box {
  }
  .p-data__figure {
    margin-bottom: 0.75rem;
    height: 9rem;
  }
  .p-data__figure img {
  }
  .p-data__text {
    font-size: 0.875rem;
  }
}
/* =====================================================
  5.0 - Utilities
===================================================== */
/* ----------------------------------------------
   5.1 text utilities
---------------------------------------------- */
.u-screen-reader-text {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
}
/* ----------------------------------------------
   5.2 visibility utilities
---------------------------------------------- */
.u-pc {
  display: initial;
}
.u-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-pc {
    display: none;
  }
  .u-sp {
    display: initial;
  }
}

/* =====================================================
  6.0 - tools
===================================================== */
/* ----------------------------------------------
   6.1 Swiper
---------------------------------------------- */
.js-staff-swiper {
  width: calc(100vw - var(--offset-lg));
  overflow: hidden;
}

.swiper-wrapper {
  z-index: 1;
}
.js-staff-swiper .swiper-slide {
  width: 250px;
}

@media (min-width: 769px) {
  .js-staff-swiper .swiper-slide {
    width: 350px;
  }
}
