@charset "UTF-8";
/* function, value */
/* reset */
* {
  box-sizing: border-box;
}

/* webkit specific styles */
input[type=color]::-webkit-color-swatch {
  border: none;
}

input[type=color]::-webkit-color-swatch-wrapper {
  padding: 0;
}

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-weight: inherit;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

input:focus {
  outline: none;
}

ul, ol {
  list-style-type: none;
}

/* Reset
   ========================================================================== */
img {
  vertical-align: top;
  width: 100%;
  height: auto;
}

a,
a:active,
a:focus,
a:visited {
  color: inherit;
  text-decoration: none;
}

a,
button {
  transition: opacity 0.25s ease-out;
}
a:hover, a:hover,
button:hover,
button:hover {
  opacity: 0.85;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  font-family: inherit;
  color: inherit;
}

svg {
  width: 100%;
  height: auto;
}

img[src$=".svg"] {
  width: 100%;
}

*::before,
*::after {
  box-sizing: inherit;
}

/* common */
/* utility
   ========================================================================== */
.active-tb-pc {
  display: initial;
  display: revert;
}
@media screen and (max-width: 767px) {
  .active-tb-pc {
    display: none;
  }
}

.active-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .active-sp {
    display: initial;
    display: revert;
  }
}

.deactive-tb-sp {
  display: initial;
  display: revert;
}
@media screen and (max-width: 767px) {
  .deactive-tb-sp {
    display: none;
  }
}

.tracking-pc {
  --letter-spacing: 0em;
}
@media screen and (min-width: 768px) {
  .tracking-pc {
    letter-spacing: var(--letter-spacing) !important;
  }
}

.tracking-sp {
  --letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .tracking-sp {
    letter-spacing: var(--letter-spacing) !important;
  }
}

@media screen and (max-width: 767px) {
  .sp-white-space-nowrap {
    white-space: nowrap;
  }
}

.no-image {
  --min-height: 4em;
  background-color: #ededed;
  min-height: var(--min-height);
}

.text-indent {
  --indent: 1em;
  text-indent: calc(var(--indent) * -1);
  padding-left: var(--indent);
}

.text-align-center {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .pc-text-align-center {
    text-align: center;
  }
}

.note {
  --indent: 1em;
  margin-top: 1.25em;
  line-height: 1.6;
  padding-left: var(--indent);
  text-indent: calc(var(--indent) * -1);
}
@media screen and (max-width: 767px) {
  .note {
    font-size: 4rem;
  }
}

/* wrap
   ========================================================================== */
:root {
  font-size: calc(10px + 4 * (100vw - 1600px) / 960);
  /* custom properties
     jsのみで値を設定する場合”空"になる可能性があるのでフォールバック推奨
   */
  /* parts */
  --scroll-bar-width: 15px;
  --header-height: 11rem;
  --page-gutter: 5rem;
  --container-width: 140rem;
  --border-radius: 3rem;
  /* unit */
  /* font */
  --font-sans: "YakuHanJPs_Noto", "YuGothic", "Noto Sans JP", sans-serif;
  --font-sans-yakuhan-all: "YakuHanJP_Noto", "YuGothic", "Noto Sans JP",
  	sans-serif;
  --font-sans-no-yakuhan: "YuGothic", "Noto Sans JP", sans-serif;
  --font-serif: "YakuHanMPs_Noto", "Noto Serif JP", serif;
  --font-serif-yakuhan-all: "YakuHanMP_Noto", "Noto Serif JP", serif;
  --font-serif-no-yakuhan: "Noto Serif JP", serif;
  --font-Barlow: "Barlow", sans-serif;
  /* color */
  --color-black: #333333;
  --color-dark-blue: #024099;
  --color-blue: #0066ff;
  --color-navy: #07225f;
  --color-cyan: #64ffff;
  --color-red: #e60113;
  --general-staff-color: var(--color-dark-blue);
  --office-staff-color: #00a9ff;
  --unit-talk-color: #00a2c9;
}
@media screen and (max-width: 1599px) {
  :root {
    font-size: 0.625vw;
  }
}
@media screen and (max-width: 767px) {
  :root {
    font-size: 0.847458vw;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --header-height: 24rem;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --container-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --border-radius: 4.5rem;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --top-grid-center-gutter: 6.4rem;
  }
}

body {
  font-family: var(--font-sans);
  line-height: 1.8;
  font-size: 1.6em;
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--color-black);
  letter-spacing: 0.01em;
  /*
  アニメーションやページトランジション、フォント・ビデオなど容量が大きいリソースの処理など必要な案件では、
  もっとも処理が早く・確実な"css"でサイトを非表示にしておいた方が都合が良い。
  /src/script/script.jsでDOMContentLoadedのタイミングでこのクラスを外している。
  不要であれば適宜削除。また、他のライブラリを使用する案件など、上記のスクリプト手前でエラーになるとサイト非表示になるので、この点注意
  */
}
@media screen and (max-width: 767px) {
  body {
    font-size: 3em;
  }
}
body.contents-hidden {
  visibility: hidden;
}

.main {
  overflow: hidden;
}

.button {
  --color: transparent;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-top: 0.75em;
  padding-right: 2.5em;
  padding-bottom: 0.75em;
  padding-left: 2.5em;
  border-radius: 5em;
  border: 0.2rem solid transparent;
  background-color: transparent;
  line-height: 1.62;
  font-size: 1.3rem;
  letter-spacing: 0.1em;
  text-align: center;
}
.button:hover {
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .button {
    width: 100%;
    font-size: 3.2rem;
    line-height: 1.4;
    border-width: 0.4rem;
  }
}
.button.button--large {
  min-width: 22.9rem;
  padding-top: 1.45em;
  padding-bottom: 1.45em;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .button.button--large {
    padding-top: 1.25em;
    padding-bottom: 1.25em;
    font-size: 3.86rem;
  }
}
.button.button--bg-navy {
  background-color: var(--color-dark-blue);
  color: white;
}
.button.button--border-navy {
  color: var(--color-dark-blue);
  border-color: currentColor;
  background-color: transparent;
  transition: background-color 0.25s;
}
.button.button--border-navy:hover {
  opacity: 0.75;
}
.button.button--bg-blue {
  background-color: var(--color-blue);
  color: white;
}
.button.button--bg-dark-blue {
  background-color: var(--color-dark-blue);
  color: white;
}
.button.button--bg-white {
  background-color: white;
  color: var(--color-dark-blue);
}
.button.button--bg-blue-and-border-white {
  background-color: var(--color-blue);
  color: white;
  border-color: currentColor;
}
.button.button--bg-white-and-border-navy {
  background-color: white;
  color: var(--color-navy);
  border-color: currentColor;
}
.button.button--bg-white-and-border-dark-blue {
  background-color: white;
  color: var(--color-dark-blue);
  border-color: currentColor;
}
.button.button--border-color {
  --color: var(--color-navy);
  color: var(--color);
  border-color: currentColor;
}

.button__text {
  font-weight: 700;
}
.button__text small {
  font-size: 0.8em;
}
.button__text.button__text--has-icon {
  display: inline-flex;
  gap: 0.5em;
}
.button__text strong {
  font-size: 1.4em;
}

.button__text-icon {
  display: inline-block;
  height: 1.5em;
}
.button__text-icon img[src*=brand-logo-instagram] {
  height: 1.5em;
}

.button__icon {
  position: absolute;
  top: 50%;
  right: 1.5em;
  display: block;
  transform: translateY(-50%);
  line-height: 0;
  fill: currentColor;
}
@media screen and (max-width: 767px) {
  .button__icon {
    right: 1.5em;
  }
}
.button__icon svg {
  overflow: visible;
}
.button__icon.button__icon--external svg {
  height: 0.8em;
  width: auto;
}
.button__icon.button__icon--comment svg {
  height: 1.65em;
  width: auto;
}
.button__icon.button__icon--align-left {
  right: auto;
  left: 1.75em;
}

.square-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-top: 1em;
  padding-right: 2.5em;
  padding-bottom: 1em;
  padding-left: 2.5em;
  border: 0.2rem solid transparent;
  background-color: transparent;
  line-height: 1.62;
  font-family: var(--font-serif);
  font-size: 1.3rem;
  letter-spacing: 0.1em;
  text-align: center;
}
.square-button:hover {
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .square-button {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    font-size: 4rem;
    width: 100%;
  }
}
.square-button.square-button--bg-navy {
  background-color: var(--color-navy);
  color: white;
}

.square-button__text {
  display: flex;
  align-items: center;
  gap: 0.75em;
  font-weight: 700;
}

.square-button__arrow {
  position: relative;
  display: inline-block;
  transform: translateY(0.05em);
  width: 1.6rem;
  aspect-ratio: 1;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .square-button__arrow {
    width: 4.1rem;
  }
}
.square-button__arrow span {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  height: 1px;
  width: 100%;
  background-color: currentColor;
  transition: transform 0.35s ease-out;
}
.square-button__arrow span:first-of-type {
  transform: translateY(-50%);
}
a:hover .square-button__arrow span:first-of-type {
  transform: translateX(275%) translateY(-50%);
}
.square-button__arrow span:last-of-type {
  transform: translateX(-275%) translateY(-50%);
}
a:hover .square-button__arrow span:last-of-type {
  transform: translateX(0%) translateY(-50%);
}
.square-button__arrow span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 90%;
  height: 100%;
  background-color: currentColor;
  transform: translateY(-50%);
}
.square-button__arrow span::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 1;
  background-color: currentColor;
  transform: translateY(-50%);
  display: block;
  width: 0.58rem;
  height: 0.62rem;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
@media screen and (max-width: 767px) {
  .square-button__arrow span::after {
    width: 1.5rem;
    height: 1.7rem;
  }
}

.text-link {
  display: inline-flex;
  gap: 0.75em;
  align-items: center;
}
.text-link > svg {
  height: 0.75em;
  width: auto;
  fill: currentColor;
  overflow: visible;
}

.small-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-top: 0.5em;
  padding-right: 2.5em;
  padding-bottom: 0.5em;
  padding-left: 2em;
  border-radius: 5em;
  border: 0.2rem solid transparent;
  background-color: transparent;
  font-size: 1.35rem;
  letter-spacing: 0.05em;
  text-align: center;
  font-family: var(--font-serif);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .small-button {
    min-width: 47.6rem;
    padding-top: 0.7em;
    padding-bottom: 0.7em;
    font-size: 3.8rem;
  }
}
.small-button:hover {
  cursor: pointer;
}
.small-button.small-button--bg-white {
  color: var(--color-blue);
  background-color: white;
}
.small-button.small-button--bg-blue {
  color: white;
  background-color: var(--color-blue);
}
.small-button:not(:has(.small-button__arrow)) {
  padding-right: 2em;
}

.small-button__text {
  line-height: 1.5;
}

.small-button__arrow {
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  display: block;
  width: 1.75rem;
  aspect-ratio: 1;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .small-button__arrow {
    right: 3.2rem;
    width: 5.8rem;
  }
}
.small-button__arrow span {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  height: 1px;
  width: 100%;
  transition: transform 0.35s ease-out;
}
.small-button__arrow span:first-of-type {
  transform: translateY(-50%);
}
a:hover .small-button__arrow span:first-of-type {
  transform: translateX(275%) translateY(-50%);
}
.small-button__arrow span:last-of-type {
  transform: translateX(-275%) translateY(-50%);
}
a:hover .small-button__arrow span:last-of-type {
  transform: translateX(0%) translateY(-50%);
}
.small-button__arrow span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 90%;
  height: 100%;
  background-color: currentColor;
  transform: translateY(-50%);
}
.small-button__arrow span::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 1;
  background-color: currentColor;
  transform: translateY(-50%);
  display: block;
  width: 0.5rem;
  height: 0.6rem;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
@media screen and (max-width: 767px) {
  .small-button__arrow span::after {
    width: 1.5rem;
    height: 1.68rem;
  }
}

.drawer {
  z-index: 9;
  width: 34rem;
  pointer-events: auto;
  will-change: transform;
}
@media screen and (min-width: 768px) {
  .drawer {
    --trigger-width: 4rem;
    display: grid;
    grid-template-columns: var(--trigger-width) 1fr;
    transition: transform 0.5s ease-in-out;
    filter: drop-shadow(0 0 1rem rgba(20, 44, 73, 0.2));
  }
}
@media screen and (max-width: 767px) {
  .drawer {
    display: none;
  }
}
.drawer.drawer--top {
  margin-left: auto;
}
.drawer:not(.drawer--top) {
  position: fixed;
  right: 0;
  bottom: 8rem;
}
[data-drawer].--disable .drawer, .drawer.--disable {
  transition: transform 0.5s ease;
}
@media screen and (min-width: 768px) {
  [data-drawer].--disable .drawer, .drawer.--disable {
    transform: translateX(calc(100% - var(--trigger-width)));
  }
}

.drawer__trigger {
  position: relative;
  display: block;
  color: white;
  background-color: rgb(0, 100, 255);
  transition: background-color 0.175s ease-out;
}
@media screen and (min-width: 768px) {
  .drawer__trigger {
    flex-direction: column;
    height: 100%;
    border-top-left-radius: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .drawer__trigger {
    border-top-left-radius: 4rem;
    height: var(--trigger-height);
    width: 100%;
  }
}
[data-drawer].--disable .drawer__trigger, .drawer.--disable .drawer__trigger {
  background-color: rgba(0, 100, 255, 0.8);
}
.drawer__trigger:hover {
  opacity: 1;
  background-color: rgb(0, 100, 255) !important;
}

.drawer__trigger-icon-to-disable {
  position: absolute;
  bottom: 1.6rem;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 2.1rem;
  height: 2.1rem;
  aspect-ratio: 1;
  transition: opacity 0.125s ease-out;
}
.drawer__trigger-icon-to-disable::before, .drawer__trigger-icon-to-disable::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  height: 0.15rem;
  background-color: white;
}
.drawer__trigger-icon-to-disable::after {
  transform: translateY(-50%) rotate(90deg);
}
[data-drawer].--disable .drawer__trigger-icon-to-disable, .drawer.--disable .drawer__trigger-icon-to-disable {
  opacity: 0;
}

.drawer__trigger-icon-to-active {
  position: absolute;
  bottom: 1.6rem;
  left: 50%;
  transform: translateX(-50%);
  width: 1.2rem;
  height: 1.2rem;
  aspect-ratio: 1;
  border-left: 0.15rem solid white;
  border-bottom: 0.15rem solid white;
  transform: rotate(45deg);
  transition: opacity 0.125s ease-out;
  opacity: 0;
}
[data-drawer].--disable .drawer__trigger-icon-to-active, .drawer.--disable .drawer__trigger-icon-to-active {
  opacity: 1;
}

.drawer__content {
  background-color: white;
}
.drawer:not(.drawer--top) .drawer__content {
  position: relative;
  background-color: rgba(255, 255, 255, 0.8);
}
.drawer:not(.drawer--top) .drawer__content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 100, 255, 0.8);
}
@media screen and (min-width: 768px) {
  .drawer__content {
    padding-top: 3rem;
    padding-right: 2.2rem;
    padding-bottom: 3rem;
    padding-left: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .drawer__content {
    padding-top: 3.2rem;
    padding-right: 2.4rem;
    padding-bottom: 3.2rem;
    padding-left: 2.4rem;
    border-right: 1px solid var(--color-dark-blue);
    border-left: 1px solid var(--color-dark-blue);
  }
}

@media screen and (max-width: 767px) {
  .drawer__content {
    --arrow-size: 6.6rem;
  }
}

.drawer__links {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.drawer__link a {
  display: block;
}

.drawer-sg-wrapper {
  position: relative;
  z-index: 9;
  pointer-events: none;
}
.drawer-sg-wrapper .pin-spacer {
  width: 100% !important;
}

.drawer-sg-wrapper__container {
  width: 100% !important;
  max-width: initial !important;
}

.rounded-box {
  position: relative;
  z-index: 1;
  border-top-left-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
  overflow: hidden;
}
.rounded-box > a, .rounded-box > button {
  display: block;
  width: 100%;
  opacity: 1;
}
.rounded-box.rounded-box--bg-white-and-border-blue {
  background-color: white;
  color: var(--color-dark-blue);
  border: 0.5rem solid var(--color-blue);
  transition: opacity 0.25s ease-out;
}
.rounded-box.rounded-box--bg-white-and-border-blue > a {
  width: 100%;
  height: 100%;
}
.rounded-box.rounded-box--square {
  aspect-ratio: 1;
}

.rounded-box__content {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%) translateY(-42%);
  color: white;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .rounded-box__content {
    transform: translateX(-50%) translateY(-43%);
  }
}
.rounded-box.rounded-box--bg-white-and-border-blue .rounded-box__content {
  color: var(--color-dark-blue);
}

.rounded-box__title {
  text-align: center;
  font-family: var(--font-serif-yakuhan-all);
  transition: transform 0.2s ease-out;
}
a:hover .rounded-box__title, button:hover .rounded-box__title {
  transform: scale(1.06);
}

.rounded-box__title-small {
  display: block;
  line-height: 1;
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .rounded-box__title-small {
    font-size: 3rem;
  }
}
.rounded-box__content.rounded-box__content--small .rounded-box__title-small {
  font-size: 1.7rem;
}
@media screen and (max-width: 767px) {
  .rounded-box__content.rounded-box__content--small .rounded-box__title-small {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .rounded-box__content.rounded-box__content--large .rounded-box__title-small {
    font-size: 4.2rem;
  }
}

.rounded-box__title-large {
  line-height: 1.35;
  display: block;
  margin-top: 0.5em;
  letter-spacing: 0.05em;
  font-size: 3.2rem;
  font-weight: 500;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .rounded-box__title-large {
    font-size: 4.8rem;
  }
}
.rounded-box__content.rounded-box__content--large .rounded-box__title-large {
  line-height: 1.4;
  margin-top: 0.5em;
  font-size: 5.4rem;
}
@media screen and (max-width: 767px) {
  .rounded-box__content.rounded-box__content--large .rounded-box__title-large {
    font-size: 9rem;
  }
}

.rounded-box__text {
  transition: transform 0.2s ease-out;
}
.rounded-box__content.rounded-box__content--large .rounded-box__text {
  margin-top: 2.8rem;
  font-family: var(--font-serif);
  font-size: 2rem;
  text-align: center;
  line-height: 2.05;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .rounded-box__content.rounded-box__content--large .rounded-box__text {
    margin-top: 4.8rem;
    font-size: 4rem;
  }
}
a:hover .rounded-box__text, button:hover .rounded-box__text {
  transform: scale(1.06);
}

.rounded-box__guide {
  margin-top: 1.75rem;
  transition: transform 0.25s 0.125s ease-out;
}
@media screen and (max-width: 767px) {
  .rounded-box__guide {
    margin-top: 2rem;
  }
}
.rounded-box__content.rounded-box__content--large .rounded-box__guide {
  margin-top: 4rem;
}
a:hover .rounded-box__guide, button:hover .rounded-box__guide {
  transition: transform 0.125s 0.125s ease-out;
  transform: translateY(10%) scale(1.05);
}

.rounded-box__guide-arrow {
  display: block;
  position: relative;
  height: 2.4rem;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .rounded-box__guide-arrow {
    height: 5rem;
  }
}
.rounded-box__guide-arrow span {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1px;
  height: 90%;
  background-color: currentColor;
  transition: transform 0.35s ease-out;
}
.rounded-box__guide-arrow span:first-of-type {
  transform: translateX(-50%);
}
button:hover .rounded-box__guide-arrow span:first-of-type, a:hover .rounded-box__guide-arrow span:first-of-type {
  transform: translateX(-50%) translateY(275%);
}
.rounded-box__guide-arrow span:last-of-type {
  transform: translateX(-50%) translateY(-275%);
}
button:hover .rounded-box__guide-arrow span:last-of-type, a:hover .rounded-box__guide-arrow span:last-of-type {
  transform: translateX(-50%) translateY(0%);
}
.rounded-box__guide-arrow span::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1px;
  z-index: 1;
  background-color: currentColor;
  transform: translateX(-50%);
  display: block;
  width: 0.575rem;
  height: 0.525rem;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
@media screen and (max-width: 767px) {
  .rounded-box__guide-arrow span::after {
    width: 1.61rem;
    height: 1.47rem;
  }
}

.rounded-box__guide-text {
  display: block;
  margin-top: 0.65em;
  text-align: center;
  font-size: 1.15rem;
  letter-spacing: 0.04em;
  font-weight: 700;
  font-family: var(--font-serif);
}
@media screen and (max-width: 767px) {
  .rounded-box__guide-text {
    font-size: 2.8rem;
  }
}

.breadcrumb {
  display: flex;
  align-items: flex-end;
  height: 9.6rem;
  background-color: white;
}
@media screen and (max-width: 767px) {
  .breadcrumb {
    display: none;
  }
}

.breadcrumb__items {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  display: flex;
  align-items: center;
  padding-bottom: 2rem;
}
.breadcrumb__items li {
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  letter-spacing: 0.025em;
}
.breadcrumb__items li + li::before {
  content: ">";
  margin-left: 1em;
  margin-right: 1em;
}

.breadcrumb__item-home-icon {
  display: inline-block;
  width: 1.25em;
  margin-right: 0.75em;
}

@media screen and (min-width: 768px) {
  .site-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 7.2rem 4.8rem;
  }
}

@media screen and (min-width: 768px) {
  .site-menu {
    display: contents;
  }
}
@media screen and (max-width: 767px) {
  .site-menu {
    display: grid;
    gap: 12rem;
  }
}

.site-menu__column {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
}
@media screen and (max-width: 767px) {
  .site-menu__column {
    display: contents;
  }
}

.site-menu__group {
  border-top: 1px solid #969696;
}
.modal-menu .site-menu__group {
  border-color: white;
}

.site-menu__group-header {
  padding-top: 0.85em;
}
@media screen and (max-width: 767px) {
  .site-menu__group-header {
    padding-top: 1.25em;
  }
}

.site-menu__group-title {
  line-height: 1.4;
  font-size: 1.9rem;
  font-family: var(--font-serif);
  font-weight: 700;
  letter-spacing: 0.05em;
}
.site-menu__group-title button {
  font-size: inherit;
  font-family: inherit;
  font-weight: inherit;
}
@media screen and (max-width: 767px) {
  .site-menu__group-title {
    font-size: 6rem;
  }
}
.site-menu__group-title a:hover,
.site-menu__group-title button:hover {
  opacity: 0.55;
}

@media screen and (max-width: 767px) {
  .site-menu__group-body {
    margin-top: 8rem;
  }
}

.site-menu__item {
  font-size: 1.3rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .site-menu__item {
    font-size: 4rem;
  }
}
@media screen and (min-width: 768px) {
  .site-menu__item:first-of-type {
    margin-top: 2.4rem;
  }
}
.site-menu__item + .site-menu__item {
  margin-top: 0.55em;
}
@media screen and (max-width: 767px) {
  .site-menu__item + .site-menu__item {
    margin-top: 0.85em;
  }
}
.site-menu__item a,
.site-menu__item button {
  position: relative;
}
.site-menu__item a::before,
.site-menu__item button::before {
  content: "";
  position: absolute;
  inset: -0.35em;
}
.site-menu__item a::after,
.site-menu__item button::after {
  content: "";
  position: absolute;
  bottom: -0.5em;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}
.site-menu__item a:hover,
.site-menu__item button:hover {
  opacity: 1;
}
.site-menu__item a:hover::after,
.site-menu__item button:hover::after {
  opacity: 0.6;
  visibility: visible;
}

.site-links__internship {
  margin-top: 3.6rem;
}
@media screen and (max-width: 767px) {
  .site-links__internship {
    margin-top: 5.6rem;
  }
}
.site-links__internship .square-button {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .site-links__internship .square-button {
    font-size: 2.2rem;
  }
}

.site-copy-and-links {
  grid-column: 1/span 3;
  grid-row: 2;
  display: grid;
  grid-template-columns: 1fr max-content;
  grid-template-rows: auto auto;
  align-self: self-start;
  padding-right: 5.2rem;
}

.site-copy-and-links__title-large {
  display: block;
  width: 37.6rem;
  line-height: 0;
}

.site-copy-and-links__title-small {
  display: block;
  margin-top: 1.25em;
  font-family: var(--font-serif);
  font-weight: 900;
  color: #646464;
  font-size: 1.3rem;
  letter-spacing: 0.025em;
}

.site-copy-and-links__sns {
  grid-template-columns: 1;
  display: flex;
  align-items: center;
  gap: 2.7rem;
  margin-top: 3.6rem;
}

.site-copy-and-links__sns-item {
  width: 3.2rem;
}
.site-copy-and-links__sns-item:has(img[src*=instagram]) {
  width: 3.2rem;
}
.site-copy-and-links__sns-item:has(img[src*=youtube]) {
  width: 3.6rem;
}
.site-copy-and-links__sns-item:has(img[src*=facebook]) {
  width: 3.3rem;
}
.site-copy-and-links__sns-item a {
  display: block;
}
.site-copy-and-links__sns-item a img {
  display: block;
}

.site-copy-and-links__entries {
  grid-column: 2;
  grid-row: 1/span 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
}
.site-copy-and-links__entries .button {
  font-size: 1.4rem;
  line-height: 1.6;
  padding-top: 1em;
  padding-bottom: 1.1em;
  min-width: 26.8rem;
}

.site-links {
  grid-column: 1/span 3;
  grid-row: 2;
}
@media screen and (min-width: 768px) {
  .site-links {
    padding-right: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .site-links {
    margin-top: 14rem;
  }
}

.site-links__entries {
  display: flex;
  gap: 3.5rem 3rem;
}
.site-links__entries .button {
  font-size: 1.4rem;
  padding-top: 1em;
  padding-bottom: 1.1em;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .site-links__entries .button {
    font-size: 3.2rem;
    line-height: 1.6;
  }
}
.site-links__entries .button__icon {
  right: 3.2rem;
}

.site-links__entries-item {
  flex: 1;
}

.to-site-top {
  position: absolute;
  top: 0;
  right: calc((100% - var(--container-width)) / 2);
  transform: translateY(-50%);
  z-index: 1;
  display: block;
  width: 9.8rem;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1.2px solid var(--color-dark-blue);
  pointer-events: auto;
  background-color: rgba(255, 255, 255, 0.5);
  transition: background-color 0.25s ease-out;
}
.to-site-top:hover {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.75);
}

.to-site-top__arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  display: block;
  width: 0.2rem;
  height: 3.5rem;
  background-color: var(--color-dark-blue);
}
.to-site-top__arrow::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 1;
  transform: translateX(-50%) translateY(-50%);
  background-color: var(--color-dark-blue);
  display: block;
  width: 0.78rem;
  height: 0.69rem;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

.pc-dropdown-menu {
  position: fixed;
  top: var(--header-height);
  left: 0;
  width: 100%;
  background-color: var(--color-blue);
  clip-path: inset(0 0 100% 0);
  transition: clip-path 0.5s ease-out, opacity 0.25s ease-out, visibility 0.25s ease-out;
  opacity: 0;
  visibility: hidden;
}
.header__pc-menu-list li.header__pc-menu-item-has-dropdown-menu:hover .pc-dropdown-menu {
  opacity: 1;
  visibility: visible;
  clip-path: inset(0 0 0% 0);
}

.pc-dropdown-menu__inner {
  width: 130rem;
  margin-right: auto;
  margin-left: auto;
  padding-top: 4.8rem;
  padding-bottom: 6.4rem;
}

.pc-dropdown-menu__title {
  display: inline-flex;
  align-items: baseline;
  gap: 5.4rem;
  border-bottom: 1px solid currentColor;
  padding-bottom: 0.5em;
  font-family: var(--font-serif);
  color: white;
}

.pc-dropdown-menu__title-large {
  line-height: 1.4;
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.025em;
}

.pc-dropdown-menu__title-small {
  line-height: 1.4;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.025em;
  padding-right: 2.8rem;
}

.pc-dropdown-menu__body {
  margin-top: 4.8rem;
}

.pc-dropdown-menu__items {
  --gap: 3.6rem;
  --length: 5;
  display: flex;
  gap: var(--gap);
}

.pc-dropdown-menu__item {
  width: calc((100% - var(--gap) * (var(--length) - 1)) / var(--length));
  color: white;
}
.pc-dropdown-menu__item > a {
  display: block;
}
.pc-dropdown-menu__item > a:hover {
  opacity: 1;
}

.pc-dropdown-menu__item-thumbnail {
  position: relative;
  z-index: 1;
  aspect-ratio: 232/148;
  border-top-left-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
  overflow: hidden;
}
.pc-dropdown-menu__item-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.125s ease-out;
}
a:hover .pc-dropdown-menu__item-thumbnail img {
  transform: scale(1.04);
  transition: transform 0.25s ease-out;
}

.pc-dropdown-menu__item-title {
  margin-top: 1.25em;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.025em;
}

.pc-dropdown-menu__item-arrow {
  position: relative;
  display: inline-block;
  margin-right: 0.5em;
  vertical-align: 0.3em;
  width: 1.35rem;
  height: 1px;
}
.pc-dropdown-menu__item-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 90%;
  height: 100%;
  background-color: currentColor;
  transform: translateY(-50%);
}
.pc-dropdown-menu__item-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 1;
  background-color: currentColor;
  transform: translateY(-50%);
  display: block;
  width: 0.5rem;
  height: 0.6rem;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.pc-dropdown-menu__list {
  --columns: 3;
  display: grid;
  grid-template-columns: repeat(var(--columns), max-content);
  gap: 3.6rem 12.3rem;
  color: white;
}

.pc-dropdown-menu__list-item {
  font-family: var(--font-serif);
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.3;
}

.pc-dropdown-menu__list-item-arrow {
  position: relative;
  display: inline-block;
  margin-right: 0.65em;
  vertical-align: 0.325em;
  width: 1.47rem;
  height: 1px;
  background-color: currentColor;
}
.pc-dropdown-menu__list-item-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 1;
  background-color: currentColor;
  transform: translateY(-50%);
  display: block;
  width: 0.4rem;
  height: 0.5rem;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.sp-footer-entries {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .sp-footer-entries {
    display: none;
  }
}

.sp-footer-entries__item {
  flex: 1;
}
.sp-footer-entries__item .button {
  width: 100%;
}

.sub-page-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(0.5rem);
  height: 20.4rem;
  background-color: #020699;
  color: white;
}
@media screen and (max-width: 767px) {
  .sub-page-header {
    height: 32rem;
  }
}
@media screen and (min-width: 768px) {
  .sub-page-header.active-sp {
    display: none !important;
  }
}

.sub-page-header__title {
  text-align: center;
}

.sub-page-header__title-large {
  display: block;
  line-height: 1.4;
  font-family: var(--font-serif);
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .sub-page-header__title-large {
    font-size: 5.4rem;
  }
}
.sub-page-header__title.sub-page-header__title--reverse-font-size .sub-page-header__title-large {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .sub-page-header__title.sub-page-header__title--reverse-font-size .sub-page-header__title-large {
    font-size: 3.2rem;
  }
}

.sub-page-header__title-small {
  display: block;
  margin-top: 0.85em;
  line-height: 1.4;
  font-size: 1.3rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .sub-page-header__title-small {
    font-size: 3.2rem;
  }
}
.sub-page-header__title.sub-page-header__title--reverse-font-size .sub-page-header__title-small {
  margin-top: 0.5em;
  font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
  .sub-page-header__title.sub-page-header__title--reverse-font-size .sub-page-header__title-small {
    font-size: 5.4rem;
  }
}

.sub-page-header__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.sub-page-header__bg img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.concept-message-modal {
  --wrapper-width: 130rem;
  position: relative;
  z-index: 1;
}

.concept-message-modal__sp-header {
  display: contents;
}
@media screen and (max-width: 767px) {
  .concept-message-modal__sp-header {
    position: relative;
    display: block;
    height: 72.4rem;
  }
}

.concept-message-modal__sp-title {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 9;
  transform: translateX(-50%) translateY(-50%);
  font-family: var(--font-Barlow);
  font-size: 8rem;
  font-weight: 700;
  color: var(--color-cyan);
}
@media screen and (min-width: 768px) {
  .concept-message-modal__sp-title {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .concept-message-modal__images {
    position: fixed;
    top: 0;
    right: 0;
    z-index: -1;
    width: calc(65.4rem + (100vw - var(--wrapper-width)) / 2);
    height: 100vh;
    height: 100svh;
  }
}

.concept-message-modal__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  will-change: opacity;
}
.concept-message-modal__image:first-of-type {
  z-index: 1;
}
.concept-message-modal__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .concept-message-modal__sp-scroll {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .concept-message-modal__sp-scroll {
    margin-top: 8rem;
    text-align: center;
    font-family: var(--font-serif);
    font-size: 3rem;
    font-weight: 700;
    color: currentColor;
    letter-spacing: 0.04em;
    line-height: 1;
  }
}

.concept-message-modal__sp-scroll-arrow {
  position: relative;
  display: block;
  margin-top: 2rem;
  height: 4.8rem;
  width: 1px;
  margin-right: auto;
  margin-left: auto;
  background-color: currentColor;
}
@media screen and (max-width: 767px) {
  .concept-message-modal__sp-scroll-arrow {
    margin-top: 3.8rem;
    height: 7rem;
  }
}
.concept-message-modal__sp-scroll-arrow::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 1;
  background-color: currentColor;
  transform: translateX(-50%) translateY(50%);
  display: block;
  width: 0.8625rem;
  height: 0.7875rem;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
@media screen and (max-width: 767px) {
  .concept-message-modal__sp-scroll-arrow::after {
    width: 1.61rem;
    height: 1.47rem;
  }
}

.concept-message-modal__content {
  --title-width: 8.2rem;
  --content-top-margin: 15.8rem;
}
@media screen and (min-width: 768px) {
  .concept-message-modal__content {
    width: var(--wrapper-width);
    margin-right: auto;
    margin-left: auto;
    padding-top: var(--content-top-margin);
    padding-bottom: var(--content-top-margin);
    padding-left: calc(var(--title-width) + 11.6rem);
  }
}
@media screen and (max-width: 767px) {
  .concept-message-modal__content {
    position: relative;
    --content-top-margin: 10.4rem;
    --title-width: 10.4rem;
    margin-top: var(--content-top-margin);
    padding-left: 13rem;
    padding-bottom: 38rem;
    padding-left: calc(var(--title-width) + 13rem + 13rem);
  }
}

.concept-message-modal__title {
  width: var(--title-width);
}
@media screen and (min-width: 768px) {
  .concept-message-modal__title {
    position: fixed;
    top: var(--content-top-margin);
    left: calc((100vw - var(--wrapper-width)) / 2);
    margin-right: 11.4rem;
  }
}
@media screen and (max-width: 767px) {
  .concept-message-modal__title {
    position: absolute;
    left: 13rem;
    top: 0;
  }
  .concept-message-modal__title.--is-fixed {
    position: fixed;
    top: var(--content-top-margin);
  }
}

.concept-message-modal__body {
  line-height: 2;
  font-family: var(--font-serif);
  font-size: 1.6rem;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .concept-message-modal__body {
    line-height: 1.9;
    font-size: 3.8rem;
  }
}
.concept-message-modal__body p + p {
  margin-top: 2em;
}

.concept-message-modal__close.modal-close {
  position: fixed;
  top: 3.8rem;
  right: 3.8rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .concept-message-modal__close.modal-close {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 16.2rem;
    height: 4.8rem;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 5em;
    transition: background-color 0.25s ease-out;
  }
  .concept-message-modal__close.modal-close:hover {
    background-color: rgb(255, 255, 255);
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .concept-message-modal__close.modal-close {
    top: 4.8rem;
    right: 4.8rem;
    width: 9.2rem;
    height: 9.2rem;
  }
}

.concept-message-modal__pc-close-text {
  font-size: 1.5rem;
  text-align: center;
  letter-spacing: 0.05em;
  font-family: var(--font-serif);
  font-weight: 700;
  color: var(--color-blue);
}
@media screen and (max-width: 767px) {
  .concept-message-modal__pc-close-text {
    display: none;
  }
}

.concept-message-modal__sp-close-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotate(45deg);
}
.concept-message-modal__sp-close-icon::before, .concept-message-modal__sp-close-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 0.75rem;
  background-color: var(--color-cyan);
}
.concept-message-modal__sp-close-icon::after {
  transform: rotate(90deg);
}
@media screen and (min-width: 768px) {
  .concept-message-modal__sp-close-icon {
    display: none;
  }
}

.anchor-links {
  display: flex;
  justify-content: center;
  gap: 2.8rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .anchor-links {
    gap: 4rem;
  }
}

.anchor-links__item .button {
  width: 17.8rem;
  font-size: 1.73rem;
  padding-top: 0.6125em;
  padding-right: 0.25em;
  padding-bottom: 0.6125em;
  padding-left: 0.25em;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .anchor-links__item .button {
    width: 28rem;
    font-size: 3.2rem;
  }
}
.anchor-links__item .button:hover {
  opacity: 0.75;
}

.clickable-image {
  position: relative;
}

.clickable-image__items {
  --image-width: 1200;
  --image-height: 588;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  counter-reset: item-counter;
}
.clickable-image__items > * {
  pointer-events: auto;
}
.clickable-image__items button {
  --pos-x: 0;
  --pos-y: 0;
  --area-width: 100;
  --area-height: 100;
  position: absolute;
  top: calc(var(--pos-y) / var(--image-height) * 100%);
  left: calc(var(--pos-x) / var(--image-width) * 100%);
  width: calc(var(--area-width) / var(--image-width) * 100%);
  height: calc(var(--area-height) / var(--image-height) * 100%);
  z-index: 1;
  background-color: transparent;
  transition: background-color 0.25s ease-out;
  /*
  	デバグ
  */
  /*
  	デバグ

  */
}
.clickable-image__items button:hover {
  background-color: rgba(255, 255, 255, 0.3);
}
.clickable-image__items.clickable-image__items--for-training-section-01-image-250325 {
  --image-width: 1200;
  --image-height: 588;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-01-image-250325 {
    --image-width: 1080;
    --image-height: 2446;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(1) {
  --pos-x: 159.9709;
  --pos-y: 144.4117;
  --area-width: 107.5294;
  --area-height: 54.4029;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(1) {
    --pos-x: 201.723;
    --pos-y: 212.9216;
    --area-width: 154.8429;
    --area-height: 377.8033;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(2) {
  --pos-x: 280.6492;
  --pos-y: 144.4117;
  --area-width: 198.5928;
  --area-height: 34.0157;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(2) {
    --pos-x: 201.723;
    --pos-y: 603.6525;
    --area-width: 73.3298;
    --area-height: 430.0366;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(3) {
  --pos-x: 280.6492;
  --pos-y: 185.4443;
  --area-width: 115.4444;
  --area-height: 54.4029;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(3) {
    --pos-x: 283.236;
    --pos-y: 603.6525;
    --area-width: 73.3298;
    --area-height: 275.8724;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(4) {
  --pos-x: 493.1485;
  --pos-y: 144.4117;
  --area-width: 96.8513;
  --area-height: 54.4029;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(4) {
    --pos-x: 201.723;
    --pos-y: 1047.2125;
    --area-width: 154.8429;
    --area-height: 271.1029;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(5) {
  --pos-x: 603.6938;
  --pos-y: 144.4117;
  --area-width: 109.5676;
  --area-height: 54.4029;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(5) {
    --pos-x: 201.723;
    --pos-y: 1330.0523;
    --area-width: 154.8429;
    --area-height: 218.6735;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(6) {
  --pos-x: 727.7198;
  --pos-y: 144.4117;
  --area-width: 117.6718;
  --area-height: 54.4029;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(6) {
    --pos-x: 201.723;
    --pos-y: 1561.7139;
    --area-width: 154.8429;
    --area-height: 295.6898;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(7) {
  --pos-x: 860.0644;
  --pos-y: 144.4117;
  --area-width: 128.9849;
  --area-height: 54.4029;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(7) {
    --pos-x: 201.723;
    --pos-y: 1870.3555;
    --area-width: 154.8429;
    --area-height: 239.5444;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(8) {
  --pos-x: 1005.1188;
  --pos-y: 144.4117;
  --area-width: 109.8028;
  --area-height: 54.4029;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(8) {
    --pos-x: 201.723;
    --pos-y: 2121.6025;
    --area-width: 154.8429;
    --area-height: 220.753;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(9) {
  --pos-x: 159.971;
  --pos-y: 254.1488;
  --area-width: 954.9507;
  --area-height: 34.0157;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(9) {
    --pos-x: 414.9753;
    --pos-y: 212.9216;
    --area-width: 154.8429;
    --area-height: 2129.4339;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(10) {
  --pos-x: 159.971;
  --pos-y: 305.1106;
  --area-width: 107.5294;
  --area-height: 54.4029;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(10) {
    --pos-x: 632.4664;
    --pos-y: 226.6711;
    --area-width: 73.3298;
    --area-height: 364.0538;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(11) {
  --pos-x: 159.971;
  --pos-y: 365.7913;
  --area-width: 954.9507;
  --area-height: 34.0157;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(11) {
    --pos-x: 713.9794;
    --pos-y: 226.6711;
    --area-width: 73.3298;
    --area-height: 1688.3527;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(12) {
  --pos-x: 159.971;
  --pos-y: 415.3276;
  --area-width: 685.4981;
  --area-height: 34.0157;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(12) {
    --pos-x: 847.0155;
    --pos-y: 226.6711;
    --area-width: 73.3298;
    --area-height: 2115.6844;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(13) {
  --pos-x: 159.971;
  --pos-y: 457.2277;
  --area-width: 430.2009;
  --area-height: 34.0157;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-01-image-250325 button:nth-of-type(13) {
    --pos-x: 928.5285;
    --pos-y: 226.6711;
    --area-width: 73.3298;
    --area-height: 1140.8313;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-02-image {
  --image-width: 1200;
  --image-height: 540;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-02-image {
    --image-width: 1080;
    --image-height: 1869;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-02-image button:nth-of-type(1) {
  --pos-x: 78.1843;
  --pos-y: 136.6838;
  --area-width: 102.2205;
  --area-height: 49.4983;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-02-image button:nth-of-type(1) {
    --pos-x: 300.1532;
    --pos-y: 71.5491;
    --area-width: 98.2523;
    --area-height: 212.5011;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-02-image button:nth-of-type(2) {
  --pos-x: 195.2387;
  --pos-y: 197.8714;
  --area-width: 807.9376;
  --area-height: 49.4983;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-02-image button:nth-of-type(2) {
    --pos-x: 431.4252;
    --pos-y: 307.4534;
    --area-width: 98.2523;
    --area-height: 1232.8;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-02-image button:nth-of-type(3) {
  --pos-x: 195.2387;
  --pos-y: 259.059;
  --area-width: 455.7766;
  --area-height: 49.4983;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-02-image button:nth-of-type(3) {
    --pos-x: 562.6971;
    --pos-y: 307.4534;
    --area-width: 98.2523;
    --area-height: 724.0223;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-02-image button:nth-of-type(4) {
  --pos-x: 312.8942;
  --pos-y: 320.2465;
  --area-width: 572.845;
  --area-height: 49.4983;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-02-image button:nth-of-type(4) {
    --pos-x: 693.9691;
    --pos-y: 477.046;
    --area-width: 98.2523;
    --area-height: 893.6149;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-02-image button:nth-of-type(5) {
  --pos-x: 548.4287;
  --pos-y: 381.434;
  --area-width: 102.2205;
  --area-height: 67.4105;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-02-image button:nth-of-type(5) {
    --pos-x: 825.2411;
    --pos-y: 818.9746;
    --area-width: 98.2523;
    --area-height: 212.5011;
  }
}
.clickable-image__items.clickable-image__items--for-training-section-02-image button:nth-of-type(6) {
  --pos-x: 1018.5418;
  --pos-y: 381.434;
  --area-width: 102.2205;
  --area-height: 67.4105;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-training-section-02-image button:nth-of-type(6) {
    --pos-x: 825.2411;
    --pos-y: 1566.4001;
    --area-width: 98.2523;
    --area-height: 212.5011;
  }
}
.clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 {
  --image-width: 1200;
  --image-height: 560;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 {
    --image-width: 1080;
    --image-height: 2894.7327;
  }
}
.clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(1) {
  --pos-x: 47.367;
  --pos-y: 196.988;
  --area-width: 172.913;
  --area-height: 34.016;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(1) {
    --pos-x: 95.1478;
    --pos-y: 437.1405;
    --area-width: 413.2226;
    --area-height: 81.2897;
  }
}
.clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(2) {
  --pos-x: 241.56;
  --pos-y: 196.988;
  --area-width: 228.616;
  --area-height: 34.016;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(2) {
    --pos-x: 559.2237;
    --pos-y: 437.1405;
    --area-width: 425.6285;
    --area-height: 81.2897;
  }
}
.clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(3) {
  --pos-x: 491.208;
  --pos-y: 196.988;
  --area-width: 334.734;
  --area-height: 34.016;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(3) {
    --pos-x: 95.1478;
    --pos-y: 1282.8204;
    --area-width: 889.7044;
    --area-height: 81.2897;
  }
}
.clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(4) {
  --pos-x: 491.208;
  --pos-y: 243.391;
  --area-width: 334.734;
  --area-height: 34.016;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(4) {
    --pos-x: 95.1478;
    --pos-y: 1393.712;
    --area-width: 889.7044;
    --area-height: 81.2897;
  }
}
.clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(5) {
  --pos-x: 491.208;
  --pos-y: 289.472;
  --area-width: 334.734;
  --area-height: 34.016;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(5) {
    --pos-x: 95.1478;
    --pos-y: 1504.6036;
    --area-width: 889.7044;
    --area-height: 81.2897;
  }
}
.clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(6) {
  --pos-x: 142.27;
  --pos-y: 355.994;
  --area-width: 204.369;
  --area-height: 34.016;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(6) {
    --pos-x: 321.9441;
    --pos-y: 773.6065;
    --area-width: 427.2087;
    --area-height: 81.2897;
  }
}
.clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(7) {
  --pos-x: 241.562;
  --pos-y: 402.344;
  --area-width: 228.616;
  --area-height: 34.016;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(7) {
    --pos-x: 559.2237;
    --pos-y: 890.0691;
    --area-width: 420.2784;
    --area-height: 81.2897;
  }
}
.clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(8) {
  --pos-x: 921.379;
  --pos-y: 157.0834;
  --area-width: 228.616;
  --area-height: 34.016;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(8) {
    --pos-x: 115.0301;
    --pos-y: 2257.7659;
    --area-width: 540.8029;
    --area-height: 80.4659;
  }
}
.clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(9) {
  --pos-x: 921.379;
  --pos-y: 203.6959;
  --area-width: 228.616;
  --area-height: 34.016;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(9) {
    --pos-x: 115.0301;
    --pos-y: 2368.0301;
    --area-width: 540.8029;
    --area-height: 80.4659;
  }
}
.clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(10) {
  --pos-x: 921.379;
  --pos-y: 250.3084;
  --area-width: 228.616;
  --area-height: 34.016;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(10) {
    --pos-x: 115.0301;
    --pos-y: 2478.2943;
    --area-width: 540.8029;
    --area-height: 80.4659;
  }
}
.clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(11) {
  --pos-x: 921.379;
  --pos-y: 296.9209;
  --area-width: 228.616;
  --area-height: 34.016;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(11) {
    --pos-x: 115.0301;
    --pos-y: 2588.5586;
    --area-width: 540.8029;
    --area-height: 80.4659;
  }
}
.clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(12) {
  --pos-x: 47.712;
  --pos-y: 450.428;
  --area-width: 1101.796;
  --area-height: 34.016;
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(12) {
    --pos-x: 95.1478;
    --pos-y: 1007.1854;
    --area-width: 889.7044;
    --area-height: 81.2897;
  }
}
.clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(13) {
  /*
  	PC無し
  */
}
@media screen and (min-width: 768px) {
  .clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(13) {
    visibility: hidden;
  }
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(13) {
    --pos-x: 95.1478;
    --pos-y: 1621.1622;
    --area-width: 889.7044;
    --area-height: 81.2897;
  }
}
.clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(14) {
  /*
  	PC無し
  */
}
@media screen and (min-width: 768px) {
  .clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(14) {
    visibility: hidden;
  }
}
@media screen and (max-width: 767px) {
  .clickable-image__items.clickable-image__items--for-support-section-02-image-250325-1 button:nth-of-type(14) {
    --pos-x: 115.5126;
    --pos-y: 2706.9047;
    --area-width: 863.9275;
    --area-height: 81.2897;
  }
}

.subpage-sections {
  --container-width: 120rem;
  margin-top: 13rem;
}
.subpage-sections.subpage-sections--item-start-bg-color {
  margin-top: 0;
}

.subpage-sections__item {
  padding-bottom: 14rem;
}
.subpage-sections__item + .subpage-sections__item {
  padding-top: 11rem;
}
@media screen and (max-width: 767px) {
  .subpage-sections__item + .subpage-sections__item:last-of-type {
    padding-bottom: 18rem;
  }
}
@media screen and (max-width: 767px) {
  .subpage-sections__item:only-of-type {
    padding-bottom: 18rem;
  }
}
.subpage-sections__item:nth-of-type(even) {
  position: relative;
  padding-bottom: 14rem;
}
.subpage-sections__item:nth-of-type(even)::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: var(--color-blue);
  opacity: 0.3;
}
.subpage-sections.subpage-sections--item-start-bg-color .subpage-sections__item:first-of-type {
  padding-top: 14rem;
}
.subpage-sections.subpage-sections--item-start-bg-color .subpage-sections__item:nth-of-type(odd) {
  position: relative;
}
.subpage-sections.subpage-sections--item-start-bg-color .subpage-sections__item:nth-of-type(odd)::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: var(--color-blue);
  opacity: 0.3;
}
.subpage-sections.subpage-sections--item-start-bg-color .subpage-sections__item:nth-of-type(even) {
  position: static;
}
.subpage-sections.subpage-sections--item-start-bg-color .subpage-sections__item:nth-of-type(even)::after {
  content: none;
}
.subpage-sections__item.subpage-sections__item--has-requirements {
  padding-top: 16rem;
}
@media screen and (max-width: 767px) {
  .subpage-sections__item.subpage-sections__item--has-requirements {
    padding-top: 28rem;
  }
}
.subpage-sections__item.subpage-sections__item--pt-0 {
  padding-top: 0;
}

@media screen and (min-width: 768px) {
  .subpage-sections__item-inner {
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .subpage-sections__item-inner {
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}

.subpage-sections__item-inner-section-width-border-separator + .subpage-sections__item-inner-section-width-border-separator {
  margin-top: 9.6rem;
  padding-top: 9.6rem;
}
@media screen and (max-width: 767px) {
  .subpage-sections__item-inner-section-width-border-separator + .subpage-sections__item-inner-section-width-border-separator {
    margin-top: 11rem;
    padding-top: 11rem;
  }
}
.subpage-sections__item:nth-of-type(odd) .subpage-sections__item-inner-section-width-border-separator + .subpage-sections__item-inner-section-width-border-separator {
  border-top: 1px solid #e5e5e5;
}
.subpage-sections__item:nth-of-type(even) .subpage-sections__item-inner-section-width-border-separator + .subpage-sections__item-inner-section-width-border-separator {
  border-top: 0.6rem solid rgba(255, 255, 255, 0.5);
}

.subpage-sections__item-inner-section-width-border-separator + .subpage-sections__item-inner-section {
  margin-top: 15rem;
}
@media screen and (max-width: 767px) {
  .subpage-sections__item-inner-section-width-border-separator + .subpage-sections__item-inner-section {
    margin-top: 25.6rem;
  }
}
.subpage-sections__item-inner-section + .subpage-sections__item-inner-section {
  margin-top: 9.6rem;
}

.subpage-sections__item-heading {
  text-align: center;
  line-height: 1.6;
  font-size: 2.8rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .subpage-sections__item-heading {
    line-height: 1.75;
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 767px) {
  .subpage-sections__item-heading.subpage-sections__item-heading--sp-small {
    font-size: 4.8rem;
    white-space: nowrap;
  }
}
.subpage-sections__item-rounded-heading + .subpage-sections__item-heading {
  margin-top: 7.2rem;
}
@media screen and (max-width: 767px) {
  .subpage-sections__item-heading.subpage-sections__item-heading--sp-mt-expanded {
    --sp-mt: 8rem;
    margin-top: var(--sp-mt);
  }
}

.subpage-sections__item-rounded-heading {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 10rem;
  min-width: 40rem;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1.25em;
  padding-left: 1.25em;
  text-align: center;
  line-height: 1.5;
  font-size: 2.1rem;
  font-weight: 700;
  border-radius: 5em;
  background-color: white;
  color: var(--color-navy);
  border: 0.3rem solid currentColor;
  filter: drop-shadow(0.8rem 0.9rem 0 currentColor);
}
@media screen and (max-width: 767px) {
  .subpage-sections__item-rounded-heading {
    min-height: 14rem;
    min-width: 58rem;
    font-size: 4rem;
    border-width: 0.6rem;
    filter: drop-shadow(1rem 1.4rem 0 currentColor);
  }
}
.subpage-sections__item-rounded-heading.subpage-sections__item-rounded-heading--large {
  min-width: 57.6rem;
}
@media screen and (max-width: 767px) {
  .subpage-sections__item-rounded-heading.subpage-sections__item-rounded-heading--large {
    min-width: 77rem;
  }
}
.subpage-sections__item-rounded-heading.subpage-sections__item-rounded-heading--short {
  min-width: 35rem;
}
@media screen and (max-width: 767px) {
  .subpage-sections__item-rounded-heading.subpage-sections__item-rounded-heading--short {
    min-width: 50rem;
  }
}
.subpage-sections__item-rounded-heading.subpage-sections__item-rounded-heading--middle {
  min-width: 46rem;
}
@media screen and (max-width: 767px) {
  .subpage-sections__item-rounded-heading.subpage-sections__item-rounded-heading--middle {
    min-width: 66rem;
  }
}

.subpage-sections__item-multiple-fontsize-heading {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .subpage-sections__item-inner-section-width-border-separator .subpage-sections__item-multiple-fontsize-heading {
    margin-top: -3em;
  }
}

.subpage-sections__item-multiple-fontsize-heading-text {
  display: block;
  line-height: 1.66;
  font-weight: 700;
  font-size: 2.1rem;
  color: var(--color-dark-blue);
}
@media screen and (max-width: 767px) {
  .subpage-sections__item-multiple-fontsize-heading-text {
    font-size: 4.2rem;
  }
}
.subpage-sections__item-multiple-fontsize-heading-text strong {
  font-size: 3.2rem;
  vertical-align: -0.125em;
  margin-right: 0.05em;
  margin-left: 0.05em;
}
@media screen and (max-width: 767px) {
  .subpage-sections__item-multiple-fontsize-heading-text strong {
    vertical-align: -0.095em;
    font-size: 5.4rem;
  }
}

.subpage-sections__item-multiple-fontsize-heading-note {
  display: block;
  margin-top: 0.75em;
  line-height: 1.6;
  font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
  .subpage-sections__item-multiple-fontsize-heading-note {
    font-size: 3.2rem;
  }
}

.subpage-sections__item-body {
  margin-top: 7.2rem;
}
@media screen and (max-width: 767px) {
  .subpage-sections__item-body {
    margin-top: 10.4rem;
  }
}
.subpage-sections__item-body strong {
  font-weight: 700;
}
.subpage-sections__item-body.subpage-sections__item-body--has-requirements {
  margin-top: 7.2rem;
}
@media screen and (max-width: 767px) {
  .subpage-sections__item-body.subpage-sections__item-body--has-requirements {
    margin-top: 10.4rem;
  }
}

.subpage-sections__item-text {
  line-height: 2;
  text-align: justify;
  font-size: 1.7rem;
}
@media screen and (max-width: 767px) {
  .subpage-sections__item-text {
    line-height: inherit;
    font-size: 4.2rem;
  }
}
.subpage-sections__item-text p + p {
  margin-top: 1em;
}
.subpage-sections__item-text a {
  color: var(--color-blue);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.subpage-sections__item-text + .subpage-sections__item-image, .subpage-sections__item-narrow-container + .subpage-sections__item-image, .subpage-sections__item-multiple-fontsize-heading + .subpage-sections__item-image {
  margin-top: 7.2rem;
}
@media screen and (max-width: 767px) {
  .subpage-sections__item-text + .subpage-sections__item-image, .subpage-sections__item-narrow-container + .subpage-sections__item-image, .subpage-sections__item-multiple-fontsize-heading + .subpage-sections__item-image {
    margin-top: 9.6rem;
  }
}

.subpage-sections__item-narrow-container {
  --container-width: 100rem;
}
@media screen and (min-width: 768px) {
  .subpage-sections__item-narrow-container {
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
  }
}

.rounded-border-cards {
  --color: var(--color-navy);
}
@media screen and (min-width: 768px) {
  .rounded-border-cards {
    --column: 3;
    display: grid;
    grid-template-columns: repeat(var(--column), 1fr);
    gap: 4.8rem 3.2rem;
  }
}

.rounded-border-cards__item {
  background-color: white;
  padding-bottom: 3.8rem;
  border: 0.28rem solid var(--color);
  overflow: hidden;
  border-radius: 2.8rem;
}
@media screen and (min-width: 768px) {
  .rounded-border-cards__item {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .rounded-border-cards__item {
    border-width: 0.48rem;
    border-radius: 4rem;
    padding-bottom: 9rem;
  }
}
@media screen and (max-width: 767px) {
  .rounded-border-cards__item + .rounded-border-cards__item {
    margin-top: 7rem;
  }
}
.rounded-border-cards__item.rounded-border-cards__item--bg-color {
  background-color: var(--color);
  color: white;
}

.rounded-border-cards__item-body {
  padding-top: 3.2rem;
  padding-right: 2.6rem;
  padding-left: 2.6rem;
}
@media screen and (max-width: 767px) {
  .rounded-border-cards__item-body {
    padding-top: 6.4rem;
    padding-right: 9rem;
    padding-left: 9rem;
  }
}

.rounded-border-cards__item-underline-heading {
  font-size: 1.8rem;
  text-align: center;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .rounded-border-cards__item-underline-heading {
    font-size: 5.4rem;
  }
}
.rounded-border-cards__item-underline-heading::after {
  content: "";
  display: block;
  margin-right: auto;
  margin-left: auto;
  margin-top: 0.65em;
  width: 1.5em;
  height: 1px;
  background-color: currentColor;
}
@media screen and (max-width: 767px) {
  .rounded-border-cards__item-underline-heading::after {
    height: 0.4rem;
  }
}
.rounded-border-cards__item:not(.rounded-border-cards__item--bg-color) .rounded-border-cards__item-underline-heading {
  color: var(--color);
}

.rounded-border-cards__item-text {
  line-height: 2;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .rounded-border-cards__item-text {
    line-height: inherit;
    font-size: 4.2rem;
  }
}
.rounded-border-cards__item-underline-heading + .rounded-border-cards__item-text {
  margin-top: 1.5em;
}

.rounded-border-cards__item-footer {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .rounded-border-cards__item-footer {
    margin-top: auto;
    padding-top: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .rounded-border-cards__item-footer {
    margin-top: 9.6rem;
  }
}
.rounded-border-cards__item-footer .button.button--large {
  padding-top: 1.15em;
  padding-bottom: 1.15em;
}
@media screen and (min-width: 768px) {
  .rounded-border-cards__item-footer .button.button--large {
    width: 26rem;
  }
}
@media screen and (max-width: 767px) {
  .rounded-border-cards__item-footer .button.button--large {
    width: 60rem;
    padding-top: 1.05em;
    padding-bottom: 1.05em;
  }
}
.rounded-border-cards__item-footer .button.button--border-navy {
  border-width: 0.2rem;
}
@media screen and (max-width: 767px) {
  .rounded-border-cards__item-footer .button.button--border-navy {
    border-width: 0.46rem;
  }
}
.rounded-border-cards[style*="--column: 4"] .rounded-border-cards__item-footer {
  padding-top: 3.2rem;
  padding-right: 3.6rem;
  padding-left: 3.6rem;
}

.numbering-medias {
  margin-top: 8.8rem;
  --color: var(--color-dark-blue);
}
@media screen and (max-width: 767px) {
  .numbering-medias {
    margin-top: 24rem;
  }
}

@media screen and (min-width: 768px) {
  .numbering-medias__item {
    display: flex;
    gap: 7rem;
  }
}
@media screen and (min-width: 768px) {
  .numbering-medias__item:nth-of-type(odd) {
    flex-direction: row-reverse;
  }
}
.numbering-medias__item + .numbering-medias__item {
  position: relative;
  margin-top: 7.2rem;
  padding-top: 8rem;
}
@media screen and (max-width: 767px) {
  .numbering-medias__item + .numbering-medias__item {
    margin-top: 13.2rem;
    padding-top: 14.8rem;
  }
}
.numbering-medias__item + .numbering-medias__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 0.4rem;
  background-color: var(--color);
  opacity: 0.5;
}

@media screen and (min-width: 768px) {
  .numbering-medias__item-content {
    width: 45rem;
  }
}

.numbering-medias__item-number {
  width: fit-content;
  line-height: 1;
  font-size: 4.6rem;
  font-weight: 700;
  font-family: var(--font-serif);
  padding-bottom: 0.4em;
  border-bottom: 0.32rem solid currentColor;
  letter-spacing: 0.04em;
  color: var(--color);
}
@media screen and (max-width: 767px) {
  .numbering-medias__item-number {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
    border-width: 0.52rem;
    font-size: 9rem;
  }
}

.numbering-medias__item-heading {
  margin-top: 1.25em;
  line-height: 1.61;
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--color-navy);
}
@media screen and (max-width: 767px) {
  .numbering-medias__item-heading {
    font-size: 5rem;
    text-align: center;
  }
}

.numbering-medias__item-body {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .numbering-medias__item-body {
    margin-top: 10.4rem;
  }
}

.numbering-medias__item-list-item + .numbering-medias__item-list-item {
  margin-top: 1.5em;
}
@media screen and (max-width: 767px) {
  .numbering-medias__item-list-item + .numbering-medias__item-list-item {
    margin-top: 2em;
  }
}

.numbering-medias__item-list-item-heading {
  line-height: 1.5;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color);
}
@media screen and (max-width: 767px) {
  .numbering-medias__item-list-item-heading {
    font-size: 4.6rem;
  }
}

.numbering-medias__item-list-item-body {
  line-height: 2;
  margin-top: 0.35em;
  font-size: 1.7rem;
  letter-spacing: normal;
}
@media screen and (max-width: 767px) {
  .numbering-medias__item-list-item-body {
    margin-top: 0.5em;
    line-height: inherit;
    font-size: 3.8rem;
  }
}

.numbering-medias__item-image {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .numbering-medias__item-image {
    margin-top: 12rem;
  }
}
.numbering-medias__item-image img {
  display: block;
}
.numbering-medias__item-image img[src*=working-section-03-media-01-image] {
  width: 44rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .numbering-medias__item-image img[src*=working-section-03-media-01-image] {
    width: 92rem;
  }
}
.numbering-medias__item-image img[src*=working-section-03-media-02-image] {
  border-radius: 2.8rem;
}
@media screen and (max-width: 767px) {
  .numbering-medias__item-image img[src*=working-section-03-media-02-image] {
    border-radius: 4rem;
  }
}

.numbering-medias__item-text {
  line-height: 2;
  font-size: 1.7rem;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .numbering-medias__item-text {
    line-height: inherit;
    font-size: 4.2rem;
  }
}

.rounded-header-lists {
  --color: var(--color-navy);
  margin-top: 8.4rem;
}
@media screen and (min-width: 768px) {
  .rounded-header-lists {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6.8rem 4rem;
  }
}
@media screen and (max-width: 767px) {
  .rounded-header-lists {
    margin-top: 10.4rem;
  }
}

@media screen and (min-width: 768px) {
  .rounded-header-lists__item {
    border-left: 0.25rem solid var(--color);
    padding-bottom: 0.25em;
  }
}
@media screen and (max-width: 767px) {
  .rounded-header-lists__item + .rounded-header-lists__item {
    margin-top: 14.4rem;
  }
}

.rounded-header-lists__item-header {
  width: 26rem;
  padding-top: 0.45em;
  padding-right: 1em;
  padding-bottom: 0.45em;
  padding-left: 1.35em;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  background-color: var(--color);
  color: white;
}
@media screen and (min-width: 768px) {
  .rounded-header-lists__item-header {
    border-top-right-radius: 5em;
    border-bottom-right-radius: 5em;
  }
}
@media screen and (max-width: 767px) {
  .rounded-header-lists__item-header {
    border-radius: 5em;
    font-size: 4.4rem;
    width: 56rem;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
  }
}

.rounded-header-lists__body {
  margin-top: 3rem;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .rounded-header-lists__body {
    padding-left: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .rounded-header-lists__body {
    margin-top: 6rem;
    width: 90rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.rounded-header-lists__ul {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .rounded-header-lists__ul {
    font-size: 4.2rem;
    white-space: nowrap;
  }
}
.rounded-header-lists__ul li {
  padding-left: 1em;
  text-indent: -1em;
}
.rounded-header-lists__ul li + li {
  margin-top: 0.35em;
}
@media screen and (max-width: 767px) {
  .rounded-header-lists__ul li + li {
    margin-top: 0.45em;
  }
}

.rounded-header-lists__text {
  line-height: 2;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .rounded-header-lists__text {
    font-size: 4.2rem;
  }
}

.image-map-modal {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .image-map-modal {
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}
.image-map-modal > * {
  pointer-events: auto;
}

.image-map-modal__container {
  width: var(--container-width);
  border-radius: 2.8rem;
  padding-top: 6.4rem;
  padding-bottom: 5.6rem;
  background-color: white;
  filter: drop-shadow(0.6rem 0.6rem 1.4rem rgba(0, 0, 0, 0.3));
}
@media screen and (max-width: 767px) {
  .image-map-modal__container {
    padding-top: 10.4rem;
    padding-bottom: 10.4rem;
    border-radius: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .image-map-modal__container {
    filter: drop-shadow(1.2rem 1.2rem 2.4rem rgba(0, 0, 0, 0.3));
  }
}

.image-map-modal__heading {
  line-height: 1.5;
  text-align: center;
  color: var(--color-blue);
  font-size: 2.3rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .image-map-modal__heading {
    font-size: 5rem;
  }
}

.image-map-modal__body {
  margin-top: 0.75em;
  font-size: 2rem;
  font-weight: 500;
  padding-right: 14rem;
  padding-left: 14rem;
}
@media screen and (min-width: 768px) {
  .image-map-modal__body {
    margin-top: 1em;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .image-map-modal__body {
    margin-top: 1em;
    padding-right: 8rem;
    padding-left: 8rem;
    text-align: justify;
    font-size: 4.4rem;
  }
}

.image-map-modal__footer {
  margin-top: 1.75em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .image-map-modal__footer {
    margin-top: 2em;
  }
}
.image-map-modal__footer .small-button {
  padding-top: 0.75em;
  padding-right: 2.25em;
  padding-bottom: 0.75em;
  padding-left: 2.25em;
}

.rounded-heading-bordered-cards {
  --color: var(--color-navy);
  margin-top: 12.8rem;
}
@media screen and (min-width: 768px) {
  .rounded-heading-bordered-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: start;
    gap: 11rem 6.4rem;
  }
}
@media screen and (max-width: 767px) {
  .rounded-heading-bordered-cards {
    margin-top: 18rem;
  }
}

.rounded-heading-bordered-cards__item {
  border: 0.3rem solid var(--color);
  border-radius: 2.8rem;
  padding-right: 4rem;
  padding-bottom: 4.8rem;
  padding-left: 4rem;
  background-color: white;
}
@media screen and (max-width: 767px) {
  .rounded-heading-bordered-cards__item {
    padding-right: 7.8rem;
    padding-bottom: 8rem;
    padding-left: 7.8rem;
    border-width: 0.64rem;
    border-radius: 4rem;
  }
}
@media screen and (min-width: 768px) {
  .rounded-heading-bordered-cards__item.rounded-heading-bordered-cards__item--large {
    grid-column: 1/span 2;
  }
}
@media screen and (max-width: 767px) {
  .rounded-heading-bordered-cards__item + .rounded-heading-bordered-cards__item {
    margin-top: 14.8rem;
  }
}

.rounded-heading-bordered-cards__item-heading {
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 35.1rem;
  min-height: 6.21rem;
  margin-right: auto;
  margin-left: auto;
  padding-top: 0.75em;
  padding-right: 1.5em;
  padding-bottom: 0.75em;
  padding-left: 1.5em;
  border-radius: 5em;
  text-align: center;
  font-size: 2.24rem;
  line-height: 1.4;
  font-weight: 700;
  color: white;
  background-color: var(--color);
}
@media screen and (max-width: 767px) {
  .rounded-heading-bordered-cards__item-heading {
    min-width: 67.5rem;
    min-height: 11.7rem;
    font-size: 4.16rem;
  }
}

.rounded-heading-bordered-cards__body {
  margin-top: -0.25em;
}

.rounded-heading-bordered-cards__dt {
  line-height: 1.5;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-blue);
}
@media screen and (max-width: 767px) {
  .rounded-heading-bordered-cards__dt {
    font-size: 4.6rem;
  }
}
.rounded-heading-bordered-cards__dd + .rounded-heading-bordered-cards__dt {
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .rounded-heading-bordered-cards__dd + .rounded-heading-bordered-cards__dt {
    margin-top: 1.25em;
  }
}

.rounded-heading-bordered-cards__dd {
  margin-top: 0.5em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .rounded-heading-bordered-cards__dd {
    font-size: 4.2rem;
  }
}

@media screen and (min-width: 768px) {
  .rounded-heading-bordered-cards__media {
    display: flex;
    gap: 4rem;
  }
}
.rounded-heading-bordered-cards__media:first-of-type {
  margin-top: 0.5em;
}
.rounded-heading-bordered-cards__media + .rounded-heading-bordered-cards__media {
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .rounded-heading-bordered-cards__media + .rounded-heading-bordered-cards__media {
    margin-top: 9.6rem;
  }
}

@media screen and (min-width: 768px) {
  .rounded-heading-bordered-cards__media-image {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 24rem;
  }
}
.rounded-heading-bordered-cards__media-image img {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .rounded-heading-bordered-cards__media-image img {
    width: 95%;
  }
}
@media screen and (max-width: 767px) {
  .rounded-heading-bordered-cards__media-image img {
    width: 88%;
  }
}
.rounded-heading-bordered-cards__media-image img[src*=support-section-02-card-03-image] {
  width: 13.2rem;
}
@media screen and (max-width: 767px) {
  .rounded-heading-bordered-cards__media-image img[src*=support-section-02-card-03-image] {
    width: 26rem;
  }
}
.rounded-heading-bordered-cards__media-image img[src*=support-section-02-card-04-image] {
  width: 20rem;
}
@media screen and (max-width: 767px) {
  .rounded-heading-bordered-cards__media-image img[src*=support-section-02-card-04-image] {
    width: 50rem;
  }
}
@media screen and (min-width: 768px) {
  .rounded-heading-bordered-cards__media-image.rounded-heading-bordered-cards__media-image--align-start {
    align-items: start;
  }
}

.rounded-heading-bordered-cards__media-body {
  flex: 1;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .rounded-heading-bordered-cards__media-body {
    line-height: 2;
    font-size: 4.2rem;
  }
  .rounded-heading-bordered-cards__media-image + .rounded-heading-bordered-cards__media-body {
    margin-top: 2em;
  }
}
.rounded-heading-bordered-cards__media-body p + p {
  margin-top: 1.5em;
}
.rounded-heading-bordered-cards__media-body h5 {
  font-size: 1.15em;
  font-weight: 700;
}
.rounded-heading-bordered-cards__media-body h5 + p {
  margin-top: 0.75em;
}

@media screen and (max-width: 767px) {
  .rounded-heading-bordered-cards__text {
    line-height: 2;
    font-size: 4.2rem;
  }
}
@media screen and (max-width: 767px) {
  .rounded-heading-bordered-cards__body > .rounded-heading-bordered-cards__text {
    margin-top: -0.75em;
  }
}

.description-list {
  --container-width: 100rem;
  --pd-y: 2.8rem;
  display: grid;
  grid-template-columns: max-content 1fr;
}
@media screen and (min-width: 768px) {
  .description-list {
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .description-list {
    --pd-y: 8rem;
  }
}

.description-list__dt {
  line-height: 1.5;
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .description-list__dt {
    font-size: 4rem;
  }
}
.description-list__dt:not(:first-of-type) {
  padding-top: var(--pd-y);
}
.description-list__dt:not(:last-of-type) {
  padding-bottom: var(--pd-y);
  border-bottom: 1px solid #c8c8c8;
}

.description-list__dt-text {
  display: inline-block;
  transform: translateY(0.05em);
}

.description-list__dd {
  padding-left: 5rem;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .description-list__dd {
    font-size: 4rem;
  }
}
.description-list__dt:not(:first-of-type) + .description-list__dd {
  padding-top: var(--pd-y);
}
.description-list__dd:not(:last-of-type) {
  padding-bottom: var(--pd-y);
  border-bottom: 1px solid #c8c8c8;
}

.rounded-thumbnail-cards {
  --column: 2;
  --x-gap: 5.4rem;
  --y-gap: 7.2rem;
}
@media screen and (min-width: 768px) {
  .rounded-thumbnail-cards {
    display: grid;
    grid-template-columns: repeat(var(--column), 1fr);
    gap: var(--y-gap) var(--x-gap);
  }
}

@media screen and (min-width: 768px) {
  .rounded-thumbnail-cards__item {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .rounded-thumbnail-cards__item + .rounded-thumbnail-cards__item {
    margin-top: 14.8rem;
  }
}

.rounded-thumbnail-cards__item-thumbnail {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: 2.8rem;
}
@media screen and (max-width: 767px) {
  .rounded-thumbnail-cards__item-thumbnail {
    border-radius: 4rem;
  }
}
.rounded-thumbnail-cards__item-thumbnail[data-youtube-id] {
  aspect-ratio: 16/9;
}
.rounded-thumbnail-cards__item-thumbnail[data-youtube-id] iframe,
.rounded-thumbnail-cards__item-thumbnail[data-youtube-id] video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 1.2rem;
}
@media screen and (max-width: 767px) {
  .rounded-thumbnail-cards__item-thumbnail[data-youtube-id] iframe,
  .rounded-thumbnail-cards__item-thumbnail[data-youtube-id] video {
    border-radius: 2.4rem;
  }
}

.rounded-thumbnail-cards__item-heading {
  margin-top: 1.5em;
  text-align: center;
  line-height: 1.43;
  font-size: 2.1rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .rounded-thumbnail-cards__item-heading {
    margin-top: 1.3em;
    font-size: 5rem;
  }
}

.rounded-thumbnail-cards__item-body {
  margin-top: 1.5em;
  text-align: justify;
  line-height: 2;
  font-size: 1.7rem;
}
@media screen and (max-width: 767px) {
  .rounded-thumbnail-cards__item-body {
    line-height: 2;
    font-size: 4.2rem;
  }
}

.rounded-thumbnail-cards__item-footer {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .rounded-thumbnail-cards__item-footer {
    margin-top: auto;
    padding-top: 3.6rem;
  }
}
@media screen and (max-width: 767px) {
  .rounded-thumbnail-cards__item-footer {
    margin-top: 8rem;
  }
}
.rounded-thumbnail-cards__item-footer .button {
  width: 20.3rem;
  padding-top: 0.85em;
  padding-bottom: 0.85em;
}
@media screen and (max-width: 767px) {
  .rounded-thumbnail-cards__item-footer .button {
    min-width: 56rem;
    padding-top: 1.1em;
    padding-bottom: 1.1em;
    font-size: 3.6rem;
  }
}

.border-separate-sections__item + .border-separate-sections__item {
  margin-top: 2.1em;
  padding-top: 2.1em;
  border-top: 1px solid #c8c8c8;
}
@media screen and (max-width: 767px) {
  .border-separate-sections__item + .border-separate-sections__item {
    margin-top: 2.5em;
    padding-top: 2.5em;
  }
}

.border-separate-sections__item-heading {
  line-height: 1.5;
  font-weight: 700;
  font-size: 2.1rem;
}
@media screen and (max-width: 767px) {
  .border-separate-sections__item-heading {
    font-size: 4.8rem;
  }
}

.border-separate-sections__item-heading-mark {
  font-weight: normal;
  margin-right: 0.125em;
}

.border-separate-sections__item-body {
  margin-top: 1.5em;
  text-align: justify;
  line-height: 2;
  font-size: 1.7rem;
}
@media screen and (max-width: 767px) {
  .border-separate-sections__item-body {
    font-size: 4.26rem;
  }
}
.border-separate-sections__item-body a {
  color: var(--color-blue);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.button-wrapper {
  display: flex;
  gap: 3.8rem;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .button-wrapper {
    gap: 2.8rem;
    padding-top: 3.2rem;
    padding-bottom: 3.2rem;
  }
}
@media screen and (min-width: 768px) {
  .button-wrapper .button.button--large:only-of-type {
    min-width: 52rem;
    padding-top: 1.3em;
    padding-bottom: 1.3em;
    font-size: 2.1rem;
    line-height: 1.2;
  }
}
@media screen and (max-width: 767px) {
  .button-wrapper .button.button--large:only-of-type {
    font-size: 4.2rem;
    max-width: 96rem;
    line-height: 1.2;
  }
}
.button-wrapper .button.button--large:only-of-type small {
  font-size: 0.75em;
}
* + .button-wrapper {
  margin-top: 6.4rem;
}
@media screen and (max-width: 767px) {
  * + .button-wrapper {
    margin-top: 9.6rem;
  }
}
@media screen and (min-width: 768px) {
  .button-wrapper .button.button--large:not(:only-of-type) {
    min-width: 35.4rem;
    font-size: 1.8rem;
    padding-top: 1.3em;
    padding-bottom: 1.3em;
    line-height: 1.4;
  }
}
@media screen and (max-width: 767px) {
  .button-wrapper .button.button--large:not(:only-of-type) {
    max-width: 80rem;
    padding-top: 1.1em;
    padding-bottom: 1.1em;
    line-height: 1.5;
    font-size: 3.5rem;
    white-space: nowrap;
    letter-spacing: 0.025em;
  }
  .button-wrapper .button.button--large:not(:only-of-type) .button__icon {
    right: 0.9em;
  }
}

.card-type-table {
  --th-width: 14.5rem;
}
@media screen and (min-width: 768px) {
  .card-type-table {
    --pc-self-width: 100%;
    width: var(--pc-self-width);
    margin-right: auto;
    margin-left: auto;
    --pc-columns: 1;
    --x-gap: 2rem;
    display: grid;
    grid-template-columns: repeat(var(--pc-columns), auto);
    gap: 0 var(--x-gap);
  }
}
@media screen and (max-width: 767px) {
  .card-type-table {
    --th-width: 24rem;
  }
}

@media screen and (min-width: 768px) {
  .card-type-table__item:not(:only-of-type) {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span var(--pc-subgrid-rows);
  }
}
@media screen and (max-width: 767px) {
  .card-type-table__item + .card-type-table__item {
    margin-top: 8.8rem;
  }
}

.card-type-table__item-row {
  position: relative;
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
}
.card-type-table__item-row:not(:last-of-type)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateY(50%);
  width: 100%;
  height: 0.3rem; /* ラインの高さ */
  background: radial-gradient(circle, var(--color-navy) 40%, transparent 40%);
  background-size: 0.5rem 0.3rem; /* ドットの間隔 */
}
@media screen and (max-width: 767px) {
  .card-type-table__item-row:not(:last-of-type)::after {
    height: 0.6rem; /* ラインの高さ */
    background-size: 1rem 0.6rem; /* ドットの間隔 */
  }
}
@media screen and (min-width: 768px) {
  .card-type-table__item:nth-of-type(n + 2) .card-type-table__item-row::after {
    left: calc(var(--x-gap) * -1);
    width: calc(100% + var(--x-gap));
  }
}
@media screen and (min-width: 768px) {
  .card-type-table__item:nth-of-type(n + 2) .card-type-table__item-row {
    display: block;
  }
}

.card-type-table__item-th {
  font-size: 1.7rem;
  font-weight: 700;
  width: var(--th-width);
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .card-type-table__item-th {
    font-size: 3.4rem;
  }
}
@media screen and (min-width: 768px) {
  .card-type-table__item:nth-of-type(n + 2) .card-type-table__item-th {
    display: none;
  }
}

.card-type-table__item-td {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 1;
  height: 100%;
  text-align: center;
  padding-top: 1.6rem;
  padding-right: 2.4rem;
  padding-bottom: 1.6rem;
  padding-left: 2.4rem;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .card-type-table__item-td {
    padding-top: 3.2rem;
    padding-right: 4rem;
    padding-bottom: 3.2rem;
    padding-left: 4rem;
    font-size: 3.2rem;
  }
}
.card-type-table__item-td::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: var(--color-blue);
  opacity: 0.1;
}
@media screen and (min-width: 768px) {
  .card-type-table__item:not(:only-of-type) .card-type-table__item-td {
    width: calc((var(--pc-self-width) - (var(--pc-columns) - 1) * var(--x-gap) - var(--th-width)) / var(--pc-columns));
  }
}
.card-type-table__item:only-of-type .card-type-table__item-td {
  padding-right: 4rem;
  padding-left: 4rem;
}
.card-type-table__item-row:last-of-type .card-type-table__item-td {
  padding-bottom: 2.8rem;
}
@media screen and (max-width: 767px) {
  .card-type-table__item-row:last-of-type .card-type-table__item-td {
    padding-bottom: 4rem;
  }
}
.card-type-table__item-row:last-of-type .card-type-table__item-td::after {
  border-bottom-right-radius: 2.8rem;
  border-bottom-left-radius: 2.8rem;
}
@media screen and (max-width: 767px) {
  .card-type-table__item-row:last-of-type .card-type-table__item-td::after {
    border-bottom-right-radius: 4rem;
    border-bottom-left-radius: 4rem;
  }
}
.card-type-table__item-row:first-of-type .card-type-table__item-td {
  position: relative;
  z-index: 1;
  height: 100%;
  padding-top: 3rem;
  padding-bottom: 2.4rem;
  color: white;
}
@media screen and (max-width: 767px) {
  .card-type-table__item-row:first-of-type .card-type-table__item-td {
    padding-top: 4.8rem;
    padding-bottom: 4rem;
  }
}
.card-type-table__item-row:first-of-type .card-type-table__item-td::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: var(--color-blue);
  border-top-right-radius: 2.8rem;
  border-top-left-radius: 2.8rem;
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .card-type-table__item-row:first-of-type .card-type-table__item-td::after {
    border-top-right-radius: 4rem;
    border-top-left-radius: 4rem;
  }
}
.card-type-table__item-td ul {
  text-align: left;
}
.card-type-table__item-td ul li {
  padding-left: 1em;
  text-indent: -1em;
}
.card-type-table__item-td ul li + li {
  margin-top: 0.25em;
}

.card-type-table__item-heading {
  line-height: 1.4;
  font-size: 2rem;
  text-align: center;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .card-type-table__item-heading {
    font-size: 4.2rem;
  }
}

.card-type-table__item-status {
  width: fit-content;
  margin-top: 0.75em;
  margin-right: auto;
  margin-left: auto;
  padding-top: 0.5em;
  padding-right: 1.25em;
  padding-bottom: 0.5em;
  padding-left: 1.25em;
  border: 1px solid currentColor;
  text-align: center;
  line-height: 1;
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .card-type-table__item-status {
    padding-top: 0.6em;
    padding-right: 1.25em;
    padding-bottom: 0.6em;
    padding-left: 1.25em;
    margin-top: 1em;
    font-size: 3rem;
  }
}

.colored-header-table__item {
  position: relative;
  z-index: 1;
  border-radius: 2.8rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .colored-header-table__item {
    display: flex;
    align-items: stretch;
  }
}
@media screen and (max-width: 767px) {
  .colored-header-table__item {
    border-radius: 4rem;
  }
}
.colored-header-table__item + .colored-header-table__item {
  margin-top: 3.6rem;
}

.colored-header-table__item-th {
  display: flex;
  align-items: center;
  position: relative;
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 700;
  color: white;
}
@media screen and (min-width: 768px) {
  .colored-header-table__item-th {
    min-width: 28.6rem;
    padding: 4rem;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 767px) {
  .colored-header-table__item-th {
    font-size: 4rem;
    justify-content: center;
    text-align: center;
    min-height: 14rem;
    padding-top: 0.5em;
    padding-right: 2em;
    padding-bottom: 0.5em;
    padding-left: 2em;
  }
}
.colored-header-table__item-th::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: var(--color-blue);
  opacity: 0.8;
}
.colored-header-table__item-th:only-of-type {
  width: 100%;
  text-align: center;
  justify-content: center;
}

.colored-header-table__item-td {
  flex: 1;
  position: relative;
  padding: 4rem;
}
@media screen and (max-width: 767px) {
  .colored-header-table__item-td {
    font-size: 3.2rem;
    padding: 5.4rem;
  }
}
.colored-header-table__item-td::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: var(--color-blue);
  opacity: 0.1;
}

@media screen and (min-width: 768px) {
  .colored-header-table__item-td-columns {
    display: flex;
    align-items: center;
  }
}

@media screen and (min-width: 768px) {
  .colored-header-table__item-td-columns-item:first-of-type {
    flex-shrink: 0;
    padding-right: 4rem;
    width: 26rem;
  }
}
@media screen and (min-width: 768px) {
  .colored-header-table__item-td-columns-item:nth-of-type(n + 2) {
    padding-left: 4rem;
  }
}
.colored-header-table__item-td-columns-item + .colored-header-table__item-td-columns-item {
  position: relative;
}
.colored-header-table__item-td-columns-item + .colored-header-table__item-td-columns-item::after {
  content: "";
  position: absolute;
  background-color: currentColor;
}
@media screen and (min-width: 768px) {
  .colored-header-table__item-td-columns-item + .colored-header-table__item-td-columns-item::after {
    top: 50%;
    left: 0;
    transform: translateY(-50%) translateX(-50%);
    width: 1px;
    height: calc(100% + 4rem);
  }
}
@media screen and (max-width: 767px) {
  .colored-header-table__item-td-columns-item + .colored-header-table__item-td-columns-item::after {
    top: 0;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 72rem;
    height: 1px;
  }
}
@media screen and (max-width: 767px) {
  .colored-header-table__item-td-columns-item + .colored-header-table__item-td-columns-item {
    margin-top: 4rem;
    padding-top: 4rem;
  }
}

@media screen and (max-width: 767px) {
  .colored-header-table__item-status {
    font-size: 3.8rem;
    text-align: center;
  }
}

.colored-header-table__item-td-columns-item strong {
  display: block;
  font-size: 1.25em;
  font-weight: 700;
}
.colored-header-table__item-td-columns-item ul li + li {
  margin-top: 0.25em;
}

.border-bg-box-block {
  position: relative;
  padding-top: 8rem;
  padding-right: 10rem;
  padding-bottom: 6.4rem;
  padding-left: 10rem;
}
@media screen and (max-width: 767px) {
  .border-bg-box-block {
    padding-top: 12rem;
    padding-right: 10rem;
    padding-bottom: 9.6rem;
    padding-left: 10rem;
  }
}
.border-bg-box-block::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  border-radius: 2.8rem;
  background-color: var(--color-navy);
  opacity: 0.05;
}
@media screen and (max-width: 767px) {
  .border-bg-box-block::before {
    border-radius: 4rem;
  }
}
.border-bg-box-block::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  border-radius: 2.8rem;
  border: 0.3rem solid var(--color-navy);
}
@media screen and (max-width: 767px) {
  .border-bg-box-block::after {
    border-radius: 4rem;
  }
}
@media screen and (min-width: 768px) {
  .border-bg-box-block {
    --container-width: 100rem;
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
  }
}
.business-sections__item-text + .border-bg-box-block {
  margin-top: 8.8rem;
}
@media screen and (max-width: 767px) {
  .business-sections__item-text + .border-bg-box-block {
    margin-top: 12rem;
  }
}

.border-bg-box-block__header {
  text-align: center;
}

.border-bg-box-block__header-image img[src*=logo-mitsui-no-repark] {
  display: block;
  width: 30rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .border-bg-box-block__header-image img[src*=logo-mitsui-no-repark] {
    width: 60rem;
  }
}

.border-bg-box-block__header-text {
  margin-top: 2.25em;
}
@media screen and (max-width: 767px) {
  .border-bg-box-block__header-text {
    font-size: 4.4rem;
  }
}

.border-bg-box-block__body {
  margin-top: 7.2rem;
}
@media screen and (max-width: 767px) {
  .border-bg-box-block__body {
    margin-top: 9.6rem;
  }
}
.border-bg-box-block__body .business-cards__item-body {
  margin-top: 2.8rem;
}
@media screen and (max-width: 767px) {
  .border-bg-box-block__body .business-cards__item-body {
    margin-top: 4rem;
  }
}
.border-bg-box-block__body .business-cards__item-heading + .business-cards__item-description {
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .border-bg-box-block__body .business-cards__item-heading + .business-cards__item-description {
    margin-top: 3.2rem;
  }
}

/*
src/script/modal.jsのバリエーションスタイルを設定する必要があれば必須。
開発時に有効にすることで、modal.jsがトリガーされた状態になるスタイルなど
*/
[data-modal-content] {
  display: none;
}
.modal [data-modal-content] {
  display: block;
}
.modal[class*=-clickable-area-] [data-modal-content] {
  display: flex;
}
.modal.modal--top-video [data-modal-content] {
  display: flex;
}

[data-concept-message-modal-content] {
  display: none;
}
.modal [data-concept-message-modal-content] {
  display: block;
}

.modal {
  z-index: 99;
}
.modal.modal--concept-message {
  z-index: 9999;
  height: 101vh !important;
}
.modal[class*=-clickable-area-] {
  z-index: 9999;
}
.modal[class*=realvoice] {
  z-index: 9999;
}
.modal.modal--top-video {
  z-index: 9999;
}

.modal__inner {
  overscroll-behavior: contain;
}
.modal.modal--concept-message .modal__inner {
  background-color: white;
}
.modal[class*=-clickable-area-] .modal__inner {
  background-color: rgba(255, 255, 255, 0.9);
}
.modal[class*=realvoice] .modal__inner {
  background-color: rgba(255, 255, 255, 0.9);
}
.modal.modal--top-video .modal__inner {
  background-color: rgba(7, 34, 95, 0.85);
}

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

.modal__inner {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  paddingright: 15px;
}

#hamburger-include-site-menu {
  display: contents;
}

.modal-menu {
  position: relative;
}
@media screen and (min-width: 768px) {
  .modal-menu {
    height: 100%;
  }
}

@media screen and (min-width: 768px) {
  .modal-menu__inner {
    display: flex;
    align-items: center;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .modal-menu__inner {
    padding-top: var(--header-height);
    padding-bottom: var(--header-height);
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}

.modal-menu__content {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  color: white;
}

.modal-menu__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.modal-menu__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .modal-menu__header {
    display: flex;
    align-items: center;
    gap: 4.8rem;
  }
}

@media screen and (min-width: 768px) {
  .modal-menu__header__title {
    display: flex;
    align-items: center;
    gap: 4.6rem;
  }
}

.modal-menu__header__title-large {
  display: block;
  width: 40rem;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .modal-menu__header__title-large {
    width: 72rem;
  }
}

.modal-menu__header__title-small {
  display: block;
  font-family: var(--font-serif);
  font-weight: 900;
  font-size: 1.4rem;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
  .modal-menu__header__title-small {
    margin-top: 1.75em;
    font-size: 2.5rem;
  }
}

.modal-menu__header__sns {
  grid-template-columns: 1;
  display: flex;
  align-items: center;
  gap: 2.6rem;
}
@media screen and (max-width: 767px) {
  .modal-menu__header__sns {
    gap: 4rem;
    margin-top: 7.2rem;
  }
}

.modal-menu__header__sns-item {
  width: 3.2rem;
}
@media screen and (max-width: 767px) {
  .modal-menu__header__sns-item {
    --sp-ratio: 2;
    width: 3.2rem;
  }
}
.modal-menu__header__sns-item:has(img[src*=instagram]) {
  width: 3.2rem;
}
@media screen and (max-width: 767px) {
  .modal-menu__header__sns-item:has(img[src*=instagram]) {
    width: calc(3.2rem * var(--sp-ratio));
  }
}
.modal-menu__header__sns-item:has(img[src*=youtube]) {
  width: 3.6rem;
}
@media screen and (max-width: 767px) {
  .modal-menu__header__sns-item:has(img[src*=youtube]) {
    width: calc(3.6rem * var(--sp-ratio));
  }
}
.modal-menu__header__sns-item:has(img[src*=facebook]) {
  width: 3.3rem;
}
@media screen and (max-width: 767px) {
  .modal-menu__header__sns-item:has(img[src*=facebook]) {
    width: calc(3.3rem * var(--sp-ratio));
  }
}
.modal-menu__header__sns-item a {
  display: block;
}
.modal-menu__header__sns-item a img {
  display: block;
}

.modal-menu__body {
  margin-top: 7.8rem;
}
@media screen and (max-width: 767px) {
  .modal-menu__body {
    margin-top: 9.6rem;
  }
}

/*
サンプル用なので、適宜使用・削除
*/
/* .header
   ========================================================================== */
#include-header {
  display: contents;
}

.header {
  position: sticky;
  justify-content: space-between;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  height: var(--header-height);
  background-color: white;
  z-index: 9999;
  transition: background-color 0.25s ease-out;
}
html.modal-active.modal--menu .header {
  background-color: transparent;
  pointer-events: none;
}

.header__inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-right: 9.8rem;
  padding-left: 9.8rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .header__inner {
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}

.header__logo {
  width: 26.9rem;
  margin-right: auto;
  transition: opacity 0.25s ease-out, visibility 0.25s ease-out;
}
@media screen and (max-width: 767px) {
  .header__logo {
    transform: translateY(2%);
    width: 56rem;
  }
}
html.modal-active.modal--menu .header__logo {
  opacity: 0;
  visibility: hidden;
}
.header__logo a {
  display: block;
}

.header__pc-menu-list {
  --gap: 2.8rem;
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: var(--gap);
  transition: opacity 0.25s ease-out, visibility 0.25s ease-out;
}
@media screen and (max-width: 767px) {
  .header__pc-menu-list {
    display: none;
  }
}
.header__pc-menu-list > li.header__pc-menu-item-has-dropdown-menu {
  position: relative;
  /*
  	ホバー時のエリア拡張用
  */
  /*
  	ホバー時のエリア拡張用
  */
}
.header__pc-menu-list > li.header__pc-menu-item-has-dropdown-menu::before {
  content: "";
  position: absolute;
  width: calc(800% + var(--gap) * 2);
  height: calc(var(--header-height) / 2 - 50%);
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(100%);
  pointer-events: none;
}
.header__pc-menu-list > li.header__pc-menu-item-has-dropdown-menu::after {
  content: "";
  position: absolute;
  width: calc(100% + var(--gap) * 2);
  height: calc(50% + var(--header-height) / 2);
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}
.header__pc-menu-list > li.header__pc-menu-item-has-dropdown-menu .header__pc-menu-item-link-wrapper {
  /*
  	ドロップダウンメニューのトリガーは
  	疑似要素のbefore,afterは範囲拡張に使用したので、
  	装飾は、aタグに設けた。あくまで装飾のため、pointer-events: none。
  */
  position: relative;
  z-index: 1;
}
.header__pc-menu-list > li.header__pc-menu-item-has-dropdown-menu .header__pc-menu-item-link-wrapper::after {
  content: "";
  position: absolute;
  width: calc(100% + 0.5em);
  height: calc(var(--header-height) / 2 - 50%);
  bottom: 0;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%) translateY(calc(100% + 0.5px));
  clip-path: inset(calc(50% - 0.125em) 0 0 0);
  background-color: var(--color-blue);
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.175s ease-out, visibility 0.175s ease-out;
}
.header__pc-menu-list > li.header__pc-menu-item-has-dropdown-menu:hover::after, .header__pc-menu-list > li.header__pc-menu-item-has-dropdown-menu:hover::before {
  pointer-events: auto;
}
.header__pc-menu-list > li.header__pc-menu-item-has-dropdown-menu:hover .header__pc-menu-item-link-wrapper::after {
  opacity: 1;
  visibility: visible;
}
html.modal-active.modal--menu .header__pc-menu-list {
  opacity: 0;
  visibility: hidden;
}

.header__pc-menu-item-link-text {
  display: block;
  font-family: var(--font-serif);
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  pointer-events: auto;
  transition: color 0.25s ease-out;
}
.header__pc-menu-item-link-text:hover {
  color: var(--color-blue);
}

.header-menu__button {
  position: relative;
  width: 6.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  margin-left: 3.6rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  transition: border-color 0.25s ease-out;
}
@media screen and (max-width: 767px) {
  .header-menu__button {
    width: 13.8rem;
  }
}
.header-menu__button:after {
  content: "";
  position: absolute;
  display: block;
  inset: -1em;
}
.header-menu__button.modal-active {
  pointer-events: auto;
  border-color: white;
}

.header-menu__button-icon {
  position: relative;
  width: 3rem;
  height: 1.15rem;
}
@media screen and (max-width: 767px) {
  .header-menu__button-icon {
    width: 6.6rem;
    height: 2.8rem;
  }
}
.header-menu__button-icon span {
  display: inline-block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: black;
  transition: background-color 0.25s ease-out;
}
@media screen and (max-width: 1113px) {
  .header-menu__button-icon span {
    height: 0.2rem;
  }
}
@media screen and (max-width: 767px) {
  .header-menu__button-icon span {
    height: 0.5rem;
  }
}
button.modal-active .header-menu__button-icon span {
  background-color: white;
}
.header-menu__button-icon span:nth-of-type(1) {
  top: 0;
  transition: top 0.25s ease-out, transform 0.25s ease-out;
}
button.modal-active .header-menu__button-icon span:nth-of-type(1) {
  top: 50%;
  transform: rotate(45deg);
  transition: top 0.25s ease-out, transform 0.25s ease-out;
}
.header-menu__button-icon span:nth-of-type(2) {
  top: 100%;
  transition: top 0.25s ease-out, transform 0.25s ease-out;
  transform: translateY(-100%);
}
button.modal-active .header-menu__button-icon span:nth-of-type(2) {
  top: 50%;
  transform: translateY(0) rotate(-45deg);
  transition: top 0.25s ease-out, transform 0.25s ease-out;
}

#footer-include-site-menu {
  display: contents;
}

.footer__main {
  padding-top: 10rem;
  padding-bottom: 8rem;
  background: linear-gradient(rgba(96, 96, 96, 0.1), rgba(96, 96, 96, 0.1)), white;
}
@media screen and (max-width: 767px) {
  .footer__main {
    display: none;
  }
}

.footer__main-container {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
}

.footer__full-width-block {
  position: relative;
}
.footer__full-width-block .square-button {
  width: 100%;
  font-size: 2.2rem;
  padding-top: 1.75em;
  padding-bottom: 1.75em;
}

.footer__bottom {
  background-color: white;
}
@media screen and (max-width: 767px) {
  .footer__bottom {
    background-color: var(--color-navy);
    color: white;
  }
}

.footer__bottom-up-container {
  padding-top: 2.8rem;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid #c8c8c8;
}
@media screen and (max-width: 767px) {
  .footer__bottom-up-container {
    padding-top: 8.8rem;
    padding-bottom: 4rem;
  }
}

.footer__bottom-bottom-container {
  padding-top: 2.2rem;
  padding-bottom: 2.2rem;
}
@media screen and (max-width: 767px) {
  .footer__bottom-bottom-container {
    padding-top: 5.6rem;
    padding-bottom: 5.6rem;
  }
}

.footer__sp-entry-and-sns {
  display: grid;
  grid-template-columns: 781fr 247fr;
  gap: 5.4rem;
  padding-left: var(--page-gutter);
  padding-right: var(--page-gutter);
  padding-top: 6.4rem;
  padding-bottom: 6.4rem;
  background-color: var(--color-dark-blue);
}
@media screen and (min-width: 768px) {
  .footer__sp-entry-and-sns {
    display: none;
  }
}
.footer__sp-entry-and-sns .button {
  font-size: 2.5rem;
  padding-top: 1.25em;
  padding-right: 0;
  padding-bottom: 1.25em;
  padding-left: 0;
  white-space: nowrap;
}
.footer__sp-entry-and-sns .button__icon {
  right: 1em;
}

.footer-small-links {
  display: flex;
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  align-items: center;
  gap: 3.2rem;
  font-size: 1.3rem;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .footer-small-links {
    justify-content: center;
    font-size: 3rem;
    gap: 2em;
  }
}

.footer-copy {
  font-size: 1.1rem;
  text-align: center;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
  .footer-copy {
    font-size: 2.8rem;
  }
}

.sp-footer-sns {
  display: flex;
  align-items: center;
  gap: 4rem;
}

.sp-footer-sns__item {
  flex: 1;
}
.sp-footer-sns__item a {
  display: flex;
  height: 100%;
  align-items: center;
  line-height: 0;
}
.sp-footer-sns__item:has(img[src*=instagram]) {
  flex: 55;
}
.sp-footer-sns__item:has(img[src*=youtube]) {
  flex: 62;
}
.sp-footer-sns__item:has(img[src*=facebook]) {
  flex: 57;
}

/* 
top
*/
.top-main {
  position: relative;
}

.top-main__bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: #020884;
  width: 100%;
  height: 100vh;
}
.top-main__bg img,
.top-main__bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* .top-hero
   ========================================================================== */
.top-hero {
  position: relative;
  padding-top: 4.6rem;
}
@media screen and (min-width: 768px) {
  .top-hero {
    width: 153.7rem;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 6.4rem;
  }
}
@media screen and (max-width: 767px) {
  .top-hero {
    padding-top: 9.6rem;
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}

.top-hero__grid {
  display: grid;
}
@media screen and (min-width: 768px) {
  .top-hero__grid {
    grid-template-columns: 440fr 1054fr;
    grid-template-rows: auto auto;
    gap: 2.8rem 4.2rem;
  }
}
@media screen and (max-width: 767px) {
  .top-hero__grid {
    grid-template-columns: 1fr 1fr;
    gap: 4.8rem var(--top-grid-center-gutter);
  }
}

.top-hero__main {
  position: relative;
  z-index: 1;
  border-top-left-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .top-hero__main {
    grid-column: 2;
    grid-row: 1/span 2;
  }
}
@media screen and (max-width: 767px) {
  .top-hero__main {
    aspect-ratio: 1079/708;
    grid-column: 1/span 2;
  }
}

.top-hero__to-movie {
  position: absolute;
  bottom: 2.1rem;
  right: 2.3rem;
  z-index: 1;
  width: 15.3rem;
  aspect-ratio: 1;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .top-hero__to-movie {
    width: 22.95rem;
  }
}
.top-hero__to-movie a {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
}

.top-hero__to-movie-bg {
  display: block;
  animation: rotateAnimation 16s linear infinite;
}

@keyframes rotateAnimation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.top-hero__to-movie-icon {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: 3.7rem;
  transform: translateX(-40%) translateY(-50%);
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .top-hero__to-movie-icon {
    width: 5.6rem;
  }
}

.top-hero__main-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.top-hero__main-texts {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-47%);
  width: 42.5rem;
}
@media screen and (max-width: 767px) {
  .top-hero__main-texts {
    transform: translateX(-50%) translateY(-50%);
    width: 51rem;
  }
}

.top-hero__main-title-large {
  display: block;
  width: 20.6rem;
  margin-right: auto;
  margin-left: auto;
  line-height: 0;
  filter: drop-shadow(1px 0 0.7rem rgba(0, 0, 0, 0.3));
}
@media screen and (max-width: 767px) {
  .top-hero__main-title-large {
    width: 28.84rem;
  }
}

.top-hero__main-title-small {
  display: block;
  margin-top: 4.3rem;
  line-height: 0;
  filter: drop-shadow(1px 0 0.7rem rgba(0, 0, 0, 0.3));
}
@media screen and (max-width: 767px) {
  .top-hero__main-title-small {
    margin-top: 5.16rem;
  }
}

.top-hero__main-bg-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.top-hero__main-bg-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-hero__main-bg-video {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  background-color: white;
}
.top-hero__main-bg-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-hero__sub {
  position: relative;
  z-index: 1;
  border-top-left-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .top-hero__sub {
    grid-column: 1;
  }
}
@media screen and (min-width: 768px) {
  .top-hero__sub:nth-of-type(1) {
    grid-row: 1;
  }
}
@media screen and (min-width: 768px) {
  .top-hero__sub:nth-of-type(2) {
    grid-row: 2;
  }
}
.top-hero__sub > a {
  display: block;
  opacity: 1;
}

.top-hero__sub-content {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%) translateY(-38%);
  color: white;
}
@media screen and (max-width: 767px) {
  .top-hero__sub-content {
    transform: translateX(-50%) translateY(-38%);
  }
}

.top-hero__sub-title {
  text-align: center;
  font-family: var(--font-serif);
  transition: transform 0.2s ease-out;
}
a:hover .top-hero__sub-title, button:hover .top-hero__sub-title {
  transform: scale(1.06);
}

.top-hero__sub-title-small {
  display: block;
  line-height: 1;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .top-hero__sub-title-small {
    font-size: 3rem;
  }
}

.top-hero__sub-title-large {
  display: block;
  margin-top: 0.175em;
  letter-spacing: 0.1em;
  font-size: 3.2rem;
  font-weight: 500;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .top-hero__sub-title-large {
    margin-top: 0.25em;
    font-size: 4.8rem;
  }
}

.top-hero__sub-guide {
  margin-top: 1rem;
  transition: transform 0.25s 0.125s ease-out;
}
@media screen and (max-width: 767px) {
  .top-hero__sub-guide {
    margin-top: 2rem;
  }
}
a:hover .top-hero__sub-guide, button:hover .top-hero__sub-guide {
  transition: transform 0.125s 0.125s ease-out;
  transform: translateY(10%) scale(1.05);
}

.top-hero__guide-arrow {
  display: block;
  position: relative;
  aspect-ratio: 1;
  height: 2.4rem;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-hero__guide-arrow {
    height: 5rem;
  }
}
.top-hero__guide-arrow span {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 1px;
  height: 90%;
  background-color: white;
  transition: transform 0.35s ease-out;
}
.top-hero__guide-arrow span:first-of-type {
  transform: translateX(-50%);
}
a:hover .top-hero__guide-arrow span:first-of-type {
  transform: translateX(-50%) translateY(275%);
}
.top-hero__guide-arrow span:last-of-type {
  transform: translateX(-50%) translateY(-275%);
}
a:hover .top-hero__guide-arrow span:last-of-type {
  transform: translateX(-50%) translateY(0%);
}
.top-hero__guide-arrow span::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 1;
  background-color: white;
  transform: translateX(-50%);
  display: block;
  width: 0.575rem;
  height: 0.525rem;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
@media screen and (max-width: 767px) {
  .top-hero__guide-arrow span::after {
    width: 1.61rem;
    height: 1.47rem;
  }
}

.top-hero__guide-text {
  display: block;
  margin-top: 0.65em;
  text-align: center;
  font-size: 1.1rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: var(--font-serif);
}
@media screen and (max-width: 767px) {
  .top-hero__guide-text {
    font-size: 2.8rem;
  }
}

.top-hero__scroll {
  z-index: 1;
  margin-top: 6.4rem;
  text-align: center;
  font-family: var(--font-serif);
  font-size: 1.4rem;
  font-weight: 700;
  color: white;
  letter-spacing: 0.04em;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .top-hero__scroll {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) translateY(calc(100% + 6.4rem));
  }
}
@media screen and (max-width: 767px) {
  .top-hero__scroll {
    margin-top: 8rem;
    font-size: 3rem;
  }
}

.top-hero__scroll-arrow {
  position: relative;
  display: block;
  margin-top: 2rem;
  height: 4.8rem;
  width: 1px;
  margin-right: auto;
  margin-left: auto;
  background-color: white;
}
@media screen and (max-width: 767px) {
  .top-hero__scroll-arrow {
    margin-top: 3.8rem;
    height: 7rem;
  }
}
.top-hero__scroll-arrow::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 1;
  background-color: currentColor;
  transform: translateX(-50%) translateY(50%);
  display: block;
  width: 0.8625rem;
  height: 0.7875rem;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
@media screen and (max-width: 767px) {
  .top-hero__scroll-arrow::after {
    width: 1.61rem;
    height: 1.47rem;
  }
}

.top-section-heading {
  text-align: center;
}

.top-section-heading__large {
  display: block;
  line-height: 1.4;
  font-family: var(--font-Barlow);
  font-weight: 600;
  font-size: 4.8rem;
  letter-spacing: 0.03em;
  color: var(--color-cyan);
}
@media screen and (max-width: 767px) {
  .top-section-heading__large {
    font-size: 7.8rem;
  }
}

.top-section-heading__small {
  margin-top: 0.125em;
  display: block;
  line-height: 1.4;
  font-weight: 600;
  font-size: 1.7rem;
  letter-spacing: 0.05em;
  font-family: var(--font-sans);
  color: white;
}
@media screen and (max-width: 767px) {
  .top-section-heading__small {
    font-size: 3rem;
    margin-top: 0.65em;
  }
}

.top-section-grid-2 {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .top-section-grid-2 {
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}
@media screen and (max-width: 767px) {
  .top-section-grid-2.top-section-grid-2--section-1 {
    margin-top: 18rem;
  }
}
.top-section-grid-2.top-section-grid-2--section-2 {
  margin-top: 18.2rem;
}
.top-section-grid-2.top-section-grid-2--align-start {
  align-items: start;
}

.top-section-grid-2__items {
  display: grid;
  gap: 6.8rem;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .top-section-grid-2__items {
    gap: var(--top-grid-center-gutter);
  }
}
.top-section-heading + .top-section-grid-2__items {
  margin-top: 6.4rem;
}
.top-section-grid-2__items.top-section-grid-2__items--align-start {
  align-items: start;
}

.top-section-grid-2__item.top-section-grid-2__item--has-grid-2 {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: 1fr 1fr;
}

.top-section-list {
  position: relative;
  color: white;
}
@media screen and (min-width: 768px) {
  .top-section-list {
    margin-top: -1.4rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }
}
@media screen and (min-width: 768px) {
  .top-section-list .top-section-heading {
    text-align: left;
  }
}

.top-section-list__body {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .top-section-list__body {
    grid-column: 1/span 2;
  }
}
@media screen and (max-width: 767px) {
  .top-section-list__body {
    margin-top: 9.6rem;
  }
}

@media screen and (max-width: 767px) {
  .top-section-list__items.top-section-list__items--sp-text-center {
    text-align: center;
  }
}
.top-section-list__items li {
  border-top: 1px solid currentColor;
  padding-top: 1.6rem;
  padding-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .top-section-list__items li {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.top-section-list__items li:last-of-type {
  border-bottom: 1px solid currentColor;
}
.top-section-list__items li a {
  display: inline-block;
}

.top-section-list__item-news-time {
  font-size: 1.3rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .top-section-list__item-news-time {
    font-size: 3.2rem;
  }
}

.top-section-list__item-news-title {
  margin-top: 0.125em;
  line-height: 1.5;
  font-size: 1.7rem;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
  .top-section-list__item-news-title {
    margin-top: 0.35em;
    font-size: 4rem;
  }
}

.top-section-list__item-title {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
  font-family: var(--font-serif);
  font-weight: 500;
}

.top-section-list__item-title-large {
  line-height: 1.5;
  font-size: 2.2rem;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .top-section-list__item-title-large {
    font-size: 5rem;
  }
}

.top-section-list__item-title-small {
  line-height: 1.5;
  font-size: 1.2rem;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .top-section-list__item-title-small {
    margin-top: 0.6rem;
    font-size: 3rem;
  }
}

@media screen and (min-width: 768px) {
  .top-section-list__footer {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: end;
  }
}
@media screen and (max-width: 767px) {
  .top-section-list__footer {
    text-align: center;
  }
}
.top-section-list__footer .small-button {
  background-color: rgba(255, 255, 255, 0.9);
  transition: background-color 0.25s ease-out;
}
.top-section-list__footer .small-button:hover {
  opacity: 1;
  background-color: white;
}
@media screen and (min-width: 768px) {
  .top-section-list__footer .small-button {
    width: 15.8rem;
  }
}
@media screen and (max-width: 767px) {
  .top-section-list__footer .small-button {
    margin-top: 8.8rem;
  }
}

.top-section-slider {
  margin-top: 19.4rem;
}
@media screen and (max-width: 767px) {
  .top-section-slider {
    --sp-controller-size: 18rem;
    margin-top: 22rem;
  }
}

@media screen and (min-width: 768px) {
  .top-section-slider__container {
    margin-top: 4.8rem;
    width: 96rem;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .top-section-slider__container {
    margin-top: 7.2rem;
  }
}

@media screen and (min-width: 768px) {
  .top-section-slider__items-and-controller {
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .top-section-slider__items-and-controller {
    display: contents;
  }
}

@media screen and (min-width: 768px) {
  .top-section-slider__controller {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }
}
@media screen and (max-width: 767px) {
  .top-section-slider__controller {
    display: flex;
    justify-content: space-between;
    margin-top: 5.8rem;
    padding-left: 10.6rem;
    padding-right: 10.6rem;
  }
}

.top-section-slider__controller-prev,
.top-section-slider__controller-next {
  display: block;
  width: 12.6rem;
  aspect-ratio: 1;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  border: 1.2px solid var(--color-dark-blue);
}
@media screen and (min-width: 768px) {
  .top-section-slider__controller-prev,
  .top-section-slider__controller-next {
    position: absolute;
    top: 50%;
    z-index: 1;
    pointer-events: auto;
    transition: background-color 0.25s ease-out;
  }
  .top-section-slider__controller-prev:hover,
  .top-section-slider__controller-next:hover {
    background-color: rgb(255, 255, 255);
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .top-section-slider__controller-prev,
  .top-section-slider__controller-next {
    width: var(--sp-controller-size);
    position: relative;
    transition: opacity 0.35s ease-out;
  }
  .top-section-slider__controller-prev.swiper-button-disabled,
  .top-section-slider__controller-next.swiper-button-disabled {
    opacity: 0.35 !important;
    pointer-events: none;
  }
  .top-section-slider__controller-prev:hover,
  .top-section-slider__controller-next:hover {
    opacity: inherit;
  }
}

@media screen and (min-width: 768px) {
  .top-section-slider__controller-prev {
    left: -4rem;
    transform: translateX(-100%) translateY(-50%) scaleX(-1);
  }
}
@media screen and (max-width: 767px) {
  .top-section-slider__controller-prev {
    transform: scaleX(-1);
  }
}

@media screen and (min-width: 768px) {
  .top-section-slider__controller-next {
    right: -4rem;
    transform: translateX(100%) translateY(-50%);
  }
}

.top-section-slider__controller-arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  display: block;
  width: 4.5rem;
  height: 1.2px;
  background-color: currentColor;
}
@media screen and (max-width: 767px) {
  .top-section-slider__controller-arrow {
    width: 7.6rem;
  }
}
.top-section-slider__controller-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 1;
  background-color: currentColor;
  transform: translateY(-50%) translateX(25%);
  display: block;
  width: 0.7rem;
  height: 0.88rem;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
@media screen and (max-width: 767px) {
  .top-section-slider__controller-arrow::after {
    width: 1.4rem;
    height: 1.76rem;
  }
}

.top-section-slider__pagination {
  text-align: center;
  --swiper-pagination-bullet-size: 1.6rem;
  --swiper-pagination-bullet-horizontal-gap: 1.6rem;
  --swiper-pagination-color: var(--color-cyan);
  --swiper-pagination-bullet-inactive-color: white;
  --swiper-pagination-bullet-inactive-opacity: 1;
}
@media screen and (min-width: 768px) {
  .top-section-slider__pagination {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .top-section-slider__pagination {
    --swiper-pagination-bullet-size: 3rem;
    --swiper-pagination-bullet-horizontal-gap: 3rem;
    margin-top: calc(var(--sp-controller-size) * -0.5);
    transform: translateY(-50%);
    pointer-events: none;
  }
}
.top-section-slider__pagination .swiper-pagination-bullet {
  filter: drop-shadow(0px 0px 1em rgba(0, 0, 0, 0.5));
}
@media screen and (max-width: 767px) {
  .top-section-slider__pagination .swiper-pagination-bullet {
    pointer-events: auto;
  }
}

.top-section-flex {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .top-section-flex {
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}
.top-section-flex.top-section-flex--news-etc {
  margin-top: 18.2rem;
}
@media screen and (max-width: 767px) {
  .top-section-flex.top-section-flex--news-etc {
    margin-top: 24.8rem;
  }
}
.top-section-flex.top-section-flex--recruit-etc {
  margin-top: 18rem;
}
@media screen and (min-width: 768px) {
  .top-section-flex.top-section-flex--recruit-etc {
    --container-width: 128rem;
  }
}

@media screen and (min-width: 768px) {
  .top-section-flex__items {
    display: flex;
    align-items: flex-start;
    flex-direction: row-reverse;
    gap: 7rem;
  }
}
@media screen and (max-width: 767px) {
  .top-section-heading + .top-section-flex__items {
    margin-top: 8rem;
  }
}
@media screen and (min-width: 768px) {
  .top-section-flex.top-section-flex--recruit-etc .top-section-flex__items {
    transform: translateX(6rem);
  }
}

.top-section-flex.top-section-flex--recruit-etc .top-section-flex__texts-wrapper {
  flex: 505;
}
.top-section-flex.top-section-flex--news-etc .top-section-flex__texts-wrapper {
  flex: 630;
}

.top-section-flex__images-wrapper {
  flex: 1;
  display: grid;
  gap: 2.5rem;
  grid-template-columns: 1fr 1fr;
}
.top-section-flex.top-section-flex--news-etc .top-section-flex__images-wrapper {
  flex: 696;
}
.top-section-flex.top-section-flex--recruit-etc .top-section-flex__images-wrapper {
  flex: 700;
}
@media screen and (max-width: 767px) {
  .top-section-flex__images-wrapper {
    gap: var(--top-grid-center-gutter);
  }
  .top-section-flex__texts-wrapper + .top-section-flex__images-wrapper {
    margin-top: 12.6rem;
  }
}

/* .partners
   ========================================================================== */
.partners {
  margin-top: 13.2rem;
  padding-top: 3.6rem;
  padding-bottom: 3.6rem;
  background-color: white;
}
@media screen and (max-width: 767px) {
  .partners {
    margin-top: 14.8rem;
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
}

.partners__images-wrapper {
  overflow: hidden;
  width: 100%;
  position: relative;
}

@media screen and (max-width: 767px) {
  .partners__images {
    display: flex;
    white-space: nowrap;
  }
}

.partners__banners {
  display: flex;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .partners__banners {
    width: 148.7rem;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .partners__banners {
    width: 257.6rem;
    flex-shrink: 0;
  }
}

.partners__banner {
  flex: 1;
}
.partners__banner a {
  display: block;
}
.partners__banner a:hover {
  opacity: 0.7;
}

.modal-top-video {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background-color: rgba(7, 34, 95, 0.95);
}
.modal-top-video[data-modal-video-content] {
  display: none;
}

.modal-top-video__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .modal-top-video__container {
    width: calc(var(--container-width) * 0.8);
  }
}
@media screen and (max-width: 767px) {
  .modal-top-video__container {
    width: 100%;
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}

.modal-top-video__video {
  position: relative;
  aspect-ratio: 16/9;
}
.modal-top-video__video iframe,
.modal-top-video__video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 1.2rem;
}
@media screen and (max-width: 767px) {
  .modal-top-video__video iframe,
  .modal-top-video__video video {
    border-radius: 2.4rem;
  }
}

.modal-top-video__close {
  position: fixed;
  z-index: 99;
  top: 3.8rem;
  right: 3.8rem;
  width: 6.4rem;
  height: 6.4rem;
  pointer-events: auto;
}
@media screen and (max-width: 767px) {
  .modal-top-video__close {
    top: 4.8rem;
    right: 4.8rem;
    width: 10.4rem;
    height: 10.4rem;
  }
}

.modal-top-video__sp-close-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotate(45deg);
}
.modal-top-video__sp-close-icon::before, .modal-top-video__sp-close-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 0.24rem;
  background-color: white;
}
@media screen and (max-width: 767px) {
  .modal-top-video__sp-close-icon::before, .modal-top-video__sp-close-icon::after {
    height: 0.5rem;
  }
}
.modal-top-video__sp-close-icon::after {
  transform: rotate(90deg);
}

/*
movie
*/
.movie-gallery__section {
  padding-top: 9.6rem;
  padding-bottom: 12rem;
}
@media screen and (max-width: 767px) {
  .movie-gallery__section {
    padding-top: 14rem;
    padding-bottom: 13rem;
  }
}
.movie-gallery__section:nth-of-type(even) {
  background-color: var(--color-blue);
  color: white;
}

.movie-gallery__section-title {
  display: grid;
  grid-template-columns: max-content max-content;
  gap: 0.75em;
  align-items: center;
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  line-height: 1.5;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .movie-gallery__section-title {
    font-size: 5.2rem;
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}
.movie-gallery__section-title::before {
  content: "";
  display: block;
  width: 0.48rem;
  height: 82%;
  background-color: var(--color-red);
}
@media screen and (max-width: 767px) {
  .movie-gallery__section-title::before {
    width: 0.9rem;
  }
}

.movie-gallery__items {
  display: grid;
  gap: 9.2rem;
  width: var(--container-width);
  margin-top: 3.4rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .movie-gallery__items {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .movie-gallery__items {
    gap: 8.8rem;
    margin-top: 8.8rem;
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}

.movie-gallery__item-thumbnail {
  position: relative;
  aspect-ratio: 16/9;
}
.movie-gallery__item-thumbnail iframe,
.movie-gallery__item-thumbnail video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 1.2rem;
}
@media screen and (max-width: 767px) {
  .movie-gallery__item-thumbnail iframe,
  .movie-gallery__item-thumbnail video {
    border-radius: 2.4rem;
  }
}
.movie-gallery__item-thumbnail video::-webkit-media-controls {
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.movie-gallery__item-thumbnail video:hover::-webkit-media-controls {
  opacity: 1;
  pointer-events: all;
}

.movie-gallery__item-body {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .movie-gallery__item-body {
    margin-top: 4.4rem;
  }
}

.movie-gallery__item-title {
  line-height: 1.7;
  font-family: var(--font-serif);
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .movie-gallery__item-title {
    font-size: 4.7rem;
  }
}

.movie-gallery__item-time {
  margin-top: 0.3em;
  line-height: 1.5;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #969696;
}
@media screen and (max-width: 767px) {
  .movie-gallery__item-time {
    font-size: 4rem;
  }
}
.movie-gallery__section:nth-of-type(even) .movie-gallery__item-time {
  color: white;
}

/*
interview
*/
.interview-index {
  margin-bottom: 9.6rem;
}
@media screen and (min-width: 768px) {
  .interview-index {
    width: 120rem;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .interview-index {
    margin-bottom: 18rem;
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}

.interview-index__header {
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .interview-index__header {
    margin-top: 8rem;
  }
}

.interview-index__sections {
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .interview-index__sections {
    margin-top: 8rem;
  }
}

.interview-index__section + .interview-index__section {
  margin-top: 8.4rem;
}
@media screen and (max-width: 767px) {
  .interview-index__section + .interview-index__section {
    margin-top: 14rem;
  }
}

.interview-index__section-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 7.6rem;
  background-color: var(--color);
  border-radius: 5em;
  text-align: center;
  line-height: 1.4;
  font-size: 2.6rem;
  font-weight: 700;
  color: white;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .interview-index__section-heading {
    font-size: 4rem;
    height: 11.2rem;
  }
}

.interview-index__section-body {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .interview-index__section-body {
    margin-top: 8rem;
  }
}

.interview-persons.interview-persons--grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 7.8rem 3rem;
}
@media screen and (max-width: 767px) {
  .interview-persons.interview-persons--grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 7.2rem 5.4rem;
    padding-right: 4rem;
    padding-left: 4rem;
  }
}

.interview-persons__item > a {
  display: block;
}
.interview-persons__item > a:hover {
  opacity: 1;
}
.interview-persons__item.interview-persons__item--grid-large {
  width: 36rem;
}
@media screen and (max-width: 767px) {
  .interview-persons__item.interview-persons__item--grid-large {
    width: 58.4rem;
  }
}

.interview-persons__item-thumbnail {
  --border-radius: 1rem;
  border: 0.15rem solid var(--color);
  border-radius: var(--border-radius);
}
@media screen and (max-width: 767px) {
  .interview-persons__item-thumbnail {
    --border-radius: 1.4rem;
    border-width: 0.36rem;
  }
}

.interview-persons__item-thumbnail-inner {
  position: relative;
  z-index: 1;
  height: 21.4rem;
  border-radius: var(--border-radius);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .interview-persons__item-thumbnail-inner {
    height: 34.8rem;
  }
}
.interview-persons__item-thumbnail-inner img {
  width: 101%;
  height: 101%;
  object-fit: cover;
  transition: transform 0.25s ease-out;
  will-change: transform;
}
a:hover .interview-persons__item-thumbnail-inner img {
  transform: scale(1.025);
}

.interview-persons__item-label {
  position: absolute;
  top: 1.4rem;
  left: 1.4rem;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 7.8rem;
  height: 2.5rem;
  border: 0.15rem solid currentColor;
  border-radius: 5em;
  text-align: center;
  line-height: 1.4;
  font-size: 1rem;
  font-weight: 700;
  color: var(--color);
  background-color: white;
}
@media screen and (max-width: 767px) {
  .interview-persons__item-label {
    top: 2.4rem;
    left: 1.8rem;
    min-width: 15rem;
    font-size: 2.4rem;
    height: 5.4rem;
    border-width: 0.2rem;
  }
}

.interview-persons__item-body {
  --padding-left: 1.8rem;
  margin-top: 2.4rem;
  padding-left: var(--padding-left);
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .interview-persons__item-body {
    --padding-left: 3.2rem;
    line-height: 1.8;
    margin-top: 3.2rem;
    text-align: justify;
  }
}

.interview-persons__item-data {
  position: relative;
}
.interview-persons__item-data::before {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(var(--padding-left) * -1);
  transform: translateY(-50%);
  width: 0.48rem;
  height: 83%;
  background-color: var(--color);
}
@media screen and (max-width: 767px) {
  .interview-persons__item-data::before {
    width: 0.8rem;
  }
}

.interview-persons__item-name {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--color-navy);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .interview-persons__item-name {
    line-height: 1.66;
    font-size: 4rem;
  }
}

.interview-persons__item-department-lv1 {
  font-size: 1.4rem;
  margin-top: 0.25em;
}
@media screen and (max-width: 767px) {
  .interview-persons__item-department-lv1 {
    font-size: 3rem;
  }
}

.interview-persons__item-data2 {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .interview-persons__item-data2 {
    font-size: 3rem;
  }
}

.interview.interview--general-staff {
  --color: var(--general-staff-color);
}
.interview.interview--office-staff {
  --color: var(--office-staff-color);
}
.interview.interview--unit-talk {
  --color: var(--unit-talk-color);
}
@media screen and (max-width: 767px) {
  .interview.interview--unit-talk {
    --cross-talk-sp-gutter: 9.8rem;
  }
}
@media screen and (min-width: 768px) {
  .interview {
    --container-width: 100rem;
  }
}

.interview__content {
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .interview__content {
    margin-top: 10.4rem;
  }
}

@media screen and (min-width: 768px) {
  .interview-header__container {
    display: flex;
    align-items: center;
    position: relative;
    min-height: 70rem;
    background-color: var(--color);
  }
}
@media screen and (max-width: 767px) {
  .interview-header__container {
    display: flex;
    flex-direction: column-reverse;
  }
}

.interview-header__content {
  color: white;
}
@media screen and (min-width: 768px) {
  .interview-header__content {
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .interview-header__content {
    background-color: var(--color);
    margin-top: -35.4rem;
    margin-right: 9.6rem;
    margin-left: 9.6rem;
    padding-top: 9rem;
    padding-bottom: 8.8rem;
  }
}

.interview-header__title-small {
  display: block;
  line-height: 1;
  font-size: 2.4rem;
  font-family: var(--font-serif);
  font-weight: 700;
  letter-spacing: 0.05em;
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .interview-header__title-small {
    text-align: center;
    font-size: 4rem;
  }
}

.interview-header__title-large {
  display: block;
  margin-top: 4rem;
  line-height: 1.825;
  font-size: 3.95rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .interview-header__title-large {
    margin-top: 1em;
    text-align: center;
    line-height: 1.68;
    font-size: 5.6rem;
  }
}
.interview-header__title-large.interview-header__title-large--small {
  line-height: 1.6;
  font-size: 3.65rem;
}
@media screen and (max-width: 767px) {
  .interview-header__title-large.interview-header__title-large--small {
    line-height: 1.56;
    font-size: 5.4rem;
  }
}

.interview-header__profile {
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .interview-header__profile {
    margin-top: 7.8rem;
  }
}

.interview-header__profile-header {
  display: inline-flex;
  align-items: center;
  gap: 3.1rem;
}
@media screen and (max-width: 767px) {
  .interview-header__profile-header {
    display: flex;
    justify-content: center;
    gap: 5.6rem;
  }
}

.interview-header__name {
  line-height: 1;
  font-size: 2.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .interview-header__name {
    font-size: 5.2rem;
  }
}

.interview-header__label {
  background-color: white;
  color: var(--color);
  width: 9.2rem;
  border-radius: 5em;
  text-align: center;
  padding-top: 0.075em;
  line-height: 3.4rem;
  font-size: 1.23rem;
  font-weight: 700;
  letter-spacing: 0.075em;
}
@media screen and (max-width: 767px) {
  .interview-header__label {
    font-size: 3.2rem;
    min-width: 22rem;
    line-height: 8.8rem;
  }
}

.interview-header__data {
  grid-column: 1/span 2;
  margin-top: 2.8rem;
  line-height: 1.9;
  font-size: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .interview-header__data {
    margin-top: 4.4rem;
    text-align: center;
    font-size: 3.6rem;
  }
}

@media screen and (min-width: 768px) {
  .interview-header__image {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .interview-header__image {
    height: 95rem;
    overflow: hidden;
    z-index: -1;
  }
}
.interview-header__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .interview-header__image img[src*=img_naito_main] {
    object-position: 50% 75%;
    transform: scale(1.05);
  }
  .interview-header__image img[src*=img_iidaka_main] {
    object-position: 50% 72%;
    transform: scale(1.02);
  }
  .interview-header__image img[src*=img_kurihara_main] {
    object-position: 50% 70%;
    transform: scale(1.02);
  }
  .interview-header__image img[src*=img_tanaka_main] {
    object-position: 50% 62%;
  }
  .interview-header__image img[src*=img_hamada_main] {
    object-position: 50% 55%;
    transform: scale(1.05);
  }
  .interview-header__image img[src*=img_kikuchi_main] {
    object-position: 50% 60%;
    transform: scale(1.025);
  }
  .interview-header__image img[src*=img_ochiai_main] {
    object-position: 50% 82%;
    transform: scale(1.05);
  }
  .interview-header__image img[src*=img_azami_main] {
    object-position: 50% 65%;
    transform: scale(1.025);
  }
  .interview-header__image img[src*=img_shida_main] {
    object-position: 50% 23%;
  }
  .interview-header__image img[src*=img_ito_main] {
    object-position: 50% 56%;
  }
  .interview-header__image img[src*=img_higashiura_main] {
    object-position: 50% 46%;
  }
  .interview-header__image img[src*=img_tanahashi_main] {
    object-position: 50% 48%;
  }
}

.interview-header__note {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  margin-top: 1.25em;
  font-size: 1.2rem;
  font-weight: 500;
  color: #646464;
}
@media screen and (max-width: 767px) {
  .interview-header__note {
    display: none;
  }
}

.interview-lead {
  margin-top: 13.6rem;
}
@media screen and (min-width: 768px) {
  .interview-lead {
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .interview-lead {
    margin-top: 12rem;
  }
}

@media screen and (min-width: 768px) {
  .interview-lead__heading {
    display: grid;
    grid-template-columns: max-content 1fr;
    align-items: center;
    gap: 5.3rem;
  }
}
.interview-lead__accordion-inner .interview-lead__heading, .interview-lead__accordion-image + .interview-lead__heading, .interview-lead__accordion-images + .interview-lead__heading {
  margin-top: 14rem;
}
@media screen and (max-width: 767px) {
  .interview-lead__accordion-inner .interview-lead__heading, .interview-lead__accordion-image + .interview-lead__heading, .interview-lead__accordion-images + .interview-lead__heading {
    margin-top: 21rem;
  }
}
.interview-lead__heading:not(:has(.interview-lead__heading-label)) {
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .interview-lead__heading:not(:has(.interview-lead__heading-label)) {
    margin-top: 14rem;
  }
}

.interview-lead__heading-label {
  display: block;
  width: fit-content;
  min-width: 25.8rem;
  padding-right: 1.35em;
  padding-left: 1.35em;
  color: var(--color-blue);
  border: 0.283rem solid currentColor;
  border-radius: 5em;
  line-height: 7.5rem;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .interview-lead__heading-label {
    line-height: 13.6rem;
    font-size: 4rem;
    border-width: 0.56rem;
    min-width: 52rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.interview-lead__heading-text {
  line-height: 1.61;
  font-size: 2.8rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .interview-lead__heading-text {
    line-height: 1.64;
    font-size: 5.4rem;
    margin-top: 6.4rem;
    display: block;
    text-align: center;
  }
}

.interview-lead__body {
  margin-top: 6.4rem;
  text-align: justify;
  line-height: 1.94;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .interview-lead__body {
    margin-top: 9.6rem;
    font-size: 4.6rem;
  }
}
@media screen and (max-width: 767px) {
  .interview-lead__body p {
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}
.interview-lead__body p + p {
  margin-top: 2em;
}

.interview-lead__accordion-inner {
  padding-top: 2em;
}

.interview-lead__accordion-image {
  margin-top: 8rem;
}
.interview-lead__accordion-image.interview-lead__accordion-image--vertical-image {
  width: 44.2rem;
  display: block;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .interview-lead__accordion-image.interview-lead__accordion-image--vertical-image {
    width: 82rem;
  }
}

.interview-lead__accordion-images {
  margin-top: 8rem;
  display: flex;
}

.interview-lead__accordion-images-item {
  flex: 1;
  aspect-ratio: 333/257;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .interview-lead__accordion-images-item {
    aspect-ratio: 588/439;
  }
}
.interview-lead__accordion-images-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .interview-lead__accordion-images-item:last-of-type:not(:first-of-type):not(:nth-of-type(2)) {
    display: none;
  }
}

.interview-lead__footer {
  text-align: center;
}

.interview-lead__accordion-trigger {
  position: relative;
  margin-top: 4.8rem;
  color: var(--color-dark-blue);
  transition: color 0.25s ease-out;
  font-size: 1.1rem;
  padding-bottom: 1.75em;
}
@media screen and (max-width: 767px) {
  .interview-lead__accordion-trigger {
    font-size: 3.2rem;
    margin-top: 7.2rem;
  }
}

.interview-lead__accordion-trigger-icon {
  position: relative;
  display: block;
  width: 5.6rem;
  aspect-ratio: 1;
  border: 0.16rem solid var(--color-dark-blue);
  background-color: transparent;
  border-radius: 50%;
  margin-bottom: 0.65em;
  transition: background-color 0.125s ease-out;
}
@media screen and (max-width: 767px) {
  .interview-lead__accordion-trigger-icon {
    width: 16rem;
    border-width: 0.38rem;
    margin-bottom: 0.4em;
  }
}
button:hover .interview-lead__accordion-trigger-icon {
  background-color: var(--color-dark-blue);
}
button:hover .interview-lead__accordion-trigger-icon::before, button:hover .interview-lead__accordion-trigger-icon::after {
  background-color: white;
}
.interview-lead__accordion-trigger-icon:before, .interview-lead__accordion-trigger-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  display: block;
  width: 45%;
  height: 0.16rem;
  background-color: currentColor;
  transition: background-color 0.125s ease-out;
}
@media screen and (max-width: 767px) {
  .interview-lead__accordion-trigger-icon:before, .interview-lead__accordion-trigger-icon::after {
    height: 0.38rem;
  }
}
.interview-lead__accordion-trigger-icon::after {
  transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  transition: transform 0.25s ease-out;
}
button.--active .interview-lead__accordion-trigger-icon::after {
  transform: translateX(-50%) translateY(-50%);
}

.interview-lead__accordion-trigger-to-active-text,
.interview-lead__accordion-trigger-to-disable-text {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.075em;
  white-space: nowrap;
  transition: opacity 0.25s ease-out, visibility 0.25s ease-out;
}
@media screen and (max-width: 767px) {
  .interview-lead__accordion-trigger-to-active-text,
  .interview-lead__accordion-trigger-to-disable-text {
    letter-spacing: 0.1em;
  }
}

.interview-lead__accordion-trigger-to-disable-text {
  opacity: 0;
  visibility: hidden;
}
button.--active .interview-lead__accordion-trigger-to-disable-text {
  opacity: 1;
  visibility: visible;
}

button.--active .interview-lead__accordion-trigger-to-active-text {
  opacity: 0;
  visibility: hidden;
}

.interview-motivation {
  position: relative;
  margin-top: 16rem;
  padding-top: 6.8rem;
  padding-bottom: 6.8rem;
}
@media screen and (max-width: 767px) {
  .interview-motivation {
    margin-top: 23rem;
    padding-top: 11.6rem;
    padding-bottom: 11.6rem;
  }
}
.interview-motivation::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: var(--color);
}
.interview.interview--general-staff .interview-motivation::before {
  background-color: rgba(0, 100, 255, 0.8);
}

@media screen and (min-width: 768px) {
  .interview-motivation__container {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 57.5rem;
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
  }
}

@media screen and (min-width: 768px) {
  .interview-motivation__content {
    justify-self: start;
  }
}

.interview-motivation__heading {
  text-align: center;
}

.interview-motivation__heading-large {
  display: block;
  line-height: 1.23;
  font-family: var(--font-Barlow);
  font-size: 4.8rem;
  font-weight: 600;
  color: white;
}
@media screen and (max-width: 767px) {
  .interview-motivation__heading-large {
    font-size: 9.6rem;
  }
}

.interview-motivation__heading-small {
  display: block;
  line-height: 1.6;
  margin-top: 0.75em;
  font-size: 1.4rem;
  font-weight: 500;
  color: black;
}
@media screen and (max-width: 767px) {
  .interview-motivation__heading-small {
    font-size: 3.6rem;
  }
}

.interview-motivation__lead {
  font-family: var(--font-sans-yakuhan-all);
  margin-top: 1.5em;
  line-height: 1.9;
  font-size: 3rem;
  text-align: center;
  font-weight: 700;
  color: black;
}
@media screen and (max-width: 767px) {
  .interview-motivation__lead {
    margin-top: 1.25em;
    font-size: 5.6rem;
  }
}

@media screen and (min-width: 768px) {
  .interview-motivation__graph {
    transform: translateX(6.4rem);
  }
}
@media screen and (max-width: 767px) {
  .interview-motivation__graph {
    width: 85rem;
    margin-top: 8rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.interview-activity {
  --container-width: 127.9rem;
  margin-top: 19rem;
}
@media screen and (min-width: 768px) {
  .interview-activity {
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
  }
}

@media screen and (min-width: 768px) {
  .interview-activity__container {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (min-width: 768px) {
  .interview-activity__container-schedule-wrapper {
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
  }
}

@media screen and (min-width: 768px) {
  .interview-activity__container-private-wrapper {
    padding-left: 8rem;
  }
}

@media screen and (min-width: 768px) {
  .interview-activity__container-item {
    padding-bottom: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .interview-activity__container-item {
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}
.interview-activity__container-item + .interview-activity__container-item {
  position: relative;
}
.interview-activity__container-item + .interview-activity__container-item::before {
  content: "";
  display: block;
  background-color: var(--color-blue);
}
@media screen and (min-width: 768px) {
  .interview-activity__container-item + .interview-activity__container-item::before {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(-50%);
    width: 1px;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .interview-activity__container-item + .interview-activity__container-item::before {
    height: 1px;
    width: calc(100% - var(--page-gutter) * 2);
    margin-top: 14.8rem;
    margin-bottom: 14.8rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.interview-activity__container-item-title {
  text-align: center;
}

.interview-activity__container-item-title-large {
  display: block;
  line-height: 1.4;
  font-family: var(--font-Barlow);
  color: var(--color-blue);
  font-weight: 600;
  font-size: 4.8rem;
  letter-spacing: 0.06em;
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .interview-activity__container-item-title-large {
    font-size: 8.8rem;
  }
}

.interview-activity__container-item-title-small {
  display: block;
  margin-top: 0.75em;
  line-height: 1.6;
  font-size: 1.4rem;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .interview-activity__container-item-title-small {
    margin-top: 0.35em;
    font-size: 3.2rem;
  }
}

.interview-activity__schedule {
  margin-top: 6.4rem;
}
@media screen and (max-width: 767px) {
  .interview-activity__schedule {
    margin-top: 8rem;
  }
}

@media screen and (min-width: 768px) {
  .interview-activity__schedule-dl {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 1em 1.5em;
    align-items: baseline;
  }
}
@media screen and (max-width: 767px) {
  .interview-activity__schedule-dl {
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
  }
}

.interview-activity__schedule-dt {
  line-height: 1;
  font-size: 1.9rem;
  font-weight: 700;
  color: var(--color-blue);
  opacity: 0.8;
}
@media screen and (min-width: 768px) {
  .interview-activity__schedule-dt {
    transform: translateY(0.025em);
  }
}
@media screen and (max-width: 767px) {
  .interview-activity__schedule-dt {
    font-size: 4.8rem;
  }
  .interview-activity__schedule-dd + .interview-activity__schedule-dt {
    margin-top: 1em;
  }
}

.interview-activity__schedule-dd {
  line-height: 1.7;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .interview-activity__schedule-dd {
    margin-top: 0.45em;
    font-size: 4.2rem;
  }
}

.interview-activity__private {
  margin-top: 6.4rem;
}

.interview-activity__private-heading {
  text-align: center;
  line-height: 1.75;
  font-size: 2.4rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .interview-activity__private-heading {
    margin-top: -0.5em;
  }
}
@media screen and (max-width: 767px) {
  .interview-activity__private-heading {
    margin-top: 9.6rem;
    line-height: 1.7;
    font-size: 5.6rem;
  }
}

.interview-activity__private-body {
  margin-top: 4.2rem;
  text-align: justify;
  line-height: 1.975;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .interview-activity__private-body {
    line-height: 2;
    margin-top: 9.6rem;
    font-size: 4.2rem;
  }
}

.other-interview {
  position: relative;
  margin-top: 15.4rem;
  padding-top: 6.8rem;
  padding-bottom: 6.8rem;
}
@media screen and (max-width: 767px) {
  .other-interview {
    margin-top: 22rem;
    padding-top: 16rem;
    padding-bottom: 14.8rem;
    --sp-controller-size: 14.8rem;
  }
}
.other-interview::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.1;
  background-color: var(--color);
}
.interview.interview--general-staff .other-interview::before {
  background-color: var(--color-blue);
}

.other-interview__heading {
  text-align: center;
  line-height: 1.5;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: var(--color);
}
@media screen and (max-width: 767px) {
  .other-interview__heading {
    font-size: 5rem;
  }
}

.other-interview__body {
  margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
  .other-interview__body {
    margin-top: 8rem;
  }
}

@media screen and (min-width: 768px) {
  .other-interview__slider {
    width: 100rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.other-interview__to-index {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .other-interview__to-index {
    margin-top: 4.8rem;
  }
}
@media screen and (max-width: 767px) {
  .other-interview__to-index {
    margin-top: calc(var(--sp-controller-size) * -1);
  }
  .other-interview__to-index .button {
    height: var(--sp-controller-size);
    padding-top: 0;
    padding-bottom: 0;
    width: 54rem;
  }
}

.interview-slides {
  position: relative;
}
.interview-slides.--disable {
  display: flex;
  justify-content: center;
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .interview-slides.--disable {
    gap: 5.2rem;
    padding-right: calc(var(--page-gutter) * 2);
    padding-left: calc(var(--page-gutter) * 2);
    margin-bottom: calc(var(--sp-controller-size) + 6.4rem);
  }
}
.interview-slides.--disable .swiper,
.interview-slides.--disable .swiper-wrapper {
  display: contents;
}

.interview-slides.--disable .interview-slides__item {
  flex: 1;
}
@media screen and (min-width: 768px) {
  .interview-slides.--disable .interview-slides__item {
    max-width: 24.1rem;
  }
}
.interview-slides__item a:hover {
  opacity: 1;
}

.interview-slides__item-thumbnail {
  --border-radius: 1rem;
  position: relative;
  z-index: 1;
  border: 0.15rem solid var(--color);
  border-radius: var(--border-radius);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .interview-slides__item-thumbnail {
    --border-radius: 1.4rem;
    border-width: 0.36rem;
  }
}

.interview-slides__item-thumbnail-inner {
  aspect-ratio: 232/182;
}
.interview-slides__item-thumbnail-inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease-out;
}
a:hover .interview-slides__item-thumbnail-inner img {
  transform: scale(1.025);
}

.interview-slides__item-label {
  position: absolute;
  top: 1.4rem;
  left: 1.4rem;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 7.6rem;
  height: 2.5rem;
  border: 0.15rem solid currentColor;
  border-radius: 5em;
  text-align: center;
  line-height: 2.6;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--color);
  background-color: white;
}
@media screen and (max-width: 767px) {
  .interview-slides__item-label {
    top: 2.4rem;
    left: 1.8rem;
    min-width: 15rem;
    font-size: 2.4rem;
    height: 5.4rem;
    border-width: 0.2rem;
  }
}

.interview-slides__item-body {
  margin-top: 2rem;
  line-height: 1.6;
  font-weight: 500;
  transition: opacity 0.25s ease-out;
}
@media screen and (max-width: 767px) {
  .interview-slides__item-body {
    line-height: 1.8;
    margin-top: 3.2rem;
    text-align: justify;
  }
}
a:hover .interview-slides__item-body {
  opacity: 0.75;
}

.interview-slides__item-lead {
  line-height: 1.6;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color);
}
@media screen and (max-width: 767px) {
  .interview-slides__item-lead {
    display: none;
  }
}

.interview-slides__item-profile {
  margin-top: 2.4rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .interview-slides__item-profile {
    margin-top: 4rem;
    line-height: 1.8;
    font-size: 3.4rem;
  }
}

@media screen and (max-width: 767px) {
  .interview-slides__item-name {
    color: var(--color);
    font-weight: 700;
  }
}

@media screen and (min-width: 768px) {
  .interview-slides__controller {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }
}
@media screen and (max-width: 767px) {
  .interview-slides__controller {
    display: flex;
    justify-content: space-between;
    margin-top: 5.8rem;
    padding-left: 10.6rem;
    padding-right: 10.6rem;
  }
}
.interview-slides.--disable .interview-slides__controller {
  display: none;
}

.interview-slides__controller-prev,
.interview-slides__controller-next {
  display: block;
  width: 8rem;
  aspect-ratio: 1;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  border: 1.2px solid var(--color);
}
@media screen and (min-width: 768px) {
  .interview-slides__controller-prev,
  .interview-slides__controller-next {
    position: absolute;
    top: 50%;
    z-index: 1;
    pointer-events: auto;
  }
}
@media screen and (max-width: 767px) {
  .interview-slides__controller-prev,
  .interview-slides__controller-next {
    width: var(--sp-controller-size);
    position: relative;
    transition: opacity 0.35s ease-out;
  }
  .interview-slides__controller-prev.swiper-button-disabled,
  .interview-slides__controller-next.swiper-button-disabled {
    opacity: 0.35 !important;
    pointer-events: none;
  }
  .interview-slides__controller-prev:hover,
  .interview-slides__controller-next:hover {
    opacity: inherit;
  }
}

@media screen and (min-width: 768px) {
  .interview-slides__controller-prev {
    left: -4rem;
    transform: translateX(-100%) translateY(-50%) scaleX(-1);
  }
}
@media screen and (max-width: 767px) {
  .interview-slides__controller-prev {
    transform: scaleX(-1);
  }
}

@media screen and (min-width: 768px) {
  .interview-slides__controller-next {
    right: -4rem;
    transform: translateX(100%) translateY(-50%);
  }
}

.interview-slides__controller-arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  display: block;
  width: 3rem;
  height: 1px;
  background-color: currentColor;
}
@media screen and (max-width: 767px) {
  .interview-slides__controller-arrow {
    width: 4.8rem;
  }
}
.interview-slides__controller-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 1;
  background-color: currentColor;
  transform: translateY(-50%) translateX(25%);
  display: block;
  width: 0.6rem;
  height: 0.73rem;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
@media screen and (max-width: 767px) {
  .interview-slides__controller-arrow::after {
    width: 1.2rem;
    height: 1.46rem;
  }
}

.cross-talk-header__container-wrapper {
  display: contents;
}
@media screen and (min-width: 768px) {
  .cross-talk-header__container-wrapper {
    display: flex;
    align-items: center;
    min-height: 70rem;
    background-color: var(--color);
  }
}

.cross-talk-header__container {
  color: white;
}
@media screen and (min-width: 768px) {
  .cross-talk-header__container {
    display: grid;
    grid-template-columns: max-content 1fr;
    align-items: center;
    gap: 6.8rem;
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk-header__container {
    display: flex;
    flex-direction: column-reverse;
  }
}

@media screen and (min-width: 768px) {
  .cross-talk-header__content {
    display: contents;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk-header__content {
    margin-top: -20rem;
    margin-right: var(--cross-talk-sp-gutter);
    margin-left: var(--cross-talk-sp-gutter);
    padding-top: 14rem;
    padding-bottom: 18.2rem;
    background-color: var(--color);
  }
}

.cross-talk-header__title-small {
  display: block;
  line-height: 1;
  font-size: 2.4rem;
  font-family: var(--font-serif);
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #323232;
}
@media screen and (max-width: 767px) {
  .cross-talk-header__title-small {
    text-align: center;
    font-size: 4rem;
  }
}

.cross-talk-header__title-large {
  display: block;
  margin-top: 4rem;
  line-height: 1.825;
  font-size: 4rem;
  font-weight: 700;
  color: white;
}
@media screen and (max-width: 767px) {
  .cross-talk-header__title-large {
    margin-top: 1em;
    text-align: center;
    line-height: 1.68;
    font-size: 5.8rem;
  }
}

@media screen and (min-width: 768px) {
  .cross-talk-header__image {
    margin-right: -20rem;
  }
}
@media screen and (min-width: 768px) {
  .cross-talk-header__image img {
    border-radius: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk-header__image {
    z-index: -1;
  }
}

.cross-talk-header__note {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  margin-top: 1.25em;
  font-size: 1.2rem;
  font-weight: 500;
  color: #646464;
}
@media screen and (max-width: 767px) {
  .cross-talk-header__note {
    display: none;
  }
}

.career {
  color: var(--color);
}
@media screen and (min-width: 768px) {
  .career {
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
  }
}

.career__title {
  text-align: center;
  line-height: 1;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.2rem;
}
@media screen and (max-width: 767px) {
  .career__title {
    font-size: 4.8rem;
  }
}

.career__body {
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .career__body {
    margin-top: 4.8rem;
  }
}

.career__time-line {
  display: flex;
  justify-content: center;
}

.career__time-line-item {
  flex: 1;
  max-width: 30rem;
}
@media screen and (max-width: 767px) {
  .career__time-line-item {
    max-width: 45.6rem;
  }
}

.career__time-line-item-year {
  line-height: 1;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .career__time-line-item-year {
    font-size: 3.6rem;
  }
}

.career__time-line-item-point {
  --left-right-margin: 0.6rem;
  --icon-size: 1.4rem;
  position: relative;
  margin-top: 1.1rem;
}
@media screen and (max-width: 767px) {
  .career__time-line-item-point {
    --left-right-margin: 1.6rem;
    --icon-size: 3rem;
    margin-top: 2.8rem;
  }
}
.career__time-line-item-point::before, .career__time-line-item-point::after {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
  width: calc(50% - var(--left-right-margin) - var(--icon-size) / 2);
  height: 0.22rem;
  background-color: currentColor;
}
@media screen and (max-width: 767px) {
  .career__time-line-item-point::before, .career__time-line-item-point::after {
    height: 0.48rem;
  }
}
.career__time-line-item-point::before {
  left: 0;
}
.career__time-line-item-point::after {
  right: 0;
}

.career__time-line-item-point-icon {
  width: var(--icon-size);
  aspect-ratio: 1;
  margin-right: auto;
  margin-left: auto;
  border-radius: 50%;
  background-color: currentColor;
}

.career__time-line-item-text {
  margin-top: 0.9em;
  text-align: 1.5;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .career__time-line-item-text {
    font-size: 4rem;
    display: flex;
    flex-direction: column;
    gap: 0.05em;
    align-items: start;
    margin-right: auto;
    margin-left: auto;
    writing-mode: vertical-rl;
  }
}

.career__time-line-item-title {
  text-align: center;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .career__time-line-item-title {
    text-align: left;
  }
}

.career__time-line-item-body {
  margin-top: 0.175em;
  line-height: 1.55;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .career__time-line-item-body {
    text-align: left;
  }
}

.cross-talk-header__container-wrapper {
  display: contents;
}
@media screen and (min-width: 768px) {
  .cross-talk-header__container-wrapper {
    display: flex;
    align-items: center;
    min-height: 70rem;
    background-color: var(--color);
  }
}

.cross-talk-header__container {
  color: white;
}
@media screen and (min-width: 768px) {
  .cross-talk-header__container {
    display: grid;
    grid-template-columns: max-content 1fr;
    align-items: center;
    gap: 6.8rem;
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk-header__container {
    display: flex;
    flex-direction: column-reverse;
  }
}

@media screen and (min-width: 768px) {
  .cross-talk-header__content {
    display: contents;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk-header__content {
    margin-top: -20rem;
    margin-right: var(--cross-talk-sp-gutter);
    margin-left: var(--cross-talk-sp-gutter);
    padding-top: 14rem;
    padding-bottom: 18.2rem;
    background-color: var(--color);
  }
}

.cross-talk-header__title-small {
  display: block;
  line-height: 1;
  font-size: 2.4rem;
  font-family: var(--font-serif);
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #323232;
}
@media screen and (max-width: 767px) {
  .cross-talk-header__title-small {
    text-align: center;
    font-size: 4rem;
  }
}

.cross-talk-header__title-large {
  display: block;
  margin-top: 4rem;
  line-height: 1.825;
  font-size: 4rem;
  font-weight: 700;
  color: white;
}
@media screen and (max-width: 767px) {
  .cross-talk-header__title-large {
    margin-top: 1em;
    text-align: center;
    line-height: 1.68;
    font-size: 5.8rem;
  }
}

@media screen and (min-width: 768px) {
  .cross-talk-header__image {
    margin-right: -20rem;
  }
}
@media screen and (min-width: 768px) {
  .cross-talk-header__image img {
    border-radius: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk-header__image {
    z-index: -1;
  }
}

.cross-talk-header__note {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  margin-top: 1.25em;
  font-size: 1.2rem;
  font-weight: 500;
  color: #646464;
}
@media screen and (max-width: 767px) {
  .cross-talk-header__note {
    display: none;
  }
}

.cross-talk-lead {
  --container-width: 120rem;
  margin-top: 13rem;
}
@media screen and (min-width: 768px) {
  .cross-talk-lead {
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk-lead {
    margin-top: 18rem;
  }
}

.cross-talk-lead__color-bg-box {
  position: relative;
  padding-top: 5.4rem;
  padding-right: 10rem;
  padding-left: 10rem;
  padding-bottom: 5.6rem;
}
.cross-talk-lead__color-bg-box::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: var(--color);
  opacity: 0.1;
}
@media screen and (max-width: 767px) {
  .cross-talk-lead__color-bg-box {
    padding-top: 11.8rem;
    padding-right: var(--cross-talk-sp-gutter);
    padding-left: var(--cross-talk-sp-gutter);
    padding-bottom: 12rem;
  }
}

.cross-talk-lead__color-bg-box-heading {
  color: var(--color);
  text-align: center;
  line-height: 1;
  font-size: 2.48rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .cross-talk-lead__color-bg-box-heading {
    letter-spacing: normal;
    font-size: 5.8rem;
  }
}

.cross-talk-lead__color-bg-box-body {
  margin-top: 1.5em;
  text-align: justify;
  line-height: 1.77;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: normal;
}
@media screen and (max-width: 767px) {
  .cross-talk-lead__color-bg-box-body {
    margin-top: 1.25em;
    line-height: 2;
    font-size: 4.4rem;
  }
}

.cross-talk-lead__staff {
  margin-top: 7.2rem;
}
@media screen and (max-width: 767px) {
  .cross-talk-lead__staff {
    margin-top: 13rem;
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}

.cross-talk-lead__staff-items {
  display: flex;
  justify-content: center;
  gap: 5.2rem;
}
@media screen and (max-width: 767px) {
  .cross-talk-lead__staff-items {
    gap: 2.4rem;
    padding-right: var;
  }
}

@media screen and (max-width: 767px) {
  .cross-talk-lead__staff-item {
    position: relative;
    padding-bottom: 14.4rem;
    flex: 1;
  }
}

.cross-talk-lead__staff-thumbnail {
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  .cross-talk-lead__staff-thumbnail {
    width: 17.4rem;
  }
}
.cross-talk-lead__staff-thumbnail img {
  border-radius: 50%;
}

.cross-talk-lead__staff-data {
  margin-top: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cross-talk-lead__staff-data {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    white-space: nowrap;
  }
}

.cross-talk-lead__staff-annual {
  line-height: 1.4;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--color);
}
@media screen and (max-width: 767px) {
  .cross-talk-lead__staff-annual {
    font-size: 4.2rem;
  }
}

.cross-talk-lead__staff-position {
  line-height: 1.4;
  font-size: 1.6rem;
  margin-top: 0.125em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .cross-talk-lead__staff-position {
    margin-top: 0.25em;
    font-size: 3.2rem;
    letter-spacing: -0.01em;
  }
}

.cross-talk-lead__staff-note {
  margin-top: 2.4rem;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .cross-talk-lead__staff-note {
    margin-top: 1.5em;
    font-size: 3.2rem;
  }
}

.cross-talk-sections {
  --container-width: 120rem;
  margin-top: 2.8rem;
}
@media screen and (max-width: 767px) {
  .cross-talk-sections {
    margin-top: 12rem;
  }
}

.cross-talk-sections__item:first-of-type {
  position: relative;
}
.cross-talk-sections__item:first-of-type::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: var(--container-width);
  height: 0.75px;
  background-color: var(--color);
}
@media screen and (max-width: 767px) {
  .cross-talk-sections__item:first-of-type::before {
    height: 0.5px;
  }
}
.cross-talk-sections__item:nth-of-type(even) {
  position: relative;
}
.cross-talk-sections__item:nth-of-type(even)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: var(--color);
  opacity: 0.1;
}

.cross-talk-sections__item-inner {
  padding-top: 13.6rem;
}
@media screen and (min-width: 768px) {
  .cross-talk-sections__item-inner {
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk-sections__item-inner {
    padding-top: 18rem;
  }
}
.cross-talk-sections__item:not(:last-of-type) .cross-talk-sections__item-inner {
  padding-bottom: 13.6rem;
}
@media screen and (max-width: 767px) {
  .cross-talk-sections__item:not(:last-of-type) .cross-talk-sections__item-inner {
    padding-bottom: 36rem;
  }
}

@media screen and (min-width: 768px) {
  .cross-talk-sections__item-container {
    display: grid;
    grid-template-columns: max-content 1fr;
    grid-template-row: auto auto;
    gap: 4.8rem 6.4rem;
    padding-left: 16.8rem;
  }
}
@media screen and (min-width: 768px) {
  .cross-talk-sections__item:nth-of-type(even) .cross-talk-sections__item-container {
    grid-template-columns: 1fr max-content;
    padding-right: 6.8rem;
    padding-left: 10rem;
  }
}

.cross-talk-sections__item-heading-label {
  margin-top: -0.75rem;
  display: block;
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  font-size: 6.8rem;
  font-family: var(--font-serif);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-right: 0.125em;
  padding-left: 0.125em;
  padding-bottom: 0.5em;
  color: var(--color);
  border-bottom: 0.2rem solid currentColor;
}
@media screen and (max-width: 767px) {
  .cross-talk-sections__item-heading-label {
    padding-bottom: 0.6em;
    font-size: 9.6rem;
    border-width: 0.36rem;
  }
}

.cross-talk-sections__item-heading-label-text {
  opacity: 0.8;
}

.cross-talk-sections__item-heading-large {
  display: block;
  line-height: 1.45;
  font-size: 3.8rem;
  font-weight: 700;
  margin-top: 1.125em;
}
@media screen and (min-width: 768px) {
  .cross-talk-sections__item-heading-large {
    margin-right: auto;
    margin-left: auto;
    writing-mode: vertical-rl;
    text-orientation: upright;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk-sections__item-heading-large {
    text-align: center;
    font-size: 6.4rem;
  }
}
@media screen and (min-width: 768px) {
  .cross-talk-sections__item-heading-large.cross-talk-sections__item-heading-large--has-bracket {
    font-family: var(--font-sans-no-yakuhan);
    font-feature-settings: "vpal";
    letter-spacing: 0.05em;
  }
}

@media screen and (min-width: 768px) {
  .cross-talk-sections__item-content {
    grid-column: 2;
    grid-row: 1/span 2;
  }
}
@media screen and (min-width: 768px) {
  .cross-talk-sections__item:nth-of-type(even) .cross-talk-sections__item-content {
    grid-column: 1;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk-sections__item-content {
    margin-top: 9.6rem;
  }
}

.cross-talk-talks {
  --tail-size: 3rem;
}
@media screen and (max-width: 767px) {
  .cross-talk-talks {
    padding-right: calc(var(--page-gutter) * 0.75);
    padding-left: var(--page-gutter);
    --tail-size: 4.3rem;
  }
}

.cross-talk-talks__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4rem;
  margin-right: var(--tail-size);
  padding-top: 2.4rem;
  padding-right: 3.8rem;
  padding-bottom: 2.4rem;
  padding-left: 3.8rem;
}
@media screen and (max-width: 767px) {
  .cross-talk-talks__item {
    align-items: flex-start;
    gap: 6.4rem;
    padding-top: 6.4rem;
    padding-right: 6rem;
    padding-bottom: 6.4rem;
    padding-left: 5.2rem;
  }
}
.cross-talk-talks__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: var(--color);
  border-radius: 2.8rem;
}
@media screen and (max-width: 767px) {
  .cross-talk-talks__item::before {
    border-radius: 4rem;
  }
}
.cross-talk-talks__item:nth-of-type(odd)::before {
  opacity: 0.12;
}
.cross-talk-talks__item:nth-of-type(even)::before {
  opacity: 0.3;
}
@media screen and (min-width: 768px) {
  .cross-talk-sections__item:nth-of-type(even) .cross-talk-talks__item:nth-of-type(odd)::before {
    opacity: 1;
    background-color: white;
  }
}
.cross-talk-talks__item + .cross-talk-talks__item {
  margin-top: 2.7rem;
}
@media screen and (max-width: 767px) {
  .cross-talk-talks__item + .cross-talk-talks__item {
    margin-top: 5.6rem;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk-talks__item.cross-talk-talks__item--sp-align-center {
    align-items: center;
  }
}

.cross-talk-talks__item-header {
  position: relative;
  flex-shrink: 0;
}

.cross-talk-talks__item-staff-thumbnail {
  width: 9.4rem;
  aspect-ratio: 1;
  padding-bottom: 4.8rem;
}
@media screen and (max-width: 767px) {
  .cross-talk-talks__item-staff-thumbnail {
    width: 20rem;
    padding-bottom: 11.2rem;
  }
}
.cross-talk-talks__item-staff-thumbnail img {
  border-radius: 50%;
}

.cross-talk-talks__item-staff-data {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

.cross-talk-talks__item-staff-annual {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--color);
}
@media screen and (max-width: 767px) {
  .cross-talk-talks__item-staff-annual {
    font-size: 3.4rem;
  }
}

.cross-talk-talks__item-staff-position {
  font-size: 1.3rem;
  letter-spacing: 0.02em;
  font-weight: 500;
  margin-top: 0.55em;
}
@media screen and (max-width: 767px) {
  .cross-talk-talks__item-staff-position {
    letter-spacing: -0.05em;
    font-size: 3.2rem;
  }
}

.cross-talk-talks__item-body {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: justify;
  letter-spacing: normal;
}
@media screen and (max-width: 767px) {
  .cross-talk-talks__item-body {
    margin-top: 0.25em;
    line-height: 1.7;
    font-size: 4rem;
  }
}

.cross-talk-talks__item-balloon-tail {
  position: absolute;
  top: 2.2rem;
  right: 0.01em;
  width: var(--tail-size);
  transform: translateX(100%);
  fill: var(--color);
}
@media screen and (max-width: 767px) {
  .cross-talk-talks__item-balloon-tail {
    top: 4rem;
  }
}
.cross-talk-talks__item:nth-of-type(odd) .cross-talk-talks__item-balloon-tail {
  opacity: 0.12;
}
.cross-talk-talks__item:nth-of-type(even) .cross-talk-talks__item-balloon-tail {
  opacity: 0.3;
}
@media screen and (min-width: 768px) {
  .cross-talk-sections__item:nth-of-type(even) .cross-talk-talks__item:nth-of-type(odd) .cross-talk-talks__item-balloon-tail {
    opacity: 1;
    fill: white;
  }
}

@media screen and (min-width: 768px) {
  .cross-talk-sections__item-image {
    align-self: end;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk-sections__item-image {
    display: block;
    width: 64rem;
    margin-right: auto;
    margin-left: auto;
    margin-top: 20rem;
  }
}
.cross-talk-sections__item-image img {
  border-radius: 2.8rem;
}
@media screen and (max-width: 767px) {
  .cross-talk-sections__item-image img {
    border-radius: 7rem;
  }
}

.cross-talk-footer {
  --container-width: 100rem;
  margin-top: 20rem;
}
@media screen and (min-width: 768px) {
  .cross-talk-footer {
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk-footer {
    margin-top: 36rem;
  }
}
@media screen and (min-width: 768px) {
  .cross-talk-footer img {
    border-radius: 2.8rem;
  }
}

/*
business
*/
.business-hero {
  position: relative;
}

.business-hero__content {
  left: 50%;
  top: 50%;
  z-index: 1;
  transform: translateX(-50%) translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  min-width: 72rem;
  min-height: 22.3rem;
  padding-top: 2em;
  padding-right: 2em;
  padding-bottom: 2em;
  padding-left: 2em;
  border-radius: 2.8rem;
  overflow: hidden;
  color: white;
}
@media screen and (max-width: 767px) {
  .business-hero__content {
    min-width: 72rem;
    min-height: 26rem;
  }
}
@media screen and (max-width: 767px) {
  .business-hero__content.business-hero__content--sp-full-width {
    width: 100%;
    border-radius: 0;
  }
}

.business-hero__content__bg {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
  opacity: 0.8;
}
.business-hero__content__bg img {
  width: 228.6111111111%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-33.4645669291%);
}
.business-hero__content.business-hero__content--sp-full-width .business-hero__content__bg {
  opacity: 1;
}

.business-hero__title {
  text-align: center;
  white-space: nowrap;
}

.business-hero__title-small {
  display: block;
  line-height: 1;
  font-family: var(--font-serif);
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .business-hero__title-small {
    font-size: 3.2rem;
  }
}

.business-hero__title-large {
  display: block;
  margin-top: 0.55em;
  line-height: 1.4;
  font-weight: 700;
  font-size: 3.6rem;
}
@media screen and (max-width: 767px) {
  .business-hero__title-large {
    margin-top: 0.65em;
    font-size: 5rem;
  }
}

.business-lead {
  padding-top: 11.4rem;
  padding-bottom: 11.4rem;
}
@media screen and (max-width: 767px) {
  .business-lead {
    padding-top: 9.6rem;
    padding-bottom: 15rem;
  }
}

.business-lead__title {
  font-size: 3.2rem;
  text-align: center;
  color: var(--color-blue);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .business-lead__title {
    font-size: 4.8rem;
  }
}

.business-sections {
  --container-width: 120rem;
  margin-bottom: 8.8rem;
}
@media screen and (max-width: 767px) {
  .business-sections {
    margin-bottom: 18rem;
  }
}

.business-sections__item + .business-sections__item {
  margin-top: 12rem;
  padding-top: 13rem;
  border-top: 1px solid currentColor;
}
@media screen and (max-width: 767px) {
  .business-sections__item + .business-sections__item {
    margin-top: 14rem;
    padding-top: 16rem;
  }
}
.business-sections__item.business-sections__item--bg-blue {
  background-color: var(--color-blue);
  padding-top: 14.6rem;
  padding-bottom: 14.6rem;
}

@media screen and (min-width: 768px) {
  .business-sections__item-inner {
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .business-sections__item-inner {
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}

@media screen and (min-width: 768px) {
  .business-sections__item-header {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 7.2rem;
    align-items: center;
    color: var(--color-navy);
  }
}
.business-sections__item-header-label {
  position: relative;
}
@media screen and (max-width: 767px) {
  .business-sections__item-header-label {
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
  }
}

.business-sections__item-header-label-number {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(calc(-50% + 0.075em));
  display: block;
  line-height: 1;
  font-size: 2.1rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .business-sections__item-header-label-number {
    font-size: 3.8rem;
  }
}

.business-sections__item-header-label-text {
  display: flex;
  align-items: center;
  border-top: 0.3rem solid currentColor;
  border-right: 0.3rem solid currentColor;
  border-bottom: 0.3rem solid currentColor;
  border-top-right-radius: 5em;
  border-bottom-right-radius: 5em;
  clip-path: polygon(0% 1rem, 4rem 1rem, 4rem 0%, 100% 0, 100% 100%, 0 100%);
  line-height: 1.5;
  font-size: 2.1rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .business-sections__item-header-label-text {
    min-width: 32.5rem;
    min-height: 10.2rem;
    padding-right: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .business-sections__item-header-label-text {
    width: fit-content;
    min-width: 56rem;
    min-height: 15rem;
    padding-right: 7.2rem;
    border-width: 0.425rem;
    clip-path: polygon(0% 1rem, 7.2rem 1rem, 7.2rem 0%, 100% 0, 100% 100%, 0 100%);
    font-size: 4rem;
  }
}

.business-sections__item-heading {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.71;
}
@media screen and (max-width: 767px) {
  .business-sections__item-heading {
    font-size: 5rem;
    margin-top: 7.2rem;
    margin-left: calc(var(--page-gutter) * -1);
    margin-right: calc(var(--page-gutter) * -1);
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .business-sections__item-heading.business-sections__item-heading--sp-long-text {
    font-family: var(--font-sans-yakuhan-all);
    font-size: 4.8rem;
  }
}

.business-sections__item-body {
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .business-sections__item-body {
    margin-top: 9.2rem;
  }
}

.business-sections__item-rounded-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 34rem;
  min-height: 8.5rem;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  font-size: 2.1rem;
  font-weight: 700;
  color: white;
  border-radius: 5em;
  background-color: var(--color-navy);
}
@media screen and (max-width: 767px) {
  .business-sections__item-rounded-heading {
    font-size: 4rem;
    min-width: 52rem;
    min-height: 14.6rem;
  }
}

.business-sections__item-body-section + .business-sections__item-body-section {
  margin-top: 12rem;
}
@media screen and (max-width: 767px) {
  .business-sections__item-body-section + .business-sections__item-body-section {
    margin-top: 14.8rem;
  }
}

.business-sections__item-rounded-color-bg-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 0.85em;
  padding-right: 1.5em;
  padding-bottom: 0.85em;
  padding-left: 1.5em;
  border-radius: 5em;
  background-color: var(--color-navy);
  line-height: 1.5;
  text-align: center;
  font-weight: 700;
  font-size: 2.2rem;
  font-weight: 700;
  color: white;
}
@media screen and (max-width: 767px) {
  .business-sections__item-rounded-color-bg-heading {
    font-size: 4.6rem;
    min-height: none;
  }
}

.business-sections__item-rounded-color-bg-heading + .business-sections__item-image {
  margin-top: 3.6rem;
}
@media screen and (max-width: 767px) {
  .business-sections__item-rounded-color-bg-heading + .business-sections__item-image {
    margin-top: 8rem;
  }
}
.business-sections__item-text + .business-sections__item-image {
  margin-top: 5.4rem;
}
@media screen and (max-width: 767px) {
  .business-sections__item-text + .business-sections__item-image {
    margin-top: 9rem;
  }
}
.business-sections__item-image img {
  display: block;
}
@media screen and (max-width: 767px) {
  .business-sections__item-image img.active-tb-pc {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .business-sections__item-image img[src*=business_fudousan-section-01-image] {
    width: 82rem;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (min-width: 768px) {
  .business-sections__item-image img[src*=business_fudousan-section-02-image] {
    width: 80rem;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (min-width: 768px) {
  .business-sections__item-image img[src*=business_sharing-section-02-image] {
    margin-top: 9rem;
    width: 100rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.business-sections__item-text {
  text-align: justify;
  margin-top: 5.4rem;
  line-height: 2.1;
  font-size: 1.7rem;
  letter-spacing: normal;
}
@media screen and (max-width: 767px) {
  .business-sections__item-text {
    margin-top: 9rem;
    line-height: 2;
    font-size: 4.4rem;
  }
}
.business-sections__item-text p + p {
  margin-top: 1.25em;
}
@media screen and (max-width: 767px) {
  .business-sections__item-text.business-sections__item-text--sp-narrow {
    padding-right: 7.2rem;
    padding-left: 7.2rem;
  }
}

.business-cards {
  --pc-columns: 3;
  --pc-gap-x: 3.2rem;
  --pc-gap-y: var(--pc-gap-x);
}
@media screen and (min-width: 768px) {
  .business-cards {
    display: grid;
    grid-template-columns: repeat(var(--pc-columns), 1fr);
    gap: var(--pc-gap-y) var(--pc-gap-x);
  }
}
.business-sections__item-text + .business-cards {
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .business-sections__item-text + .business-cards {
    margin-top: 8.8rem;
  }
}
.business-sections__item-rounded-heading + .business-cards {
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .business-sections__item-rounded-heading + .business-cards {
    margin-top: 11.2rem;
  }
}
.business-cards + .business-cards {
  margin-top: 10.8rem;
}
@media screen and (max-width: 767px) {
  .business-cards + .business-cards {
    margin-top: 14.8rem;
  }
}
@media screen and (min-width: 768px) {
  .business-cards[style*="--pc-columns: 1"] {
    width: calc(50% - var(--pc-gap-x) / 2);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (min-width: 768px) {
  .business-cards.business-cards--pc-columns-2-centered[style*="--pc-columns: 2"] {
    width: calc(66.6666666667% - (var(--pc-gap-x)));
    margin-right: auto;
    margin-left: auto;
  }
}

@media screen and (min-width: 768px) {
  .business-cards__item {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .business-cards__item + .business-cards__item {
    margin-top: 14.8rem;
  }
}

.business-cards__item-thumbnail {
  position: relative;
  z-index: 1;
  border-radius: 2rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .business-cards__item-thumbnail {
    border-radius: 4rem;
  }
}
.business-cards__item-header + .business-cards__item-thumbnail {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .business-cards__item-header + .business-cards__item-thumbnail {
    margin-top: 7rem;
  }
}
.business-cards__item-thumbnail.business-cards__item-thumbnail--border {
  border-radius: 3rem;
  border: 0.283rem solid currentColor;
}
@media screen and (max-width: 767px) {
  .business-cards__item-thumbnail.business-cards__item-thumbnail--border {
    border-radius: 6rem;
    border-width: 0.4rem;
  }
}

.business-cards__item-thumbnail-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-family: var(--font-Barlow);
  font-size: 2.2rem;
  font-weight: 700;
  color: white;
}
@media screen and (max-width: 767px) {
  .business-cards__item-thumbnail-text {
    font-size: 6.8rem;
    letter-spacing: 0.06em;
  }
}

.business-cards__item-body {
  margin-top: 3.6rem;
}
@media screen and (max-width: 767px) {
  .business-cards__item-body {
    margin-top: 8rem;
  }
}
@media screen and (min-width: 768px) {
  .business-cards__item-body.business-cards__item-body--pc-narrow-width {
    padding-right: 1.2rem;
    padding-left: 1.2rem;
  }
}

.business-cards__item-body-inner-image {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .business-cards__item-body-inner-image {
    margin-top: 6.4rem;
  }
}

.business-cards__item-heading {
  text-align: center;
  line-height: 1.71;
  font-weight: 700;
  color: var(--color-navy);
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .business-cards__item-heading {
    font-size: 5rem;
  }
}
.business-cards__item-heading.business-cards__item-heading--width-short-underline {
  line-height: 1.6;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .business-cards__item-heading.business-cards__item-heading--width-short-underline {
    font-size: 5.4rem;
  }
}
.business-cards__item-heading.business-cards__item-heading--width-short-underline::after {
  content: "";
  display: block;
  width: 1.25em;
  height: 1px;
  margin-top: 0.65em;
  margin-right: auto;
  margin-left: auto;
  background-color: currentColor;
}
@media screen and (max-width: 767px) {
  .business-cards__item-heading.business-cards__item-heading--width-short-underline::after {
    margin-top: 0.6em;
  }
}
.business-cards__item-heading.business-cards__item-heading--larger-blue {
  line-height: 1.6;
  font-size: 2.4rem;
  color: var(--color-blue);
}
@media screen and (max-width: 767px) {
  .business-cards__item-heading.business-cards__item-heading--larger-blue {
    font-size: 5.4rem;
  }
}

.business-cards__item-description {
  line-height: 2.1;
  font-size: 1.7rem;
  text-align: justify;
  letter-spacing: normal;
}
@media screen and (max-width: 767px) {
  .business-cards__item-description {
    line-height: 2;
    font-size: 4.4rem;
  }
}
@media screen and (min-width: 768px) {
  .business-cards__item-header + .business-cards__item-description {
    margin-top: 8rem;
  }
}
@media screen and (max-width: 767px) {
  .business-cards__item-header + .business-cards__item-description {
    margin-top: 2.4rem;
  }
}
@media screen and (min-width: 768px) {
  .business-cards__item-heading + .business-cards__item-description {
    margin-top: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .business-cards__item-heading + .business-cards__item-description {
    margin-top: 6.4rem;
  }
}
@media screen and (min-width: 768px) {
  .business-cards__item-heading.business-cards__item-heading--larger-blue + .business-cards__item-description {
    margin-top: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .business-cards__item-heading.business-cards__item-heading--larger-blue + .business-cards__item-description {
    margin-top: 5.6rem;
  }
}
@media screen and (min-width: 768px) {
  .business-cards__item-description.business-cards__item-description--pc-narrow-width {
    padding-right: 2.8rem;
    padding-left: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .business-cards__item-description.business-cards__item-description--sp-narrow-width {
    padding-right: 7.2rem;
    padding-left: 7.2rem;
  }
}

.business-cards__item-footer {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .business-cards__item-footer {
    margin-top: auto;
    padding-top: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .business-cards__item-footer {
    margin-top: 8rem;
  }
}
.business-cards__item-footer .button {
  min-width: 26rem;
}
@media screen and (max-width: 767px) {
  .business-cards__item-footer .button {
    min-width: none;
    max-width: 64rem;
  }
}

.business-text-and-image {
  display: flex;
}
@media screen and (min-width: 768px) {
  .business-text-and-image {
    gap: 9.2rem;
  }
}
@media screen and (max-width: 767px) {
  .business-text-and-image {
    flex-direction: column;
    gap: 8rem;
  }
}

.business-text-and-image__text {
  line-height: 2.1;
  text-align: justify;
  font-size: 1.7rem;
  letter-spacing: normal;
}
@media screen and (max-width: 767px) {
  .business-text-and-image__text {
    line-height: 2;
    font-size: 4.4rem;
  }
}
@media screen and (max-width: 767px) {
  .business-text-and-image__text.business-text-and-image__text--sp-narrow-width {
    padding-right: 7.2rem;
    padding-left: 7.2rem;
  }
}

.business-text-and-image__image {
  flex-shrink: 0;
}
.business-text-and-image__image img {
  display: block;
}
@media screen and (min-width: 768px) {
  .business-text-and-image__image img[src*=business_sharing-section-03-column-image] {
    padding-right: 1.2rem;
    width: 55.3rem;
  }
}
@media screen and (max-width: 767px) {
  .business-text-and-image__image img[src*=business_sharing-section-03-column-image] {
    width: 98.4rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.business-case__item {
  padding-top: 4.4rem;
  padding-right: 10rem;
  padding-bottom: 4.4rem;
  padding-left: 10rem;
  background-color: white;
  border-radius: 2.8rem;
}
@media screen and (max-width: 767px) {
  .business-case__item {
    padding-top: 6.4rem;
    padding-right: 7.2rem;
    padding-bottom: 6.4rem;
    padding-left: 7.2rem;
    border-radius: 3.2rem;
  }
}
.business-case__item + .business-case__item {
  margin-top: 3rem;
}

.business-case__item-header {
  --trigger-size: 5.6rem;
  display: block;
  width: 100%;
  text-align: left;
  position: relative;
}
@media screen and (max-width: 767px) {
  .business-case__item-header {
    --trigger-size: 8rem;
  }
}

.business-case__item-heading {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 7rem;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .business-case__item-heading {
    gap: 4.4rem;
  }
}

.business-case__item-heading-label {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 2.9rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .business-case__item-heading-label {
    gap: 2.4rem;
  }
}

.business-case__item-heading-case {
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 2.2rem;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .business-case__item-heading-case {
    font-size: 3rem;
  }
}

.business-case__item-heading-number {
  padding-right: 0.075em;
  padding-bottom: 0.2em;
  padding-left: 0.075em;
  border-bottom: 0.25rem solid currentColor;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 4.8rem;
  letter-spacing: -0.01em;
}
@media screen and (min-width: 768px) {
  .business-case__item-heading-number {
    margin-top: -0.1em;
  }
}
@media screen and (max-width: 767px) {
  .business-case__item-heading-number {
    font-size: 5.6rem;
    border-width: 0.6rem;
    padding-bottom: 0.3em;
  }
}

.business-case__item-heading-text {
  margin-top: 0.175em;
  padding-right: 2em;
  line-height: 1.5;
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--color-blue);
}
@media screen and (max-width: 767px) {
  .business-case__item-heading-text {
    margin-top: 0.1em;
    font-size: 4.8rem;
  }
}

.business-case__item-header-trigger {
  width: var(--trigger-size);
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateX(100%) translateY(-50%);
}
@media screen and (max-width: 767px) {
  .business-case__item-header-trigger {
    right: 5.6rem;
    transform: translateX(100%) translateY(-73%);
  }
}

.business-case__item-header-trigger-icon {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1;
  background-color: rgba(2, 64, 153, 0.3);
  border-radius: 50%;
}
.business-case__item-header-trigger-icon::before, .business-case__item-header-trigger-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  display: block;
  width: 2.5rem;
  height: 0.3rem;
  background-color: white;
}
@media screen and (max-width: 767px) {
  .business-case__item-header-trigger-icon::before, .business-case__item-header-trigger-icon::after {
    width: 3.6rem;
    height: 0.5rem;
  }
}
.business-case__item-header-trigger-icon::after {
  transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  transition: transform 0.25s ease-out;
}
button.--active .business-case__item-header-trigger-icon::after {
  transform: translateX(-50%) translateY(-50%) rotate(0deg);
}

.business-case__item-header-trigger-text {
  position: absolute;
  left: 50%;
  bottom: -0.85em;
  transform: translateX(-50%) translateY(100%);
  font-size: 1rem;
  font-weight: 700;
  width: 100%;
  height: 1em;
  text-align: center;
  line-height: 1;
  color: var(--color-dark-blue);
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .business-case__item-header-trigger-text {
    bottom: -0.6em;
    font-size: 2.4rem;
  }
}

.business-case__item-header-trigger-text-open {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  transition: opacity 0.25s ease-out, visibility 0.25s ease-out;
}
button.--active .business-case__item-header-trigger-text-open {
  opacity: 0;
  visibility: hidden;
}

.business-case__item-header-trigger-text-close {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease-out, visibility 0.25s ease-out;
}
button.--active .business-case__item-header-trigger-text-close {
  opacity: 1;
  visibility: visible;
}

.business-case__item-body-inner {
  padding-top: 4.4rem;
  padding-bottom: 2.4rem;
}
@media screen and (max-width: 767px) {
  .business-case__item-body-inner {
    padding-top: 6.4rem;
    padding-bottom: 4.8rem;
  }
}

.business-case__item-body-lead {
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .business-case__item-body-lead {
    text-align: justify;
    font-size: 4.4rem;
  }
}

.business-case__item-body-section + .business-case__item-body-section {
  margin-top: 4.4rem;
}
@media screen and (max-width: 767px) {
  .business-case__item-body-section + .business-case__item-body-section {
    margin-top: 8.8rem;
  }
}

@media screen and (min-width: 768px) {
  .business-case__item-body-heading-and-text {
    --pc-align-items: center;
    display: grid;
    grid-template-columns: max-content 1fr;
    align-items: var(--pc-align-items);
    gap: 3.4rem;
  }
}
.business-case__item-body-heading-and-text + .business-case__item-body-heading-and-text {
  margin-top: 2.8rem;
}
@media screen and (max-width: 767px) {
  .business-case__item-body-heading-and-text + .business-case__item-body-heading-and-text {
    margin-top: 5.6rem;
  }
}

.business-case__item-body-heading-and-text-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5em;
  border: 0.24rem solid currentColor;
  color: var(--color-navy);
  min-width: 26.5rem;
  padding-top: 1em;
  padding-right: 1.5em;
  padding-bottom: 1em;
  padding-left: 1.5em;
  line-height: 1.4;
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .business-case__item-body-heading-and-text-heading {
    height: 6.3rem;
  }
}
@media screen and (max-width: 767px) {
  .business-case__item-body-heading-and-text-heading {
    width: fit-content;
    min-width: 52rem;
    min-height: 11rem;
    border-width: 0.4rem;
    font-size: 3.6rem;
  }
}

.business-case__item-body-heading-and-text-text {
  text-align: justify;
  font-size: 1.6rem;
  letter-spacing: normal;
}
@media screen and (max-width: 767px) {
  .business-case__item-body-heading-and-text-text {
    margin-top: 0.75em;
    line-height: 1.9;
    font-size: 4.4rem;
  }
}

/*
training
*/
.training-tab {
  --color: #2961ad;
}

.training-tab__header {
  display: flex;
}

button.training-tab__trigger {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 0.1em;
  width: 100%;
  min-height: 6.8rem;
  border-top-right-radius: 2.8rem;
  border-top-left-radius: 2.8rem;
  background-color: rgba(255, 255, 255, 0.5);
  line-height: 1.4;
  text-align: center;
  font-size: 2.1rem;
  font-weight: 700;
  color: var(--color);
  transition: color 0.25s ease-out, background-color 0.25s ease-out;
}
@media screen and (max-width: 767px) {
  button.training-tab__trigger {
    border-top-right-radius: 3.2rem;
    border-top-left-radius: 3.2rem;
    font-size: 4.2rem;
    min-height: 12rem;
  }
}
button.training-tab__trigger.--active {
  pointer-events: none;
  background-color: var(--color);
  color: white;
}
html:not(.touch-device) button.training-tab__trigger:hover {
  background-color: rgba(255, 255, 255, 0.6);
}
button.training-tab__trigger:hover {
  opacity: 1;
}

.training-tab__trigger-text {
  display: block;
}
html:not(.touch-device) button:hover .training-tab__trigger-text {
  transition: opacity 0.25s ease-out;
  opacity: 0.8;
}

.training-tab__content {
  background-color: var(--color);
  padding-top: 2.4rem;
  padding-right: 2.6rem;
  padding-bottom: 2.4rem;
  padding-left: 2.6rem;
  border-bottom-right-radius: 2.8rem;
  border-bottom-left-radius: 2.8rem;
}
@media screen and (max-width: 767px) {
  .training-tab__content {
    border-bottom-right-radius: 3.2rem;
    border-bottom-left-radius: 3.2rem;
  }
}

.training-tab__content-inner {
  position: relative;
  z-index: 1;
  background-color: white;
  border-radius: 2.8rem;
  overflow: hidden;
}

.training-topics {
  --color: #2961ad;
  margin-top: 8rem;
}
@media screen and (min-width: 768px) {
  .training-topics {
    display: grid;
    grid-template-columns: 1fr 1fr 49.1rem;
    gap: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .training-topics {
    margin-top: 19rem;
  }
}

.training-topics__item.training-topics__item--left-border {
  padding-left: 2.4rem;
  border-left: 0.28rem solid var(--color);
  padding-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .training-topics__item.training-topics__item--left-border {
    display: grid;
    grid-template-columns: 20rem 1fr;
    border-left: 0.51rem solid var(--color);
    padding-left: 6.4rem;
    margin-left: 5.8rem;
    padding-bottom: 1.25em;
  }
}
@media screen and (max-width: 767px) {
  .training-topics__item + .training-topics__item {
    margin-top: 11rem;
  }
}

@media screen and (min-width: 768px) {
  .training-topics__item-header {
    display: grid;
    grid-template-columns: max-content 1fr;
  }
}
@media screen and (max-width: 767px) {
  .training-topics__item-header {
    justify-self: start;
  }
}

@media screen and (min-width: 768px) {
  .training-topics__item-icon {
    width: 7.8rem;
  }
}
.training-topics__item-icon img {
  width: 5.2rem;
}
@media screen and (max-width: 767px) {
  .training-topics__item-icon img {
    display: block;
    width: 11rem;
    margin-right: auto;
    margin-left: auto;
  }
}
.training-topics__item-icon img[src*=training-lesson-icon] {
  width: 5.2rem;
}
@media screen and (max-width: 767px) {
  .training-topics__item-icon img[src*=training-lesson-icon] {
    width: 11rem;
    transform: translateX(7%);
  }
}
.training-topics__item-icon img[src*=training-field-work-icon] {
  width: 4.3rem;
}
@media screen and (max-width: 767px) {
  .training-topics__item-icon img[src*=training-field-work-icon] {
    width: 8.8rem;
    transform: translateX(2%);
  }
}

.training-topics__item-title {
  color: var(--color);
}
@media screen and (max-width: 767px) {
  .training-topics__item-title {
    margin-top: 1.25em;
    writing-mode: vertical-lr;
  }
}

.training-topics__item-title-large {
  display: block;
  font-size: 2.4rem;
  line-height: 1.4;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .training-topics__item-title-large {
    font-size: 5.6rem;
  }
}

.training-topics__item-title-small {
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
  .training-topics__item-title-small {
    margin-top: 0.125em;
  }
}
@media screen and (max-width: 767px) {
  .training-topics__item-title-small {
    font-size: 3.2rem;
  }
}

@media screen and (min-width: 768px) {
  .training-topics__item-body {
    margin-top: 3.2rem;
  }
}

.training-topics__item-list {
  padding-left: 1em;
  line-height: 1.7;
  text-indent: -1em;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .training-topics__item-list {
    margin-top: -0.25em;
    font-size: 4rem;
  }
}
.training-topics__item-list li + li {
  margin-top: 0.35em;
}
@media screen and (max-width: 767px) {
  .training-topics__item-list li + li {
    margin-top: 0.4em;
  }
}

.training-topics__item-rounded-box {
  --overhang-size: 9.4rem;
  --overhang-height: 2.4rem;
  --border-width: 0.28rem;
  --bg-color: var(--color-blue);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .training-topics__item-rounded-box {
    --overhang-size: 22rem;
    --overhang-height: 5.4rem;
    --border-width: 0.48rem;
  }
}

.training-topics__item-rounded-box-inner {
  border: var(--border-width) solid var(--color-navy);
  padding-top: 0.8rem;
  padding-right: 3.8rem;
  padding-bottom: 3.2rem;
  padding-left: 3.8rem;
  border-radius: 2.8rem;
  clip-path: polygon(0 0, calc(50% - var(--overhang-size) * 0.82 / 2) 0, calc(50% - var(--overhang-size) * 0.82 / 2) calc(var(--border-width) + 0.1px), calc(50% + var(--overhang-size) * 0.82 / 2) calc(var(--border-width) + 0.1px), calc(50% + var(--overhang-size) * 0.82 / 2) 0, 100% 0, 100% 100%, 0 100%);
}
@media screen and (max-width: 767px) {
  .training-topics__item-rounded-box-inner {
    padding-top: 2rem;
    padding-right: var(--page-gutter);
    padding-bottom: 12rem;
    padding-left: var(--page-gutter);
  }
}
.training-topics__item-rounded-box-inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: var(--bg-color);
  opacity: 0.05;
  border-radius: 2.8rem;
}

.training-topics__item-rounded-box-overhang {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(calc(var(--overhang-height) * -1 + 0.225rem));
  width: var(--overhang-size);
  aspect-ratio: 1;
  border: var(--border-width) solid var(--color-navy);
  border-radius: 50%;
  clip-path: inset(0 0 calc(100% - var(--overhang-height)) 0);
}
@media screen and (max-width: 767px) {
  .training-topics__item-rounded-box-overhang {
    transform: translateX(-50%) translateY(calc(var(--overhang-height) * -1 + 0.41rem));
  }
}
.training-topics__item-rounded-box-overhang::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--bg-color);
  opacity: 0.05;
  border-radius: 50%;
}

.training-topics__item-rounded-box-icon img {
  display: block;
  width: 4rem;
  margin-right: auto;
  margin-left: auto;
}
.training-topics__item-rounded-box-icon img[src*=training-seminar-icon] {
  width: 4rem;
}
@media screen and (max-width: 767px) {
  .training-topics__item-rounded-box-icon img[src*=training-seminar-icon] {
    width: 9.8rem;
  }
}

.training-topics__item-rounded-box-heading {
  margin-top: 1.1em;
  line-height: 1.4;
  text-align: center;
  color: var(--color-navy);
  font-size: 2.1rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .training-topics__item-rounded-box-heading {
    font-size: 4.8rem;
  }
}

.training-topics__item-rounded-box-body {
  margin-top: 1.35em;
  font-size: 1.6rem;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .training-topics__item-rounded-box-body {
    margin-top: 1.5em;
    font-size: 4.2rem;
  }
}

/*
benefits
*/
.realvoice-modal {
  --container-width: 100rem;
  --color: var(--color-dark-blue);
  margin-top: 12rem;
  margin-bottom: 12rem;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .realvoice-modal {
    margin-top: 19rem;
    margin-bottom: 19rem;
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}
.realvoice-modal > * {
  pointer-events: auto;
}

.realvoice-modal__container {
  position: relative;
  border-radius: 2.8rem;
  padding-top: 3.8rem;
  padding-right: 6rem;
  padding-left: 4rem;
  padding-bottom: 5.6rem;
  overflow: hidden;
  background-color: white;
  filter: drop-shadow(0.6rem 0.6rem 1.4rem rgba(0, 0, 0, 0.3));
}
@media screen and (min-width: 768px) {
  .realvoice-modal__container {
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .realvoice-modal__container {
    padding-top: 6.4rem;
    padding-right: var(--page-gutter);
    padding-bottom: 0;
    padding-left: var(--page-gutter);
    border-radius: 4.8rem;
  }
}
@media screen and (max-width: 767px) {
  .realvoice-modal__container {
    filter: drop-shadow(1.2rem 1.2rem 2.4rem rgba(0, 0, 0, 0.3));
  }
}

button.realvoice-modal__close {
  position: absolute;
  top: 3.8rem;
  right: 2.8rem;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 13rem;
  height: 4.8rem;
  background-color: var(--color-blue);
  border-radius: 5em;
  font-size: 1.5rem;
  text-align: center;
  letter-spacing: 0.05em;
  font-family: var(--font-serif);
  font-weight: 700;
  color: white;
}
@media screen and (max-width: 767px) {
  button.realvoice-modal__close {
    top: 4rem;
    right: 4rem;
    width: 24rem;
    height: 9.2rem;
    font-size: 3.2rem;
  }
}

.realvoice-modal__pc-grid {
  display: contents;
}
@media screen and (min-width: 768px) {
  .realvoice-modal__pc-grid {
    display: grid;
    grid-template-columns: 36.6rem 1fr;
    align-items: start;
    gap: 5.8rem;
  }
}

.realvoice-modal__profile {
  --color: var(--color-navy);
  display: flex;
  align-items: center;
  gap: 1.1em;
}
@media screen and (max-width: 767px) {
  .realvoice-modal__profile {
    gap: 1.25em;
  }
}

.realvoice-modal__thumbnail {
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  width: 14rem;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 0.2rem solid var(--color);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .realvoice-modal__thumbnail {
    border-width: 0.4rem;
    width: 24rem;
  }
}
.realvoice-modal__thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.realvoice-modal__data {
  color: var(--color);
}

.realvoice-modal__data-text {
  display: block;
  line-height: 1.4;
  font-size: 2.4rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .realvoice-modal__data-text {
    font-size: 5.2rem;
  }
}

.realvoice-modal__data-note {
  margin-top: 0.125em;
  line-height: 1.4;
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .realvoice-modal__data-note {
    font-size: 3rem;
  }
}

.realvoice-modal__heading {
  margin-top: 4rem;
  line-height: 1.5;
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--color);
}
@media screen and (max-width: 767px) {
  .realvoice-modal__heading {
    margin-top: 9.6rem;
    font-size: 6rem;
  }
}

.realvoice-modal__body {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .realvoice-modal__body {
    margin-top: 6.4rem;
  }
}

.realvoice-modal__body-section + .realvoice-modal__body-section {
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .realvoice-modal__body-section + .realvoice-modal__body-section {
    margin-top: 7.2rem;
  }
}

.realvoice-modal__body-section-heading {
  line-height: 1.5;
  font-size: 2rem;
  font-weight: 700;
  color: var(--color);
}
@media screen and (max-width: 767px) {
  .realvoice-modal__body-section-heading {
    font-size: 4.6rem;
  }
}

.realvoice-modal__body-section-text {
  margin-top: 0.5em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .realvoice-modal__body-section-text {
    font-size: 4.2rem;
  }
}

.realvoice-modal__images {
  position: relative;
  z-index: 1;
  border-radius: 2.8rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .realvoice-modal__images {
    grid-row: 1;
    grid-column: 1;
  }
}
@media screen and (max-width: 767px) {
  .realvoice-modal__images {
    margin-top: 10.4rem;
    border-radius: 4rem;
  }
}

.realvoice-modal__images-item {
  position: relative;
}
.realvoice-modal__images-item img[src*=realvoice-04-modal-image-01-label-kanto] {
  position: absolute;
  right: 1.6rem;
  bottom: 1.6rem;
  z-index: 1;
  display: block;
  width: 8.6rem;
}
@media screen and (max-width: 767px) {
  .realvoice-modal__images-item img[src*=realvoice-04-modal-image-01-label-kanto] {
    right: 3.2rem;
    bottom: 3.2rem;
    width: 25rem;
  }
}
.realvoice-modal__images-item img[src*=realvoice-04-modal-image-01-label-kansai] {
  position: absolute;
  left: 1.6rem;
  bottom: 1.6rem;
  z-index: 1;
  display: block;
  width: 8.6rem;
}
@media screen and (max-width: 767px) {
  .realvoice-modal__images-item img[src*=realvoice-04-modal-image-01-label-kansai] {
    left: 3.2rem;
    bottom: 3.2rem;
    width: 25rem;
  }
}
.realvoice-modal__images-item.realvoice-modal__images-item--figure-blue-bg {
  position: relative;
  padding-top: 2rem;
  padding-right: 2rem;
  padding-bottom: 2rem;
  padding-left: 2rem;
}
@media screen and (max-width: 767px) {
  .realvoice-modal__images-item.realvoice-modal__images-item--figure-blue-bg {
    padding-top: 4.8rem;
    padding-right: 4.8rem;
    padding-bottom: 4.8rem;
    padding-left: 4.8rem;
  }
}
.realvoice-modal__images-item.realvoice-modal__images-item--figure-blue-bg picture,
.realvoice-modal__images-item.realvoice-modal__images-item--figure-blue-bg img {
  display: block;
}
.realvoice-modal__images-item.realvoice-modal__images-item--figure-blue-bg picture + picture,
.realvoice-modal__images-item.realvoice-modal__images-item--figure-blue-bg img + img {
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .realvoice-modal__images-item.realvoice-modal__images-item--figure-blue-bg picture + picture,
  .realvoice-modal__images-item.realvoice-modal__images-item--figure-blue-bg img + img {
    margin-top: 4rem;
  }
}
.realvoice-modal__images-item.realvoice-modal__images-item--figure-blue-bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--color-blue);
  opacity: 0.3;
}
.realvoice-modal__images-item.realvoice-modal__images-item--figure {
  position: relative;
  padding-top: 2rem;
  padding-right: 2rem;
  padding-bottom: 2rem;
  padding-left: 2rem;
}
@media screen and (max-width: 767px) {
  .realvoice-modal__images-item.realvoice-modal__images-item--figure {
    padding-top: 4.8rem;
    padding-right: 4.8rem;
    padding-bottom: 4.8rem;
    padding-left: 4.8rem;
  }
}
.realvoice-modal__images-item.realvoice-modal__images-item--figure img[src*=realvoice-04-modal-image-02] {
  width: 26.8rem;
  display: block;
  margin-right: auto;
  margin-left: auto;
  transform: translateX(5%);
}
@media screen and (max-width: 767px) {
  .realvoice-modal__images-item.realvoice-modal__images-item--figure img[src*=realvoice-04-modal-image-02] {
    width: 70rem;
  }
}
.realvoice-modal__images-item.realvoice-modal__images-item--rounded {
  position: relative;
  z-index: 1;
  border-radius: 2.8rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .realvoice-modal__images-item.realvoice-modal__images-item--rounded {
    border-radius: 4rem;
  }
}

.realvoice-modal__footer {
  display: none;
}
@media screen and (max-width: 767px) {
  .realvoice-modal__footer {
    display: block;
    margin-top: 12rem;
    margin-right: calc(var(--page-gutter) * -1);
    margin-left: calc(var(--page-gutter) * -1);
  }
}

.realvoice-modal__footer-close {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 13rem;
  height: 8rem;
  margin-right: auto;
  margin-left: auto;
  background-color: #ededed;
  font-size: 1.5rem;
  text-align: center;
  font-family: var(--font-serif);
  font-weight: 700;
  color: var(--color-blue);
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .realvoice-modal__footer-close {
    top: 4rem;
    right: 4rem;
    width: 100%;
    height: 17rem;
    font-size: 4.2rem;
  }
}

/*
recruit
*/
.recruit-message {
  --container-width: 120rem;
  margin-top: 11.7rem;
  margin-bottom: 12rem;
}
@media screen and (max-width: 767px) {
  .recruit-message {
    margin-top: var(--page-gutter);
    margin-bottom: 18rem;
  }
}

@media screen and (min-width: 768px) {
  .recruit-message__header {
    position: relative;
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .recruit-message__header {
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}

@media screen and (min-width: 768px) {
  .recruit-message__header-image img {
    border-radius: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .recruit-message__header-image img {
    border-top-right-radius: 4rem;
    border-top-left-radius: 4rem;
  }
}

.recruit-message__header-content {
  padding-top: 4rem;
  padding-right: 4.8rem;
  padding-bottom: 4.8rem;
  padding-left: 4.8rem;
  background-color: var(--color-blue);
  color: white;
}
@media screen and (min-width: 768px) {
  .recruit-message__header-content {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translateY(-50%);
    width: 42.3rem;
    border-radius: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .recruit-message__header-content {
    padding-top: 5.6rem;
    padding-right: 9rem;
    padding-bottom: 7.2rem;
    padding-left: 9rem;
    border-bottom-right-radius: 4rem;
    border-bottom-left-radius: 4rem;
  }
}

.recruit-message__header-heading {
  line-height: 1.75;
  font-size: 2.4rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .recruit-message__header-heading {
    line-height: 1.7;
    font-size: 6.2rem;
    white-space: nowrap;
  }
}

.recruit-message__header-profile {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .recruit-message__header-profile {
    margin-top: 4.8rem;
  }
}

.recruit-message__header-name {
  line-height: 1.5;
  display: block;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .recruit-message__header-name {
    font-size: 5.4rem;
  }
}

.recruit-message__header-data {
  margin-top: 0.35em;
  display: block;
  line-height: 1.5;
  font-weight: 500;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .recruit-message__header-data {
    font-size: 4rem;
  }
}

.recruit-message__body {
  margin-top: 12rem;
  padding-right: 10rem;
  padding-left: 10rem;
  text-align: justify;
  line-height: 2;
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .recruit-message__body {
    margin-right: auto;
    margin-left: auto;
    width: var(--container-width);
  }
}
@media screen and (max-width: 767px) {
  .recruit-message__body {
    margin-top: 11rem;
    padding-right: 10rem;
    padding-left: 10rem;
    font-size: 4.2rem;
  }
}
.recruit-message__body p + p {
  margin-top: 1.5em;
}

.requirements-step__section {
  gap: 2.8rem 6.2rem;
  border: 0.3rem solid var(--color-blue);
  border-radius: 2.8rem;
  padding-top: 4.4rem;
  padding-right: 9.6rem;
  padding-bottom: 4.4rem;
  background-color: white;
}
@media screen and (min-width: 768px) {
  .requirements-step__section {
    display: grid;
    grid-template-columns: 22rem 1fr;
    grid-template-rows: auto auto;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .requirements-step__section {
    padding-top: 8rem;
    padding-right: 8.8rem;
    padding-bottom: 9.6rem;
    padding-left: 8.8rem;
    border-width: 0.48rem;
    border-radius: 4rem;
  }
}
.requirements-step__section + .requirements-step__section {
  margin-top: 2.9rem;
}
@media screen and (max-width: 767px) {
  .requirements-step__section + .requirements-step__section {
    margin-top: 5.4rem;
  }
}

.requirements-step__section-heading {
  display: flex;
  align-items: center;
  gap: 1em;
  line-height: 1;
  font-family: var(--font-serif);
  font-weight: 700;
  color: var(--color-blue);
}
@media screen and (min-width: 768px) {
  .requirements-step__section-heading {
    justify-self: end;
  }
}
@media screen and (max-width: 767px) {
  .requirements-step__section-heading {
    justify-content: center;
  }
}

.requirements-step__section-heading-step {
  display: block;
  font-size: 2.4rem;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .requirements-step__section-heading-step {
    font-size: 5rem;
  }
}

.requirements-step__section-heading-number {
  display: block;
  font-size: 4.2rem;
  text-decoration: underline;
  text-underline-offset: 0.325em;
  text-decoration-thickness: 0.05em;
  transform: translateY(-0.1em);
}
@media screen and (max-width: 767px) {
  .requirements-step__section-heading-number {
    font-size: 8.8rem;
  }
}

.requirements-step__section-title {
  line-height: 1.5;
  font-size: 2.6rem;
  font-weight: 700;
  color: var(--color-navy);
}
@media screen and (min-width: 768px) {
  .requirements-step__section-title {
    grid-column: 2;
  }
}
@media screen and (max-width: 767px) {
  .requirements-step__section-title {
    margin-top: 8.8rem;
    text-align: center;
    font-size: 5.6rem;
  }
}

.requirements-step__section-body {
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .requirements-step__section-body {
    grid-column: 2;
  }
}
@media screen and (max-width: 767px) {
  .requirements-step__section-body {
    margin-top: 8rem;
    line-height: 2;
    font-size: 4.2rem;
  }
}
.requirements-step__section-body p + p {
  margin-top: 1.5em;
}

.event-boxes__item:first-of-type {
  padding-top: 14rem;
}
.event-boxes__item + .event-boxes__item {
  padding-top: 15.2rem;
}
@media screen and (max-width: 767px) {
  .event-boxes__item + .event-boxes__item {
    padding-top: 18rem;
  }
}

.event-boxes__item-box {
  position: relative;
  margin-top: 3.2rem;
  padding-top: 12rem;
  padding-bottom: 9.6rem;
  border: 0.3rem solid var(--color-navy);
  border-radius: 2.8rem;
  background-color: white;
}
@media screen and (max-width: 767px) {
  .event-boxes__item-box {
    margin-top: 7.2rem;
    padding-top: 16rem;
    padding-bottom: 16rem;
    border-radius: 4rem;
    border-width: 0.48rem;
  }
}

.event-boxes__item-header {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.event-boxes__item-title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 10rem;
  min-width: 40rem;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1.25em;
  padding-left: 1.25em;
  text-align: center;
  line-height: 1.5;
  font-size: 2.1rem;
  font-weight: 700;
  border-radius: 5em;
  background-color: white;
  color: var(--color-navy);
  border: 0.3rem solid currentColor;
  filter: drop-shadow(0.8rem 0.9rem 0 currentColor);
}
@media screen and (max-width: 767px) {
  .event-boxes__item-title {
    min-height: 16rem;
    min-width: 62rem;
    font-size: 4rem;
    border-width: 0.6rem;
    filter: drop-shadow(1rem 1.4rem 0 currentColor);
  }
}

.event-boxes__item-title-year {
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .event-boxes__item-title-year {
    font-size: 5.4rem;
  }
}

.event-boxes__item-title-text {
  font-size: 2.1rem;
  margin-left: 0.4em;
}
@media screen and (max-width: 767px) {
  .event-boxes__item-title-text {
    font-size: 3.6rem;
  }
}

.event-boxes__item-body {
  padding-right: 10rem;
  padding-left: 10rem;
}
@media screen and (max-width: 767px) {
  .event-boxes__item-body {
    padding-right: 6.4rem;
    padding-left: 6.4rem;
  }
}

.event-boxes__item-section + .event-boxes__item-section {
  margin-top: 8rem;
  padding-top: 8rem;
  border-top: 1px solid #c8c8c8;
}
@media screen and (max-width: 767px) {
  .event-boxes__item-section + .event-boxes__item-section {
    margin-top: 12rem;
    padding-top: 11.2rem;
  }
}

.event-boxes__item-section-heading {
  text-align: center;
  line-height: 1.5;
  font-size: 3.8rem;
  font-weight: 700;
  color: var(--color-blue);
}
@media screen and (max-width: 767px) {
  .event-boxes__item-section-heading {
    font-size: 5.8rem;
  }
}

.event-boxes__item-section-update {
  line-height: 1;
  margin-top: 1em;
  text-align: center;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .event-boxes__item-section-update {
    font-size: 3.6rem;
  }
}

.event-boxes__item-section-status {
  line-height: 1.75;
  margin-top: 3rem;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  color: red;
}
@media screen and (max-width: 767px) {
  .event-boxes__item-section-status {
    margin-top: 4.8rem;
    font-size: 4rem;
  }
}

.event-boxes__item-section-body {
  margin-top: 3.6rem;
  position: relative;
  z-index: 1;
  padding-top: 5.2rem;
  padding-right: 3em;
  padding-left: 3em;
  padding-bottom: 5.2rem;
  border-radius: 2.8rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .event-boxes__item-section-body {
    margin-right: 10rem;
    margin-left: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .event-boxes__item-section-body {
    padding-top: 9.6rem;
    padding-right: 6.4rem;
    padding-left: 6.4rem;
    padding-bottom: 8.8rem;
    margin-right: 2.4rem;
    margin-left: 2.4rem;
    border-radius: 4rem;
  }
}
.event-boxes__item-section-body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--color-blue);
  opacity: 0.1;
}
.event-boxes__item-section-header + .event-boxes__item-section-body {
  margin-top: 2.8rem;
}
@media screen and (max-width: 767px) {
  .event-boxes__item-section-header + .event-boxes__item-section-body {
    margin-top: 5.6rem;
  }
}

.event-boxes__item-section-body-block + .event-boxes__item-section-body-block {
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .event-boxes__item-section-body-block + .event-boxes__item-section-body-block {
    margin-top: 8rem;
  }
}

.event-boxes__item-section-body-block-heading {
  text-align: center;
  line-height: 1.5;
  font-size: 1.9rem;
  font-weight: 700;
  color: var(--color-blue);
}
@media screen and (max-width: 767px) {
  .event-boxes__item-section-body-block-heading {
    font-size: 4.4rem;
  }
}

.event-boxes__item-section-body-block-text {
  margin-top: 0.75em;
  line-height: 1.875;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .event-boxes__item-section-body-block-text {
    line-height: 2;
    font-size: 4rem;
    text-align: justify;
  }
  .event-boxes__item-section-body-block-text br {
    display: none;
  }
}

.event-boxes__item-section-footer {
  margin-top: 5.6rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .event-boxes__item-section-footer {
    margin-top: 8rem;
  }
}
.event-boxes__item-section-footer .button.button--large {
  min-width: 35.4rem;
  padding-top: 1.1em;
  padding-bottom: 1.1em;
  line-height: 1.6;
  font-size: 1.85rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .event-boxes__item-section-footer .button.button--large {
    width: fit-content;
    min-width: 64rem;
    padding-top: 0.85em;
    padding-bottom: 0.85em;
    line-height: 1.56;
    font-size: 3.86rem;
  }
}
.event-boxes__item-section-footer .button__text {
  transform: translateY(-0.025em);
}

.topics__item + .topics__item {
  padding-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .topics__item + .topics__item {
    padding-top: var(--page-gutter);
  }
}

.topics__item-inner {
  position: relative;
  padding-top: 8rem;
  padding-right: 13rem;
  padding-bottom: 8rem;
  padding-left: 13rem;
  border: 0.3rem solid var(--color-navy);
  border-radius: 2.8rem;
  background-color: white;
}
@media screen and (max-width: 767px) {
  .topics__item-inner {
    padding-top: 8rem;
    padding-right: 8.8rem;
    padding-bottom: 8rem;
    border-radius: 4rem;
    padding-left: 8.8rem;
    border-width: 0.48rem;
  }
}

.topics__item-date {
  display: grid;
  grid-template-columns: max-content max-content;
  align-items: center;
  gap: 1.5em;
  line-height: 1;
  font-size: 1.3rem;
  color: var(--color-blue);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .topics__item-date {
    gap: 1.25em;
    font-size: 3.6rem;
  }
}
.topics__item-date::after {
  content: "";
  display: inline-block;
  width: 4em;
  height: 0.2rem;
  background-color: currentColor;
  opacity: 0.3;
}
@media screen and (max-width: 767px) {
  .topics__item-date::after {
    width: 3.5em;
    height: 0.3rem;
  }
}

.topics__item-heading {
  margin-top: 1em;
  line-height: 1.53;
  font-size: 2.6rem;
  font-weight: 700;
  color: var(--color-navy);
}
@media screen and (max-width: 767px) {
  .topics__item-heading {
    margin-top: 1.75em;
    font-size: 5.2rem;
  }
}

.topics__item-body {
  margin-top: 4rem;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .topics__item-body {
    margin-top: 7.2rem;
    line-height: 2;
    font-size: 4.2rem;
  }
}
.topics__item-body p + p {
  margin-top: 1.75em;
}
@media screen and (max-width: 767px) {
  .topics__item-body p + p {
    margin-top: 1.25em;
  }
}

/*
internship
*/
.internship__section {
  padding-top: 11rem;
  padding-bottom: 9.6rem;
}
@media screen and (max-width: 767px) {
  .internship__section {
    padding-top: 13rem;
    padding-bottom: 11rem;
  }
}
.internship__section:nth-of-type(even) {
  position: relative;
}
.internship__section:nth-of-type(even)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: var(--color-blue);
  opacity: 0.3;
}

@media screen and (min-width: 768px) {
  .internship__section-inner {
    --container-width: 120rem;
    width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .internship__section-inner {
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }
}

.internship__section-youtube {
  position: relative;
  width: 90rem;
  margin-right: auto;
  margin-left: auto;
  aspect-ratio: 16/9;
}
.internship__section-youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.internship__section-centering-text {
  margin-top: 7.2rem;
  text-align: center;
  line-height: 1.6;
  font-size: 1.95rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .internship__section-centering-text {
    line-height: 1.9;
    font-size: 4.2rem;
  }
}
.internship__section-centering-text p + p {
  margin-top: 1em;
}

.internship__section-rounded-navy-bg-heading {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 9.9rem;
  min-width: 46.2rem;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2.25em;
  padding-left: 2.25em;
  text-align: center;
  line-height: 1.5;
  font-size: 3.2175rem;
  font-weight: 700;
  border-radius: 5em;
  background-color: var(--color-navy);
  color: white;
}
@media screen and (max-width: 767px) {
  .internship__section-rounded-navy-bg-heading {
    min-height: 13.5625rem;
    min-width: 50.75rem;
    font-size: 4.2rem;
  }
}

.internship__inner-box-section {
  position: relative;
  padding-top: 6.4rem;
  padding-bottom: 5.6rem;
  padding-left: 5.4rem;
  padding-right: 5.4rem;
  border: 0.3rem solid var(--color-navy);
  border-radius: 2.8rem;
  background-color: white;
}
@media screen and (max-width: 767px) {
  .internship__inner-box-section {
    padding-top: 4rem;
    padding-right: 4rem;
    padding-bottom: 4rem;
    border-radius: 4rem;
    padding-left: 4rem;
    border-width: 0.48rem;
  }
}
.internship__inner-box-section + .internship__inner-box-section {
  margin-top: 14rem;
}
.internship__section-rounded-navy-bg-heading + .internship__inner-box-section {
  margin-top: 12rem;
}
@media screen and (max-width: 767px) {
  .internship__section-rounded-navy-bg-heading + .internship__inner-box-section {
    margin-top: 14rem;
  }
}
.internship__inner-box-section.internship__inner-box-section--has-heading {
  padding-top: 12rem;
  padding-left: 12rem;
  padding-right: 12rem;
}
@media screen and (max-width: 767px) {
  .internship__inner-box-section.internship__inner-box-section--has-heading {
    padding-top: 14rem;
    padding-right: 7.2rem;
    padding-bottom: 9.6rem;
    padding-left: 7.2rem;
  }
}

.internship__inner-box-section-heading {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 10rem;
  min-width: 52rem;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1.25em;
  padding-left: 1.25em;
  text-align: center;
  line-height: 1.5;
  font-size: 2.8rem;
  font-weight: 700;
  border-radius: 5em;
  background-color: white;
  color: var(--color-navy);
  border: 0.3rem solid currentColor;
}
@media screen and (min-width: 768px) {
  .internship__inner-box-section-heading {
    filter: drop-shadow(0.8rem 0.9rem 0 currentColor);
  }
}
@media screen and (max-width: 767px) {
  .internship__inner-box-section-heading {
    min-height: 14rem;
    min-width: 72rem;
    font-size: 4rem;
    border-width: 0.6rem;
  }
}

.internship__footer {
  padding-top: 5.8rem;
  padding-bottom: 6.1rem;
  background-color: var(--color-navy);
  color: white;
}
@media screen and (max-width: 767px) {
  .internship__footer {
    padding-right: var(--page-gutter);
    padding-top: 8rem;
    padding-left: var(--page-gutter);
    padding-bottom: 8rem;
  }
}

.internship__footer-text {
  text-align: center;
  line-height: 1.6;
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .internship__footer-text {
    line-height: inherit;
    font-size: 4.2rem;
  }
}

.internship__footer-button {
  margin-top: 4rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .internship__footer-button {
    margin-top: 6.4rem;
  }
}
.internship__footer-button .button.button--large {
  width: 56.5rem;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .internship__footer-button .button.button--large {
    min-height: 19rem;
    width: 90%;
    white-space: nowrap;
    font-size: 3.6rem;
  }
}