@charset "UTF-8";
:root {
  /* フォント */
  --font-base: 'Noto Sans JP', system-ui, -apple-system, sans-serif;
  --font-gothic: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  --font-mincho: 'Noto Serif JP', serif;
  --font-en: "Cinzel", serif;
  /* カラー */
  --color-text: #001D3F;
  --color-navy: #001D3F;
  --color-light-navy: #4B6788;
  --color-border: #8597AF;
  --color-main: #006CFF;
  --color-right-blue: #F1F5FD;
  --color-gold: #8C7C65;
  --grad-button: linear-gradient(90deg, #171D69 0%, #2563EB 100%);
  --grad-cta-blue: linear-gradient(90deg, #0FD3F1 0%, #2563EB 100%);
  --grad-cta-orange: linear-gradient(90deg, #FA0 0%, #FA5700 100%);
}

body {
  font-family: var(--font-base);
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
}

/* デフォルトのタイポグラフィ */
h1, h2, h3 {
  line-height: 1.3;
  text-align: left;
}

h1 {
  font-size: clamp(28px, 4vw, 40px);
}

h2 {
  font-size: clamp(22px, 3vw, 28px);
}

h3 {
  font-size: clamp(18px, 2.5vw, 22px);
}

p {
  font-size: 16px;
  color: var(--color-text);
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
}

/* よく使うユーティリティ */
.u-mt-0 {
  margin-top: 0 !important;
}

.u-mb-0 {
  margin-bottom: 0 !important;
}

[data-sp-only] {
  display: none !important;
}
@media screen and (max-width: 768px) {
  [data-sp-only] {
    display: block !important;
  }
}

[data-pc-only] {
  display: block !important;
}
@media screen and (max-width: 768px) {
  [data-pc-only] {
    display: none !important;
  }
}

[data-tab] {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  [data-tab] {
    display: block !important;
  }
}

.arrow-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 500;
  line-height: 200%;
  letter-spacing: 0.32px;
}
@media screen and (max-width: 768px) {
  .arrow-link {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.arrow-link:after {
  content: "";
  -webkit-mask: url(../images/top/arrow.svg) no-repeat;
          mask: url(../images/top/arrow.svg) no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: #6A809E;
  width: 22px;
  height: 21px;
  display: block;
  position: relative;
  top: 1px;
}

.l-header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background-color: #fff;
}

.l-header__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-inline: auto;
  padding-left: 34px;
}
@media screen and (max-width: 1024px) {
  .l-header__inner {
    padding-left: 15px;
  }
}
@media screen and (max-width: 1023px) {
  .l-header__inner {
    padding: 10px 20px;
  }
}

.l-header__logo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  margin-right: 24px;
  width: clamp(128.4px, 0px + 16.71875vw, 321px);
  min-width: 192px;
}

.l-header__logo img {
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .l-header__logo img {
    width: 192px;
    height: 18px;
  }
}

.l-header__nav-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  height: 100%;
  gap: 8px;
  margin-block: 14px;
}
@media (1024px <= width <= 1280px) {
  .l-header__nav-wrap {
    zoom: 0.8;
  }
}
@media screen and (max-width: 1023px) {
  .l-header__nav-wrap {
    display: none;
  }
}

.l-header__nav-upper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.l-header__nav-upper-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
}

.l-header__nav-upper-item {
  list-style: none;
}

.l-header__nav-upper-link {
  display: block;
  padding-inline: 12.5px;
  color: var(--color-light-navy);
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0.28px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  white-space: nowrap;
}
@media (1024px <= width <= 1280px) {
  .l-header__nav-upper-link {
    font-size: 12px;
  }
}

.l-header__nav-upper-link:hover {
  opacity: 0.8;
}

.l-header__nav-lower {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.l-header__nav-lower-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
}

.l-header__nav-lower-item {
  list-style: none;
}

.l-header__nav-lower-link {
  display: block;
  padding-inline: 12.5px;
  color: var(--color-text);
  font-family: "Noto Sans JP";
  font-size: 14px;
  line-height: 200%;
  letter-spacing: 0.28px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  white-space: nowrap;
}
@media (1024px <= width <= 1280px) {
  .l-header__nav-lower-link {
    font-size: 12px;
  }
}

.l-header__nav-lower-link:hover {
  opacity: 0.8;
}

.l-header__cta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
          align-self: stretch;
  margin-left: auto;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  margin-left: clamp(15.2px, 0px + 1.9791666667vw, 38px);
}
@media screen and (max-width: 1023px) {
  .l-header__cta {
    display: none;
  }
}

.l-header__cta-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(58px, 0px + 7.5520833333vw, 145px);
  color: #fff;
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  font-weight: 500;
  line-height: 200%;
  letter-spacing: 0.32px;
}
@media screen and (max-width: 1024px) {
  .l-header__cta-btn {
    width: 100px;
  }
}

.l-header__cta-btn:hover {
  opacity: 0.8;
}

.l-header__cta-btn--blue {
  background: var(--grad-cta-blue);
}

.l-header__cta-btn--orange {
  background: var(--grad-cta-orange);
}

.l-header__cta-btn-text {
  white-space: nowrap;
}
@media (1024px <= width <= 1280px) {
  .l-header__cta-btn-text {
    font-size: 14px;
  }
}

.l-header__hamburger {
  display: none;
  position: relative;
  width: 32px;
  height: 17px;
  margin-left: auto;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 1001;
}
@media screen and (max-width: 1023px) {
  .l-header__hamburger {
    display: block;
  }
}

.l-header__hamburger-line {
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-text);
  -webkit-transition: opacity 0.3s, top 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, top 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s, top 0.3s;
  transition: transform 0.3s, opacity 0.3s, top 0.3s, -webkit-transform 0.3s;
}

.l-header__hamburger-line:nth-child(1) {
  top: 0;
}

.l-header__hamburger-line:nth-child(2) {
  top: 9px;
}

.l-header__hamburger-line:nth-child(3) {
  top: 18px;
}

.l-header__hamburger.is-active .l-header__hamburger-line:nth-child(1) {
  top: 9px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.l-header__hamburger.is-active .l-header__hamburger-line:nth-child(2) {
  opacity: 0;
}

.l-header__hamburger.is-active .l-header__hamburger-line:nth-child(3) {
  top: 9px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.l-header__drawer {
  display: none;
  position: fixed;
  top: 38px;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background-color: #fff;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  z-index: 999;
  overflow-y: auto;
}
@media screen and (min-width: 1024px) {
  .l-header__drawer {
    display: none !important;
  }
}
@media screen and (max-width: 1023px) {
  .l-header__drawer {
    display: block;
  }
}

.l-header__drawer.is-open {
  opacity: 1;
  visibility: visible;
}

.l-header__drawer-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 37px 20px 40px;
  min-height: 100%;
}

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

.l-header__drawer-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}

.l-header__drawer-item + * {
  margin-top: 21px;
}

.l-header__drawer-link {
  display: block;
  padding: 0 27px;
  color: var(--color-text);
  position: relative;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  font-size: 14px;
  line-height: 200%;
  letter-spacing: 0.28px;
}

.l-header__drawer-link::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 10px;
  color: var(--color-text);
  width: 8px;
  height: 1px;
  background: var(--color-navy);
}

.l-header__drawer-link:hover {
  opacity: 0.7;
}

.l-header__drawer-nav {
  border-bottom: 1px solid var(--color-border);
}

.l-header__drawer-sub {
  margin-top: 36px;
  margin-inline: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .l-header__drawer-sub {
    display: block;
    width: min(297px, 100%);
  }
}

.l-header__drawer-sub-list {
  display: grid;
  grid-template-columns: repeat(3, -webkit-max-content);
  grid-template-columns: repeat(3, max-content);
  gap: 25px;
}

@media screen and (max-width: 768px) {
  .l-header__drawer-sub-list + * {
    margin-top: 14px;
  }
}

.l-header__drawer-sub-item {
  list-style: none;
}

.l-header__drawer-sub-link {
  display: block;
  color: var(--color-light-navy);
  font-size: 12px;
  line-height: 200%;
  letter-spacing: 0.24px;
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.l-header__drawer-sub-link:hover {
  opacity: 0.7;
}

.l-header__drawer-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 16px 12px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 4px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.l-header__drawer-btn:hover {
  opacity: 0.8;
}

.l-header__drawer-btn--blue {
  background: var(--grad-cta-blue);
}

.l-header__drawer-btn--orange {
  background: var(--grad-cta-orange);
}

.is-drawer-open {
  overflow: hidden;
}

.l-header--form {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background-color: #fff;
  border-bottom: 1px solid #E8EEF5;
}

.l-header--form__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 92px;
  padding-inline: 20px;
}
@media screen and (max-width: 768px) {
  .l-header--form__inner {
    height: 38px;
  }
}

.l-header--form .l-header__logo {
  margin-right: 0;
}

.l-header__drawer-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.l-header__drawer-buttons .c-button {
  height: 53px;
  border-radius: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  -webkit-box-shadow: none;
          box-shadow: none;
  margin-block: 30px;
}
.l-header__drawer-buttons .c-button:before, .l-header__drawer-buttons .c-button:after {
  display: none;
}

.l-footer {
  background-color: var(--color-navy);
}

.l-footer__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 50px;
  padding-bottom: 20px;
}

.l-footer__company {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}

.l-footer__logo {
  margin-bottom: 20px;
}

.l-footer__logo img {
  display: block;
  width: 250px;
  height: auto;
}

.l-footer__address {
  font-size: 14px;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0.28px;
  color: #fff;
}

.l-footer__nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 4px;
}

.l-footer__nav-corporate {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.l-footer__nav-corporate a {
  font-size: 14px;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0.28px;
  color: #E5EFFA;
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .l-footer__nav-corporate a {
    font-size: 12px;
    letter-spacing: 0.24px;
  }
}

.l-footer__nav-corporate a:hover {
  opacity: 0.7;
}

.l-footer__nav-site {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
  padding-top: 10px;
}

.l-footer__nav-site a {
  font-size: 14px;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0.28px;
  color: #fff;
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.l-footer__nav-site a:hover {
  opacity: 0.7;
}

.l-footer__copyright {
  font-size: 14px;
  line-height: 200%;
  letter-spacing: 0.28px;
  color: #8597AF;
  margin-left: auto;
  text-align: right;
  display: block;
  padding-bottom: 4px;
  padding-right: 50px;
}

/* ======================
   SP（モバイル）
   ====================== */
@media screen and (max-width: 768px) {
  .l-footer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 40px 20px 0;
  }
  .l-footer__company {
    padding-bottom: 22px;
    width: 100%;
    border-bottom: 1px solid var(--color-border);
  }
  .l-footer__nav {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100%;
  }
  .l-footer__nav-corporate {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-top: 18px;
    width: 100%;
  }
  .l-footer__nav-corporate li:nth-child(1) {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .l-footer__nav-corporate li:nth-child(2) {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .l-footer__nav-corporate li:nth-child(3) {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .l-footer__nav-corporate li:nth-child(4) {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .l-footer__nav-corporate li:nth-child(5) {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  .l-footer__nav-corporate li:nth-child(6) {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6;
  }
  .l-footer__nav-corporate {
    gap: 9px 30px;
  }
  .l-footer__nav-site {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100%;
    padding-top: 27px;
    padding-bottom: 27px;
    border-bottom: 1px solid var(--color-border);
    gap: 10px;
  }
  .l-footer__copyright {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
    margin-top: 60px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    padding-right: 0;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .l-footer__copyright {
    font-size: 11px;
    line-height: 200%;
    letter-spacing: 0.22px;
    margin-top: 0;
  }
}
.l-footer__banner {
  padding-left: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  padding-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .l-footer__banner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    padding-left: 0;
    padding-block: 30px 20px;
  }
}

@media screen and (max-width: 768px) {
  .l-footer__banner img {
    width: 230px;
    height: 70px;
  }
}

.l-footer__banner a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

@media (any-hover: hover) {
  .l-footer__banner a:hover {
    opacity: 0.7;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
}
:root {
  --content-width: 1200px;
  --content-width-sm: 1000px;
  --content-width-l: 1400px;
}

.l-container {
  max-width: calc(var(--content-width) + 40px);
  padding-inline: 20px;
  margin: 0 auto;
}

.l-container--sm {
  max-width: calc(var(--content-width-sm) + 40px);
  padding-inline: 20px;
  margin: 0 auto;
}

.l-container--l {
  max-width: calc(var(--content-width-l) + 40px);
  padding-inline: 20px;
  margin: 0 auto;
}

.l-wrapper {
  overflow-x: clip;
}

.c-breadcrumb {
  padding: 0 30px;
  display: inline-block;
  position: relative;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .c-breadcrumb {
    padding-inline: 18px;
  }
}

.c-breadcrumb__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 15px;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .c-breadcrumb__list {
    gap: 3px;
  }
}

.c-breadcrumb__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 14px;
  line-height: 200%;
  letter-spacing: 0.28px;
}
@media screen and (max-width: 768px) {
  .c-breadcrumb__item {
    font-size: 8px;
    letter-spacing: 0.16px;
  }
}

.c-breadcrumb__item:after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 11px;
  margin-left: 15px;
  background-image: url(../images/common/breadcrumb_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .c-breadcrumb__item:after {
    margin-left: 3px;
  }
}

.c-breadcrumb__item:last-child:after {
  display: none;
}

.c-breadcrumb__link {
  color: #8597AF;
}
.c-breadcrumb__link:hover {
  opacity: 0.7;
}

.l-sub-mv__container {
  position: relative;
}

.l-sub-mv__content {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8.9583333333vw;
  padding-bottom: 77px;
}
@media screen and (max-width: 768px) {
  .l-sub-mv__content {
    display: revert;
    height: 82.0512820513vw;
  }
}

.l-sub-mv__bg-image {
  width: 43.75vw;
}
@media screen and (max-width: 768px) {
  .l-sub-mv__bg-image {
    width: 88.4615384615vw;
  }
}

.l-sub-mv__bg-image img {
  width: 100%;
  height: auto;
}

.l-sub-mv__bg-plane {
  position: absolute;
  bottom: 15px;
  left: 0;
  z-index: 0;
  width: 50.5208333333vw;
}
@media screen and (max-width: 768px) {
  .l-sub-mv__bg-plane {
    bottom: unset;
    left: unset;
    top: 14px;
    width: 97.4358974359vw;
  }
}

.l-sub-mv__bg-plane img {
  width: 100%;
  height: auto;
}

.l-sub-mv__copy-en {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
  width: 61.1979166667vw;
}

.l-sub-mv__copy-en img {
  width: 100%;
  height: auto;
}

.l-sub-mv__ttl-wrap {
  position: relative;
}

.l-sub-mv__ttl {
  font-size: clamp(16px, 0px + 2.0833333333vw, 40px);
  font-weight: 500;
  line-height: clamp(24px, 0px + 3.125vw, 60px);
  letter-spacing: 4px;
}
@media screen and (max-width: 768px) {
  .l-sub-mv__ttl {
    font-size: 5.641025641vw;
    line-height: 150%;
    letter-spacing: 0.88px;
    padding-left: 20px;
    margin-top: 50px;
  }
  .page-flow .l-sub-mv__ttl {
    margin-top: 34px;
  }
  .page-template-page-flow .l-sub-mv__ttl {
    font-size: 5.141026vw;
  }
}

.c-button {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.8px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: calc(infinity * 1px);
  background: var(--grad-button);
  color: #fff;
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.05s ease;
  transition: opacity 0.2s ease, -webkit-transform 0.05s ease;
  transition: transform 0.05s ease, opacity 0.2s ease;
  transition: transform 0.05s ease, opacity 0.2s ease, -webkit-transform 0.05s ease;
  width: min(388px, 100%);
  padding: 20px 22px;
  -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.25);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .c-button {
    width: min(300px, 100%);
    padding: 10px 22px;
    color: #FFF;
    text-align: center;
    -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
            box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    font-size: 16px;
    line-height: 200%;
    letter-spacing: 0.32px;
  }
}
.c-button:before {
  content: "";
  width: 22px;
}
.c-button:after {
  content: "";
  background: url(../images/top/arrow.svg) no-repeat;
  background-size: contain;
  width: 22px;
  height: 21px;
  display: inline-block;
}
.c-button:hover {
  opacity: 0.8;
}

.c-button--blue {
  background: var(--grad-cta-blue);
  padding-block: 10px;
}
@media screen and (max-width: 768px) {
  .c-button--blue {
    font-size: 16px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.32px;
  }
}

.c-button--orange {
  background: var(--grad-cta-orange);
  padding-block: 12px;
}
@media screen and (max-width: 768px) {
  .c-button--orange {
    padding-block: 14px;
    font-size: 16px;
    font-weight: 500;
    line-height: 200%;
    letter-spacing: 0.32px;
  }
}

.c-section-en {
  font-family: var(--font-en);
  color: var(--color-main);
  font-size: 26px;
  line-height: 48px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 26px;
  text-transform: uppercase;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  white-space: nowrap;
  grid-area: en;
}
@media screen and (max-width: 768px) {
  .c-section-en {
    color: var(--brandcolor_006CFF, #006CFF);
    font-size: 20px;
    line-height: 150%;
  }
}
.c-section-en:after {
  content: "";
  background-color: var(--color-border);
  width: 100%;
  height: 1px;
}
.c-section-en.-noborder:after {
  display: none;
}

.c-hgroup {
  display: grid;
  grid-template-areas: "en en" "jp lead";
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}
@media screen and (max-width: 768px) {
  .c-hgroup {
    grid-template-areas: "en" "jp" "lead";
  }
}

.c-section-jp {
  grid-area: jp;
  font-size: 42px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.68px;
}
@media screen and (max-width: 768px) {
  .c-section-jp {
    font-size: 26px;
    letter-spacing: 1.04px;
  }
  .c-section-jp.-fz-lg {
    font-size: 28px;
  }
}

.c-section-lead {
  grid-area: lead;
  justify-self: end;
  align-self: end;
  font-size: 28px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.12px;
}
@media screen and (max-width: 768px) {
  .c-section-lead {
    font-size: 18px;
    letter-spacing: 0.72px;
    justify-self: revert;
    -webkit-align-self: revert;
        -ms-flex-item-align: revert;
            align-self: revert;
    margin-top: 46px;
  }
}
@media screen and (max-width: 500px) {
  .c-section-lead.-nowrap {
    white-space: nowrap;
  }
}

.c-section-heading {
  position: relative;
}

.c-section-heading__title {
  font-size: clamp(24px, 2.0833333333vw, 40px);
  font-weight: 500;
  line-height: clamp(24px, 0px + 3.125vw, 60px);
  letter-spacing: clamp(1.6px, 0px + 0.2083333333vw, 4px);
  padding-left: clamp(21.2px, 0px + 2.7604166667vw, 53px);
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-section-heading__title {
    font-size: 22px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.88px;
    padding-left: 20px;
  }
}
.c-section-heading__title:before {
  content: "";
  background-color: var(--color-border);
  width: 1px;
  height: clamp(40px, 0px + 5.2083333333vw, 100px);
  min-height: 92px;
  position: absolute;
  top: 0;
  left: 25px;
  left: clamp(10px, 0px + 1.3020833333vw, 25px);
}
@media screen and (max-width: 768px) {
  .c-section-heading__title:before {
    left: 5px;
  }
}
@media screen and (max-width: 768px) {
  .c-section-heading__title.u-row-1:before {
    min-height: 59px;
    top: -10px;
  }
}
.c-section-heading__title.u-row-2:before {
  height: clamp(63.2px, 0px + 8.2291666667vw, 158px);
  min-height: 123px;
}
.c-section-heading__title:after {
  content: "";
  background-color: var(--color-border);
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: -15px;
  bottom: clamp(-15px, 0px + -0.78125vw, -6px);
}
@media screen and (max-width: 768px) {
  .c-section-heading__title:after {
    bottom: -9px;
  }
}

.c-section-heading--training .c-section-heading__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24.5px;
  padding-left: 20px;
}
@media screen and (max-width: 768px) {
  .c-section-heading--training .c-section-heading__title {
    padding-left: 5px;
    gap: 11px;
  }
}
.c-section-heading--training .c-section-heading__title:before {
  display: none;
}
.c-section-heading--training .c-section-heading__title:after {
  bottom: clamp(8px, 0px + 1.0416666667vw, 20px);
}

.c-section-heading__subtitle {
  font-family: var(--font-en);
  color: #E5EFFA;
  font-size: 86.632px;
  font-size: clamp(60px, 4.5120833333vw, 86.632px);
  line-height: 97.461px;
  line-height: clamp(38.8px, 0px + 5.0520833333vw, 97px);
  position: absolute;
  right: 0;
  bottom: clamp(-76px, 0px + -3.9583333333vw, -30.4px);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .c-section-heading__subtitle {
    font-size: 7.6923076923vw;
    line-height: 150%;
    bottom: -38px;
  }
  .c-section-heading__subtitle.u-fz-sm {
    font-size: 7.4358974359vw;
  }
  .p-flow-succession .c-section-heading__subtitle, .p-flow-trends .c-section-heading__subtitle {
    font-size: 25px;
  }
}

.c-section-heading--training .c-section-heading__subtitle {
  bottom: clamp(-54px, 0px + -2.8125vw, -21.6px);
}

.c-section-heading__title-number {
  width: 106px;
  height: 106px;
  border: 1px solid var(--color-border);
  display: grid;
  place-content: center;
  font-family: var(--font-en);
  font-size: 39px;
  line-height: 48px;
  letter-spacing: 0;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .c-section-heading__title-number {
    width: 42px;
    height: 110px;
    font-size: 24px;
    line-height: 48px;
    position: relative;
    top: 10px;
  }
}

.c-heading-h3 {
  font-size: 28px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.12px;
}
@media screen and (max-width: 768px) {
  .c-heading-h3 {
    font-size: 18px;
    letter-spacing: 0.72px;
  }
}

.c-heading-lg {
  font-size: 42px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.68px;
}
@media screen and (max-width: 768px) {
  .c-heading-lg {
    font-size: 22px;
    letter-spacing: 0.88px;
  }
}

.c-heading-md {
  font-size: 28px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.12px;
}
@media screen and (max-width: 768px) {
  .c-heading-md {
    font-size: 18px;
    letter-spacing: 0.72px;
  }
}

.c-heading-sm {
  font-size: 24px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.96px;
}
@media screen and (max-width: 768px) {
  .c-heading-sm {
    font-size: 18px;
    letter-spacing: 0.72px;
  }
}

/* アイコン用 */
/* フォーム用 */
.c-text {
  font-size: 16px;
  line-height: 200%;
  letter-spacing: 0.32px;
}
@media screen and (max-width: 768px) {
  .c-text {
    font-size: 14px;
    letter-spacing: 0.28px;
  }
}

.c-text-secondary {
  font-size: 18px;
  line-height: 200%;
  letter-spacing: 0.36px;
}
@media screen and (max-width: 768px) {
  .c-text-secondary {
    font-size: 14px;
    font-weight: 400;
    line-height: 200%;
    letter-spacing: 0.28px;
  }
}

/* ナビ用 */
/* 画像用 */
/* リスト用 */
/* テーブル用 */
/* 罫線用 */
/* ビデオ用 */
/* スライド用 */
.c-card {
  display: block;
  border: 1px solid #BCBCBC;
}
.c-card__img-wrap {
  width: 100%;
}
.c-card__img {
  width: 100%;
  height: auto;
}
.c-card__txt-area {
  padding: clamp(8px, 0px + 1.0416666667vw, 20px);
}
@media screen and (max-width: 768px) {
  .c-card__txt-area {
    padding: 10px 20px 10px;
  }
}
.c-card__ttl {
  font-size: 24px;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 700;
  color: var(--color-main);
  margin-bottom: clamp(6px, 0px + 0.78125vw, 15px);
}
@media screen and (max-width: 768px) {
  .c-card__ttl {
    font-size: 18px;
    line-height: 1.7777777778;
    letter-spacing: 0em;
  }
}
.c-card__txt {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 768px) {
  .c-card__txt {
    font-size: 14px;
    line-height: 1.7142857143;
    letter-spacing: 0em;
  }
}

/* その他 */
.p-mv__copy {
  opacity: 0;
  -webkit-transform: translateY(15px);
          transform: translateY(15px);
  -webkit-transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, transform 0.8s ease;
  transition: opacity 0.8s ease, transform 0.8s ease, -webkit-transform 0.8s ease;
}
.p-mv__copy.is-inview {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.js-fade {
  opacity: 0;
  -webkit-transform: translateY(15px);
          transform: translateY(15px);
  -webkit-transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, transform 0.8s ease;
  transition: opacity 0.8s ease, transform 0.8s ease, -webkit-transform 0.8s ease;
}
.js-fade.is-inview {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.p-mv {
  position: relative;
}

.p-mv:before {
  content: "";
  background: url(../images/top/mv_plane_pc.svg) no-repeat;
  background-size: contain;
  width: clamp(741.6px, 0px + 96.5625vw, 1854px);
  height: clamp(382.8px, 0px + 49.84375vw, 957px);
  position: absolute;
  bottom: clamp(-170px, -8.8541666667vw, -52px);
  left: 0;
}
@media screen and (max-width: 768px) {
  .p-mv:before {
    background-image: url(../images/top/mv_plane_sp.svg);
    width: 97.6923076923vw;
    height: 72.3076923077vw;
    bottom: 25.641025641vw;
  }
}

.p-mv__row-block {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8.0729166667vw;
}
@media screen and (max-width: 768px) {
  .p-mv__row-block {
    grid-template-columns: 1fr;
    gap: 29px;
  }
}

@media screen and (max-width: 768px) {
  .p-mv__image {
    margin-right: 45px;
  }
}

.p-mv__image img {
  width: clamp(427.6px, 0px + 55.6770833333vw, 1069px);
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-mv__image img {
    width: 100%;
  }
}

.p-mv__content {
  margin-top: clamp(67.2px, 0px + 8.75vw, 168px);
}
@media screen and (max-width: 768px) {
  .p-mv__content {
    margin-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .p-mv__copy {
    padding-left: 45px;
  }
}

.p-mv__copy-main {
  font-size: clamp(16px, 0px + 2.0833333333vw, 40px);
  font-weight: 500;
  line-height: 60px;
  line-height: clamp(24px, 0px + 3.125vw, 60px);
  letter-spacing: 4px;
}
@media screen and (max-width: 768px) {
  .p-mv__copy-main {
    font-size: 22px;
    line-height: 150%;
    letter-spacing: 0.88px;
  }
}

.p-mv__copy-sub {
  font-size: 16px;
  line-height: 200%;
  letter-spacing: 0.32px;
  margin-top: 23px;
}
@media screen and (max-width: 768px) {
  .p-mv__copy-sub {
    font-size: 13px;
    line-height: 170%;
    letter-spacing: 0.26px;
    margin-top: 15px;
  }
}

.p-mv__image-right {
  display: block;
  margin-top: clamp(62.8px, 0px + 8.1770833333vw, 157px);
}
@media screen and (max-width: 768px) {
  .p-mv__image-right {
    margin-top: 35px;
  }
}

.p-mv__image-right img {
  width: clamp(278.4px, 0px + 36.25vw, 696px);
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-mv__image-right img {
    width: calc(100% - 49px);
    margin-left: auto;
    display: block;
  }
}

.p-mv__heading {
  position: absolute;
  top: clamp(268.8px, 0px + 35vw, 672px);
  left: 93px;
  width: clamp(485.2px, 0px + 63.1770833333vw, 1213px);
}
@media screen and (max-width: 768px) {
  .p-mv__heading {
    left: 0;
    top: unset;
    bottom: -14px;
    width: min(94.1025641026vw, 100%);
  }
}

.p-mv__heading img {
  width: 100%;
  height: auto;
}

.p-bg {
  position: relative;
  padding-bottom: 190px;
}
@media screen and (max-width: 768px) {
  .p-bg {
    padding-bottom: 117px;
  }
}
.p-bg:before {
  content: "";
  background: var(--buckcolor, rgba(234, 239, 243, 0.9));
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: calc(100% - 32.4479166667vw);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-bg:before {
    height: calc(100% - 134.358974359vw);
  }
}
.p-bg:after {
  content: "";
  background: url(../images/top/city_bg_pc.webp) no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 32.4479166667vw;
  width: 100%;
  height: 100%;
  z-index: -2;
}
@media screen and (max-width: 768px) {
  .p-bg:after {
    background-image: url(../images/top/city_bg_sp.webp);
    top: 134.358974359vw;
  }
}

.p-message {
  padding-top: 213px;
}
@media screen and (max-width: 768px) {
  .p-message {
    padding-top: 155px;
  }
}

.p-message__contents {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4.9479166667vw;
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .p-message__contents {
    grid-template-columns: 1fr;
    gap: 40px;
    margin-top: 43px;
  }
}

.p-message__image {
  width: min(26.3020833333vw, 505px);
}
@media screen and (max-width: 768px) {
  .p-message__image {
    width: 94.8717948718vw;
    max-width: 400px;
    margin-inline: auto;
  }
}
@media screen and (max-width: 500px) {
  .p-message__image {
    margin-right: calc(50% - 50vw);
  }
}

.p-message__image img {
  width: 100%;
  height: auto;
}

.p-message__heading-wrapper {
  display: grid;
  grid-template-columns: 30.625vw 599fr;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .p-message__heading-wrapper {
    display: block;
  }
}
.p-message__heading-wrapper:before {
  content: "";
  background-color: var(--color-border);
  width: 100%;
  height: 1px;
  display: inline-block;
  margin-top: 22px;
}
@media screen and (max-width: 768px) {
  .p-message__heading-wrapper:before {
    display: none;
  }
}

.p-message__heading-en {
  text-transform: uppercase;
  color: var(--color-main);
  font-family: var(--font-en);
  font-size: 26px;
  line-height: 48px;
}
@media screen and (max-width: 768px) {
  .p-message__heading-en {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
    font-size: 20px;
    line-height: 150%;
    /* 30px */
  }
  .p-message__heading-en:after {
    content: "";
    background-color: var(--color-border);
    width: 100%;
    height: 1px;
  }
}

.p-message__heading-main {
  color: var(--color-text);
  font-family: "Noto Sans JP";
  font-size: 42px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.68px;
}
@media screen and (max-width: 768px) {
  .p-message__heading-main {
    font-size: 26px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 1.04px;
  }
}

.p-message__lead {
  color: var(--navy-text-001-d-3-f, #001D3F);
  font-size: 28px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.12px;
}
@media screen and (max-width: 768px) {
  .p-message__lead {
    margin-top: 0;
    font-size: 18px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.72px;
  }
}

.color-blue {
  color: var(--color-main);
}

.p-message__text {
  margin-top: 54px;
  font-size: 18px;
  line-height: 200%;
  letter-spacing: 0.36px;
}
@media screen and (max-width: 768px) {
  .p-message__text {
    font-size: 14px;
    line-height: 200%;
    margin-top: 20px;
  }
}

.p-message__text + .p-message__text {
  margin-top: 2em;
}

.p-message__ceo {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-message__ceo {
    margin-top: 20px;
  }
}

.p-message__company-name,
.p-message__name-position,
.p-message__name-name {
  font-size: 20px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.8px;
}
@media screen and (max-width: 768px) {
  .p-message__company-name,
  .p-message__name-position,
  .p-message__name-name {
    font-size: 14px;
    letter-spacing: 0.28px;
    line-height: 200%;
  }
}

.p-message__position-name {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .p-message__position-name {
    gap: 9px;
  }
}

.p-why {
  padding-top: 190px;
}
@media screen and (max-width: 768px) {
  .p-why {
    padding-top: 150px;
  }
}

.p-why__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(20px, 0px + 2.6041666667vw, 50px) clamp(19.2px, 0px + 2.5vw, 48px);
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .p-why__list {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, 1fr);
    gap: 20px;
    margin-top: 20px;
  }
}
@media (450px <= width <= 768px) {
  .p-why__list {
    grid-template-rows: repeat(4, auto);
  }
}

.p-why__item {
  background: #fff;
  -webkit-box-shadow: 0 0 20px 0 rgba(133, 151, 175, 0.1);
          box-shadow: 0 0 20px 0 rgba(133, 151, 175, 0.1);
  padding: 68px 58px 48px;
  padding: clamp(27.2px, 0px + 3.5416666667vw, 68px) clamp(23.2px, 0px + 3.0208333333vw, 58px) clamp(19.2px, 0px + 2.5vw, 48px);
}
@media screen and (max-width: 768px) {
  .p-why__item {
    padding: 40px 25px 40px;
  }
}

.p-why__heading {
  font-size: 28px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.12px;
  text-align: center;
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .p-why__heading {
    font-size: 18px;
    letter-spacing: 0.72px;
  }
}

.p-why__heading span {
  display: inline-block;
}

.p-why__text {
  font-size: 18px;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0.36px;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .p-why__text {
    font-size: 14px;
    letter-spacing: 0.28px;
    margin-top: 10px;
  }
}

.p-why__image {
  margin-top: 36px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-why__image {
    margin-top: 24px;
  }
}

.p-why__image img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-why__item:nth-of-type(1) .p-why__image img {
    width: 229px;
  }
  .p-why__item:nth-of-type(2) .p-why__image img {
    width: 185px;
  }
  .p-why__item:nth-of-type(3) .p-why__image img {
    width: 217px;
  }
  .p-why__item:nth-of-type(4) .p-why__image img {
    width: 251px;
  }
}

.p-why__button {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .p-why__button {
    margin-top: 40px;
  }
}

/* ===================================
   p-company-logo
=================================== */
/* カスタムプロパティ */
.p-company-logo {
  margin-top: 25px;
  --logo-gap: 30px;
  --slide-duration: 120s;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-company-logo {
    --logo-gap: 18px;
    margin-top: 19px;
  }
}

.p-company-logo::before {
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#fff), to(transparent));
  background: -webkit-linear-gradient(left, #fff 0%, transparent 100%);
  background: linear-gradient(to right, #fff 0%, transparent 100%);
}

.p-company-logo::after {
  right: 0;
  background: -webkit-gradient(linear, right top, left top, from(#fff), to(transparent));
  background: -webkit-linear-gradient(right, #fff 0%, transparent 100%);
  background: linear-gradient(to left, #fff 0%, transparent 100%);
}

.p-company-logo h2 {
  width: min(1200px, 100% - 40px);
  font-size: 16px;
  font-weight: 500;
  line-height: 200%;
  letter-spacing: 0.32px;
  margin-bottom: 11px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-company-logo h2 {
    font-size: 12px;
    letter-spacing: 0.24px;
  }
}

/* トラック：全ロゴ（2セット分）を横一列に並べる */
.p-company-logo__track {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  gap: var(--logo-gap);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  /* translateX の移動量 = 1セット分（トラック幅の50%） */
  -webkit-animation: logo-slide var(--slide-duration) linear infinite;
          animation: logo-slide var(--slide-duration) linear infinite;
}

/* ホバーで一時停止 */
/* アニメーション本体
   translateX に 1セット分の幅（トラック幅の50%）を負値で指定 */
@-webkit-keyframes logo-slide {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@keyframes logo-slide {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
/* 個別ロゴ画像 */
.p-company-logo__item {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-company-logo__item:nth-child(1), .p-company-logo__item:nth-child(21) {
    width: 115px;
    height: 30px;
  }
  .p-company-logo__item:nth-child(2), .p-company-logo__item:nth-child(22) {
    width: 106px;
    height: 26px;
  }
  .p-company-logo__item:nth-child(3), .p-company-logo__item:nth-child(23) {
    width: 52px;
    height: 50px;
  }
  .p-company-logo__item:nth-child(4), .p-company-logo__item:nth-child(24) {
    width: 147px;
    height: 48px;
  }
  .p-company-logo__item:nth-child(5), .p-company-logo__item:nth-child(25) {
    width: 126px;
    height: 22px;
  }
  .p-company-logo__item:nth-child(6), .p-company-logo__item:nth-child(26) {
    width: 45px;
    height: 42px;
  }
  .p-company-logo__item:nth-child(7), .p-company-logo__item:nth-child(27) {
    width: 49px;
    height: 37px;
  }
  .p-company-logo__item:nth-child(8), .p-company-logo__item:nth-child(28) {
    width: 131px;
    height: 19px;
  }
  .p-company-logo__item:nth-child(9), .p-company-logo__item:nth-child(29) {
    width: 84px;
    height: 21px;
  }
  .p-company-logo__item:nth-child(10), .p-company-logo__item:nth-child(30) {
    width: 40px;
    height: 40px;
  }
  .p-company-logo__item:nth-child(11), .p-company-logo__item:nth-child(31) {
    width: 39px;
    height: 48px;
  }
  .p-company-logo__item:nth-child(12), .p-company-logo__item:nth-child(32) {
    width: 117px;
    height: 47px;
  }
  .p-company-logo__item:nth-child(13), .p-company-logo__item:nth-child(33) {
    width: 129px;
    height: 30px;
  }
  .p-company-logo__item:nth-child(14), .p-company-logo__item:nth-child(34) {
    width: 147px;
    height: 20px;
  }
  .p-company-logo__item:nth-child(15), .p-company-logo__item:nth-child(35) {
    width: 111px;
    height: 15px;
  }
  .p-company-logo__item:nth-child(16), .p-company-logo__item:nth-child(36) {
    width: 104px;
    height: 43px;
  }
  .p-company-logo__item:nth-child(17), .p-company-logo__item:nth-child(37) {
    width: 167px;
    height: 26px;
  }
  .p-company-logo__item:nth-child(18), .p-company-logo__item:nth-child(38) {
    width: 210px;
    height: 45px;
  }
  .p-company-logo__item:nth-child(19), .p-company-logo__item:nth-child(39) {
    width: 50px;
    height: 50px;
  }
  .p-company-logo__item:nth-child(20), .p-company-logo__item:nth-child(40) {
    width: 169px;
    height: 11px;
  }
}

/* ===== アクセシビリティ：動きを減らす設定への対応 ===== */
@media (prefers-reduced-motion: reduce) {
  .p-company-logo__track {
    -webkit-animation: none;
            animation: none;
  }
}
.p-human {
  padding-block: 182px 190px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-human {
    padding-block: 92px 40px;
  }
}
.p-human:before {
  content: "";
  display: block;
  position: absolute;
  top: 160px;
  left: 80px;
  width: min(54.375vw, 100%);
  height: min(37.2916666667vw, 100%);
  background: url(../images/top/human_bg_top.svg) no-repeat;
  background-size: contain;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-human:before {
    width: min(101.0256410256vw, 100%);
    height: min(69.2307692308vw, 100%);
    top: 100px;
    left: -70px;
  }
}
.p-human:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 70px;
  right: 109px;
  width: min(53.28125vw, 100%);
  height: min(40.2604166667vw, 100%);
  background: url(../images/top/human_bg_bottom.svg) no-repeat;
  background-size: contain;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-human:after {
    display: none;
  }
}

.p-human__list {
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .p-human__list {
    margin-top: 20px;
  }
}

.p-human__item {
  display: grid;
  grid-template-columns: minmax(0, 396px) 1fr;
}
@media screen and (max-width: 768px) {
  .p-human__item {
    grid-template-columns: 1fr;
  }
}

.p-human__item + * {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-human__item + * {
    margin-top: 20px;
  }
}

.p-human__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-human__body {
  background: #E5EFFA;
  padding: clamp(18px, 0px + 2.34375vw, 45px);
}
@media screen and (max-width: 768px) {
  .p-human__body {
    padding: 40px 24px;
  }
}

.p-human__heading-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media screen and (max-width: 768px) {
  .p-human__heading-wrapper {
    gap: 6px;
  }
}

.p-human__number {
  color: var(--color-main);
  font-family: var(--font-en);
  font-size: 26px;
  line-height: 48px;
}
@media screen and (max-width: 768px) {
  .p-human__number {
    font-size: 20px;
    line-height: 150%;
  }
}

.p-human__heading {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .p-human__heading {
    gap: 5px;
  }
}

.p-human__heading-main {
  font-size: 28px;
  font-size: clamp(11.2px, 0px + 1.4583333333vw, 28px);
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.12px;
}
@media screen and (max-width: 1024px) {
  .p-human__heading-main {
    font-size: 18px;
  }
}

.p-human__heading-en {
  font-family: var(--font-en);
  font-size: 32px;
  font-size: clamp(12.8px, 0px + 1.6666666667vw, 32px);
  line-height: 48px;
  letter-spacing: 1.6px;
}
@media screen and (max-width: 1024px) {
  .p-human__heading-en {
    font-size: 20px;
    line-height: 150%;
    letter-spacing: 0;
    position: relative;
    left: -4px;
  }
}

.p-human__text {
  font-size: 16px;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0.32px;
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .p-human__text {
    font-size: 14px;
    line-height: 200%;
    letter-spacing: 0.28px;
  }
}

.p-human__details-list {
  background: #fff;
  margin-top: 26px;
  padding: 24px 40px;
}
@media screen and (max-width: 768px) {
  .p-human__details-list {
    margin-top: 14px;
    padding: 30px 20px;
  }
}

.p-human__details-item {
  font-size: 16px;
  font-weight: 500;
  line-height: 200%;
  letter-spacing: 0.32px;
}
@media screen and (max-width: 768px) {
  .p-human__details-item {
    font-size: 14px;
    line-height: 150%;
    letter-spacing: 0.28px;
    border-left: 1px solid var(--color-border);
    padding-left: 10px;
  }
}

.p-human__details-item + * {
  margin-top: 6px;
}
@media screen and (max-width: 768px) {
  .p-human__details-item + * {
    margin-top: 20px;
  }
}

.p-human__button {
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .p-human__button {
    margin-top: 40px;
  }
}

.p-career {
  background-color: rgba(234, 239, 243, 0.9);
  padding-block: 190px;
}
@media screen and (max-width: 768px) {
  .p-career {
    padding-block: 160px 100px;
  }
}

.p-career__step {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 90px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-career__step {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    margin-top: 40px;
  }
}

.p-career__step-box {
  width: 290px;
  height: 200px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 290 200'%3E%3Cpath d='M0 3C0 1.34314 1.34315 0 3 0H249.262C250.501 0 251.613 0.761935 252.06 1.91769L289.581 98.9177C289.851 99.6141 289.851 100.386 289.581 101.082L252.06 198.082C251.613 199.238 250.501 200 249.262 200H3C1.34315 200 0 198.657 0 197V3Z'/%3E%3C%2Fsvg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 290 200'%3E%3Cpath d='M0 3C0 1.34314 1.34315 0 3 0H249.262C250.501 0 251.613 0.761935 252.06 1.91769L289.581 98.9177C289.851 99.6141 289.851 100.386 289.581 101.082L252.06 198.082C251.613 199.238 250.501 200 249.262 200H3C1.34315 200 0 198.657 0 197V3Z'/%3E%3C%2Fsvg%3E");
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  text-align: center;
  color: #FFF;
  font-size: 28px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.12px;
  position: relative;
}
.p-career__step-box span {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: calc(50% - 5px);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-career__step-box {
    width: 300px;
    height: 108px;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 108'%3E%3Cpath d='M297 0C298.657 0 300 1.34315 300 3L300 78.044C300 79.4925 298.965 80.7342 297.54 80.995L150.54 107.901C150.183 107.966 149.817 107.966 149.46 107.901L2.45986 80.995C1.03502 80.7342 0 79.4925 0 78.044L0 3C0 1.34314 1.34317 0 3 0L297 0Z'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 108'%3E%3Cpath d='M297 0C298.657 0 300 1.34315 300 3L300 78.044C300 79.4925 298.965 80.7342 297.54 80.995L150.54 107.901C150.183 107.966 149.817 107.966 149.46 107.901L2.45986 80.995C1.03502 80.7342 0 79.4925 0 78.044L0 3C0 1.34314 1.34317 0 3 0L297 0Z'/%3E%3C/svg%3E");
    font-size: 18px;
    letter-spacing: 0.72px;
  }
}

.p-career__step-box:nth-of-type(1) {
  background-color: #8597AF;
}

.p-career__step-box:nth-of-type(2) {
  background-color: #4B6788;
}

.p-career__step-box:nth-of-type(3) {
  background-color: #17395F;
}

.p-career__step-box:nth-of-type(4) {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='200' viewBox='0 0 280 200' fill='none'%3E%3Cpath d='M277 0H3C1.34315 0 0 1.34314 0 3V197C0 198.657 1.34315 200 3 200H277C278.657 200 280 198.657 280 197V3C280 1.34314 278.657 0 277 0Z' fill='%23001D3F'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='200' viewBox='0 0 280 200' fill='none'%3E%3Cpath d='M277 0H3C1.34315 0 0 1.34314 0 3V197C0 198.657 1.34315 200 3 200H277C278.657 200 280 198.657 280 197V3C280 1.34314 278.657 0 277 0Z' fill='%23001D3F'/%3E%3C/svg%3E");
  background-color: #001D3F;
}
@media screen and (max-width: 768px) {
  .p-career__step-box:nth-of-type(4) {
    -webkit-mask-image: none;
            mask-image: none;
  }
}

.p-career__case {
  background: #fff;
  margin-top: -90px;
  padding: 190px 90px 100px;
}
@media screen and (max-width: 768px) {
  .p-career__case {
    margin-top: 40px;
    padding: 40px 25px;
  }
}

.p-career__case-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 50px;
}
.p-career__case-item:nth-of-type(3) {
  gap: 97px;
}
@media screen and (max-width: 768px) {
  .p-career__case-item:nth-of-type(3) {
    gap: 18px;
  }
}
.p-career__case-item:nth-of-type(4) {
  gap: 80px;
}
@media screen and (max-width: 768px) {
  .p-career__case-item:nth-of-type(4) {
    gap: 40px;
  }
}
@media screen and (max-width: 768px) {
  .p-career__case-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 19px;
  }
}

.p-career__case-item + * {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .p-career__case-item + * {
    margin-top: 40px;
  }
}

.p-career__case-item:nth-of-type(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .p-career__case-item:nth-of-type(2n) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-career__case-body {
  border-bottom: 1px solid var(--color-border);
  border-right: 1px solid var(--color-border);
  position: relative;
  padding-right: 40px;
  padding-bottom: 48px;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0.5 708px;
      -ms-flex: 1 0.5 708px;
          flex: 1 0.5 708px;
}
@media screen and (max-width: 768px) {
  .p-career__case-body {
    -webkit-box-flex: unset;
    -webkit-flex: unset;
        -ms-flex: unset;
            flex: unset;
    border-right: none;
    border-left: 1px solid var(--color-border);
    padding-right: unset;
    padding-bottom: 28px;
    padding-left: 15px;
  }
}
.p-career__case-body:before {
  content: "";
  position: absolute;
  top: calc(50% - 11px);
  translate: 0 -50%;
  right: -24px;
  background: url(../images/top/curve.svg) no-repeat;
  background-size: contain;
  width: 25px;
  height: 25px;
}
@media screen and (max-width: 768px) {
  .p-career__case-body:before {
    top: unset;
    bottom: -24px;
    translate: -50% 0;
    rotate: 90deg;
    right: unset;
    left: calc(50% + 25px);
  }
}
.p-career__case-item:nth-of-type(2n) .p-career__case-body {
  border-right: none;
  border-left: 1px solid var(--color-border);
  padding-right: unset;
  padding-left: 40px;
}
@media screen and (max-width: 768px) {
  .p-career__case-item:nth-of-type(2n) .p-career__case-body {
    padding-left: unset;
    padding-right: 15px;
    border-left: none;
    border-right: 1px solid var(--color-border);
  }
}
.p-career__case-item:nth-of-type(2n) .p-career__case-body:before {
  right: auto;
  left: -24px;
  scale: -1 1;
  top: calc(50% + 8px);
}
@media screen and (max-width: 768px) {
  .p-career__case-item:nth-of-type(2n) .p-career__case-body:before {
    top: unset;
    left: calc(50% - 30px);
    translate: -50% 0;
    rotate: 270deg;
  }
}

.p-career__case-number {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #E5EFFA;
  font-family: var(--font-en);
  line-height: 46px;
  letter-spacing: 0.8px;
  padding-inline: 16px;
}
@media screen and (max-width: 768px) {
  .p-career__case-number {
    font-size: 14px;
    line-height: 150%;
    letter-spacing: 0.7px;
    padding-block: 7px;
  }
}
.p-career__case-number span {
  font-family: var(--font-base);
  font-weight: 500;
  line-height: 200%;
  letter-spacing: 0.32px;
  display: inline-block;
  padding-left: 15px;
}
@media screen and (max-width: 768px) {
  .p-career__case-number span {
    font-size: 16px;
    letter-spacing: 0.32px;
  }
}

.p-career__case-heading {
  font-size: 28px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.12px;
  margin-top: 18px;
}
@media screen and (max-width: 768px) {
  .p-career__case-heading {
    color: var(--navy-text-001-d-3-f, #001D3F);
    /* SP/見出し_S */
    font-family: "Noto Sans JP";
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    /* 27px */
    letter-spacing: 0.72px;
    margin-top: 22px;
  }
}

.p-career__case-text {
  line-height: 200%;
  letter-spacing: 0.32px;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .p-career__case-text {
    color: var(--navy-text-001-d-3-f, #001D3F);
    /* 本文/本文_S */
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
    /* 28px */
    letter-spacing: 0.28px;
  }
}

.p-career__case-item:nth-of-type(1) .p-career__case-image {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0.5 262px;
      -ms-flex: 1 0.5 262px;
          flex: 1 0.5 262px;
}
@media screen and (max-width: 768px) {
  .p-career__case-item:nth-of-type(1) .p-career__case-image {
    -webkit-box-flex: unset;
    -webkit-flex: unset;
        -ms-flex: unset;
            flex: unset;
  }
}
.p-career__case-item:nth-of-type(2) .p-career__case-image {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0.5 250px;
      -ms-flex: 1 0.5 250px;
          flex: 1 0.5 250px;
}
@media screen and (max-width: 768px) {
  .p-career__case-item:nth-of-type(2) .p-career__case-image {
    -webkit-box-flex: unset;
    -webkit-flex: unset;
        -ms-flex: unset;
            flex: unset;
  }
}
.p-career__case-item:nth-of-type(3) .p-career__case-image {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0.5 218px;
      -ms-flex: 1 0.5 218px;
          flex: 1 0.5 218px;
}
@media screen and (max-width: 768px) {
  .p-career__case-item:nth-of-type(3) .p-career__case-image {
    -webkit-box-flex: unset;
    -webkit-flex: unset;
        -ms-flex: unset;
            flex: unset;
    width: 35.8974358974vw;
  }
}
.p-career__case-item:nth-of-type(4) .p-career__case-image {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0.5 227px;
      -ms-flex: 1 0.5 227px;
          flex: 1 0.5 227px;
}
@media screen and (max-width: 768px) {
  .p-career__case-item:nth-of-type(4) .p-career__case-image {
    -webkit-box-flex: unset;
    -webkit-flex: unset;
        -ms-flex: unset;
            flex: unset;
    width: 36.9230769231vw;
  }
}
@media screen and (max-width: 768px) {
  .p-career__case-image {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    width: 45.1282051282vw;
  }
  .p-career__case-item:nth-of-type(2n) .p-career__case-image {
    margin-left: unset;
    margin-right: auto;
  }
}

.p-career__case-image img {
  width: 100%;
  height: auto;
}

.p-career__case-button {
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .p-career__case-button {
    margin-top: 40px;
  }
}

.p-information {
  padding-block: 190px 280px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-information {
    padding-block: 100px 215px;
  }
}
.p-information:before {
  content: "";
  display: block;
  position: absolute;
  top: 30px;
  left: 80px;
  width: min(54.375vw, 100%);
  height: min(37.2916666667vw, 100%);
  background: url(../images/top/human_bg_top.svg) no-repeat;
  background-size: contain;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-information:before {
    display: none;
  }
}
.p-information:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -150px;
  right: 68px;
  width: min(53.3333333333vw, 100%);
  height: min(40.3125vw, 100%);
  background: url(../images/top/human_bg_bottom.svg) no-repeat;
  background-size: contain;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-information:after {
    display: none;
  }
}

.p-information__bg {
  position: absolute;
  top: 174px;
  left: 0;
  z-index: -1;
  width: 100%;
}

.p-information__bg img {
  width: 100%;
  height: auto;
}

.p-information__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto auto;
  margin-top: 84px;
  gap: 19px;
}
@media screen and (max-width: 1024px) {
  .p-information__cards {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 100px;
  }
}

.p-information__card {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
@media screen and (max-width: 768px) {
  .p-information__card {
    display: block;
  }
}

.p-information__card-link {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  position: relative;
  padding: 82px 20px 20px;
}
@media screen and (max-width: 768px) {
  .p-information__card-link {
    padding: revert;
    min-height: 300px;
    display: grid;
    place-content: center;
  }
}
.p-information__card-link:before {
  content: "";
  background: rgba(16, 53, 94, 0.8);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-information__card-link:hover:before {
  background-color: rgba(133, 151, 175, 0.8);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-information__card-link:after {
  content: "";
  background: url(../images/top/info01.webp) no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}
.p-information__card:nth-of-type(2) .p-information__card-link:after {
  background-image: url(../images/top/info02.webp);
}
.p-information__card:nth-of-type(3) .p-information__card-link:after {
  background-image: url(../images/top/info03.webp);
}

.p-information__card-heading {
  color: #fff;
  text-align: center;
  font-size: 24px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.96px;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}
@media screen and (max-width: 768px) {
  .p-information__card-heading {
    font-size: 18px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.72px;
  }
}

.p-information__card-text {
  color: #FFF;
  text-align: center;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0.32px;
}
@media screen and (max-width: 768px) {
  .p-information__card-text {
    font-size: 14px;
    letter-spacing: 0.28px;
    margin-top: 20px;
  }
}

.p-information__card-link-text {
  color: #FFF;
  text-align: center;
  font-weight: 500;
  line-height: 200%;
  margin-top: 36px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .p-information__card-link-text {
    font-size: 14px;
    letter-spacing: 0.28px;
    position: absolute;
    right: 14px;
    bottom: 12px;
  }
}
.p-information__card-link-text:after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  -webkit-mask-image: url(../images/top/arrow.svg);
          mask-image: url(../images/top/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: #6A809E;
  width: 22px;
  height: 21px;
}

.p-contact {
  padding-bottom: 100px;
  position: relative;
}
.p-contact:after {
  content: "";
  background-color: rgba(185, 196, 212, 0.4);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-contact {
    padding-bottom: 15px;
  }
}

.p-contact-lower {
  position: relative;
}
.p-contact-lower:before {
  content: "";
  background: url(../images/common/contact_bg.webp) no-repeat;
  background-size: cover;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}
@media screen and (max-width: 768px) {
  .p-contact-lower:before {
    background-image: url(../images/common/contact_bg_sp.webp);
  }
}

.p-contact__wrapper {
  position: relative;
  top: -90px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4.1666666667vw;
  background: #fff;
  -webkit-box-shadow: 0 0 20px 0 rgba(0, 29, 63, 0.15);
          box-shadow: 0 0 20px 0 rgba(0, 29, 63, 0.15);
  padding: 100px 55px 40px 70px;
  padding: clamp(40px, 0px + 5.2083333333vw, 100px) clamp(22px, 0px + 2.8645833333vw, 55px) clamp(16px, 0px + 2.0833333333vw, 40px) clamp(28px, 0px + 3.6458333333vw, 70px);
}
@media (768px <= width <= 1024px) {
  .p-contact__wrapper {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .p-contact__wrapper {
    grid-template-columns: 1fr;
    padding: 40px 25px;
    top: -85px;
  }
}

.p-contact__text {
  margin-top: 25px;
  font-size: 16px;
  line-height: 200%;
  letter-spacing: 0.32px;
}
@media screen and (max-width: 768px) {
  .p-contact__text {
    font-size: 14px;
    letter-spacing: 0.28px;
  }
}

.p-contact__buttons {
  margin-top: 58px;
  display: grid;
  gap: 25px;
}
@media screen and (max-width: 768px) {
  .p-contact__buttons {
    margin-top: 40px;
    gap: 20px;
    width: min(100%, 300px);
    margin-inline: auto;
  }
}

.p-contact__buttons .c-button {
  margin-inline: revert;
}

.p-contact__buttons .c-button span {
  line-height: 1.1;
}

.p-contact__buttons .c-button .fz-sm {
  color: #FFF;
  text-align: center;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.28px;
}
@media screen and (max-width: 768px) {
  .p-contact__buttons .c-button .fz-sm {
    color: #FFF;
    font-family: "Noto Sans JP";
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.48px;
  }
}

.p-contact__image-wrapper {
  position: relative;
  width: 29.53125vw;
  height: 32.5520833333vw;
  min-height: 400px;
}
@media (769px <= width <= 1280px) {
  .p-contact__image-wrapper {
    zoom: 1.2;
  }
}
@media screen and (max-width: 768px) {
  .p-contact__image-wrapper {
    margin-top: 50px;
    width: 76.9230769231vw;
    height: 84.6153846154vw;
    margin-inline: auto;
    min-height: revert;
  }
}

.p-contact__image {
  position: absolute;
}

.p-contact__image1 {
  top: 0;
  left: 0;
  z-index: 1;
  width: 16.4583333333vw;
  min-width: 166px;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-contact__image1 {
    width: 42.8205128205vw;
  }
}

.p-contact__image2 {
  top: 50%;
  translate: 0 -50%;
  right: 0;
  z-index: 2;
  width: 19.6354166667vw;
  min-width: 178px;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-contact__image2 {
    width: 51.0256410256vw;
    top: 42.3076923077vw;
  }
}

.p-contact__image3 {
  left: 0;
  bottom: 0;
  z-index: 3;
  width: 15.0520833333vw;
  min-width: 189px;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-contact__image3 {
    width: 38.9743589744vw;
    min-width: 152px;
  }
}

button {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

.p-reason {
  padding-bottom: 208px;
}
@media screen and (max-width: 768px) {
  .p-reason {
    padding-bottom: 155px;
  }
}

.p-reason-people {
  margin-top: 190px;
}
@media screen and (max-width: 768px) {
  .p-reason-people {
    margin-top: 114px;
  }
}

.p-reason-people__grid {
  margin-top: 114px;
  display: grid;
  gap: 2.6041666667vw 3.8541666667vw;
  grid-template-areas: "lead image" "mission mission";
}
@media screen and (max-width: 768px) {
  .p-reason-people__grid {
    margin-top: 73px;
    gap: 15px;
    grid-template-areas: "lead" "mission" "image";
  }
}

.p-reason-people__lead {
  grid-area: lead;
}

.p-reason-people__lead-title {
  font-size: 28px;
  font-size: clamp(20px, 1.4583333333vw, 28px);
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.12px;
}
@media screen and (max-width: 768px) {
  .p-reason-people__lead-title {
    font-size: 18px;
    letter-spacing: 0.72px;
  }
}

.p-reason-people__text {
  line-height: 200%;
  letter-spacing: 0.32px;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .p-reason-people__text {
    font-size: 14px;
    letter-spacing: 0.28px;
    margin-top: 15px;
  }
}

.p-reason-people__text + * {
  margin-top: 30px;
}

.p-reason-peaple__image {
  grid-area: image;
}
@media screen and (max-width: 768px) {
  .p-reason-peaple__image {
    margin-top: 25px;
  }
}

.p-reason-peaple__image img {
  width: 31.25vw;
  max-width: 600px;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-reason-peaple__image img {
    width: 100%;
    max-width: revert;
  }
}

.p-reason-people__mission {
  grid-area: mission;
}

.p-reason-people__mission-text {
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  display: inline;
  padding: 0.1em;
  color: #fff;
  background: var(--color-text);
  font-size: 28px;
  font-size: clamp(20px, 1.4583333333vw, 28px);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 1.12px;
}
@media screen and (max-width: 768px) {
  .p-reason-people__mission-text {
    font-size: 18px;
    letter-spacing: 0.72px;
    line-height: 1.9;
  }
}

.p-reason-chosen {
  margin-top: 220px;
}
@media screen and (max-width: 768px) {
  .p-reason-chosen {
    margin-top: 120px;
  }
}

.p-reason-chosen__text {
  margin-top: 94px;
  font-size: 18px;
  line-height: 200%;
  letter-spacing: 0.36px;
}
@media screen and (max-width: 768px) {
  .p-reason-chosen__text {
    font-size: 14px;
    letter-spacing: 0.28px;
    margin-top: 56px;
  }
}

.p-reason-chosen__list {
  margin-top: 150px;
}
@media screen and (max-width: 768px) {
  .p-reason-chosen__list {
    margin-top: 60px;
  }
}

.p-reason-chosen__item {
  display: grid;
  grid-template-areas: "image title" "image text";
  gap: 20px 39px;
}
@media screen and (max-width: 768px) {
  .p-reason-chosen__item {
    grid-template-columns: 1fr;
    grid-template-areas: "title" "text" "image";
    gap: 20px;
  }
}

.p-reason-chosen__item + * {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .p-reason-chosen__item + * {
    margin-top: 61px;
  }
}

.p-reason-chosen__item:last-child {
  background: rgba(234, 239, 243, 0.9);
  padding: clamp(24px, 0px + 3.125vw, 60px) clamp(26px, 0px + 3.3854166667vw, 65px) clamp(19.6px, 0px + 2.5520833333vw, 49px);
  grid-template-areas: "title title" "image text" "link link";
  gap: 25px 40px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-reason-chosen__item:last-child {
    padding-inline: unset;
    padding-block: 60px;
    grid-template-areas: "title" "text" "image" "link";
    gap: 20px;
  }
  .p-reason-chosen__item:last-child:before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(234, 239, 243, 0.9);
    width: 100vw;
    height: 100%;
    margin-inline: calc(50% - 50vw);
    z-index: -1;
  }
}

.p-reason-chosen__item-heading {
  grid-area: title;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 17px;
  border-bottom: 1px solid var(--color-border);
}
@media screen and (max-width: 768px) {
  .p-reason-chosen__item-heading {
    display: grid;
    gap: revert;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-bottom: 7px;
  }
}
.p-reason-chosen__item:last-child .p-reason-chosen__item-heading {
  padding-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .p-reason-chosen__item:last-child .p-reason-chosen__item-heading {
    padding-bottom: 12px;
  }
}

.p-reason-chosen__item-number {
  font-family: var(--font-en);
  color: var(--color-main);
  font-size: 30px;
  line-height: 48px;
  letter-spacing: 1.5px;
}
.p-reason-chosen__item:last-child .p-reason-chosen__item-number {
  font-size: 50px;
  line-height: 34.81px;
}
@media screen and (max-width: 768px) {
  .p-reason-chosen__item:last-child .p-reason-chosen__item-number {
    font-size: 30px;
    line-height: 48px;
    letter-spacing: 1.5px;
  }
}
@media screen and (max-width: 768px) {
  .p-reason-chosen__item-number {
    text-align: center;
    font-size: 30px;
    line-height: 150%;
  }
}

.p-reason-chosen__item-title {
  font-size: 24px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.96px;
}
@media screen and (max-width: 768px) {
  .p-reason-chosen__item-title {
    font-size: 18px;
    letter-spacing: 0.72px;
    text-align: center;
  }
}
.p-reason-chosen__item:last-child .p-reason-chosen__item-title {
  font-size: 40px;
  font-size: clamp(28px, 2.0833333333vw, 40px);
  line-height: clamp(24px, 0px + 3.125vw, 60px);
  letter-spacing: 4px;
}
@media screen and (max-width: 768px) {
  .p-reason-chosen__item:last-child .p-reason-chosen__item-title {
    font-size: 18px;
    letter-spacing: 0.72px;
  }
}

.p-reason-chosen__item-text {
  grid-area: text;
}
.p-reason-chosen__item:last-child .p-reason-chosen__item-text {
  font-size: 18px;
  line-height: 200%;
  letter-spacing: 0.36px;
}
@media screen and (max-width: 768px) {
  .p-reason-chosen__item:last-child .p-reason-chosen__item-text {
    font-size: 14px;
    font-weight: 400;
    line-height: 200%;
    letter-spacing: 0.28px;
  }
}

.p-reason-chosen__item-image {
  grid-area: image;
}

.p-reason-chosen__item-image {
  width: 100%;
  height: auto;
  display: block;
}
.p-reason-chosen__item:last-child .p-reason-chosen__item-image {
  max-width: 388px;
}
@media screen and (max-width: 768px) {
  .p-reason-chosen__item:last-child .p-reason-chosen__item-image {
    max-width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .p-reason-chosen__item-image {
    width: 37.109375vw;
  }
}
@media screen and (max-width: 768px) {
  .p-reason-chosen__item-image {
    width: 100%;
  }
}

.p-reason-chosen__item-links {
  grid-area: link;
  margin-top: 25px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 1px solid var(--color-border);
  padding-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-reason-chosen__item-links {
    border: none;
    padding-top: unset;
    margin-top: 20px;
    display: grid;
    gap: 40px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}

.p-reason-chosen__item-links .arrow-link {
  text-decoration: underline;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 500;
  line-height: 200%;
  letter-spacing: 0.32px;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-reason-chosen__item-links .arrow-link {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.p-reason-chosen__item-links .arrow-link:after {
  content: "";
  -webkit-mask: url(../images/top/arrow.svg) no-repeat;
          mask: url(../images/top/arrow.svg) no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: #6A809E;
  width: 22px;
  height: 21px;
  display: block;
  position: relative;
  top: 1px;
}
@media (any-hover: hover) {
  .p-reason-chosen__item-links .arrow-link:hover {
    opacity: 0.8;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
}

.p-reason-chosen__item-links .c-button {
  margin-inline: unset;
  padding-block: 20px;
  width: min(238px, 100%);
}
@media screen and (max-width: 768px) {
  .p-reason-chosen__item-links .c-button {
    min-width: 300px;
    padding-block: 14px;
  }
}

.p-training {
  padding-block: 170px 208px;
}
@media screen and (max-width: 768px) {
  .p-training {
    padding-block: 110px 155px;
  }
}

.p-training-model__title {
  font-size: 40px;
  font-weight: 500;
  line-height: 60px;
  letter-spacing: 4px;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-training-model__title {
    font-size: 22px;
    line-height: 150%;
    letter-spacing: 0.88px;
  }
}

.p-training-model__step {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 90px;
  gap: 9px;
}
@media screen and (max-width: 768px) {
  .p-training-model__step {
    gap: 0;
    margin-top: 45px;
  }
}

.p-training-model__step-box {
  position: relative;
  display: grid;
  place-content: center;
  width: 395px;
  height: 188px;
}
@media screen and (max-width: 768px) {
  .p-training-model__step-box {
    width: 29.4871794872vw;
    height: 25.641025641vw;
    padding-right: 12px;
  }
}
.p-training-model__step-box:before {
  content: "";
  background-image: url(../images/training/training-step-bg.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-training-model__step-box:before {
    background-image: url(../images/training/training-step-bg_sp.svg);
  }
}
.p-training-model__step-box:last-of-type {
  width: 380px;
}
@media screen and (max-width: 768px) {
  .p-training-model__step-box:last-of-type {
    width: 29.7435897436vw;
    height: 25.641025641vw;
  }
}
.p-training-model__step-box:last-of-type:before {
  content: "";
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzODAiIGhlaWdodD0iMTg4IiB2aWV3Qm94PSIwIDAgMzgwIDE4OCIgZmlsbD0ibm9uZSI+IDxwYXRoIGQ9Ik0zNzggMEgyQzAuODk1NDMxIDAgMCAwLjg5NTQyOCAwIDJWMTg1Ljk5NkMwIDE4Ny4xIDAuODk1NDI3IDE4Ny45OTYgMiAxODcuOTk2SDM3OEMzNzkuMTA1IDE4Ny45OTYgMzgwIDE4Ny4xIDM4MCAxODUuOTk2VjJDMzgwIDAuODk1NDI4IDM3OS4xMDUgMCAzNzggMFoiIGZpbGw9IiNFNUVGRkEiLz4gPC9zdmc+");
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-training-model__step-box:last-of-type:before {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMTYiIGhlaWdodD0iMTAwIiB2aWV3Qm94PSIwIDAgMTE2IDEwMCIgZmlsbD0ibm9uZSI+ICAgPHBhdGggZD0iTTAgMS4wNTc2N0MwIDAuNDczNTM4IDAuNDczNTM0IDAgMS4wNTc2NyAwSDg2LjQ3MDRDODYuODQ4IDAgODcuMTk2OSAwLjIwMTI3OSA4Ny4zODU5IDAuNTI4MTJMMTE1LjY5NCA0OS40NzA1QzExNS44ODMgNDkuNzk4MSAxMTUuODgzIDUwLjIwMTkgMTE1LjY5NCA1MC41Mjk1TDg3LjM4NTkgOTkuNDcxOUM4Ny4xOTY5IDk5Ljc5ODcgODYuODQ4IDEwMCA4Ni40NzA0IDEwMEgxLjA1NzY3QzAuNDczNTM1IDEwMCAwIDk5LjUyNjUgMCA5OC45NDIzVjEuMDU3NjdaIiBmaWxsPSIjRTVFRkZBIi8+IDwvc3ZnPg==");
  }
}

.p-training-model__step-box-number {
  font-family: var(--font-en);
  font-size: 39px;
  line-height: 48px;
  border: 1px solid var(--color-border);
  position: absolute;
  top: -6px;
  left: -6px;
  width: 75px;
  height: 75px;
  display: grid;
  place-content: center;
  z-index: 1;
}
@media (800px <= width <= 1024px) {
  .p-training-model__step-box-number {
    width: 60px;
    height: 60px;
  }
}
@media screen and (max-width: 768px) {
  .p-training-model__step-box-number {
    font-size: 16.156px;
    line-height: 19.885px;
    width: 29px;
    height: 29px;
    top: -5px;
    left: -5px;
  }
}

.p-training-model__step-box-jp {
  font-size: 28px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.12px;
  text-align: center;
  position: relative;
  top: 7px;
  left: -15px;
}
.p-training-model__step-box:last-of-type .p-training-model__step-box-jp {
  left: 10px;
}
@media screen and (max-width: 768px) {
  .p-training-model__step-box:last-of-type .p-training-model__step-box-jp {
    left: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-training-model__step-box-jp {
    font-size: 18px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.72px;
    top: 1px;
    left: 0;
  }
  .p-training-model__step-box-jp span {
    font-size: 14px;
    font-weight: 400;
    line-height: 200%;
    letter-spacing: 0.28px;
    margin-top: -6px;
    display: block;
  }
}

.p-training-model__step-box-en {
  color: #8597AF;
  font-family: var(--font-en);
  font-size: 26px;
  font-weight: 400;
  line-height: 48px;
  position: relative;
  left: -7px;
  top: 11px;
}
.p-training-model__step-box:last-of-type .p-training-model__step-box-en {
  left: 10px;
}
@media screen and (max-width: 768px) {
  .p-training-model__step-box:last-of-type .p-training-model__step-box-en {
    top: 0;
    left: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-training-model__step-box-en {
    font-size: 10.577px;
    line-height: 150%;
    text-align: center;
    top: 0;
    left: 0;
  }
}

.p-training-model__content {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.6458333333vw;
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .p-training-model__content {
    margin-top: 30px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 30px;
  }
}

.p-training-model__image {
  width: 30.1041666667vw;
  min-width: 350px;
  display: block;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-training-model__image {
    width: 100%;
  }
}

.p-training-model__text {
  font-size: 18px;
  line-height: 200%;
  letter-spacing: 0.36px;
}
@media screen and (max-width: 768px) {
  .p-training-model__text {
    font-size: 14px;
    letter-spacing: 0.28px;
  }
}

.p-training-section {
  margin-top: 190px;
}
@media screen and (max-width: 768px) {
  .p-training-section {
    margin-top: 100px;
  }
}

@media screen and (max-width: 768px) {
  .p-training-section + .p-training-section {
    margin-top: 110px;
  }
}

.p-training-section__content {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4.0625vw;
  margin-top: 84px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-training-section__content {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 50px;
  }
}
.p-training-section__content:before {
  content: "";
  background-image: url(../images/training/training_recruiting_bg.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  right: 0;
  width: 361px;
  height: 315px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-training-section__content:before {
    top: unset;
    bottom: -99px;
    z-index: 0;
    right: -15px;
  }
}
.p-training-section--secondary .p-training-section__content:before {
  background-image: url(../images/training/training_training_bg.svg);
  width: 494px;
  height: 274px;
  top: unset;
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-training-section--secondary .p-training-section__content:before {
    width: 360px;
    height: 200px;
    bottom: -8px;
  }
}
.p-training-section--tertiary .p-training-section__content:before {
  background-image: url(../images/training/training_challenge_bg.svg);
  width: 644px;
  height: 184px;
  top: unset;
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-training-section--tertiary .p-training-section__content:before {
    width: 303px;
    height: 148px;
    background-image: url(../images/training/training_challenge_bg_sp.svg);
    bottom: -10px;
  }
}

.p-training-section__text {
  font-size: 18px;
  line-height: 200%;
  letter-spacing: 0.36px;
}
@media screen and (max-width: 768px) {
  .p-training-section__text {
    font-size: 14px;
    font-weight: 400;
    line-height: 200%;
    letter-spacing: 0.28px;
    position: relative;
  }
}

.p-training-section__image {
  width: 24.4791666667vw;
  min-width: 300px;
  display: block;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-training-section__image {
    width: 100%;
  }
}

.p-training-section__panel {
  background: #EAEFF3;
  padding: clamp(24px, 0px + 3.125vw, 60px) clamp(28px, 0px + 3.6458333333vw, 70px);
  margin-top: 60px;
  display: grid;
  grid-template-areas: "title image" "text image";
  -webkit-column-gap: 2.0833333333vw;
     -moz-column-gap: 2.0833333333vw;
          column-gap: 2.0833333333vw;
}
@media screen and (max-width: 768px) {
  .p-training-section__panel {
    grid-template-areas: "title" "text" "image";
  }
}
@media screen and (max-width: 768px) {
  .p-training-section__panel {
    padding: 40px 25px;
  }
}

.p-training-section__panel + * {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .p-training-section__panel + * {
    margin-top: 33px;
  }
}

.p-training-section__panel--button {
  grid-template-areas: "title image" "text image" "button button";
}
@media screen and (max-width: 768px) {
  .p-training-section__panel--button {
    grid-template-areas: "title" "text" "image" "button";
  }
}

.p-training-section__panel-title {
  grid-area: title;
  font-size: 24px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.96px;
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .p-training-section__panel-title {
    font-size: 18px;
    letter-spacing: 0.72px;
    padding-bottom: 18px;
  }
  .p-training-section__panel-title span {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    display: block;
  }
  .p-training-section__panel-title span.u-center {
    text-align: center;
  }
  .p-training-section__panel-title span.u-mg-unset {
    margin: unset;
  }
}

.p-training-section__panel-text {
  grid-area: text;
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .p-training-section__panel-text {
    margin-top: 19px;
  }
}

.p-training-section__panel-image-wrapper {
  grid-area: image;
  width: 20.8333333333vw;
  min-width: 300px;
  height: auto;
  display: block;
}
@media screen and (max-width: 768px) {
  .p-training-section__panel-image-wrapper {
    width: 100%;
    margin-top: 20px;
  }
}

.p-training-section__panel-image {
  width: 100%;
  height: auto;
}

.p-training-section__button {
  grid-area: button;
  margin-top: 30px;
}

.p-page-career {
  padding-block: 157px 208px;
}
@media screen and (max-width: 768px) {
  .p-page-career {
    padding-block: 113px 205px;
  }
}

.p-page-career-content {
  position: relative;
}

.p-page-career-content + .p-page-career-content {
  margin-top: 193px;
}
@media screen and (max-width: 768px) {
  .p-page-career-content + .p-page-career-content {
    margin-top: 130px;
  }
}

.p-page-career-content__title {
  font-size: 28px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.12px;
  margin-top: 114px;
}
@media screen and (max-width: 768px) {
  .p-page-career-content__title {
    font-size: 18px;
    letter-spacing: 0.72px;
    margin-top: 76px;
  }
}

.p-page-career-content__text {
  margin-top: 29px;
}
@media screen and (max-width: 768px) {
  .p-page-career-content__text {
    margin-top: 15px;
  }
}
.p-page-career-content:not(:has(.c-heading-h3)) .p-page-career-content__text {
  margin-top: 94px;
}
@media screen and (max-width: 768px) {
  .p-page-career-content:not(:has(.c-heading-h3)) .p-page-career-content__text {
    margin-top: 56px;
  }
}

.p-page-career__image {
  position: absolute;
  right: 0;
  bottom: -51px;
  width: 26.3541666667vw;
}
@media screen and (max-width: 768px) {
  .p-page-career__image {
    position: revert;
    width: 69.2307692308vw;
    margin-left: auto;
    margin-top: 30px;
  }
}

.p-page-career__image img {
  width: 100%;
  height: auto;
}

.p-page-career__list {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .p-page-career__list {
    margin-top: 142px;
  }
}

.p-page-career__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2.3958333333vw;
}
@media screen and (max-width: 768px) {
  .p-page-career__item {
    display: revert;
  }
}

.p-page-career__item + * {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .p-page-career__item + * {
    margin-top: 50px;
  }
}

.p-page-career__item:nth-of-type(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.p-page-career__content:before {
  content: "";
  background: var(--buckcolor, rgba(234, 239, 243, 0.9));
  position: absolute;
  top: 0;
  left: 0;
  width: 250px;
  height: 250px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-page-career__content:before {
    width: 200px;
    height: 200px;
    top: -20px;
    left: -20px;
  }
}

.p-page-career__item-title {
  font-size: 24px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.96px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-border);
}
@media screen and (max-width: 768px) {
  .p-page-career__item-title {
    font-size: 18px;
    letter-spacing: 0.72px;
    padding-bottom: 8px;
  }
}

.p-page-career__item-text {
  margin-top: 20px;
}

.p-page-career__content {
  position: relative;
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 854px;
      -ms-flex: 0 1 854px;
          flex: 0 1 854px;
  padding-top: clamp(20px, 0px + 2.6041666667vw, 50px);
  padding-left: clamp(29.6px, 0px + 3.8541666667vw, 74px);
}
@media screen and (max-width: 768px) {
  .p-page-career__content {
    padding: 0;
  }
}

.p-page-career__item-image {
  position: relative;
  top: -30px;
}
@media screen and (max-width: 768px) {
  .p-page-career__item-image {
    margin-top: 15px;
    margin-left: auto;
    position: revert;
  }
  .p-page-career__item:nth-of-type(1) .p-page-career__item-image {
    width: 42.8205128205vw;
  }
  .p-page-career__item:nth-of-type(2) .p-page-career__item-image {
    width: 41.7948717949vw;
  }
  .p-page-career__item:nth-of-type(3) .p-page-career__item-image {
    width: 38.2051282051vw;
  }
  .p-page-career__item:nth-of-type(4) .p-page-career__item-image {
    width: 38.2051282051vw;
  }
  .p-page-career__item:nth-of-type(5) .p-page-career__item-image {
    width: 55.641025641vw;
  }
}

.p-page-career__item-image img {
  width: 100%;
  height: auto;
}

.p-page-career__banner {
  margin-top: 120px;
}
@media screen and (max-width: 768px) {
  .p-page-career__banner {
    margin-top: 80px;
  }
}

.p-page-career__banner-link {
  position: relative;
  width: min(590px, 100%);
  height: 150px;
  margin-inline: auto;
  display: block;
  color: #fff;
  display: grid;
  place-content: center;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-page-career__banner-link {
    width: min(350px, 100%);
    height: 90px;
  }
}
@media (any-hover: hover) {
  .p-page-career__banner-link:hover {
    opacity: 0.8;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
}

.p-page-career__banner-bg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.p-page-career__banner-bg img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-page-career__banner-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 24px;
  font-size: 28px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.12px;
}
@media screen and (max-width: 768px) {
  .p-page-career__banner-title {
    font-size: 18px;
    letter-spacing: 0.72px;
    gap: 12px;
    position: relative;
    left: -18px;
  }
}

.p-page-career__banner-title span {
  border: 1px solid #fff;
  font-size: 18px;
  line-height: 200%;
  letter-spacing: 0.36px;
  padding: 8px 34px;
}
@media screen and (max-width: 768px) {
  .p-page-career__banner-title span {
    font-size: 14px;
    line-height: 180%;
    letter-spacing: 0.28px;
    padding: 0 12px;
  }
}

.p-page-career__banner-arrow {
  position: absolute;
  right: 8px;
  bottom: 4px;
}
@media screen and (max-width: 768px) {
  .p-page-career__banner-arrow {
    font-size: 12px;
    font-weight: 500;
    line-height: 200%;
    letter-spacing: 0.24px;
    gap: 0;
  }
}

.p-interview {
  padding-block: 161px 278px;
}
@media screen and (max-width: 768px) {
  .p-interview {
    padding-block: 116px 205px;
  }
}

.p-interview__content {
  margin-top: 124px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-interview__content {
    margin-top: 77px;
  }
}

.p-interview__content-title {
  font-size: clamp(32px, 2.1875vw, 42px);
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.68px;
}
@media screen and (max-width: 768px) {
  .p-interview__content-title {
    font-size: 24px;
    letter-spacing: 0.96px;
  }
}

.p-interview__content-title span {
  background: var(--color-text);
  color: #fff;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 2px;
}

.p-interview__content-title span + span {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .p-interview__content-title span + span {
    margin-top: 10px;
  }
}

.p-interview__content-text {
  margin-top: 35px;
}
@media screen and (max-width: 768px) {
  .p-interview__content-text {
    margin-top: 30px;
  }
}

.p-interview__content-image {
  position: absolute;
  bottom: -124px;
  right: 0;
  width: 62.5vw;
}
@media screen and (max-width: 768px) {
  .p-interview__content-image {
    width: 100vw;
    bottom: -25.641025641vw;
    right: unset;
    left: 50%;
    translate: -50% 0;
  }
}

.p-interview__content-image img {
  width: 100%;
  height: auto;
}

.p-interview__intro {
  margin-top: 252px;
}
@media screen and (max-width: 768px) {
  .p-interview__intro {
    margin-top: 220px;
  }
}

.p-interview__intro-title {
  font-size: 28px;
  font-size: clamp(20px, 1.4583333333vw, 28px);
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.12px;
  position: relative;
  padding-block: 55px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-interview__intro-title {
    text-align: left;
    font-size: 22px;
    letter-spacing: 0.88px;
    padding-block: 26px;
  }
}
.p-interview__intro-title:before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(234, 239, 243, 0.9);
  width: 100%;
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-interview__intro-title:before {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
  }
}

.p-interview__intro-title:after {
  content: "Interview";
  position: absolute;
  bottom: 4px;
  right: 0;
  color: #FFF;
  font-family: var(--font-en);
  font-size: clamp(60px, 4.5120833333vw, 86.632px);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-interview__intro-title:after {
    right: -20px;
    font-size: 50px;
    bottom: -3px;
  }
}

.p-interview__intro-item {
  display: grid;
  grid-template-areas: "title image" "text image" "button button";
  grid-template-columns: 640fr 508fr;
  gap: 30px 52px;
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .p-interview__intro-item {
    grid-template-columns: 1fr;
    margin-top: 60px;
    gap: 0;
    grid-template-areas: "title" "image" "text" "button";
  }
}
.p-interview__intro-item:nth-of-type(2n) {
  grid-template-columns: 508fr 640fr;
  grid-template-areas: "image title" "image text" "button button";
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 768px) {
  .p-interview__intro-item:nth-of-type(2n) {
    grid-template-columns: 1fr;
    grid-template-areas: "title" "image" "text" "button";
  }
}

.p-interview__intro-item + * {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .p-interview__intro-item + * {
    margin-top: 110px;
  }
}

.p-interview__intro-item-title {
  font-size: clamp(16px, 1.25vw, 24px);
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.96px;
  padding: clamp(18.4px, 0px + 2.3958333333vw, 46px) clamp(20px, 0px + 2.6041666667vw, 50px);
  border: 1px solid var(--color-border);
  grid-area: title;
  width: min(750px, 100% + 120px);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-interview__intro-item-title {
    width: 100%;
    padding: 35px 29px;
    font-size: 18px;
    letter-spacing: 0.72px;
  }
}
.p-interview__intro-item:nth-of-type(2n) .p-interview__intro-item-title {
  position: relative;
  margin-left: -120px;
  padding-inline: clamp(44px, 0px + 5.7291666667vw, 110px) clamp(20px, 0px + 2.6041666667vw, 50px);
}
@media screen and (max-width: 768px) {
  .p-interview__intro-item:nth-of-type(2n) .p-interview__intro-item-title {
    position: revert;
    margin-left: unset;
    padding: 35px 29px;
  }
}

.p-interview__intro-item-image {
  position: relative;
}

.p-interview__intro-item-text {
  grid-area: text;
}
.p-interview__intro-item:nth-of-type(2n) .p-interview__intro-item-text {
  margin-top: 0;
  position: relative;
  top: -44px;
}
@media (768px <= width <= 1024px) {
  .p-interview__intro-item:nth-of-type(2n) .p-interview__intro-item-text {
    top: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-interview__intro-item:nth-of-type(2n) .p-interview__intro-item-text {
    top: 0;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .p-interview__intro-item-text {
    margin-top: 30px;
  }
}

.p-interview__intro-person {
  grid-area: image;
  position: relative;
  align-self: end;
  position: relative;
  top: -23px;
}
@media screen and (max-width: 768px) {
  .p-interview__intro-person {
    top: unset;
    margin-top: -12px;
  }
}
.p-interview__intro-item:nth-of-type(2n) .p-interview__intro-person {
  margin-top: 30px;
  top: revert;
}
@media screen and (max-width: 768px) {
  .p-interview__intro-item:nth-of-type(2n) .p-interview__intro-person {
    margin-top: -12px;
  }
}
@media (768px <= width <= 1024px) {
  .p-interview__intro-person {
    width: min(400px, 100%);
    -webkit-align-self: center;
        -ms-flex-item-align: center;
            align-self: center;
    margin-top: -10px;
  }
}

.p-interview__intro-person img {
  width: 100%;
  height: auto;
}

.p-interview__intro-person-info {
  position: absolute;
  left: 0;
  bottom: 0.9895833333vw;
  background: #fff;
  padding: 20px;
  padding-bottom: 16px;
}
@media (768px <= width <= 1024px) {
  .p-interview__intro-person-info {
    zoom: 0.8;
  }
}
@media screen and (max-width: 768px) {
  .p-interview__intro-person-info {
    bottom: 11px;
    padding: 15px;
  }
}

.p-interview__intro-person-role {
  font-size: 14px;
  line-height: 150%;
  letter-spacing: 0.28px;
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 4px;
}
@media screen and (max-width: 768px) {
  .p-interview__intro-person-role {
    font-size: 12px;
    line-height: 150%;
    letter-spacing: 0.24px;
  }
}

.p-interview__intro-person-name {
  font-size: 20px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.8px;
  margin-top: 4px;
}

.p-interview__intro-item-button {
  grid-area: button;
}
@media screen and (max-width: 768px) {
  .p-interview__intro-item-button {
    margin-top: 30px;
  }
}

.p-interview__intro-item-button .c-button {
  width: min(344px, 100%);
}
@media screen and (max-width: 768px) {
  .p-interview__intro-item-button .c-button {
    width: min(300px, 100%);
  }
}

.p-page-interview {
  padding-block: 40px 278px;
}
@media screen and (max-width: 768px) {
  .p-page-interview {
    padding-top: 4px;
    padding-bottom: 210px;
  }
}

.p-page-interview__fv-container {
  position: relative;
}

.p-page-interview__fv-container:before,
.p-page-interview__fv-container:after {
  content: "";
  position: absolute;
  z-index: -3;
}
@media screen and (max-width: 768px) {
  .p-page-interview__fv-container:before,
  .p-page-interview__fv-container:after {
    display: none;
  }
}

.p-page-interview__fv-container:before {
  background: url(../images/interview/interview_fv_line_left.svg) no-repeat;
  background-size: cover;
  width: 360px;
  height: 26px;
  right: calc(100% - 20px);
  bottom: 66px;
}

.p-page-interview__fv-container:after {
  background: url(../images/interview/interview_fv_line_right.svg) no-repeat;
  background-size: cover;
  width: 719px;
  height: 314px;
  left: 610px;
  bottom: 20px;
  z-index: -3;
}

.p-page-interview__fv-content {
  margin-top: 70px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-page-interview__fv-content {
    margin-top: 31px;
  }
}

.p-page-interview__fv-illust-bg {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-page-interview__fv-illust-bg {
    display: block;
    position: absolute;
    left: -75px;
    bottom: 26px;
    width: 68.4615384615vw;
    height: 29.7435897436vw;
    z-index: -1;
  }
}

.p-page-interview__fv-illust-bg img {
  width: 100%;
  height: auto;
}

.p-page-interview__fv-content:after {
  content: "";
  background: #EAEFF3;
  position: absolute;
  width: 56.40625vw;
  top: 75px;
  right: 0;
  margin-right: calc(50% - 50vw);
  height: 100%;
  min-height: 458px;
  z-index: -2;
}
@media screen and (max-width: 768px) {
  .p-page-interview__fv-content:after {
    display: none;
  }
}

.p-page-interview__fv-heading {
  border: 1px solid var(--color-border);
  display: grid;
  place-content: center;
  gap: 15px;
  width: min(100%, 955px);
  padding-block: 103px;
  position: relative;
  left: -7.2916666667vw;
}
@media screen and (max-width: 768px) {
  .p-page-interview__fv-heading {
    gap: 10px;
    padding: 51px 48px 64px 20px;
    width: calc(100vw - 20px);
    left: unset;
    margin-left: calc(50% - 50vw);
    border-left: none;
    z-index: -1;
  }
}

@media screen and (max-width: 768px) {
  .p-page-interview__fv-heading:before {
    content: "01";
    position: absolute;
    bottom: -57px;
    left: 43px;
    font-family: var(--font-en);
    font-size: 73.413px;
    line-height: 78.373px;
    color: #8597AF;
  }
}

.p-page-interview__fv-main {
  font-size: clamp(32px, 2.1875vw, 42px);
}
@media screen and (max-width: 768px) {
  .p-page-interview__fv-main {
    font-size: 22px;
  }
}

.p-page-interview__fv-sub {
  font-size: clamp(18px, 1.25vw, 24px);
}

.p-page-interview__fv-image {
  position: absolute;
  right: -55px;
  bottom: -210px;
  z-index: 1;
}
@media (768px <= width <= 1440px) {
  .p-page-interview__fv-image {
    width: 42.2916666667vw;
    min-width: 390px;
  }
}
@media screen and (max-width: 768px) {
  .p-page-interview__fv-image {
    width: 70.2564102564vw;
    position: revert;
    margin-right: calc(50% - 50vw);
    margin-left: auto;
    margin-top: -12.8205128205vw;
  }
}

@media screen and (max-width: 768px) {
  .p-page-interview__fv-image::before {
    content: "";
    background: #EAEFF3;
    width: 100vw;
    margin-right: calc(50% - 50vw);
    height: 100%;
    max-height: 70vw;
    z-index: -2;
    position: absolute;
    left: 14px;
    bottom: 0;
    border-radius: 2px;
  }
}

.p-page-interview__fv-heading-en {
  position: absolute;
  top: -20px;
  right: clamp(-120px, -6.25vw, -120px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
  z-index: -1;
}
@media (768px <= width <= 1440px) {
  .p-page-interview__fv-heading-en {
    right: 0;
    z-index: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-page-interview__fv-heading-en {
    display: none;
  }
}

.p-page-interview__fv-number-en-text {
  color: #8597AF;
  font-family: var(--font-en);
  font-size: clamp(48px, 3.3854166667vw, 65px);
  font-size: 65px;
  line-height: 94.126px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__fv-number-en-text {
    display: none;
  }
}

.p-page-interview__fv-number-num {
  color: #8597AF;
  font-family: var(--font-en);
  font-size: 130px;
  line-height: 174.718px;
  position: relative;
  top: -10px;
}
@media (768px <= width <= 1024px) {
  .p-page-interview__fv-number-num {
    top: -20px;
    font-size: 100px;
  }
}
@media screen and (max-width: 768px) {
  .p-page-interview__fv-number-num {
    font-size: 73.413px;
    line-height: 78.373px;
    position: revert;
  }
}

.p-page-interview__fv-profile {
  background: var(--color-navy);
  width: min(590px, 100%);
  padding: 81px 60px 37px;
  margin-top: 70px;
  position: relative;
  z-index: 1;
  border-radius: 2px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__fv-profile {
    padding: 71px 25px 37px;
    margin-top: 36px;
  }
}

.p-page-interview__fv-profile-image {
  position: absolute;
  top: 30px;
  left: 0;
}
@media screen and (max-width: 768px) {
  .p-page-interview__fv-profile-image {
    top: 20px;
    width: min(280px, 100%);
  }
}

.p-page-interview__fv-profile-head {
  padding-bottom: 15px;
  border-bottom: 1px solid #fff;
}

.p-page-interview__fv-profile-head-position {
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-page-interview__fv-profile-head-position {
    font-size: 13px;
  }
}

.p-page-interview__fv-profile-head-name {
  color: #FFF;
  font-size: 24px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.96px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__fv-profile-head-name {
    font-size: 18px;
    letter-spacing: 0.72px;
  }
}

.p-page-interview__fv-profile-body {
  margin-top: 25px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__fv-profile-body {
    margin-top: 19px;
  }
}

.p-page-interview__fv-profile-body-label {
  color: #fff;
  border: 1px solid #fff;
  padding: 5px 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 14px;
  line-height: 200%;
  letter-spacing: 0.28px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__fv-profile-body-label {
    padding: 2px 5px;
  }
}

.p-page-interview__fv-profile-body-text {
  color: #FFF;
  font-size: 14px;
  line-height: 200%;
  letter-spacing: 0.28px;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__fv-profile-body-text {
    font-size: 13px;
    letter-spacing: 0.26px;
    margin-top: 16px;
  }
}

.p-page-interview__toc {
  background: rgba(234, 239, 243, 0.9);
  border-radius: 2px;
  padding: clamp(20px, 0px + 2.6041666667vw, 50px) clamp(20px, 0px + 2.6041666667vw, 50px) clamp(24px, 0px + 3.125vw, 60px);
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__toc {
    padding: 30px 25px;
    margin-top: 40px;
  }
}

.p-page-interview__toc-header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  padding-left: 20px;
  padding-bottom: 4px;
  border-bottom: 1px solid #8597AF;
}
@media screen and (max-width: 768px) {
  .p-page-interview__toc-header {
    padding-left: 15px;
    padding-bottom: 0;
  }
}

.p-page-interview__toc-title {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.8px;
  color: var(--color-navy);
}

.p-page-interview__toc-toggle {
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.28px;
  color: #330000;
  text-decoration: underline;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.p-page-interview__toc-body {
  margin-top: 25px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__toc-body {
    margin-top: 19px;
  }
}

.p-page-interview__toc-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  padding-inline: 20px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__toc-list {
    grid-template-columns: 1fr;
    gap: 16px;
    padding-inline: 0;
  }
}
.p-page-interview__toc-list li {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.32px;
  color: var(--color-navy);
}
@media screen and (max-width: 768px) {
  .p-page-interview__toc-list li {
    font-size: 13px;
    font-weight: 400;
    line-height: 130%;
    letter-spacing: 0.26px;
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px;
  }
}
.p-page-interview__toc-list li::before {
  content: "";
  width: 10px;
  height: 1px;
  background: var(--color-navy);
  display: block;
  margin-block: calc((1lh - 1px) / 2);
}

.p-page-interview__article {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article {
    margin-top: 120px;
  }
}

.p-page-interview__video {
  margin-top: 127px;
  width: min(838px, 100%);
  margin-inline: auto;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .p-page-interview__video {
    margin-top: 70px;
    width: min(86.6666666667vw, 100%);
    border-radius: 2px;
  }
}

.p-page-interview__video:before {
  content: "";
  width: 58px;
  height: 58px;
  border-top: 1px solid var(--color-border);
  border-right: 1px solid var(--color-border);
  position: absolute;
  top: -15px;
  right: -15px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__video:before {
    width: 23px;
    height: 23px;
    top: -6px;
    right: -6px;
  }
}

.p-page-interview__video:after {
  content: "";
  width: 58px;
  height: 58px;
  border-bottom: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
  position: absolute;
  bottom: -15px;
  left: -15px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__video:after {
    width: 23px;
    height: 23px;
    bottom: -6px;
    left: -6px;
  }
}

.p-page-interview__video-button {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 154px;
  height: 154px;
  background: url(../images/interview/play_button.png) no-repeat;
  background-size: contain;
  z-index: 2;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-page-interview__video-button {
    width: 62px;
    height: 62px;
  }
}

.p-page-interview__video.is-playing .p-page-interview__video-button {
  opacity: 0;
  pointer-events: none;
}

.p-page-interview__video video {
  aspect-ratio: 838/472;
  width: 100%;
  height: auto;
  display: block;
  border-radius: 2px;
}

.p-page-interview__article-intro {
  border-left: 31px solid #EAEFF3;
  padding-left: 39px;
  margin-top: 175px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-intro {
    margin-top: 46px;
    border: none;
    position: relative;
    padding-left: 0;
  }
  .p-page-interview__article-intro:before {
    content: "";
    background: #EAEFF3;
    width: 10px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -20px;
  }
}

@media screen and (max-width: 768px) {
  .p-page-interview__article-intro-subcopy {
    margin-top: 6px;
  }
}

.p-page-interview__article-intro-text {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-intro-text {
    margin-top: 20px;
  }
}

.p-page-interview__article-list {
  margin-top: 105px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-list {
    margin-top: 100px;
  }
}

.p-page-interview__article-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item {
    display: revert;
  }
}

.p-page-interview__article-item:nth-of-type(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.p-page-interview__article-item + * {
  margin-top: 135px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item + * {
    margin-top: 40px;
  }
}

.p-page-interview__article-item:nth-of-type(4) {
  margin-top: 243px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item:nth-of-type(4) {
    margin-top: 40px;
  }
}

.p-page-interview__article-item:nth-of-type(5) {
  margin-top: 231px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item:nth-of-type(5) {
    margin-top: 40px;
  }
}

.p-page-interview__article-item-image {
  position: relative;
  width: min(600px, 100%);
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 600px;
      -ms-flex: 1 0 600px;
          flex: 1 0 600px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item-image {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
  }
}
.p-page-interview__article-item:nth-of-type(3) .p-page-interview__article-item-image {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 690px;
      -ms-flex: 1 0 690px;
          flex: 1 0 690px;
}
.p-page-interview__article-item:nth-of-type(4) .p-page-interview__article-item-image {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 690px;
      -ms-flex: 1 0 690px;
          flex: 1 0 690px;
}

.p-page-interview__article-item-image img {
  width: 100%;
}

.p-page-interview__article-item-image:before {
  content: "";
  position: absolute;
  top: 55px;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: #EAEFF3;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item-image:before {
    top: 100%;
  }
}
.p-page-interview__article-item:nth-of-type(1) .p-page-interview__article-item-image:before {
  left: 130px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item:nth-of-type(1) .p-page-interview__article-item-image:before {
    left: 0;
    height: 64.1025641026vw;
  }
}
@media (500px <= width <= 768px) {
  .p-page-interview__article-item:nth-of-type(1) .p-page-interview__article-item-image:before {
    height: 150px;
  }
}
.p-page-interview__article-item:nth-of-type(2) .p-page-interview__article-item-image:before {
  right: 130px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item:nth-of-type(2) .p-page-interview__article-item-image:before {
    right: 0;
    height: 76.9230769231vw;
  }
}
@media (500px <= width <= 768px) {
  .p-page-interview__article-item:nth-of-type(2) .p-page-interview__article-item-image:before {
    height: 150px;
  }
}
.p-page-interview__article-item:nth-of-type(3) .p-page-interview__article-item-image:before {
  left: 155px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item:nth-of-type(3) .p-page-interview__article-item-image:before {
    left: 0;
    height: 187.1794871795vw;
  }
}
@media (500px <= width <= 768px) {
  .p-page-interview__article-item:nth-of-type(3) .p-page-interview__article-item-image:before {
    height: 450px;
  }
}
.p-page-interview__article-item:nth-of-type(4) .p-page-interview__article-item-image:before {
  right: 150px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item:nth-of-type(4) .p-page-interview__article-item-image:before {
    right: 0;
    height: 223.0769230769vw;
  }
}
@media (500px <= width <= 768px) {
  .p-page-interview__article-item:nth-of-type(4) .p-page-interview__article-item-image:before {
    height: 450px;
  }
}
.p-page-interview__article-item:nth-of-type(5) .p-page-interview__article-item-image:before {
  left: 130px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item:nth-of-type(5) .p-page-interview__article-item-image:before {
    left: 0;
    height: 63.8461538462vw;
  }
}
@media (500px <= width <= 768px) {
  .p-page-interview__article-item:nth-of-type(5) .p-page-interview__article-item-image:before {
    height: 150px;
  }
}

.p-page-interview__article-desc {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 820px;
      -ms-flex: 1 1 820px;
          flex: 1 1 820px;
  background: #fff;
  padding: clamp(20px, 0px + 2.6041666667vw, 50px) clamp(0px, 0px + 0vw, 0px) clamp(20px, 0px + 2.6041666667vw, 50px) clamp(24px, 0px + 3.125vw, 60px);
  z-index: 1;
  position: relative;
  border-radius: 2px;
}
@media screen and (max-width: 1024px) {
  .p-page-interview__article-desc {
    padding-right: 10px;
  }
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-desc {
    padding: 40px 20px;
  }
}
.p-page-interview__article-item:nth-of-type(2n) .p-page-interview__article-desc {
  padding: clamp(20px, 0px + 2.6041666667vw, 50px) clamp(24px, 0px + 3.125vw, 60px) clamp(20px, 0px + 2.6041666667vw, 50px) clamp(0px, 0px + 0vw, 0px);
}
@media screen and (max-width: 1024px) {
  .p-page-interview__article-item:nth-of-type(2n) .p-page-interview__article-desc {
    padding-left: 10px;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-page-interview__article-item:nth-of-type(2n) .p-page-interview__article-desc {
    padding: 40px 20px;
  }
}
.p-page-interview__article-item:nth-of-type(1) .p-page-interview__article-desc {
  margin-left: -220px;
  top: 55px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item:nth-of-type(1) .p-page-interview__article-desc {
    margin-left: unset;
    margin-right: calc(50% - 50vw);
    top: unset;
    margin-top: -146px;
    position: relative;
    left: 5px;
  }
}
.p-page-interview__article-item:nth-of-type(2) .p-page-interview__article-desc {
  margin-left: unset;
  margin-right: -220px;
  top: 2px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item:nth-of-type(2) .p-page-interview__article-desc {
    margin-right: unset;
    margin-left: calc(50% - 50vw);
    margin-top: -158px;
    position: relative;
    right: 5px;
  }
}
.p-page-interview__article-item:nth-of-type(3) .p-page-interview__article-desc {
  margin-left: -308px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item:nth-of-type(3) .p-page-interview__article-desc {
    margin-left: unset;
    margin-right: calc(50% - 50vw);
    margin-top: -126px;
    position: relative;
    left: 5px;
  }
}
.p-page-interview__article-item:nth-of-type(3) .p-page-interview__article-desc.p-page-interview__article-desc--secondary {
  position: absolute;
  width: min(820px, 100%);
  right: 140px;
  bottom: -193px;
}
@media (768px <= width <= 1024px) {
  .p-page-interview__article-item:nth-of-type(3) .p-page-interview__article-desc.p-page-interview__article-desc--secondary {
    right: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item:nth-of-type(3) .p-page-interview__article-desc.p-page-interview__article-desc--secondary {
    position: revert;
    margin-left: calc(50% - 50vw);
    margin-right: unset;
    margin-top: 40px;
    width: calc(100vw - 25px);
  }
}
.p-page-interview__article-item:nth-of-type(4) .p-page-interview__article-desc {
  margin-right: -310px;
  margin-top: -100px;
  padding-right: 48px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item:nth-of-type(4) .p-page-interview__article-desc {
    margin-right: calc(50% - 50vw);
    margin-left: unset;
    padding-right: 20px;
    margin-top: -125px;
    position: relative;
    left: 5px;
  }
}
.p-page-interview__article-item:nth-of-type(4) .p-page-interview__article-desc.p-page-interview__article-desc--tertiary {
  position: absolute;
  width: min(820px, 100%);
  left: 0;
  bottom: -180px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item:nth-of-type(4) .p-page-interview__article-desc.p-page-interview__article-desc--tertiary {
    position: revert;
    margin-right: unset;
    margin-left: calc(50% - 50vw);
    margin-top: unset;
    margin-top: 40px;
    width: calc(100vw - 25px);
  }
}
.p-page-interview__article-item:nth-of-type(5) .p-page-interview__article-desc {
  margin-left: -220px;
  top: 46px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-item:nth-of-type(5) .p-page-interview__article-desc {
    top: unset;
    margin-left: unset;
    margin-right: calc(50% - 50vw);
    margin-top: -87px;
    position: relative;
    left: 5px;
  }
}

.p-page-interview__article-desc-title {
  font-size: clamp(22px, 1.4583333333vw, 28px);
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-desc-title {
    font-size: 18px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.72px;
  }
}

.p-page-interview__article-desc-text {
  margin-top: 20px;
}

.p-page-interview__article-last {
  background: #fff;
  border-left: 31px solid #EAEFF3;
  padding-left: 39px;
  margin-top: 155px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-last {
    border: none;
    position: relative;
    padding: 0;
    margin-top: 140px;
  }
  .p-page-interview__article-last:before {
    content: "";
    position: absolute;
    top: 0;
    left: -20px;
    background: #EAEFF3;
    width: 10px;
    height: 100%;
    z-index: -1;
  }
}

@media screen and (max-width: 768px) {
  .p-page-interview__article-last-title {
    font-size: 22px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.88px;
  }
}

.p-page-interview__article-last-text {
  margin-block: 30px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-last-text {
    margin-bottom: 26px;
  }
}

.p-page-interview__article-last-bgtext {
  color: #FFF;
  font-size: 24px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.96px;
  background: var(--color-navy);
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  display: inline;
  padding: 0.1em;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 1.12px;
}
@media screen and (max-width: 768px) {
  .p-page-interview__article-last-bgtext {
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.72px;
  }
}

.p-page-interview02 .p-page-interview__fv-heading {
  left: unset;
  right: -7.34375vw;
  margin-left: auto;
  padding: clamp(34px, 0px + 4.4270833333vw, 85px) clamp(56px, 0px + 7.2916666667vw, 140px);
}
@media screen and (max-width: 768px) {
  .p-page-interview02 .p-page-interview__fv-heading {
    gap: 10px;
    padding: 51px 52px 64px 25px;
    width: calc(100vw - 20px);
    left: unset;
    right: unset;
    border-right: none;
    border-left: 1px solid var(--color-border);
    z-index: -1;
  }
}
@media screen and (max-width: 768px) {
  .p-page-interview02 .p-page-interview__fv-heading:before {
    content: "02";
    left: unset;
    right: 46px;
    bottom: -56px;
  }
}
.p-page-interview02 .p-page-interview__fv-image {
  right: unset;
  left: -97px;
  bottom: -209px;
}
@media (768px <= width <= 1440px) {
  .p-page-interview02 .p-page-interview__fv-image {
    left: 0;
    width: 53.1944444444vw;
  }
}
@media screen and (max-width: 768px) {
  .p-page-interview02 .p-page-interview__fv-image {
    margin-right: auto;
    margin-left: calc(50% - 50vw);
    width: 100vw;
    margin-top: -71px;
  }
}
@media screen and (max-width: 768px) {
  .p-page-interview02 .p-page-interview__fv-image::before {
    margin-right: unset;
    margin-left: calc(50% - 50vw);
    left: 0;
    bottom: 0;
    width: calc(100vw - 36px);
  }
}
@media screen and (max-width: 768px) {
  .p-page-interview02 .p-page-interview__fv-illust-bg {
    left: unset;
    right: -67px;
    bottom: 73px;
  }
}
.p-page-interview02 .p-page-interview__fv-heading-en {
  right: unset;
  left: -6.1458333333vw;
  top: -31px;
}
@media (768px <= width <= 1440px) {
  .p-page-interview02 .p-page-interview__fv-heading-en {
    top: -60px;
    left: 0;
  }
}
.p-page-interview02 .p-page-interview__fv-content:after {
  right: unset;
  left: 0;
  margin-left: calc(50% - 50vw);
}
@media (768px <= width <= 1440px) {
  .p-page-interview02 .p-page-interview__fv-content:after {
    height: 23.8541666667vw;
    min-height: 300px;
  }
}
.p-page-interview02 .p-page-interview__fv-profile {
  margin-left: auto;
}
.p-page-interview02 .p-page-interview__fv-container:before,
.p-page-interview02 .p-page-interview__fv-container:after {
  z-index: -3;
}
.p-page-interview02 .p-page-interview__fv-container:before {
  background: url(../images/interview/interview_fv_line_left02.svg) no-repeat;
  background-size: cover;
  width: 971px;
  height: 301px;
  right: 610px;
  left: unset;
  bottom: 23px;
}
.p-page-interview02 .p-page-interview__fv-container:after {
  background: url(../images/interview/interview_fv_line_right02.svg) no-repeat;
  background-size: cover;
  width: 361px;
  height: 22px;
  top: calc(50% - 6px);
  left: calc(100% - 20px);
  bottom: unset;
}
.p-page-interview02 .p-page-interview__fv-profile {
  padding-top: 104px;
  padding-bottom: 42px;
  margin-top: 76px;
}
@media screen and (max-width: 768px) {
  .p-page-interview02 .p-page-interview__fv-profile {
    padding-top: 94px;
    margin-top: 38px;
  }
}
.p-page-interview02 .p-page-interview__fv-profile-body {
  margin-top: 18px;
}
.p-page-interview02 .p-page-interview__fv-profile-image {
  left: -1px;
}
.p-page-interview02 .p-page-interview__article-intro {
  padding-right: 70px;
}
@media screen and (max-width: 768px) {
  .p-page-interview02 .p-page-interview__article-intro {
    padding-right: 0;
  }
}
.p-page-interview02 .p-page-interview__article-item:nth-of-type(3) {
  margin-top: 156px;
}
@media screen and (max-width: 768px) {
  .p-page-interview02 .p-page-interview__article-item:nth-of-type(3) {
    margin-top: 109px;
  }
}
.p-page-interview02 .p-page-interview__article-item:nth-of-type(1) .p-page-interview__article-desc {
  top: 100px;
}
@media screen and (max-width: 768px) {
  .p-page-interview02 .p-page-interview__article-item:nth-of-type(1) .p-page-interview__article-desc {
    top: 0;
  }
}
.p-page-interview02 .p-page-interview__article-item:nth-of-type(2) .p-page-interview__article-desc {
  top: 105px;
}
@media screen and (max-width: 768px) {
  .p-page-interview02 .p-page-interview__article-item:nth-of-type(2) .p-page-interview__article-desc {
    top: 0;
  }
}
.p-page-interview02 .p-page-interview__article-item:nth-of-type(3) .p-page-interview__article-desc {
  bottom: 14px;
}
@media screen and (max-width: 768px) {
  .p-page-interview02 .p-page-interview__article-item:nth-of-type(3) .p-page-interview__article-desc {
    bottom: 4px;
  }
}
.p-page-interview02 .p-page-interview__article-item:nth-of-type(3) .p-page-interview__article-desc.p-page-interview__article-desc--secondary {
  bottom: -296px;
}
@media screen and (max-width: 768px) {
  .p-page-interview02 .p-page-interview__article-item:nth-of-type(3) .p-page-interview__article-desc.p-page-interview__article-desc--secondary {
    margin-top: 36px;
  }
}
.p-page-interview02 .p-page-interview__article-item:nth-of-type(4) {
  margin-top: 347px;
}
@media screen and (max-width: 768px) {
  .p-page-interview02 .p-page-interview__article-item:nth-of-type(4) {
    margin-top: 39px;
  }
}
.p-page-interview02 .p-page-interview__article-item:nth-of-type(4) .p-page-interview__article-item-image:before {
  height: calc(100% + 110px);
}
.p-page-interview02 .p-page-interview__article-item:nth-of-type(4) .p-page-interview__article-desc {
  margin-top: -50px;
}
@media screen and (max-width: 768px) {
  .p-page-interview02 .p-page-interview__article-item:nth-of-type(4) .p-page-interview__article-desc {
    margin-top: -125px;
  }
}
.p-page-interview02 .p-page-interview__article-item:nth-of-type(4) .p-page-interview__article-desc.p-page-interview__article-desc--tertiary {
  bottom: -287px;
}
@media screen and (max-width: 768px) {
  .p-page-interview02 .p-page-interview__article-item:nth-of-type(4) .p-page-interview__article-desc.p-page-interview__article-desc--tertiary {
    margin-top: 40px;
  }
}
.p-page-interview02 .p-page-interview__article-item:nth-of-type(5) {
  margin-top: 339px;
}
@media screen and (max-width: 768px) {
  .p-page-interview02 .p-page-interview__article-item:nth-of-type(5) {
    margin-top: 40px;
  }
}
.p-page-interview02 .p-page-interview__article-item:nth-of-type(5) .p-page-interview__article-desc {
  top: 20px;
}
@media screen and (max-width: 768px) {
  .p-page-interview02 .p-page-interview__article-item:nth-of-type(5) .p-page-interview__article-desc {
    top: 0;
  }
}
.p-page-interview02 .p-page-interview__article-last-text {
  max-width: 1038px;
}

.p-flow {
  padding-bottom: 208px;
}
@media screen and (max-width: 768px) {
  .p-flow {
    padding-bottom: 155px;
  }
}

.p-flow-succession {
  margin-top: 155px;
}
@media screen and (max-width: 768px) {
  .p-flow-succession {
    margin-top: 114px;
  }
}

.p-flow-succession__content {
  margin-top: 111px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.6666666667vw;
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end;
}
@media screen and (max-width: 768px) {
  .p-flow-succession__content {
    margin-top: 54px;
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

.p-flow-succession__image {
  position: relative;
  top: 12px;
}

.p-flow-succession__paragraph {
  font-size: 18px;
  line-height: 200%;
  letter-spacing: 0.36px;
}
@media screen and (max-width: 768px) {
  .p-flow-succession__paragraph {
    font-size: 14px;
    letter-spacing: 0.28px;
  }
}

@media screen and (max-width: 768px) {
  .p-flow-succession__image {
    text-align: center;
  }
}

.p-flow-succession__image img {
  width: 25vw;
  max-width: 480px;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-flow-succession__image img {
    width: 100%;
  }
}

.p-flow-basic {
  margin-top: 190px;
}
@media screen and (max-width: 768px) {
  .p-flow-basic {
    margin-top: 130px;
  }
}

.p-flow-basic__text {
  margin-top: 105px;
  font-size: 18px;
  line-height: 200%;
  letter-spacing: 0.36px;
}
@media screen and (max-width: 768px) {
  .p-flow-basic__text {
    font-size: 14px;
    letter-spacing: 0.28px;
    margin-top: 56px;
  }
}
.p-flow-basic__text p + p {
  margin-top: 0;
}

.p-flow-trends {
  margin-top: 190px;
}
@media screen and (max-width: 768px) {
  .p-flow-trends {
    margin-top: 120px;
  }
}

.p-flow-trends__list {
  margin-top: 102px;
}
@media screen and (max-width: 768px) {
  .p-flow-trends__list {
    margin-top: 60px;
  }
}

.p-flow-trends__item {
  display: grid;
  grid-template-columns: 19.7916666667vw 1fr;
  gap: 2.0833333333vw;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 1024px) {
  .p-flow-trends__item {
    grid-template-columns: 37.109375vw 1fr;
  }
}
@media screen and (max-width: 768px) {
  .p-flow-trends__item {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.p-flow-trends__item + .p-flow-trends__item {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .p-flow-trends__item + .p-flow-trends__item {
    margin-top: 71px;
  }
}

@media screen and (max-width: 768px) {
  .p-flow-trends__item-body {
    grid-row: 1;
    margin-top: 7px;
  }
}

.p-flow-trends__item-image img {
  width: 100%;
  max-width: 380px;
  height: auto;
  border-radius: 2px;
}
@media screen and (max-width: 768px) {
  .p-flow-trends__item-image img {
    max-width: revert;
  }
}

.p-flow-trends__item-title {
  font-size: 24px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.96px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--color-border);
}
@media screen and (max-width: 768px) {
  .p-flow-trends__item-title {
    font-size: 18px;
    letter-spacing: 0.72px;
    padding-bottom: 10px;
  }
}

.p-flow-trends__item-text {
  margin-top: 20px;
  font-size: 16px;
  line-height: 200%;
  letter-spacing: 0.32px;
}
@media screen and (max-width: 768px) {
  .p-flow-trends__item-text {
    font-size: 14px;
    letter-spacing: 0.28px;
  }
}

.p-flow-merit {
  margin-top: 185px;
}
@media screen and (max-width: 768px) {
  .p-flow-merit {
    margin-top: 120px;
  }
}

.p-flow-merit__text {
  margin-top: 107px;
  font-size: 18px;
  line-height: 200%;
  letter-spacing: 0.36px;
}
@media screen and (max-width: 768px) {
  .p-flow-merit__text {
    font-size: 14px;
    letter-spacing: 0.28px;
    margin-top: 71px;
  }
}
.p-flow-merit__text p + p {
  margin-top: 20px;
}

.u-color-main {
  color: var(--color-main);
}

.p-faq {
  padding-bottom: 278px;
}
@media screen and (max-width: 768px) {
  .p-faq {
    padding-bottom: 215px;
  }
}

.p-faq-section {
  margin-top: 160px;
}
@media screen and (max-width: 768px) {
  .p-faq-section {
    margin-top: 110px;
  }
}

.p-faq-list {
  margin-top: 114px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 50px;
}
@media screen and (max-width: 768px) {
  .p-faq-list {
    margin-top: 66px;
    gap: 15px;
  }
}

.p-faq-list__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.p-faq-list__item--highlight {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-faq-list__question {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  width: 100%;
  padding: 15px 30px;
  background: rgba(234, 239, 243, 0.9);
  border-radius: 2px;
}
@media screen and (max-width: 768px) {
  .p-faq-list__question {
    padding: 8px 12px;
    gap: 10px;
  }
}

.p-faq-list__q-label {
  font-family: var(--font-en);
  color: var(--color-main);
  font-size: 30px;
  line-height: 48px;
  letter-spacing: 1.5px;
  font-weight: 400;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-faq-list__q-label {
    font-size: 24px;
    line-height: 48px;
  }
}

.p-faq-list__q-text {
  font-size: 24px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.96px;
}
@media screen and (max-width: 768px) {
  .p-faq-list__q-text {
    font-size: 18px;
    letter-spacing: 0.72px;
  }
}

.p-faq-list__answer {
  font-size: 16px;
  line-height: 200%;
  letter-spacing: 0.32px;
}
@media screen and (max-width: 768px) {
  .p-faq-list__answer {
    font-size: 14px;
    letter-spacing: 0.28px;
  }
}

.p-faq-list__item-link {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .p-faq-list__item-link {
    margin-top: 10px;
  }
}

.p-faq-list__item-link .c-button {
  min-width: 448px;
}
@media screen and (max-width: 768px) {
  .p-faq-list__item-link .c-button {
    min-width: 300px;
    line-height: 1.5;
  }
}

.p-trial-header {
  padding-block: 100px;
  background: rgba(234, 239, 243, 0.9);
}
@media screen and (max-width: 768px) {
  .p-trial-header {
    padding-block: 32px;
  }
}

.p-trial-header__heading {
  text-align: center;
  font-size: clamp(32px, 2.0833333333vw, 40px);
  font-weight: 500;
  line-height: 60px;
  letter-spacing: 4px;
}
@media (768px <= width <= 1024px) {
  .p-trial-header__heading {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 768px) {
  .p-trial-header__heading {
    font-size: 22px;
    line-height: 150%;
    letter-spacing: 0.88px;
  }
}

.p-page-contact {
  background: #F9F9F9;
  padding-block: 80px 190px;
}
.page-thanks .p-page-contact {
  background: #fff;
}
@media screen and (max-width: 768px) {
  .p-page-contact {
    padding-block: 40px 130px;
  }
}

.p-contact__form {
  background: #fff;
  max-width: 1200px;
  margin-inline: auto;
  overflow: hidden;
  -webkit-box-shadow: 0 0 20px 0 rgba(133, 151, 175, 0.1);
          box-shadow: 0 0 20px 0 rgba(133, 151, 175, 0.1);
}

.p-contact__form .c-btn {
  width: min(100%, 240px);
  margin-inline: auto;
}
.page-thanks .p-contact__form .c-btn {
  margin-top: 40px;
}

.p-form-inner {
  padding: 0 100px 80px;
}
@media screen and (max-width: 1023px) {
  .p-form-inner {
    padding: 0 40px 60px;
  }
}
@media screen and (max-width: 768px) {
  .p-form-inner {
    padding: 0 20px 40px;
  }
}

.p-contact__form-header {
  color: #fff;
  background: var(--color-navy);
  text-align: center;
  padding: 14px 20px;
  font-size: 28px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.12px;
}
@media screen and (max-width: 768px) {
  .p-contact__form-header {
    font-size: 18px;
    letter-spacing: 0.72px;
    padding: 10px 20px;
  }
}

.wpcf7-form-control-wrap {
  display: block;
}

.c-form-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .c-form-wrap {
    gap: 17px;
  }
}

.c-form-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}
.c-form-row .caution {
  font-size: clamp(4.8px, 0px + 0.625vw, 12px);
  line-height: 1.4166666667;
  letter-spacing: 0em;
}
@media screen and (max-width: 768px) {
  .c-form-row .caution {
    font-size: 11px;
    line-height: 1.3636363636;
    letter-spacing: 0em;
  }
}

.c-form-row.--property {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .c-form-row.--property {
    margin-bottom: 20px;
  }
}

.c-name-row-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .c-name-row-container {
    gap: 10px;
  }
}

.c-name-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}

.c-label {
  color: var(--color-text);
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.32px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
@media screen and (max-width: 768px) {
  .c-label {
    font-size: 14px;
    white-space: normal;
    line-height: 1.5;
  }
}
.c-label[data-label=required]:after {
  content: "*";
  color: var(--color-main);
  margin-left: 1px;
}

.p-contact__question {
  padding-block: 40px 45px;
}
@media screen and (max-width: 768px) {
  .p-contact__question {
    padding-block: 20px 21px;
  }
}

.p-contact__question-label {
  font-weight: 500;
  line-height: 200%;
  letter-spacing: 0.32px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-weight: 500;
  margin-bottom: 14px;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-contact__question-label {
    margin-bottom: 13px;
    font-size: 14px;
    letter-spacing: 0.28px;
    line-height: 160%;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 8px;
  }
}

.p-contact__q-number {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}

.p-contact__q-text {
  min-width: 0;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: inline;
}

.p-contact__q-text .p-contact__badge {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: middle;
  margin-left: 0;
}

.p-contact__badge {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 2px;
  font-weight: 500;
  white-space: nowrap;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
  font-size: 13px;
  line-height: 1;
  position: relative;
  top: -1px;
}
.p-contact__badge.--required {
  background: #FA5700;
  color: #fff;
  padding: 4px 6px;
}
.p-contact__badge.--optional {
  background: #E5EFFA;
  color: #001D3F;
  padding: 4px 6px;
}
@media screen and (max-width: 768px) {
  .p-contact__badge {
    font-size: 12px;
    top: 1px;
  }
  .p-contact__badge.--required, .p-contact__badge.--optional {
    padding: 3px 5px;
  }
}

.p-contact__divider {
  border: none;
  border-top: 1px solid #D9D9D9;
  margin: 0 -100px;
}
@media screen and (max-width: 1023px) {
  .p-contact__divider {
    margin: 0 -40px;
  }
}

.p-contact__section-title {
  margin-top: 40px;
  font-size: 24px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.96px;
  border-left: 5px solid var(--color-navy);
  padding-left: 12px;
}
@media screen and (max-width: 768px) {
  .p-contact__section-title {
    margin-top: 20px;
    font-size: 18px;
    letter-spacing: 0.72px;
    padding-left: 8px;
  }
}

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
textarea {
  display: block;
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: 2px;
  padding: 15px 20px;
  line-height: 2;
  background: #fff;
}
@media screen and (max-width: 768px) {
  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=number],
  textarea {
    padding: 11px 14px;
    font-size: 14px;
  }
}
input[type=text]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, input[type=tel]::-webkit-input-placeholder, input[type=number]::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #B3BBC5;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=number]::-moz-placeholder, textarea::-moz-placeholder {
  color: #B3BBC5;
}
input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder, input[type=number]:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #B3BBC5;
}
input[type=text]::-ms-input-placeholder, input[type=email]::-ms-input-placeholder, input[type=tel]::-ms-input-placeholder, input[type=number]::-ms-input-placeholder, textarea::-ms-input-placeholder {
  color: #B3BBC5;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
input[type=number]::placeholder,
textarea::placeholder {
  color: #B3BBC5;
}

textarea {
  padding-top: 16px;
  height: 200px;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  textarea {
    height: 141px;
  }
}

input[type=checkbox] + span {
  font-size: 14px;
}

.c-checkbox-wrap .wpcf7-checkbox > span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.c-checkbox-wrap .wpcf7-list-item > label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .c-checkbox-wrap .wpcf7-list-item > label {
    -webkit-column-gap: 4px;
       -moz-column-gap: 4px;
            column-gap: 4px;
  }
}

.c-radio-wrap .wpcf7-form-control > span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.c-radio-wrap .wpcf7-list-item > label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
}

.wpcf7-list-item {
  margin-left: 0;
}

.c-check-list {
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .c-check-list {
    margin-top: 0;
  }
}

.c-check-list .wpcf7-form-control {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 5px;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .c-check-list .wpcf7-form-control {
    padding: 0;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.wpcf7-list-item .wpcf7-list-item-label {
  font-weight: 400;
  font-size: 16px;
  line-height: 200%;
  letter-spacing: 0.32px;
  text-box-trim: trim-both;
}
@media screen and (max-width: 768px) {
  .wpcf7-list-item .wpcf7-list-item-label {
    font-size: 14px;
    letter-spacing: 0.28px;
  }
}

.wpcf7-list-item input[type=checkbox] {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}

.wpcf7-list-item {
  margin: 0 !important;
  cursor: pointer;
  display: block;
  width: 100%;
}
.wpcf7-list-item input[type=radio],
.wpcf7-list-item input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
.wpcf7-list-item input[type=checkbox] {
  border: 1px solid var(--color-border);
  border-radius: 2px;
  width: 20px;
  height: 20px;
  position: relative;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .wpcf7-list-item input[type=checkbox] {
    width: 18px;
    height: 18px;
  }
  .wpcf7-form-control.wpcf7-not-valid .wpcf7-list-item input[type=checkbox] {
    width: 19px;
    height: 19px;
  }
}
.wpcf7-list-item input[type=checkbox]:checked {
  border-color: var(--color-main);
  background: var(--color-main);
}
.wpcf7-list-item input[type=checkbox]:checked:before {
  content: "";
  position: absolute;
  inset: -3px 0 0 0;
  margin: auto;
  width: 10px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.wpcf7-list-item label {
  cursor: pointer;
}
.wpcf7-list-item input[type=radio] {
  border: 1px solid var(--color-border);
  border-radius: calc(infinity * 1px);
  width: 20px;
  height: 20px;
  position: relative;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .wpcf7-form-control.wpcf7-not-valid .wpcf7-list-item input[type=radio] {
    width: 19px;
    height: 19px;
  }
}
.wpcf7-list-item input[type=radio]:checked:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  border-radius: calc(infinity * 1px);
  background: var(--color-main);
}
.wpcf7-list-item input[type=radio]:checked + span:after,
.wpcf7-list-item input[type=checkbox]:checked + span:after {
  opacity: 1;
}

.wpcf7-list-item > label {
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  width: 100%;
  border-radius: 2px;
}

.wpcf7-list-item label:has(input:checked) {
  background-color: transparent;
}

.p-contact__question .c-checkbox-wrap .wpcf7-form-control {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 0;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-contact__question .c-checkbox-wrap .wpcf7-form-control {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

.p-contact__question .c-radio-wrap .wpcf7-form-control {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 9px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-contact__question .c-radio-wrap .wpcf7-form-control {
    gap: 10px;
  }
}

.wpcf7-not-valid-tip {
  font-size: 14px !important;
  margin-top: 6px;
}

.wpcf7-not-valid-tip:before {
  display: none;
}

/*確認画面と完了画面を非表示*/
.confirm_area,
.thanks_area {
  display: none;
}

/*デフォルトのサンクスメッセージを非表示*/
.wpcf7-response-output {
  display: none;
}

.js-phone-error,
.js-accept-error,
.js-radio-error {
  color: #d9534f;
  margin-top: 4px;
  font-size: 14px;
}

.is-error {
  border-color: #d9534f;
  background-color: #fff6f6;
}

.c-yubinbango-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  position: relative;
}

.c-yubinbango-wrap input {
  width: 300px;
}
@media screen and (max-width: 768px) {
  .c-yubinbango-wrap input {
    width: 38.4615384615vw;
  }
}

.c-yubinbango-text {
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.24px;
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .c-yubinbango-text {
    margin-top: 0;
  }
}

.p-contact__zip-button {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #2563EB;
  border: none;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.32px;
  padding: 6px 20px;
  cursor: pointer;
  white-space: nowrap;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  border-radius: calc(infinity * 1px);
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media (any-hover: hover) {
  .p-contact__zip-button:hover {
    opacity: 0.8;
  }
}
.p-contact__zip-button:focus {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .p-contact__zip-button {
    font-size: 14px;
    padding: 6px 16px;
  }
}

.p-contact-form__policy-wrap {
  width: 100%;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .p-contact-form__policy-wrap {
    margin-top: 20px;
  }
}

.p-contact-form__policy {
  background: none;
}

.p-contact-form__policy .wpcf7-list-item {
  width: auto;
}

.p-contact-form__policy .wpcf7-list-item > label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .p-contact-form__policy .wpcf7-list-item > label {
    gap: 4px;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.p-contact-form__policy .wpcf7-list-item-label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-contact-form__policy .wpcf7-list-item-label .p-contact__badge.--required {
  margin-left: 8px;
}

.p-contact-form__policy .wpcf7-list-item input[type=checkbox] {
  width: 20px;
  height: 20px;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .p-contact-form__policy .wpcf7-list-item input[type=checkbox] {
    width: 18px;
    height: 18px;
  }
}
.p-contact-form__policy .wpcf7-list-item input[type=checkbox]:checked {
  background: var(--color-main);
  border-color: var(--color-main);
}

.p-contact-form__policy .wpcf7-list-item label:has(input:checked) {
  background: transparent;
  color: var(--color-main);
}

.c-submit-button {
  position: relative;
  width: min(388px, 100%);
  height: 70px;
  margin-inline: auto;
  text-align: center;
  cursor: pointer;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .c-submit-button {
    height: 52px;
  }
}

.c-submit-button__arrow {
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
}

.c-submit-button input {
  display: block;
  -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  cursor: pointer;
  border-radius: calc(infinity * 1px);
  font-weight: 500;
  font-size: 20px;
  width: min(388px, 100%);
  height: 70px;
  color: #FFF;
  line-height: 150%;
  letter-spacing: 0.8px;
  background: var(--grad-cta-blue);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 768px) {
  .c-submit-button input {
    font-size: 16px;
    line-height: 200%;
    letter-spacing: 0.32px;
    height: 52px;
  }
}
@media (any-hover: hover) {
  .c-submit-button input:hover {
    opacity: 0.8;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
}

.c-form-row > div,
.wpcf7-form-control {
  width: 100%;
  max-width: none;
}

.c-check-list .wpcf7-form-control,
.wpcf7-list-item > label,
.p-contact-form__policy-wrap {
  width: 100%;
}

.c-form-select-wrap {
  position: relative;
  width: 490px;
}
@media screen and (max-width: 768px) {
  .c-form-select-wrap {
    width: 100%;
  }
}

.c-form-select-wrap select {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: 2px;
  padding: 16px 44px 16px 20px;
  line-height: 2;
  background: #fff;
  font-size: 16px;
  color: var(--color-text);
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .c-form-select-wrap select {
    padding: 11px 36px 11px 14px;
    font-size: 14px;
  }
}

.c-form-select-wrap::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 19px;
  height: 12px;
  pointer-events: none;
  background: url(../images/common/chevron_under.svg) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .c-form-select-wrap::after {
    right: 14px;
  }
}

.c-helper-text {
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.24px;
  color: var(--color-text);
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .c-helper-text {
    margin-top: 0;
  }
}

.c-submit-button--orange input {
  background: -webkit-gradient(linear, left top, right top, from(#FFAA00), to(#FA5700));
  background: -webkit-linear-gradient(left, #FFAA00, #FA5700);
  background: linear-gradient(to right, #FFAA00, #FA5700);
}

.p-thanks {
  padding-block: 60px 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-thanks {
    padding-block: 40px 20px;
  }
}

.p-thanks__icon {
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .p-thanks__icon {
    margin-bottom: 24px;
  }
  .p-thanks__icon svg {
    width: 56px;
    height: 56px;
  }
}

.p-thanks__note {
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.26px;
  color: #6B7A8D;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .p-thanks__note {
    font-size: 12px;
    text-align: left;
  }
}

.p-thanks__btn-wrap {
  margin-top: 48px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-thanks__btn-wrap {
    margin-top: 32px;
  }
}

.p-thanks__heading {
  color: var(--color-main);
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-thanks__heading {
    font-size: 20px;
  }
}

.p-thanks__text {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .p-thanks__text {
    text-align: left;
    font-size: 14px;
    line-height: 1.7142857143;
    letter-spacing: 0em;
  }
}
.p-banner-area .p-page-career__banner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 80px;
  gap: clamp(32px, 0px + 4.1666666667vw, 80px);
}
@media screen and (max-width: 1024px) {
  .p-banner-area .p-page-career__banner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
    margin-top: 70px;
  }
}
.p-banner-area .p-page-career__banner-bg img {
  height: 100%;
}
.p-banner-area .p-page-career__banner-link.--career .p-page-career__banner-title {
  width: clamp(167.6px, 0px + 21.8229166667vw, 419px);
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 1024px) {
  .p-banner-area .p-page-career__banner-link.--career .p-page-career__banner-title {
    width: 100%;
    left: 0;
  }
}
@media screen and (max-width: 1024px) {
  .p-banner-area .p-page-career__banner-link.--career {
    display: block;
    padding-left: 25px;
  }
}
.p-banner-area .p-page-career__banner-arrow {
  gap: 5px;
}
.p-banner-area .p-page-career__banner-link.--career .arrow-link:after {
  background-color: #CCDFFA;
}