@charset "UTF-8";
/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* px → rem変換 */
html {
  line-height: 1.2;
}

body {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 400;
}
body img {
  width: 100%;
}

@media (hover: hover) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/* Backgorund Color */
.u-bg--white {
  background-color: #fff;
}

/* Font */
.u-bold {
  font-weight: bold;
}

.c-animate.is-active span {
  animation: leftRight 0.5s forwards;
}
.c-animate span {
  display: block;
  color: #fff;
  opacity: 0;
  transform: translate(-150px, 0) scale(0.3);
}
.c-animate.--flex {
  display: flex;
  align-items: flex-end;
}
.c-animate.--wrap {
  flex-wrap: wrap;
}

.c-animate span:nth-of-type(2) {
  animation-delay: 0.05s;
}

.c-animate span:nth-of-type(3) {
  animation-delay: 0.1s;
}

.c-animate span:nth-of-type(4) {
  animation-delay: 0.15s;
}

.c-animate span:nth-of-type(5) {
  animation-delay: 0.2s;
}

.c-animate span:nth-of-type(6) {
  animation-delay: 0.25s;
}

.c-animate span:nth-of-type(7) {
  animation-delay: 0.3s;
}

.c-animate span:nth-of-type(8) {
  animation-delay: 0.35s;
}

.c-animate span:nth-of-type(9) {
  animation-delay: 0.4s;
}

.c-animate span:nth-of-type(10) {
  animation-delay: 0.45s;
}

.c-animate span:nth-of-type(11) {
  animation-delay: 0.5s;
}

.c-animate span:nth-of-type(12) {
  animation-delay: 0.55s;
}

.c-animate span:nth-of-type(13) {
  animation-delay: 0.6s;
}

.c-animate span:nth-of-type(14) {
  animation-delay: 0.65s;
}

.c-animate span:nth-of-type(15) {
  animation-delay: 0.7s;
}

.c-animate span:nth-of-type(16) {
  animation-delay: 0.75s;
}

.c-animate span:nth-of-type(17) {
  animation-delay: 0.8s;
}

.c-animate span:nth-of-type(18) {
  animation-delay: 0.85s;
}

.c-animate span:nth-of-type(19) {
  animation-delay: 0.9s;
}

.c-animate span:nth-of-type(20) {
  animation-delay: 0.95s;
}

@keyframes leftRight {
  40% {
    transform: translate(50px, 0) scale(0.7);
    opacity: 1;
    color: #fff;
  }
  80% {
    transform: translate(0) scale(2);
    opacity: 0;
  }
  100% {
    transform: translate(0) scale(1);
    opacity: 1;
  }
}
.c-keyword {
  display: flex;
}
.c-keyword span:nth-of-type(2) {
  margin-left: -8%;
}
.c-keyword span:nth-of-type(3) {
  margin-left: -6%;
}
.c-keyword span:nth-of-type(4) {
  margin-left: -6%;
}

.c-animate-text {
  display: flex;
  align-items: flex-end;
  color: #fff;
  opacity: 0;
}
.c-animate-text.--wrap {
  flex-wrap: wrap;
}
.c-animate-text.--en {
  line-height: 0.7;
}
.c-animate-text.--en span {
  padding-top: 1px;
  font-family: "Montserrat", sans-serif;
  letter-spacing: -0.02em;
}
.c-animate-text.is-active {
  --x: 0;
  opacity: 1;
}
.c-animate-text.--rotate {
  transform: rotate(90deg);
  transform-origin: left bottom;
}
@media screen and (max-width: 768px) {
  .c-animate-text.--rotate {
    transform-origin: right top;
  }
}
.c-animate-text .char {
  overflow: hidden;
  --char-index: 0;
}
.c-animate-text .--ruby {
  padding-top: max(13px, 2.5%);
}
.c-animate-text .--large {
  font-size: clamp(33px, calc(-3px + 4.688vw), 72px);
}
.c-animate-text .--yellow {
  color: #FFF845;
}
.c-animate-text .char-text {
  display: inline-block;
  transform: translateX(var(--x, -101%));
  transition: transform 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  transition-delay: calc(0.05s * var(--char-index));
}

.visuallyHidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.c-infinity-letter {
  background-repeat: repeat-x;
  background-position: left center;
  background-size: auto clamp(52px, calc(-15.385px + 8.774vw), 125px);
  width: 100000px;
  height: clamp(52px, calc(-15.385px + 8.774vw), 125px);
  position: relative;
  animation: flowBg 2000s linear infinite;
  will-change: transform;
}
@keyframes flowBg {
  0% {
    background-position: left 0 center;
  }
  100% {
    background-position: left -100000px center;
  }
}
@media screen and (max-width: 768px) {
  .c-infinity-letter {
    animation-duration: 2000s;
  }
}
.c-infinity-letter.--top {
  background-image: url(../images/infinity_letter_top.webp);
  transform: translateY(-3px);
}
.c-infinity-letter.--about {
  margin-top: clamp(-34px, calc(-0.769px + -4.327vw), -70px);
  background-image: url(../images/infinity_about.webp);
  background-size: auto clamp(253px, calc(67.462px + 24.159vw), 454px);
  height: clamp(253px, calc(67.462px + 24.159vw), 454px);
}
.c-infinity-letter.--teacher {
  background-image: url(../images/infinity_teacher.webp);
  transform: translateY(-3px);
}
.c-infinity-letter.--requirements {
  margin-bottom: max(-2%, -30px);
  height: clamp(60px, calc(-9.231px + 9.014vw), 135px);
  background-size: auto clamp(60px, calc(-9.231px + 9.014vw), 135px);
  background-image: url(../images/infinity_requirements.webp);
}
@media screen and (max-width: 768px) {
  .c-infinity-letter.--requirements {
    margin-bottom: max(-3%, -15px);
  }
}
.c-infinity-letter.--interview {
  background-image: url(../images/infinity_interview.webp);
  transform: translateY(50%);
}
.c-infinity-letter.--message {
  height: clamp(59px, calc(44.231px + 1.923vw), 75px);
  background-image: url(../images/infinity_message.webp);
  background-size: auto clamp(59px, calc(44.231px + 1.923vw), 75px);
}

.c-sectionTitle {
  color: #fff;
  font-size: clamp(50px, calc(27.846px + 2.885vw), 74px);
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}
.c-sectionTitle.--center {
  text-align: center;
}
.c-sectionTitle.--blue {
  color: #000;
}
.c-sectionTitle.--blue .c-sectionTitle__en {
  color: #0047B9;
}
.c-sectionTitle.--right {
  text-align: right;
}
@media screen and (max-width: 768px) {
  .c-sectionTitle.--spleft {
    text-align: left;
  }
}
.c-sectionTitle.--training {
  font-size: calc(40 / 16 * 1rem);
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .c-sectionTitle.--training {
    font-size: calc(24 / 16 * 1rem);
    text-align: left;
  }
}
.c-sectionTitle.--training .c-sectionTitle__en {
  margin-bottom: calc(50 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .c-sectionTitle.--training .c-sectionTitle__en {
    margin-bottom: calc(20 / 16 * 1rem);
  }
}
.c-sectionTitle.--training .--sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .c-sectionTitle.--training .--sp {
    display: block;
  }
}
.c-sectionTitle .--inline-block {
  display: inline-block;
}

.c-sectionTitle__en {
  display: block;
  margin-bottom: clamp(8px, calc(0.615px + 0.962vw), 16px);
  color: #FFF845;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(18px, calc(11.538px + 0.841vw), 25px);
  font-weight: 700;
  text-transform: uppercase;
}

.c-sectionTitle__small {
  display: block;
  font-size: clamp(1.5rem, 0.865rem + 1.322vw, 2.188rem);
}

.c-section--single {
  padding-top: calc(150 / 16 * 1rem);
  padding-bottom: calc(200 / 16 * 1rem);
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .c-section--single {
    padding-top: calc(60 / 16 * 1rem);
    padding-bottom: calc(95 / 16 * 1rem);
  }
}

.c-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: min(440px, 27.5vw);
  height: min(110px, 6.875vw);
  padding: 0 min(48px, 3vw);
  color: #fff;
  font-size: min(26px, 1.625vw);
  font-weight: 700;
  transition: all 0.4s ease;
  background-color: #0047B9;
  border: 6px solid #0047B9;
}
@media screen and (max-width: 768px) {
  .c-button {
    max-width: min(330px, 88vw);
    margin: 0 auto;
    padding: min(32px, 8.5333333333vw);
    height: min(86px, 22.9333333333vw);
    font-size: min(20px, 5.3333333333vw);
  }
}
.c-button svg {
  aspect-ratio: 1/1;
  width: min(48px, 3vw);
  fill: #FFF845;
  transition: all 0.4s ease;
}
@media screen and (max-width: 768px) {
  .c-button svg {
    width: min(38px, 10.1333333333vw);
  }
}
@media (min-width: 768px) {
  .c-button:hover {
    background-color: #fff;
    color: #0047B9;
  }
  .c-button:hover svg {
    transform: translateX(50%);
    fill: #0047B9;
  }
  .c-button:hover.--dark {
    background-color: #fff;
    color: #14356A;
  }
  .c-button:hover.--dark svg {
    fill: #14356A;
  }
}

.c-button--dark {
  background-color: #14356A;
  border: 6px solid #14356A;
}

.c-button--small {
  max-width: calc(326 / 16 * 1rem);
  height: calc(85 / 16 * 1rem);
  font-size: calc(20 / 16 * 1rem);
}
.c-button--small svg {
  width: calc(32 / 16 * 1rem);
}

.c-button--thanks {
  margin: calc(100 / 16 * 1rem) auto 0;
  justify-content: center;
}

.c-text {
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .c-text {
    font-size: calc(15 / 16 * 1rem);
  }
}

.l-menu li {
  margin-top: calc(18 / 16 * 1rem);
  font-size: calc(16 / 16 * 1rem);
  font-weight: 400;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .l-menu li {
    margin-top: calc(10 / 16 * 1rem);
    font-size: calc(14 / 16 * 1rem);
  }
}
.l-menu .--bold {
  margin-top: calc(25 / 16 * 1rem);
  font-size: calc(20 / 16 * 1rem);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .l-menu .--bold {
    font-size: calc(18 / 16 * 1rem);
  }
}
.l-menu .--bold + .--bar {
  margin-top: calc(25 / 16 * 1rem);
}
.l-menu .--bar {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.l-menu .--bar::before {
  content: "ー";
}

.l-menu__company__link {
  margin-top: calc(52 / 16 * 1rem);
}
.l-menu__company__link a {
  display: flex;
  align-items: center;
  gap: calc(10 / 16 * 1rem);
  color: #fff;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .l-menu__company__link a {
    justify-content: flex-end;
  }
}
.l-menu__company__link a::after {
  content: "";
  display: block;
  width: calc(12 / 16 * 1rem);
  height: calc(12 / 16 * 1rem);
  background-image: url(../images/c_other_tab.svg);
  background-size: contain;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}

.l-header-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.l-header__logo__wrapper {
  position: fixed;
  top: 3.5rem;
  left: 4.125rem;
  display: flex;
  gap: 1.25rem;
  z-index: 30;
}
@media screen and (max-width: 768px) {
  .l-header__logo__wrapper {
    top: calc(22 / 16 * 1rem);
    left: calc(24 / 16 * 1rem);
  }
}

.l-header__logo--image svg {
  fill: #fff;
}

.l-interview01 .l-header__logo--image svg,
.l-interview02 .l-header__logo--image svg,
.l-interview03 .l-header__logo--image svg,
.l-interview04 .l-header__logo--image svg {
  fill: #1578c2;
}
.l-interview01 .l-header__logo--text .--ja,
.l-interview02 .l-header__logo--text .--ja,
.l-interview03 .l-header__logo--text .--ja,
.l-interview04 .l-header__logo--text .--ja {
  color: #000;
}
.l-interview01 .l-header__logo--text .--en,
.l-interview02 .l-header__logo--text .--en,
.l-interview03 .l-header__logo--text .--en,
.l-interview04 .l-header__logo--text .--en {
  color: #0047B9;
}

.l-header__logo--text {
  display: flex;
  align-items: center;
  gap: 1.625rem;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .l-header__logo--text {
    display: none;
  }
}
.l-header__logo--text .--ja {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 1.375rem;
  font-weight: bold;
  letter-spacing: 0.4em;
}
.l-header__logo--text .--en {
  font-family: "Montserrat", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.l-header__entry__wrapper {
  position: fixed;
  top: 2.25rem;
  right: 2.25rem;
  display: flex;
  z-index: 30;
}
@media screen and (max-width: 768px) {
  .l-header__entry__wrapper {
    top: calc(15 / 16 * 1rem);
    right: calc(14 / 16 * 1rem);
  }
}

@media (min-width: 768px) {
  .l-header__entry__content:hover .l-header__entry__btn {
    background-color: #fff;
  }
  .l-header__entry__content:hover .l-header__btns__arrow {
    height: 1.25rem;
    opacity: 1;
  }
  .l-header__entry__content:hover .l-header__entry__lists {
    gap: 0.375rem;
    padding-top: 0.5rem;
    pointer-events: auto;
  }
  .l-header__entry__content:hover .l-header__btns__link {
    height: 3.125rem;
    opacity: 1;
    pointer-events: auto;
  }
}
@media screen and (max-width: 768px) {
  .l-header__entry__content.is-active .l-header__entry__btn {
    background-color: #fff;
  }
  .l-header__entry__content.is-active .l-header__btns__arrow {
    height: 1.25rem;
    opacity: 1;
  }
  .l-header__entry__content.is-active .l-header__entry__lists {
    gap: 0.375rem;
    padding-top: 0.5rem;
    pointer-events: auto;
  }
  .l-header__entry__content.is-active .l-header__btns__link {
    height: 3.125rem;
    opacity: 1;
    pointer-events: auto;
  }
}

.l-header__entry__btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: calc(164 / 16 * 1rem);
  height: calc(70 / 16 * 1rem);
  background-color: #FFF845;
  font-family: "Montserrat", sans-serif;
  font-size: calc(28 / 16 * 1rem);
  font-weight: 800;
  transition: all 0.4s ease;
}
@media screen and (max-width: 768px) {
  .l-header__entry__btn {
    width: calc(120 / 16 * 1rem);
    height: calc(50 / 16 * 1rem);
    font-size: calc(20 / 16 * 1rem);
  }
}

.l-header__btns__arrow {
  position: relative;
  width: 1.25rem;
  height: 0;
  transition: all 0.4s ease;
  opacity: 0;
  pointer-events: none;
}
.l-header__btns__arrow svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotate(90deg);
}

.l-header__entry__lists {
  display: flex;
  flex-direction: column;
  gap: 0;
  pointer-events: none;
}

.l-header__btns__link {
  display: grid;
  place-items: center;
  width: calc(164 / 16 * 1rem);
  height: 0;
  font-size: calc(16 / 16 * 1rem);
  font-weight: 800;
  background-color: #FFF845;
  opacity: 0;
  pointer-events: none;
  transition: all 0.4s ease;
}
@media screen and (max-width: 768px) {
  .l-header__btns__link {
    width: calc(120 / 16 * 1rem);
    font-size: re(14);
  }
}

.l-header__menu {
  display: grid;
  align-items: center;
  width: calc(70 / 16 * 1rem);
  height: calc(70 / 16 * 1rem);
  z-index: 100;
  background-color: #0047B9;
  cursor: pointer;
  transform: translateX(-1px);
}
@media screen and (max-width: 768px) {
  .l-header__menu {
    width: calc(50 / 16 * 1rem);
    height: calc(50 / 16 * 1rem);
    transform: none;
  }
}
.l-header__menu span {
  display: block;
  width: 2.25rem;
  height: 0.25rem;
  margin: 0.5rem auto 0;
  background-color: #fff;
  transform-origin: center center;
}
@media screen and (max-width: 768px) {
  .l-header__menu span {
    width: calc(26 / 16 * 1rem);
    height: calc(2 / 16 * 1rem);
    margin-top: 0.25rem;
  }
}

.l-header__menu__text {
  margin-bottom: 0.625rem;
  color: #fff;
  font-size: 0.75rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .l-header__menu__text {
    margin-bottom: 0.25rem;
    font-size: 0.5rem;
  }
}

.l-about .l-header__menu,
.l-data .l-header__menu,
.l-teacher-parent .l-header__menu,
.l-training-benefits .l-header__menu,
.l-requirements .l-header__menu,
.l-entry-graduate .l-header__menu,
.l-entry-career .l-header__menu {
  background-color: #fff;
}
.l-about .l-header__menu__text,
.l-data .l-header__menu__text,
.l-teacher-parent .l-header__menu__text,
.l-training-benefits .l-header__menu__text,
.l-requirements .l-header__menu__text,
.l-entry-graduate .l-header__menu__text,
.l-entry-career .l-header__menu__text {
  color: #0047B9;
}
.l-about .l-header__menu span,
.l-data .l-header__menu span,
.l-teacher-parent .l-header__menu span,
.l-training-benefits .l-header__menu span,
.l-requirements .l-header__menu span,
.l-entry-graduate .l-header__menu span,
.l-entry-career .l-header__menu span {
  background-color: #0047B9;
}

.l-header__nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  max-width: 37.5rem;
  height: 100%;
  padding-top: 11.25rem;
  color: #fff;
  background-color: #0047B9;
  transform: translateX(100%);
  z-index: 20;
}
.l-header__nav .l-entry__wrapper .l-entry {
  max-height: inherit;
  height: calc(300 / 16 * 1rem);
}
.l-header__nav .l-entry__bg {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 600px;
}
.l-header__nav .l-entry__buttons {
  position: absolute;
  left: 0;
  transform: none;
  max-width: 600px;
}
@media screen and (max-width: 768px) {
  .l-header__nav {
    max-width: inherit;
    padding-top: 6.25rem;
  }
  .l-header__nav .l-entry__wrapper {
    border-top: 3px solid #fff;
  }
  .l-header__nav .l-entry__wrapper .l-container {
    max-width: initial;
    padding: 0;
  }
  .l-header__nav .l-entry__wrapper .l-entry {
    max-height: inherit;
    width: 100%;
    height: calc(60 / 16 * 1rem);
    background-color: transparent;
  }
  .l-header__nav .l-entry__wrapper .l-entry__bg {
    margin-top: 0;
  }
  .l-header__nav .l-entry__wrapper .l-entry__bg__letter {
    display: none;
  }
  .l-header__nav .l-entry__wrapper .l-entry__buttons {
    position: static;
    transform: none;
  }
  .l-header__nav .l-entry__wrapper .l-entry__buttons__item {
    flex-direction: row;
    gap: 0;
    margin-top: 0;
  }
  .l-header__nav .l-entry__wrapper .l-entry__buttons__item a {
    max-width: inherit;
    border: none;
  }
  .l-header__nav .l-entry__wrapper .l-entry__buttons__item a svg {
    width: 26px;
  }
}

.l-header__nav__inner {
  width: 85%;
  height: calc(100% - 300 / 16 * 1rem);
  margin: 0 auto;
  padding-bottom: 3.125rem;
  overflow-y: auto;
}
@media screen and (max-width: 768px) {
  .l-header__nav__inner {
    width: 90%;
    height: calc(100% - 3.75rem);
    padding-bottom: calc(32 / 16 * 1rem);
  }
}
.l-header__nav__inner ul .--bold:first-of-type {
  margin-top: 0;
}

.l-header__nav__contents {
  display: flex;
  gap: clamp(1.563rem, -0.226rem + 3.726vw, 3.5rem);
}
@media screen and (max-width: 768px) {
  .l-header__nav__contents {
    flex-direction: column;
  }
}
.l-header__nav__contents.--bottom {
  flex-direction: row-reverse;
  align-items: flex-end;
  margin-top: clamp(1.563rem, 0.005rem + 3.245vw, 3.25rem);
}
@media screen and (max-width: 768px) {
  .l-header__nav__contents.--bottom {
    flex-direction: column;
  }
  .l-header__nav__contents.--bottom .l-menu__company__link a {
    justify-content: flex-start;
    font-size: calc(14 / 16 * 1rem);
  }
}
.l-header__nav__contents.--bottom .l-menu__company__link {
  margin-top: 0;
}
.l-header__nav__contents .l-header__nav__lists {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .l-header__nav__contents .l-header__nav__lists {
    width: 100%;
  }
}

.l-entry__wrapper {
  position: absolute;
  bottom: 0;
  width: 100%;
}
.l-entry__wrapper .l-entry {
  max-height: calc(290 / 16 * 1rem);
}
.l-entry__wrapper .l-entry__buttons__text {
  display: none;
}
.l-entry__wrapper .l-entry__bg__letter p span {
  font-size: calc(86 / 16 * 1rem);
}
.l-entry__wrapper .l-entry__bg__letter p span::after {
  font-size: calc(86 / 16 * 1rem);
}
.l-entry__wrapper .l-entry__buttons__item a {
  max-width: calc(220 / 16 * 1rem);
  height: calc(60 / 16 * 1rem);
  padding: 0 clamp(1.125rem, 0.548rem + 1.202vw, 1.75rem);
  font-size: 1rem;
}
.l-entry__wrapper .l-entry__buttons__item a svg {
  width: calc(32 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .l-entry__wrapper .l-entry__buttons__item a svg {
    width: calc(38 / 16 * 1rem);
  }
}

.l-footer {
  padding-top: calc(70 / 16 * 1rem);
  padding-bottom: calc(12 / 16 * 1rem);
  background-color: #001F50;
}

.l-footer__inner {
  max-width: calc(1250 / 16 * 1rem);
  margin: 0 auto;
  padding: 0 calc(24 / 16 * 1rem);
}

.l-footer__contents {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .l-footer__contents {
    flex-direction: column;
  }
}

.l-footer__company {
  max-width: calc(330 / 16 * 1rem);
  width: 100%;
}

.l-footer__company__name {
  display: flex;
  align-items: center;
  gap: calc(22 / 16 * 1rem);
}
.l-footer__company__name img {
  width: clamp(68px, calc(62.462px + 0.721vw), 74px);
}
.l-footer__company__name p {
  color: #fff;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: clamp(25px, calc(23.154px + 0.24vw), 27px);
  font-weight: 700;
  letter-spacing: 0.4em;
}

.l-footer__company__site {
  margin-top: calc(16 / 16 * 1rem);
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: calc(16 / 16 * 1rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  text-align: center;
}

.l-footer__menu {
  display: flex;
  gap: clamp(25px, calc(-17.462px + 5.529vw), 71px);
  margin-top: calc(36 / 16 * 1rem);
  color: #fff;
}
@media screen and (max-width: 768px) {
  .l-footer__menu {
    flex-direction: column;
    gap: 0;
    margin-top: calc(55 / 16 * 1rem);
  }
}
.l-footer__menu a {
  position: relative;
  display: inline-block;
  cursor: pointer;
}
.l-footer__menu a:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 0;
  height: 1px;
  background-color: #fff;
  transition: all 0.4s ease;
}
@media (min-width: 768px) {
  .l-footer__menu a:hover::after {
    width: 100%;
  }
}

.l-footer__copy {
  display: block;
  margin-top: calc(54 / 16 * 1rem);
  color: rgba(255, 255, 255, 0.45);
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.4;
  text-align: center;
}

.l-container {
  max-width: 78.125rem;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.l-main {
  overflow: hidden;
}
.l-main.--blue {
  background-color: #0047B9;
}
.l-main.--lower {
  padding-top: clamp(126px, calc(57.692px + 8.894vw), 200px);
}

.l-entry {
  position: relative;
  background-color: #DDE8F8;
  overflow: hidden;
  aspect-ratio: 1600/580;
}
@media screen and (max-width: 768px) {
  .l-entry {
    aspect-ratio: 375/490;
  }
}

.l-entry__bg {
  display: flex;
  justify-content: center;
  margin-top: -3%;
}
@media screen and (max-width: 768px) {
  .l-entry__bg {
    margin-top: -8%;
  }
}

.l-entry__bg__letter {
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .l-entry__bg__letter:last-child {
    display: none;
  }
}
.l-entry__bg__letter p {
  position: relative;
  overflow: hidden;
}
.l-entry__bg__letter p span {
  display: block;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 12.5vw;
  font-weight: 700;
  line-height: 0.8;
  text-transform: uppercase;
  will-change: transform;
}
@media screen and (max-width: 768px) {
  .l-entry__bg__letter p span {
    font-size: 30.4vw;
  }
}
.l-entry__bg__letter p span::after {
  content: attr(data-text);
  position: absolute;
  top: 100%;
  left: 0;
  color: #fff;
  font-size: 12.5vw;
  text-transform: uppercase;
}
.l-entry__bg__letter p span.--blue {
  color: #0047B9;
}
.l-entry__bg__letter p span.--blue::after {
  color: #0047B9;
}

.l-entry__buttons {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}
@media screen and (max-width: 768px) {
  .l-entry__buttons {
    top: 35%;
  }
}

.l-entry__buttons__text {
  font-size: min(40px, 2.5vw);
  font-weight: 800;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .l-entry__buttons__text {
    font-size: min(25px, 6.6666666667vw);
  }
}

.l-entry__buttons__item {
  display: flex;
  justify-content: center;
  align-self: start;
  gap: clamp(10px, calc(-17.692px + 3.606vw), 40px);
  margin-top: clamp(30px, calc(25.385px + 0.601vw), 35px);
}
@media screen and (max-width: 768px) {
  .l-entry__buttons__item {
    flex-direction: column;
  }
}

.l-breadcrumbs {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.75rem;
  margin: 0 auto;
  padding: 0 clamp(24px, calc(1.846px + 2.885vw), 48px);
  color: #fff;
  font-size: calc(15 / 16 * 1rem);
  white-space: nowrap;
}
.l-breadcrumbs.--blue {
  color: #0047B9;
}
.l-breadcrumbs.--blue .l-breadcrumbs-list:not(:first-of-type)::before {
  background-color: #0047B9;
}

.l-breadcrumbs-list {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.l-breadcrumbs-list:not(:first-of-type)::before {
  content: "";
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  background-color: #fff;
}

.l-lower__fv__container {
  padding: 0 clamp(24px, calc(1.846px + 2.885vw), 48px);
}
@media screen and (max-width: 768px) {
  .l-lower__fv__container {
    padding-right: 0;
  }
}

.l-lower__fv {
  display: flex;
  justify-content: space-between;
  gap: clamp(74px, calc(33.385px + 5.288vw), 118px);
  width: 84.5625vw;
  margin-top: calc(33 / 16 * 1rem);
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .l-lower__fv {
    flex-direction: column;
    margin-top: calc(88 / 16 * 1rem);
    width: 100%;
  }
}

.l-lower__fv__title {
  max-width: -moz-max-content;
  max-width: max-content;
  width: 100%;
  margin-top: 6.625%;
  color: #fff;
  font-size: max(22px, 2vw);
  font-weight: 800;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .l-lower__fv__title {
    max-width: initial;
  }
}

.l-lower__fv__images {
  position: relative;
}

.l-lower__fv__main {
  width: 54.1875vw;
  border-radius: clamp(12px, calc(0.923px + 1.442vw), 24px);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .l-lower__fv__main {
    width: 100%;
  }
}

.l-lower__fv__letter {
  position: absolute;
  top: 50%;
  left: 50%;
}
@media screen and (max-width: 768px) {
  .l-lower__fv__letter {
    top: 8%;
  }
}
.l-lower__fv__letter.--about {
  transform: translate(-114%, -50%);
}
@media screen and (max-width: 768px) {
  .l-lower__fv__letter.--about {
    transform: translate(-59%, -50%);
  }
}
.l-lower__fv__letter.--data {
  transform: translate(-90%, -50%);
}
@media screen and (max-width: 768px) {
  .l-lower__fv__letter.--data {
    transform: translate(-46%, -50%);
  }
}
.l-lower__fv__letter.--teacher-parent {
  transform: translate(-95%, -50%);
}
@media screen and (max-width: 768px) {
  .l-lower__fv__letter.--teacher-parent {
    transform: translate(-49%, -50%);
  }
}
.l-lower__fv__letter.--training {
  transform: translate(-92%, -50%);
}
@media screen and (max-width: 768px) {
  .l-lower__fv__letter.--training {
    transform: translate(-48%, -50%);
  }
}

.l-lower__fv__letterWraper {
  overflow: hidden;
}
.l-lower__fv__letterWraper img {
  display: block;
  width: auto;
  height: 6vw;
  transform: translateY(100%);
}
@media screen and (max-width: 768px) {
  .l-lower__fv__letterWraper img {
    height: 10.9333333333vw;
  }
}
.l-lower__fv__letterWraper:last-of-type img {
  height: 5.875vw;
}
@media screen and (max-width: 768px) {
  .l-lower__fv__letterWraper:last-of-type img {
    height: 10.6666666667vw;
  }
}

.l-lower__message {
  max-width: calc(1200 / 16 * 1rem);
  margin: clamp(78px, calc(41.077px + 4.808vw), 118px) auto 0;
  padding: 0 calc(24 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .l-lower__message.--left .l-lower__message__en,
  .l-lower__message.--left .l-lower__message__title {
    text-align: left;
  }
}

.l-lower__message__en {
  color: #FFF845;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(18px, calc(14.308px + 0.481vw), 22px);
  font-weight: 700;
  text-align: center;
}
.l-lower__message__en.--blue {
  color: #0047B9;
}

.l-lower__message__title {
  margin-top: clamp(20px, calc(-7.692px + 3.606vw), 50px);
  color: #fff;
  font-size: clamp(24px, calc(9.231px + 1.923vw), 40px);
  font-weight: 800;
  line-height: 1.5;
  text-align: center;
}
.l-lower__message__title.--black {
  color: #000;
}

.l-lower__message__lead {
  max-width: calc(680 / 16 * 1rem);
  margin: calc(32 / 16 * 1rem) auto 0;
  color: #fff;
  line-height: 1.7;
}
.l-lower__message__lead.--black {
  color: #000;
}
.l-lower__message__lead.--600 {
  max-width: calc(600 / 16 * 1rem);
  margin-left: auto;
  margin-right: auto;
}

.l-mission {
  max-width: calc(1200 / 16 * 1rem);
  margin: 0 auto;
  width: 87%;
  padding: clamp(58px, calc(17.385px + 5.288vw), 102px) calc(16 / 16 * 1rem);
  border: 8px solid #FFF845;
  border-radius: clamp(10px, calc(0.769px + 1.202vw), 20px);
  background-color: #fff;
}
.l-mission .l-lower__message__title {
  font-size: clamp(20px, calc(1.538px + 2.404vw), 40px);
}
.l-mission .l-lower__message__title.--teacher {
  margin-top: 0;
  font-size: clamp(20px, calc(14.462px + 0.721vw), 26px);
  text-align: left;
}
@media screen and (max-width: 768px) {
  .l-mission .l-lower__message__title.--teacher {
    text-align: center;
  }
}
.l-mission .l-lower__message__lead.--teacher {
  font-size: clamp(15px, calc(12.231px + 0.361vw), 18px);
}

.l-subhead {
  margin-top: calc(50 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .l-subhead {
    margin-top: calc(80 / 16 * 1rem);
  }
}

.l-subhead__title {
  width: min(1200 / 16 * 1rem, 100%);
  margin: calc(50 / 16 * 1rem) auto calc(80 / 16 * 1rem);
}

.l-subhead__title__en {
  display: block;
  margin-bottom: calc(15 / 16 * 1rem);
  color: #FFF845;
  font-size: calc(25 / 16 * 1rem);
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .l-subhead__title__en {
    margin-bottom: 0;
    font-size: calc(18 / 16 * 1rem);
  }
}

.l-subhead__title__ja {
  display: block;
  color: #fff;
  font-size: calc(45 / 16 * 1rem);
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .l-subhead__title__ja {
    font-size: calc(50 / 16 * 1rem);
  }
}
.l-subhead__title__ja br {
  display: none;
}
@media screen and (max-width: 768px) {
  .l-subhead__title__ja br {
    display: block;
  }
}

.l-form {
  max-width: calc(800 / 16 * 1rem);
  margin: 0 auto;
}
.l-form form {
  margin-top: calc(125 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .l-form form {
    margin-top: calc(60 / 16 * 1rem);
  }
}

/* BLOCK */
.l-form__block {
  display: grid;
  grid-template-columns: calc(200 / 16 * 1rem) 1fr;
  gap: clamp(16px, calc(-6.154px + 2.885vw), 40px);
  margin-top: calc(50 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .l-form__block {
    grid-template-columns: 1fr;
    gap: calc(12 / 16 * 1rem);
    margin-top: calc(24 / 16 * 1rem);
  }
}
.l-form__block:first-child {
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  .l-form__block--radio {
    margin-bottom: calc(30 / 16 * 1rem);
  }
}
.l-form__block--radio .l-form__block__head {
  padding-top: calc(3 / 16 * 1rem);
}

.l-form__block--one {
  grid-template-columns: 1fr;
}

.l-form__block__head {
  padding-top: calc(20 / 16 * 1rem);
  font-size: calc(18 / 16 * 1rem);
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .l-form__block__head {
    padding-top: 0;
  }
}

.l-form__block__head__text {
  position: relative;
}
.l-form__block__head__text span {
  display: block;
  margin-bottom: calc(3 / 16 * 1rem);
  position: absolute;
  top: 0;
  transform: translateY(-100%);
  color: #0047B9;
  font-size: calc(16 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .l-form__block__head__text span {
    position: static;
    transform: translateY(0);
  }
}

.l-form__block__body {
  overflow: hidden;
}

/* Privacy */
.l-form__privacy__text {
  height: calc(400 / 16 * 1rem);
  margin-top: calc(30 / 16 * 1rem);
  padding: calc(25 / 16 * 1rem) calc(38 / 16 * 1rem);
  border-radius: 5px;
  border: 1px solid #707070;
  overflow-y: auto;
}
@media screen and (max-width: 768px) {
  .l-form__privacy__text {
    padding: calc(25 / 16 * 1rem) calc(28 / 16 * 1rem);
  }
}
.l-form__privacy__text dt {
  margin-bottom: calc(12 / 16 * 1rem);
  font-size: calc(16 / 16 * 1rem);
  font-weight: bold;
}
.l-form__privacy__text dd {
  margin-bottom: calc(30 / 16 * 1rem);
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.8571428571;
}

.l-form__privacy__checkbox {
  display: flex;
  align-items: center;
  gap: calc(15 / 16 * 1rem);
  margin-top: calc(43 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .l-form__privacy__checkbox {
    margin-top: calc(60 / 16 * 1rem);
  }
}
.l-form__privacy__checkbox input {
  flex-shrink: 0;
  width: calc(25 / 16 * 1rem);
  aspect-ratio: 1;
}
.l-form__privacy__checkbox input:checked {
  background: url(../images/icon_check.svg) center/contain no-repeat;
}

.l-form__privacy__label {
  font-size: calc(18 / 16 * 1rem);
  font-weight: 500;
  line-height: 1.5555555556;
}
@media screen and (max-width: 768px) {
  .l-form__privacy__label {
    font-size: calc(16 / 16 * 1rem);
  }
}
.l-form__privacy__label a {
  text-decoration: underline;
}

/* INPUT */
.l-form__block input,
.l-form__block textarea,
.l-form__block select {
  border: 1px solid #4E4E4E;
}
.l-form__block [type=text],
.l-form__block [type=email],
.l-form__block [type=tel],
.l-form__block select,
.l-form__block textarea {
  width: 100%;
  padding-right: calc(24 / 16 * 1rem);
  padding-left: calc(24 / 16 * 1rem);
}
.l-form__block [type=email],
.l-form__block [type=text],
.l-form__block [type=tel],
.l-form__block select {
  height: calc(65 / 16 * 1rem);
}
.l-form__block .l-form__select {
  width: min(350 / 16 * 1rem, 100%);
  position: relative;
}
.l-form__block .l-form__select::after {
  content: "";
  display: block;
  width: calc(14 / 16 * 1rem);
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  right: calc(25 / 16 * 1rem);
  transform: translateY(-75%);
  background: url(../images/icon_arrow_down.svg) center/contain no-repeat;
}
.l-form__block select {
  width: 100%;
}
.l-form__block textarea {
  max-width: 100%;
  min-height: calc(65 / 16 * 1rem);
  height: calc(344 / 16 * 1rem);
  padding-top: calc(24 / 16 * 1rem);
  padding-bottom: calc(24 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .l-form__block textarea {
    height: calc(200 / 16 * 1rem);
  }
}
.l-form__block ::-moz-placeholder {
  color: #BABABA;
}
.l-form__block ::placeholder,
.l-form__block option:disabled {
  color: #BABABA;
}
.l-form__block .l-form__radio {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(67 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .l-form__block .l-form__radio {
    gap: calc(24 / 16 * 1rem);
  }
}
.l-form__block .l-form__radio label {
  display: flex;
  align-items: center;
  gap: calc(13 / 16 * 1rem);
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .l-form__block .l-form__radio label {
    gap: calc(11 / 16 * 1rem);
  }
}
.l-form__block .l-form__radio input {
  flex-shrink: 0;
  min-width: calc(25 / 16 * 1rem);
  min-height: calc(25 / 16 * 1rem);
  aspect-ratio: 1;
  border-radius: 50%;
  position: relative;
}
.l-form__block .l-form__radio input::after {
  content: "";
  display: block;
  aspect-ratio: 1;
  background-color: #0047B9;
  position: absolute;
  top: calc(3 / 16 * 1rem);
  right: calc(3 / 16 * 1rem);
  bottom: calc(3 / 16 * 1rem);
  left: calc(3 / 16 * 1rem);
  border-radius: 50%;
  opacity: 0;
}
.l-form__block .l-form__radio input:checked::after {
  opacity: 1;
}

/* 郵便番号 */
.l-form__block__zipcode {
  display: flex;
  align-items: center;
  gap: calc(17 / 16 * 1rem);
  margin-bottom: calc(18 / 16 * 1rem);
}
.l-form__block__zipcode span {
  font-weight: bold;
}

/* テキスト */
.l-form__text {
  margin-top: calc(5 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .l-form__text {
    margin-top: calc(7 / 16 * 1rem);
    font-size: calc(14 / 16 * 1rem);
  }
}

.l-form__text--error {
  color: red;
}

/* Submit */
.l-form__submit {
  margin-top: calc(124 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .l-form__submit {
    margin-top: calc(100 / 16 * 1rem);
  }
}

.l-form__submit__button {
  justify-content: center;
  margin-right: auto;
  margin-left: auto;
  padding: 0;
}

.l-modal {
  position: fixed;
  top: 0;
  left: 0;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  z-index: 30;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.l-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

.l-modal__content {
  position: relative;
  width: 90%;
  max-width: calc(700 / 16 * 1rem);
  margin: 0 auto;
}

.l-modal__close {
  position: absolute;
  top: calc(36 / 16 * 1rem);
  right: calc(36 / 16 * 1rem);
  width: calc(48 / 16 * 1rem);
  display: grid;
  place-items: center;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #0047B9;
}
@media screen and (max-width: 768px) {
  .l-modal__close {
    top: calc(20 / 16 * 1rem);
    right: calc(20 / 16 * 1rem);
    width: calc(40 / 16 * 1rem);
  }
}
.l-modal__close::after {
  content: "";
  display: block;
  width: calc(26 / 16 * 1rem);
  height: calc(4 / 16 * 1rem);
  background-color: #FFF845;
}

.l-modal__inner {
  max-height: 90vh;
  padding: calc(50 / 16 * 1rem);
  overflow-y: auto;
  background-color: #fff;
}

.l-other {
  padding: clamp(95px, calc(81.154px + 1.803vw), 110px) 0 clamp(56px, calc(-21.538px + 10.096vw), 140px) min(200px, 12.5vw);
}
@media screen and (max-width: 768px) {
  .l-other {
    padding-top: calc(84 / 16 * 1rem);
    padding-left: calc(24 / 16 * 1rem);
  }
}

.l-other__title {
  color: #0047B9;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(30px, calc(2.308px + 3.606vw), 60px);
  font-weight: 800;
  text-transform: uppercase;
}

.top-loading {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  place-items: center;
  width: 100%;
  height: 100%;
  background-color: #0047B9;
  z-index: 100;
}
.top-loading img {
  width: 22.25vw;
  max-width: calc(356 / 16 * 1rem);
}

.top-fv {
  position: relative;
  display: block;
  width: 100%;
  height: 100vh;
}
@media screen and (max-width: 768px) {
  .top-fv {
    height: 100svh;
  }
}

@media screen and (max-width: 768px) {
  .top-fv__swiper {
    height: 100%;
  }
}
.top-fv__swiper .swiper-slide {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .top-fv__swiper .swiper-slide img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.top-fv__image {
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1.5);
}

.top-fv__keyword {
  position: absolute;
  opacity: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: max(23.3333333333vh, 13.125vw);
}
@media screen and (max-width: 768px) {
  .top-fv__keyword {
    width: max(122px, 32.5333333333vw);
  }
}
.top-fv__keyword.--01 {
  transform: translate(max(min(11vh, 100%), 8.5625vw), 0) rotate(-5deg);
}
@media screen and (max-width: 768px) {
  .top-fv__keyword.--01 {
    transform: translate(11%, -60%) rotate(-5deg);
  }
}
.top-fv__keyword.--02 {
  transform: translate(max(min(10vh, 100%), 8.5625vw), -50%) rotate(-22deg);
}
@media screen and (max-width: 768px) {
  .top-fv__keyword.--02 {
    transform: translate(11%, -60%) rotate(-22deg);
  }
}
.top-fv__keyword.is-active {
  opacity: 1;
}

.top-fv__copy {
  position: absolute;
  bottom: 8.8888888889%;
  left: 4.625%;
  width: 34.25%;
  min-width: min(548 / 16 * 1rem, 60.8888888889vh);
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .top-fv__copy {
    min-width: min(327 / 16 * 1rem, 49.0254872564vh);
    width: 87.2%;
    bottom: 4.7976011994%;
    left: 6.4%;
  }
}

.top-lead {
  padding-top: clamp(118px, calc(49.692px + 8.894vw), 192px);
  padding-bottom: clamp(92px, calc(62.462px + 3.846vw), 124px);
  background-color: #0047B9;
}

.top-lead__keyword {
  width: 30%;
  min-width: calc(220 / 16 * 1rem);
}

.top-lead__main {
  margin-top: clamp(52px, calc(4px + 6.25vw), 104px);
}
.top-lead__main .c-animate:not(:first-of-type) {
  margin-top: 0.5rem;
}
.top-lead__main span {
  font-size: clamp(27px, calc(-4.385px + 4.087vw), 61px);
  font-weight: 800;
}
.top-lead__main span[data-ruby] {
  position: relative;
}
.top-lead__main span[data-ruby]::before {
  content: attr(data-ruby);
  position: absolute;
  top: -30%;
  left: 50%;
  right: 0;
  transform: translateX(-50%);
  color: #fff;
  font-size: clamp(12px, calc(0px + 1.563vw), 25px);
  font-weight: 700;
}
.top-lead__main span.--parentheses {
  display: flex;
}
.top-lead__main span.--parentheses.--left::before {
  content: "";
  display: block;
  width: clamp(7px, calc(-3.154px + 1.322vw), 18px);
  height: clamp(27px, calc(-9px + 4.688vw), 66px);
  background-image: url(../images/parentheses_left.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.top-lead__main span.--parentheses.--right {
  align-items: flex-end;
  margin-right: 0.125em;
}
.top-lead__main span.--parentheses.--right::after {
  content: "";
  display: block;
  width: clamp(7px, calc(-3.154px + 1.322vw), 18px);
  height: clamp(27px, calc(-9px + 4.688vw), 66px);
  background-image: url(../images/parentheses_right.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.top-lead__text {
  width: 50%;
  max-width: calc(490 / 16 * 1rem);
  margin-top: clamp(35px, calc(2.692px + 4.207vw), 70px);
  margin-left: auto;
  color: #fff;
  font-size: clamp(16px, calc(12.308px + 0.481vw), 20px);
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .top-lead__text {
    width: 100%;
  }
}
.top-lead__text .--sp {
  display: block;
}
@media screen and (max-width: 768px) {
  .top-lead__text .--sp {
    display: none;
  }
}

.top-para {
  position: relative;
  aspect-ratio: 16/9;
  background-image: url(../images/top_para_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .top-para {
    aspect-ratio: 375/670;
  }
}
.top-para img {
  will-change: transform;
}

.top-para__letter {
  position: absolute;
  top: 44.1111111111%;
  left: -5%;
  width: 144.25%;
}
@media screen and (max-width: 768px) {
  .top-para__letter {
    top: 44.328358209%;
    left: -2.125%;
    width: 218.1333333333%;
  }
}

.top-para__upper1 {
  position: absolute;
  top: 7.4444444444%;
  left: -20.125%;
  width: 20.125%;
}
@media screen and (max-width: 768px) {
  .top-para__upper1 {
    display: none;
  }
}

.top-para__upper2 {
  position: absolute;
  top: 3.7777777778%;
  left: 19.3125%;
  width: 23%;
}
@media screen and (max-width: 768px) {
  .top-para__upper2 {
    top: 4.6268656716%;
    left: -53.3333333333%;
    width: 56.5333333333%;
  }
}

.top-para__upper3 {
  position: absolute;
  top: 13.4444444444%;
  left: 73.625%;
  width: 20.125%;
}
@media screen and (max-width: 768px) {
  .top-para__upper3 {
    top: 16.8656716418%;
    left: 16%;
    width: 54.9333333333%;
  }
}

.top-para__lower1 {
  position: absolute;
  top: 65.1111111111%;
  left: -38.125%;
  width: 23%;
}
@media screen and (max-width: 768px) {
  .top-para__lower1 {
    display: none;
  }
}

.top-para__lower2 {
  position: absolute;
  top: 69.2222222222%;
  left: 0%;
  width: 23.9375%;
}
@media screen and (max-width: 768px) {
  .top-para__lower2 {
    top: 72.3880597015%;
    left: -80%;
    width: 58.1333333333%;
  }
}

.top-para__lower3 {
  position: absolute;
  top: 63.6666666667%;
  left: 46.9375%;
  width: 19.75%;
}
@media screen and (max-width: 768px) {
  .top-para__lower3 {
    top: 64.776119403%;
    left: -10.6666666667%;
    width: 48%;
  }
}

.top-about {
  padding-top: clamp(80px, calc(61.538px + 2.404vw), 100px);
  padding-bottom: clamp(70px, calc(9.077px + 7.933vw), 136px);
  background-color: #0047B9;
}

.top-about__links {
  margin-top: clamp(60px, calc(41.538px + 2.404vw), 80px);
  border-top: 1px solid #fff;
}
.top-about__links li {
  border-bottom: 1px solid #fff;
}

.top-about__item {
  display: block;
  padding: 0.75rem 0;
  transition: all 0.4s ease;
}
.top-about__item .l-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 82%;
}
@media screen and (max-width: 768px) {
  .top-about__item .l-container {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
  }
}
@media (min-width: 768px) {
  .top-about__item:hover {
    background-color: #fff;
  }
  .top-about__item:hover .top-about__text,
  .top-about__item:hover .top-about__ja {
    color: #0047B9;
  }
  .top-about__item:hover .top-about__arrow svg:nth-of-type(2) {
    transform: translateX(100%);
  }
  .top-about__item:hover .top-about__arrow svg:nth-of-type(3) {
    transform: translateX(200%);
  }
}

.top-about__en {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.top-about__text {
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(45px, calc(-10.385px + 7.212vw), 105px);
  font-weight: 700;
}

.top-about__image {
  width: auto;
  max-height: clamp(46px, calc(-7.538px + 6.971vw), 104px);
}

.top-about__ja {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24%;
  color: #fff;
  font-size: clamp(18px, calc(16.154px + 0.24vw), 20px);
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .top-about__ja {
    width: 100%;
    font-weight: 400;
    letter-spacing: 0;
  }
}
.top-about__ja p {
  width: 70%;
  text-align: right;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .top-about__ja p {
    text-align: left;
  }
}

.top-about__arrow {
  position: relative;
  min-width: clamp(32px, calc(9.846px + 2.885vw), 56px);
  height: clamp(32px, calc(9.846px + 2.885vw), 56px);
}
.top-about__arrow svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  fill: #FFF845;
  transition: transform 0.4s ease;
}

.top-interview {
  position: relative;
  padding-top: clamp(100px, calc(38.154px + 8.053vw), 167px);
  padding-bottom: clamp(52px, calc(24.308px + 3.606vw), 82px);
}
.top-interview .c-animate-text {
  position: absolute;
  top: max(-5%, -130px);
  left: 0;
}
@media screen and (max-width: 768px) {
  .top-interview .c-animate-text {
    top: 455px;
    left: inherit;
    right: 0;
    transform-origin: top right;
  }
}
.top-interview .c-animate-text span {
  color: #0047B9;
  font-size: clamp(75px, calc(-12.692px + 11.418vw), 170px);
  font-weight: 800;
}

.top-interview__content {
  width: 80%;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .top-interview__content {
    width: 100%;
    padding-left: calc(24 / 16 * 1rem);
  }
}

.top-interview__lists {
  display: flex;
  margin-top: clamp(40px, calc(-4.308px + 5.769vw), 88px);
}
@media screen and (max-width: 768px) {
  .top-interview__lists {
    flex-direction: column;
  }
}
.top-interview__lists li {
  width: 100%;
  min-width: 0;
}
@media screen and (max-width: 768px) {
  .top-interview__lists li {
    width: 50%;
  }
  .top-interview__lists li:nth-child(even) {
    margin-left: auto;
  }
  .top-interview__lists li:not(:first-of-type) {
    margin-top: -40%;
  }
}

@media (min-width: 768px) {
  .top-interview__link:hover .top-interview__image--before {
    opacity: 0;
  }
  .top-interview__link:hover .top-interview__image--after {
    opacity: 1;
  }
  .top-interview__link:hover .top-interview__number {
    min-width: 100%;
  }
  .top-interview__link:hover .top-interview__number--white {
    min-width: 0;
    width: 0;
    opacity: 0;
  }
  .top-interview__link:hover .top-interview__number__arrow {
    width: clamp(22px, calc(12.769px + 1.202vw), 32px);
    opacity: 1;
  }
}

.top-interview__image {
  position: relative;
  aspect-ratio: 342/602;
}

.top-interview__image--before {
  transition: opacity 0.4s ease;
}

.top-interview__image--after {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.4s ease;
}

.top-interview__number {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 70%;
  padding: clamp(0.25rem, 0.077rem + 0.361vw, 0.438rem) 0;
  color: #fff;
  background-color: #0047B9;
  transition: all 0.4s ease;
}
.top-interview__number svg {
  width: clamp(22px, calc(12.769px + 1.202vw), 32px);
  height: clamp(22px, calc(12.769px + 1.202vw), 32px);
}
@media screen and (max-width: 768px) {
  .top-interview__number {
    min-width: inherit;
    width: 100%;
  }
}

.top-interview__number--white {
  min-width: clamp(22px, calc(12.769px + 1.202vw), 32px);
  fill: #fff;
  transition: opacity 0.4s ease;
}

.top-interview__number__number {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(27px, calc(10.385px + 2.163vw), 45px);
  font-weight: 700;
}

.top-interview__number__year {
  font-size: clamp(12px, calc(6.462px + 0.721vw), 18px);
  font-weight: 500;
  letter-spacing: -0.03em;
  white-space: nowrap;
}

.top-interview__number__arrow {
  width: 0;
  height: clamp(22px, calc(12.769px + 1.202vw), 32px);
  opacity: 0;
  transition: all 0.4s ease;
}
.top-interview__number__arrow svg {
  fill: #FFF845;
  transition: transform 0.4s ease;
}

.top-interview__name {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
  margin-top: clamp(0.313rem, 0.139rem + 0.361vw, 0.5rem);
  margin-right: 0.5rem;
}

.top-interview__name__affiliation {
  font-size: clamp(12px, calc(8.308px + 0.481vw), 16px);
  text-align: right;
}

.top-interview__name__name {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(27px, calc(10.385px + 2.163vw), 45px);
  font-weight: 700;
}

.top-training {
  padding-bottom: clamp(5.625rem, 3.029rem + 5.409vw, 8.438rem);
  background-color: #0047B9;
}

.top-training__contents {
  display: flex;
  align-items: center;
  gap: clamp(0.375rem, -1.01rem + 2.885vw, 1.875rem);
  margin-top: clamp(2.5rem, -2.115rem + 9.615vw, 7.5rem);
}
@media screen and (max-width: 768px) {
  .top-training__contents {
    flex-wrap: wrap;
    width: 103%;
  }
}

@media screen and (max-width: 768px) {
  .top-training__image {
    width: 32%;
  }
  .top-training__image:nth-child(1) {
    order: 2;
  }
  .top-training__image:nth-child(3) {
    order: 3;
  }
  .top-training__image:nth-child(4) {
    order: 4;
  }
}

.top-training__text {
  width: 54%;
  min-width: 34%;
  margin: 0 3%;
}
@media screen and (max-width: 768px) {
  .top-training__text {
    order: 1;
    width: 100%;
    margin: 0 0 calc(55 / 16 * 1rem) 0;
    padding-left: calc(24 / 16 * 1rem);
    padding-right: calc(28 / 16 * 1rem);
  }
}

.top-training__lead {
  margin-top: clamp(1.375rem, -1.048rem + 5.048vw, 4rem);
  color: #fff;
  font-size: clamp(1rem, 0.769rem + 0.481vw, 1.25rem);
  line-height: 1.7;
}

.p-training__link {
  display: flex;
  align-items: center;
  gap: clamp(0.563rem, 0.159rem + 0.841vw, 1rem);
  margin-top: calc(36 / 16 * 1rem);
  color: #fff;
  font-size: clamp(1.25rem, 0.904rem + 0.721vw, 1.625rem);
  font-weight: 700;
}
@media (min-width: 768px) {
  .p-training__link:hover .p-training__link__arrow svg:nth-of-type(2) {
    transform: translateX(110%);
  }
  .p-training__link:hover .p-training__link__arrow svg:nth-of-type(3) {
    transform: translateX(220%);
  }
}

.p-training__link__arrow {
  position: relative;
  width: clamp(1.875rem, 0.837rem + 2.163vw, 3rem);
  height: clamp(1.875rem, 0.837rem + 2.163vw, 3rem);
}
.p-training__link__arrow svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  fill: #FFF845;
  transition: transform 0.4s ease;
}

.about-message__manager {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: calc(10 / 16 * 1rem);
  max-width: calc(680 / 16 * 1rem);
  margin: clamp(35px, calc(23px + 1.563vw), 48px) auto 0;
  color: #fff;
  font-size: calc(12 / 16 * 1rem);
}
.about-message__manager span {
  font-size: calc(20 / 16 * 1rem);
  font-weight: 600;
}

.about-mission__wrapper {
  position: relative;
  z-index: 2;
  max-width: calc(1200 / 16 * 1rem);
  width: 87%;
  margin: clamp(120px, calc(24px + 12.5vw), 224px) auto 0;
  padding: clamp(58px, calc(17.385px + 5.288vw), 102px) calc(16 / 16 * 1rem);
  border: 8px solid #FFF845;
  border-radius: clamp(10px, calc(0.769px + 1.202vw), 20px);
  background-color: #fff;
}
.about-mission__wrapper .l-lower__message__title {
  font-size: clamp(20px, calc(1.538px + 2.404vw), 40px);
}

.about-mission__title {
  position: absolute;
  right: -5%;
  bottom: 100%;
}
@media screen and (max-width: 768px) {
  .about-mission__title {
    right: -12%;
  }
}
.about-mission__title .c-animate-text {
  color: #FFF845;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(70px, calc(-3.846px + 9.615vw), 150px);
  font-weight: 800;
}

.about-mission__lists {
  margin-top: clamp(30px, calc(-3.231px + 4.327vw), 66px);
}

.about-mission__lists__contents {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-content: space-between;
  gap: 2rem;
  max-width: calc(820 / 16 * 1rem);
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .about-mission__lists__contents {
    grid-template-columns: 1fr;
  }
}

.about-mission__lists__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(12 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .about-mission__lists__title {
    flex-direction: row;
  }
}

.about-mission__lists__lead {
  margin-top: calc(16 / 16 * 1rem);
  font-size: 1rem;
  line-height: 1.6;
}

.about-mission__lists__number {
  display: grid;
  place-items: center;
  min-width: calc(62 / 16 * 1rem);
  height: calc(62 / 16 * 1rem);
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: calc(16 / 16 * 1rem);
  font-weight: 700;
  border-radius: 50%;
  border: 4px solid #FFF845;
  background-color: #0047B9;
}

.about-mission__lists__text {
  font-size: clamp(25px, calc(15.769px + 1.202vw), 35px);
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .about-mission__lists__text {
    text-align: left;
  }
}
.about-mission__lists__text br {
  display: block;
}
@media screen and (max-width: 768px) {
  .about-mission__lists__text br {
    display: none;
  }
}
.about-mission__lists__text span {
  display: inline-block;
  color: #0047B9;
}

.about-ideal__wrapper {
  max-width: calc(1200 / 16 * 1rem);
  width: 75%;
  margin: clamp(64px, calc(-6.154px + 9.135vw), 140px) auto 0;
}
@media screen and (max-width: 768px) {
  .about-ideal__wrapper {
    width: 100%;
  }
}

.about-ideal__titleWrapper {
  position: relative;
}
.about-ideal__titleWrapper .c-sectionTitle {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .about-ideal__titleWrapper .c-sectionTitle {
    margin-left: calc(24 / 16 * 1rem);
  }
}

.about-ideal__title {
  display: block;
  width: min(918px, 57.375vw);
  margin-left: -4.375vw;
}
@media screen and (max-width: 768px) {
  .about-ideal__title {
    width: min(483px, 128.8vw);
    margin-left: 0;
  }
}

.about-ideal__contents {
  position: relative;
  z-index: 2;
  margin-top: -5.625vw;
}
@media screen and (max-width: 768px) {
  .about-ideal__contents {
    margin-top: calc(80 / 16 * 1rem);
  }
}

.about-ideal__lists {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 2列に分ける */
  grid-template-rows: 1fr 1fr; /* 2行に分ける */
  gap: 0; /* ギャップなし */
  justify-items: center; /* 横中央揃え */
  align-items: center;
  width: -moz-max-content;
  width: max-content;
  margin-top: -18%;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .about-ideal__lists {
    grid-template-columns: 1fr; /* 3列に分ける */
    grid-template-rows: 1fr 1fr 1fr; /* 3行に分ける */
    margin-top: 0;
    margin-right: auto;
    width: 100%;
  }
}

.about-ideal__item {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 1/1;
  width: min(367px, 22.9375vw);
  padding: 0 min(50px, 3.125vw);
}
.about-ideal__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: min(3px, 0.1875vw) solid #fff;
  background-color: rgba(255, 255, 255, 0.25);
  transform: scale(1.1);
}
@media screen and (max-width: 768px) {
  .about-ideal__item::before {
    transform: scale(1.15);
  }
}
.about-ideal__item:first-of-type {
  grid-column: 1/3; /* 1列目と2列目をまたがる */
  grid-row: 1; /* 上の行 */
  z-index: 2; /* 上に重なる */
  margin-bottom: -12%;
}
@media screen and (max-width: 768px) {
  .about-ideal__item:first-of-type {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 0;
    margin-left: -20vw;
  }
}
.about-ideal__item:nth-of-type(2) {
  grid-column: 1;
  grid-row: 2;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .about-ideal__item:nth-of-type(2) {
    margin-right: -20vw;
  }
}
.about-ideal__item:nth-of-type(3) {
  grid-column: 2;
  grid-row: 2;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .about-ideal__item:nth-of-type(3) {
    grid-column: 1;
    grid-row: 3;
    margin-left: -20vw;
  }
}
@media screen and (max-width: 768px) {
  .about-ideal__item {
    width: min(294px, 78.4vw);
    padding: 0 min(40px, 10.6666666667vw);
  }
}

.about-ideal__item__number {
  color: #FFF845;
  font-family: "Montserrat", sans-serif;
  font-size: min(25px, 1.5625vw);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .about-ideal__item__number {
    font-size: min(19px, 5.0666666667vw);
  }
}

.about-ideal__item__title {
  margin-top: min(20px, 1.25vw);
  color: #fff;
  font-size: min(35px, 2.1875vw);
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .about-ideal__item__title {
    margin-top: min(16px, 4.2666666667vw);
    font-size: min(28px, 7.4666666667vw);
  }
}

.about-ideal__item__lead {
  margin-top: min(30px, 1.875vw);
  font-size: min(16px, 1vw);
  color: #fff;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .about-ideal__item__lead {
    margin-top: min(23px, 6.1333333333vw);
    font-size: min(12px, 3.2vw);
  }
}

.about-job {
  margin-top: calc(185 / 16 * 1rem);
  margin-bottom: clamp(6rem, -2.654rem + 18.029vw, 15.375rem);
}
@media screen and (max-width: 768px) {
  .about-job {
    margin-top: calc(88 / 16 * 1rem);
  }
}

.about-job__lists {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(60 / 16 * 1rem);
  margin-top: clamp(3.75rem, 2.365rem + 2.885vw, 5.25rem);
}
@media screen and (max-width: 768px) {
  .about-job__lists {
    grid-template-columns: 1fr;
  }
}

.about-job__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  border-top: 4px solid #fff;
  row-gap: 1.5rem;
}

.about-job__title {
  display: flex;
  align-items: center;
  gap: 1rem;
  height: calc(65 / 16 * 1rem);
  padding: clamp(0.875rem, 0.644rem + 0.481vw, 1.125rem) 0;
  font-size: clamp(1.313rem, 1.139rem + 0.361vw, 1.5rem);
  font-weight: 700;
  color: #fff;
  border-bottom: 1px solid #fff;
}

.about-job__label {
  padding: calc(7 / 16 * 1rem) calc(12 / 16 * 1rem);
  font-size: clamp(0.875rem, 0.76rem + 0.24vw, 1rem);
  font-weight: 700;
  color: #0047B9;
  background-color: #fff;
}

.about-job__text {
  color: #fff;
  font-size: clamp(0.938rem, 0.88rem + 0.12vw, 1rem);
  line-height: 1.7;
}

.data-company {
  margin-top: clamp(76px, calc(-38.462px + 14.904vw), 200px);
}

.data-company__title {
  margin-bottom: -10%;
}
@media screen and (max-width: 768px) {
  .data-company__title {
    margin-bottom: 0;
  }
}

.data-company__note {
  margin-top: calc(12 / 16 * 1rem);
  color: #fff;
  font-size: clamp(12px, calc(10.154px + 0.24vw), 14px);
  text-align: right;
}
.data-company__note.--data {
  text-align: left;
}

.data-company__lists {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, calc(3.077px + 1.683vw), 30px);
}
@media screen and (max-width: 768px) {
  .data-company__lists {
    grid-template-columns: repeat(2, 1fr);
    margin-top: calc(60 / 16 * 1rem);
  }
}
@media (min-width: 769px) {
  .data-company__lists li:nth-of-type(3n+2) {
    transform: translateY(50%);
  }
  .data-company__lists li:nth-of-type(3n+3) {
    transform: translateY(107%);
  }
}
@media screen and (max-width: 768px) {
  .data-company__lists li:nth-of-type(2n) {
    transform: translateY(50%);
  }
}

.data-senior {
  margin-top: clamp(188px, calc(176.923px + 1.442vw), 200px);
  margin-bottom: clamp(180px, calc(-300px + 62.5vw), 700px);
}

.data-senior__lists {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  gap: clamp(16px, calc(3.077px + 1.683vw), 30px);
}
@media screen and (max-width: 768px) {
  .data-senior__lists {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(5, 1fr);
    margin-top: calc(60 / 16 * 1rem);
  }
}
.data-senior__lists li:nth-of-type(1) {
  grid-area: 1/1/2/2;
  transform: translateY(107%);
}
@media screen and (max-width: 768px) {
  .data-senior__lists li:nth-of-type(1) {
    grid-area: 1/1/2/2;
    transform: translateY(50%);
  }
}
.data-senior__lists li:nth-of-type(2) {
  grid-area: 1/2/2/3;
  transform: translateY(50%);
}
@media screen and (max-width: 768px) {
  .data-senior__lists li:nth-of-type(2) {
    grid-area: 1/2/2/3;
    transform: translateY(0);
  }
}
.data-senior__lists li:nth-of-type(3) {
  grid-area: 1/3/3/4;
}
@media screen and (max-width: 768px) {
  .data-senior__lists li:nth-of-type(3) {
    grid-area: 2/1/4/2;
    transform: translateY(24%);
  }
}
.data-senior__lists li:nth-of-type(4) {
  grid-area: 2/1/4/2;
  transform: translateY(52%);
}
@media screen and (max-width: 768px) {
  .data-senior__lists li:nth-of-type(4) {
    grid-area: 2/2/4/3;
    transform: translateY(0);
  }
}
.data-senior__lists li:nth-of-type(5) {
  grid-area: 2/2/3/3;
  transform: translateY(50%);
}
@media screen and (max-width: 768px) {
  .data-senior__lists li:nth-of-type(5) {
    grid-area: 4/1/5/2;
  }
}
.data-senior__lists li:nth-of-type(6) {
  grid-area: 3/2/4/3;
  transform: translateY(50%);
}
@media screen and (max-width: 768px) {
  .data-senior__lists li:nth-of-type(6) {
    grid-area: 4/2/5/3;
    transform: translateY(0);
  }
}
.data-senior__lists li:nth-of-type(7) {
  grid-area: 3/3/4/4;
}
@media screen and (max-width: 768px) {
  .data-senior__lists li:nth-of-type(7) {
    grid-area: 5/2/6/3;
  }
}

.teacher-message {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  max-width: calc(1360 / 16 * 1rem);
  margin: clamp(77px, calc(-18.077px + 12.38vw), 180px) auto 0;
  padding: 0 calc(24 / 16 * 1rem);
}

.teacher-message__title {
  position: absolute;
  top: 60%;
  right: 0;
  transform: rotate(90deg);
  transform-origin: right top;
}
.teacher-message__title .c-animate-text .char {
  transform: translateY(-100%);
}
@media screen and (max-width: 768px) {
  .teacher-message__title .c-animate-text .char {
    transform: translateY(0.8em);
  }
}
@media screen and (max-width: 768px) {
  .teacher-message__title {
    top: inherit;
    bottom: 100%;
    transform-origin: right bottom;
  }
}
.teacher-message__title .c-animate-text {
  color: #FFF845;
  font-size: clamp(70px, calc(-3.846px + 9.615vw), 150px);
  font-weight: 700;
}
.teacher-message__title .c-animate-text span {
  line-height: 0.8;
}

.teacher-message__main {
  display: flex;
  width: 80%;
  margin: 0 auto;
  justify-content: center;
  align-items: flex-end;
  gap: clamp(20px, calc(-15.077px + 4.567vw), 58px);
  color: #fff;
}
@media screen and (max-width: 768px) {
  .teacher-message__main {
    flex-direction: column-reverse;
    width: 100%;
    margin-top: 2rem;
    gap: calc(60 / 16 * 1rem);
  }
}

.teacher-message__image {
  position: relative;
  width: 40%;
  border-radius: clamp(12px, calc(0.923px + 1.442vw), 24px);
  overflow: hidden;
  filter: drop-shadow(40px 60px 80px rgba(10, 53, 124, 0.6));
}
@media screen and (max-width: 768px) {
  .teacher-message__image {
    width: 85%;
    margin-right: auto;
    margin-bottom: -4rem;
  }
}

.teacher-message__image__president {
  position: absolute;
  left: 0;
  bottom: min(90px, 5.625vw);
}
@media screen and (max-width: 768px) {
  .teacher-message__image__president {
    bottom: calc(90 / 16 * 1rem);
  }
}
.teacher-message__image__president .--post {
  font-size: clamp(14px, calc(12.154px + 0.24vw), 16px);
}
.teacher-message__image__president .--name {
  font-size: clamp(18px, calc(16.154px + 0.24vw), 20px);
  line-height: 1.3;
  font-weight: 500;
}

.teacher-message__text {
  position: relative;
  width: 55%;
  margin-bottom: 6%;
}
@media screen and (max-width: 768px) {
  .teacher-message__text {
    width: 100%;
  }
}

.teacher-message__text__title {
  font-size: clamp(24px, calc(13.846px + 1.322vw), 35px);
  font-weight: 700;
  line-height: 1.7;
}
.teacher-message__text__title span {
  display: inline-block;
}

.teacher-message__text__lead {
  width: 80%;
  margin-top: clamp(20px, calc(-2.154px + 2.885vw), 44px);
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .teacher-message__text__lead {
    width: 100%;
  }
}

.teacher-message__growing {
  position: relative;
  z-index: 2;
  width: 90%;
  margin-bottom: clamp(100px, calc(44.615px + 7.212vw), 160px);
  padding-top: calc(52 / 16 * 1rem);
  padding-right: clamp(16px, calc(-52.308px + 8.894vw), 90px);
  padding-left: clamp(16px, calc(-52.308px + 8.894vw), 90px);
  padding-bottom: calc(32 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .teacher-message__growing {
    width: 100%;
  }
}

.teacher-message__growing__contents {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: clamp(21px, calc(-19.615px + 5.288vw), 65px);
}
@media screen and (max-width: 768px) {
  .teacher-message__growing__contents {
    flex-direction: column;
  }
}

.teacher-message__growing__text {
  width: 55%;
}
@media screen and (max-width: 768px) {
  .teacher-message__growing__text {
    width: 100%;
  }
}

.teacher-message__growing__graph {
  width: 45%;
}
@media screen and (max-width: 768px) {
  .teacher-message__growing__graph {
    width: 100%;
  }
}

.teacher-safety {
  padding-bottom: clamp(120px, calc(101.538px + 2.404vw), 140px);
  background-color: #fff;
}

.teacher-safety__title {
  display: grid;
  grid-template-columns: 50% 1fr;
  justify-content: space-between;
  align-content: flex-end;
  gap: clamp(20px, calc(-112px + 17.188vw), 163px);
  margin-top: clamp(40px, calc(-15.385px + 7.212vw), 100px);
}
@media screen and (max-width: 768px) {
  .teacher-safety__title {
    grid-template-columns: 1fr;
  }
}

.teacher-safety__lead {
  font-size: clamp(16px, calc(14.154px + 0.24vw), 18px);
  line-height: 2;
}

.teacher-safety__lists {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: calc(60 / 16 * 1rem);
       column-gap: calc(60 / 16 * 1rem);
  row-gap: clamp(40px, calc(-15.385px + 7.212vw), 100px);
  margin-top: clamp(56px, calc(-17.846px + 9.615vw), 136px);
}
@media screen and (max-width: 768px) {
  .teacher-safety__lists {
    grid-template-columns: 1fr;
  }
}
.teacher-safety__lists li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  row-gap: 0;
}

.teacher-safety__lists__title {
  position: relative;
  display: flex;
  align-items: center;
  gap: clamp(20px, calc(10.769px + 1.202vw), 30px);
  padding-bottom: calc(6 / 16 * 1rem);
  font-size: clamp(21px, calc(18.231px + 0.361vw), 24px);
  font-weight: 700;
  border-bottom: 1px solid #000;
}
.teacher-safety__lists__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: clamp(36px, calc(28.615px + 0.962vw), 44px);
  height: calc(3 / 16 * 1rem);
  background-color: #0047B9;
}
.teacher-safety__lists__title span {
  color: #0047B9;
  font-family: "Montserrat", sans-serif;
  font-style: italic;
  font-size: calc(30 / 16 * 1rem);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.teacher-safety__lists__lead {
  margin-top: calc(20 / 16 * 1rem);
  font-size: clamp(15px, calc(14.077px + 0.12vw), 16px);
  line-height: 1.8;
}

.teacher-safety__lists__image {
  margin-top: clamp(20px, calc(10.769px + 1.202vw), 30px);
}

.teacher-education {
  padding-top: clamp(95px, calc(35px + 7.813vw), 160px);
  background-color: #0047B9;
}
@media screen and (max-width: 768px) {
  .teacher-education .c-sectionTitle {
    text-align: center;
  }
}

.teacher-education__lists {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: clamp(30px, calc(-25.385px + 7.212vw), 90px);
  color: #fff;
}
@media screen and (max-width: 768px) {
  .teacher-education__lists {
    flex-direction: column;
  }
}

.teacher-education__item {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 1/1;
  width: min(366px, 22.875vw);
  padding: 0 min(54px, 3.375vw);
}
@media screen and (max-width: 768px) {
  .teacher-education__item {
    width: min(294px, 78.4vw);
    padding: 0 min(51px, 13.6vw);
  }
}
.teacher-education__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: clamp(1px, calc(-0.846px + 0.24vw), 3px) solid #fff;
  border-radius: 50%;
  transform: scale(1.1);
  pointer-events: none;
}

.teacher-education__title {
  margin-bottom: min(20px, 1.25vw);
  font-size: min(32px, 2vw);
  font-weight: 700;
  text-align: center;
}
.teacher-education__title span {
  color: #FFF845;
}
@media screen and (max-width: 768px) {
  .teacher-education__title {
    margin-bottom: min(29px, 7.7333333333vw);
    font-size: min(28px, 7.4666666667vw);
  }
}

.teacher-education__lead {
  font-size: min(16px, 1vw);
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .teacher-education__lead {
    font-size: min(12px, 3.2vw);
  }
}

.teacher-recruit {
  margin-top: clamp(28px, calc(-47.692px + 9.856vw), 110px);
  padding: clamp(3.625rem, -0.99rem + 9.615vw, 8.625rem) calc(24 / 16 * 1rem) clamp(6.25rem, 4.519rem + 3.606vw, 8.125rem);
  background-image: url(../images/teacher_recruit_bg_pc.webp);
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .teacher-recruit {
    background-image: url(../images/teacher_recruit_bg_sp.webp);
  }
}

.teacher-recruit__message {
  position: relative;
  max-width: calc(1000 / 16 * 1rem);
  margin: 0 auto;
  padding: clamp(58px, calc(43.231px + 1.923vw), 74px) clamp(32px, calc(4.308px + 3.606vw), 62px);
  background-color: #fff;
}
.teacher-recruit__message::after {
  content: "";
  position: absolute;
  top: clamp(12px, calc(9.231px + 0.361vw), 15px);
  right: clamp(12px, calc(9.231px + 0.361vw), 15px);
  bottom: clamp(12px, calc(9.231px + 0.361vw), 15px);
  left: clamp(12px, calc(9.231px + 0.361vw), 15px);
  display: block;
  border: 4px solid #0047B9;
  pointer-events: none;
}

.teacher-recruit__title {
  font-size: clamp(20px, calc(12.615px + 0.962vw), 28px);
  font-weight: 700;
  color: #0047B9;
  text-align: center;
}

.teacher-recruit__lead {
  margin-top: clamp(20px, calc(-16.923px + 4.808vw), 60px);
  line-height: 1.7;
}

.training-about {
  max-width: calc(700 / 16 * 1rem);
  margin: clamp(76px, calc(-10.769px + 11.298vw), 170px) auto clamp(60px, calc(23.077px + 4.808vw), 100px);
  padding: 0 calc(24 / 16 * 1rem);
}

.training-about__lead {
  margin-top: clamp(20px, calc(10.769px + 1.202vw), 30px);
}
.training-about__lead p {
  color: #fff;
  line-height: 1.7;
}
.training-about__lead p:last-of-type {
  margin-top: clamp(20px, calc(8px + 1.563vw), 33px);
}

.training-fadein__content {
  position: relative;
}

.training-fadein__image {
  mix-blend-mode: overlay;
}
.training-fadein__image.--fromLeft {
  transform: translateX(-100%);
}
.training-fadein__image.--fromRight {
  transform: translateX(100%);
}

.training-fadein__letter {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 59%;
}
@media screen and (max-width: 768px) {
  .training-fadein__letter {
    width: 75%;
  }
}
.training-fadein__letter.--fromLeft {
  left: inherit;
  right: 100%;
}
.training-fadein__letter.--fromRight {
  left: 100%;
}

.training-pin {
  padding: clamp(60px, calc(-78.462px + 18.029vw), 210px) calc(24 / 16 * 1rem) clamp(60px, calc(-32.308px + 12.019vw), 160px);
  color: #fff;
}

.training-endTrigger {
  pointer-events: none;
  visibility: hidden;
}

.training-pin__content {
  position: relative;
  display: grid;
  grid-template-columns: 36% 58%;
  gap: clamp(20px, calc(-16.923px + 4.808vw), 60px);
  width: 90%;
  margin-left: auto;
}
.training-pin__content:not(:first-of-type) {
  margin-top: clamp(60px, calc(41.538px + 2.404vw), 80px);
}
@media screen and (max-width: 768px) {
  .training-pin__content {
    grid-template-columns: 1fr;
    width: 100%;
  }
}

.training-pin__title {
  display: flex;
  align-items: center;
  gap: clamp(15px, calc(10.385px + 0.601vw), 20px);
  font-size: clamp(20px, calc(10.769px + 1.202vw), 30px);
  font-weight: 700;
}
.training-pin__title span {
  color: #FFF845;
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  font-style: italic;
}

.training-pin__lead {
  margin-top: clamp(18px, calc(-23.538px + 5.409vw), 63px);
  line-height: 1.7;
}

.training-pin__lists {
  margin-top: clamp(20px, calc(10.769px + 1.202vw), 30px);
}
.training-pin__lists li {
  padding-left: 1.3em;
  text-indent: -1.3em;
  margin-bottom: 10px;
  line-height: 1.7;
}
.training-pin__lists li::before {
  content: "";
  display: inline-block;
  width: calc(6 / 16 * 1rem);
  height: calc(6 / 16 * 1rem);
  background: #FFF845;
  border-radius: 50%;
  vertical-align: middle;
  margin-right: 0.5em;
}

.training-pin__imageWrapper {
  display: flex;
  align-items: center;
  gap: calc(50 / 16 * 1rem);
}

.training-pin__counter {
  position: absolute;
  top: 50%;
  left: 40%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: calc(28 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .training-pin__counter {
    display: none;
  }
}
.training-pin__counter p {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 1/1;
  width: calc(40 / 16 * 1rem);
  color: #fff;
  opacity: 0.4;
  font-family: "Montserrat", sans-serif;
  font-size: calc(22 / 16 * 1rem);
  font-weight: 800;
  font-style: italic;
  transition: all 0.4s ease;
}
.training-pin__counter p::after {
  content: "";
  position: absolute;
  top: 0;
  left: 2px;
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  width: calc(40 / 16 * 1rem);
  border: 2px solid #FFF845;
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.training-pin__counter p.--is-active {
  color: #FFF845;
  opacity: 1;
}
.training-pin__counter p.--is-active::after {
  opacity: 1;
}

.training-pin__image {
  width: 90%;
  margin-left: auto;
  border-radius: clamp(12px, calc(0.923px + 1.442vw), 24px);
  overflow: hidden;
}
.training-pin__image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
@media screen and (max-width: 768px) {
  .training-pin__image {
    width: 100%;
  }
}

.training-safety {
  padding: clamp(95px, calc(-1.923px + 12.62vw), 200px) calc(24 / 16 * 1rem) clamp(94px, calc(-40.769px + 17.548vw), 240px);
  background-color: #fff;
}

.training-safety__text {
  position: relative;
}
@media screen and (max-width: 768px) {
  .training-safety__text {
    min-height: calc(275 / 16 * 1rem);
  }
}
.training-safety__text .c-sectionTitle {
  position: relative;
  z-index: 2;
}

.training-safety__title {
  position: absolute;
  bottom: 50%;
  right: calc(77 / 16 * 1rem);
  transform: translateY(170%) rotate(90deg);
  transform-origin: right bottom;
}
@media screen and (max-width: 768px) {
  .training-safety__title {
    right: calc(80 / 16 * 1rem);
    transform: translateY(150%) rotate(90deg);
  }
}
.training-safety__title .c-animate-text {
  color: rgba(255, 248, 69, 0.7);
  font-size: clamp(70px, calc(-3.846px + 9.615vw), 150px);
  font-weight: 800;
}

.training-safety__inner {
  position: relative;
  display: grid;
  grid-template-columns: 46% 44%;
  gap: clamp(60px, calc(32.308px + 3.606vw), 90px);
  max-width: calc(1200 / 16 * 1rem);
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .training-safety__inner {
    grid-template-columns: 1fr;
  }
}

.training-safety__lead {
  position: relative;
  margin-top: clamp(20px, calc(-7.692px + 3.606vw), 50px);
  line-height: 1.7;
  z-index: 2;
}

.training-benefits {
  max-width: calc(1000 / 16 * 1rem);
  margin: clamp(110px, calc(63.846px + 6.01vw), 160px) auto 0;
  padding: 0 calc(24 / 16 * 1rem);
}

.training-benefits__lead {
  max-width: calc(600 / 16 * 1rem);
  margin: clamp(20px, calc(-26.154px + 6.01vw), 70px) auto;
  padding: 0 calc(24 / 16 * 1rem);
  color: #fff;
  font-size: clamp(16px, calc(14.154px + 0.24vw), 18px);
  line-height: 1.8;
}

.training-benefits__lists {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: calc(12 / 16 * 1rem);
  margin-top: clamp(60px, calc(32.308px + 3.606vw), 90px);
}
@media screen and (max-width: 768px) {
  .training-benefits__lists {
    justify-content: flex-start;
    row-gap: calc(16 / 16 * 1rem);
    -moz-column-gap: calc(8 / 16 * 1rem);
         column-gap: calc(8 / 16 * 1rem);
  }
}
.training-benefits__lists.--evaluation {
  max-width: calc(780 / 16 * 1rem);
  margin-left: auto;
  margin-right: auto;
}
.training-benefits__lists li, .training-benefits__lists button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: calc(76 / 16 * 1rem);
  padding: calc(14 / 16 * 1rem) calc(6 / 16 * 1rem);
  color: #0047B9;
  font-size: calc(60 / 16 * 1rem);
  font-weight: 700;
  background-color: #fff;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .training-benefits__lists li, .training-benefits__lists button {
    height: auto;
    padding: calc(6 / 16 * 1rem);
    font-size: calc(42 / 16 * 1rem);
  }
}
.training-benefits__lists li.--small, .training-benefits__lists button.--small {
  font-size: calc(39 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .training-benefits__lists li.--small, .training-benefits__lists button.--small {
    font-size: calc(28 / 16 * 1rem);
  }
}
@media screen and (max-width: 768px) {
  .training-benefits__lists li.--middle, .training-benefits__lists button.--middle {
    font-size: calc(35 / 16 * 1rem);
  }
}
@media screen and (max-width: 768px) {
  .training-benefits__lists li.--w100, .training-benefits__lists button.--w100 {
    width: 100%;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .training-benefits__lists li.--flex-end, .training-benefits__lists button.--flex-end {
    justify-content: space-between;
    align-items: flex-end;
    text-align: left;
  }
}
.training-benefits__lists li .--note, .training-benefits__lists button .--note {
  font-size: calc(40 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .training-benefits__lists li .--note, .training-benefits__lists button .--note {
    font-size: calc(18 / 16 * 1rem);
  }
}
.training-benefits__lists li br, .training-benefits__lists button br {
  display: none;
}
@media screen and (max-width: 768px) {
  .training-benefits__lists li br, .training-benefits__lists button br {
    display: block;
  }
}
.training-benefits__lists button {
  gap: calc(8 / 16 * 1rem);
}
.training-benefits__lists .--plus {
  position: relative;
  min-width: calc(35 / 16 * 1rem);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #0047B9;
}
@media screen and (max-width: 768px) {
  .training-benefits__lists .--plus {
    min-width: calc(24 / 16 * 1rem);
  }
}
.training-benefits__lists .--plus::before, .training-benefits__lists .--plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: calc(20 / 16 * 1rem);
  height: calc(4 / 16 * 1rem);
  background-color: #FFF845;
}
@media screen and (max-width: 768px) {
  .training-benefits__lists .--plus::before, .training-benefits__lists .--plus::after {
    width: calc(14 / 16 * 1rem);
  }
}
.training-benefits__lists .--plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.training-evaluation {
  margin-top: clamp(95px, calc(16.538px + 10.216vw), 180px);
  margin-bottom: clamp(95px, calc(-85px + 23.438vw), 290px);
}

.training-modal__title {
  color: #0047B9;
  font-size: calc(36 / 16 * 1rem);
  font-weight: 700;
}

.training-modal__lead {
  margin-top: calc(44 / 16 * 1rem);
  line-height: 1.8;
}

.interview-fv {
  position: relative;
  padding-top: calc(155 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .interview-fv {
    padding-top: calc(128 / 16 * 1rem);
  }
}
.interview-fv .l-breadcrumbs {
  position: absolute;
  top: 0;
  right: 0;
  padding-top: calc(155 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .interview-fv .l-breadcrumbs {
    width: 100%;
    padding-top: calc(128 / 16 * 1rem);
  }
}
.interview-fv .c-infinity-letter {
  position: absolute;
  bottom: 0;
  z-index: 2;
}

.interview-fv__inner {
  display: grid;
  grid-template-columns: 40% 60%;
  align-items: center;
  width: 95%;
  margin-left: auto;
  padding: 0 calc(24 / 16 * 1rem);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .interview-fv__inner {
    grid-template-columns: 1fr;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .interview-fv__text {
    margin-top: calc(70 / 16 * 1rem);
  }
}

.interview-fv__number {
  display: inline-flex;
  align-items: flex-end;
  gap: 0.5rem;
  color: #0047B9;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(26px, calc(15.846px + 1.322vw), 37px);
  font-weight: 800;
  text-transform: uppercase;
  border-bottom: 3px solid #0047B9;
}
.interview-fv__number p {
  line-height: 0.7;
}
.interview-fv__number span {
  transform: translateY(3px);
}
@media screen and (max-width: 768px) {
  .interview-fv__number span {
    margin-left: calc(10 / 16 * 1rem);
    height: calc(32 / 16 * 1rem);
  }
  .interview-fv__number span svg {
    width: auto;
    height: 100%;
  }
}

.interview-fv__lead {
  margin-top: clamp(20px, calc(-11.385px + 4.087vw), 54px);
  font-size: clamp(20px, calc(6.154px + 1.803vw), 35px);
  font-weight: 800;
  line-height: 1.5;
}
.interview-fv__lead span {
  display: inline-block;
}

.interview-fv__profile {
  display: flex;
  align-items: flex-end;
  gap: clamp(12px, calc(0.923px + 1.442vw), 24px);
  margin-top: clamp(18px, calc(-2.308px + 2.644vw), 40px);
}
.interview-fv__profile .--department {
  font-size: clamp(14px, calc(9.385px + 0.601vw), 19px);
  font-weight: 700;
}
.interview-fv__profile .--name {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(32px, calc(8.923px + 3.005vw), 57px);
  font-weight: 800;
  line-height: 0.8;
}
.interview-fv__profile .--year {
  font-size: clamp(14px, calc(4.769px + 1.202vw), 24px);
  font-weight: 700;
  color: #0047B9;
}

.interview-fv__image img {
  transform: scale(1.12);
}
@media screen and (max-width: 768px) {
  .interview-fv__image img {
    transform: scale(1.25);
  }
}
@media screen and (max-width: 768px) {
  .interview-fv__image {
    transform: translateX(30%);
  }
}

.interview-qanda {
  position: relative;
}
@media screen and (max-width: 768px) {
  .interview-qanda {
    position: static;
  }
}
.interview-qanda .c-infinity-letter {
  position: absolute;
  top: 0;
}

.interview-qanda__text {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translateY(60%);
  z-index: 2;
  width: 40.625vw;
  margin-left: auto;
  padding: 4.75vw 5.625vw 4.125vw 3.75vw;
  color: #fff;
  background-color: rgba(0, 71, 185, 0.9);
}
@media screen and (max-width: 768px) {
  .interview-qanda__text {
    position: static;
    transform: none;
    width: 100%;
    padding: calc(60 / 16 * 1rem) calc(24 / 16 * 1rem);
  }
}
.interview-qanda__text.--left {
  right: inherit;
  left: 0;
}

.interview-qanda__question {
  position: relative;
  padding-left: clamp(42px, calc(31.846px + 1.322vw), 53px);
  font-size: 1.8125vw;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .interview-qanda__question {
    font-size: calc(21 / 16 * 1rem);
  }
}
.interview-qanda__question::before {
  content: "Q";
  position: absolute;
  top: calc(-5 / 16 * 1rem);
  left: 0;
  color: #FFF845;
  font-size: clamp(30px, calc(20.769px + 1.202vw), 40px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .interview-qanda__question::before {
    top: calc(-2 / 16 * 1rem);
  }
}
.interview-qanda__question span {
  display: inline-block;
}

.interview-qanda__answer {
  margin-top: clamp(20px, calc(-4px + 3.125vw), 46px);
  font-size: 1.5vw;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .interview-qanda__answer {
    font-size: calc(20 / 16 * 1rem);
  }
}

.interview-qanda__lead {
  margin-top: clamp(18px, calc(6.923px + 1.442vw), 30px);
  font-size: 1vw;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .interview-qanda__lead {
    font-size: calc(16 / 16 * 1rem);
  }
}

.interview-schedule {
  padding: clamp(95px, calc(81.154px + 1.803vw), 110px) 0 0 min(200px, 12.5vw);
  background-color: #0047B9;
}
@media screen and (max-width: 768px) {
  .interview-schedule {
    padding-left: calc(24 / 16 * 1rem);
    padding-right: 0;
  }
}

.interview-schedule__title {
  display: flex;
  align-items: flex-end;
  gap: clamp(20px, calc(-81.538px + 13.221vw), 130px);
  color: #fff;
  font-size: clamp(16px, calc(14.154px + 0.24vw), 18px);
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .interview-schedule__title {
    flex-direction: column;
    align-items: flex-start;
    padding-right: calc(24 / 16 * 1rem);
  }
}

.interview-schedule__oneday {
  margin-top: clamp(50px, calc(-23.846px + 9.615vw), 130px);
}
.interview-schedule__oneday ul {
  position: relative;
  display: flex;
  gap: calc(18 / 16 * 1rem);
  overflow-x: auto;
  padding-right: calc(50 / 16 * 1rem);
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.interview-schedule__oneday ul::-webkit-scrollbar {
  display: none;
}
.interview-schedule__oneday ul::before, .interview-schedule__oneday ul::after {
  content: "";
  display: block;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}
.interview-schedule__oneday ul::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 71, 185, 0.5);
}
.interview-schedule__oneday ul::after {
  position: absolute;
  top: 50%;
  left: 40%;
  transform: translateY(-50%);
  width: calc(163 / 16 * 1rem);
  height: calc(55 / 16 * 1rem);
  background-image: url(../images/scroll_icon.webp);
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .interview-schedule__oneday ul::after {
    left: 20%;
  }
}
.interview-schedule__oneday ul.is-active::before, .interview-schedule__oneday ul.is-active::after {
  opacity: 1;
}
.interview-schedule__oneday ul.is-active::after {
  animation: scrollRight 0.7s ease-in-out 2;
}
.interview-schedule__oneday li {
  min-width: calc(300 / 16 * 1rem);
  padding: calc(32 / 16 * 1rem) calc(29 / 16 * 1rem);
  background-color: #fff;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.interview-schedule__oneday li .--time {
  display: inline-block;
  padding: calc(8 / 16 * 1rem) calc(16 / 16 * 1rem);
  font-size: calc(30 / 16 * 1rem);
  font-weight: 700;
  color: #fff;
  background-color: #002F5D;
}
.interview-schedule__oneday li .--title {
  margin-top: calc(25 / 16 * 1rem);
  font-size: calc(24 / 16 * 1rem);
  font-weight: 700;
}
.interview-schedule__oneday li .--lead {
  margin-top: calc(25 / 16 * 1rem);
  font-size: calc(18 / 16 * 1rem);
  line-height: 1.8;
}

@keyframes scrollRight {
  0% {
    transform: translate(0, -50%);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  100% {
    transform: translate(24px, -50%);
    opacity: 0;
  }
}
.interview-schedule__dayoff {
  padding: clamp(95px, calc(71.923px + 3.005vw), 120px) calc(24 / 16 * 1rem) 0;
  color: #fff;
  background-color: #0047B9;
}
.interview-schedule__dayoff .l-container {
  position: relative;
  border: 3px solid #fff;
}

.interview-schedule__dayoff__title {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  padding: calc(24 / 16 * 1rem) calc(38 / 16 * 1rem);
  font-size: clamp(24px, calc(9.231px + 1.923vw), 40px);
  font-weight: 700;
  background-color: #0047B9;
  white-space: nowrap;
}

.interview-schedule__dayoff__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(30px, calc(-6.923px + 4.808vw), 70px);
  padding: clamp(47px, calc(18.385px + 3.726vw), 78px) calc(20 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .interview-schedule__dayoff__content {
    grid-template-columns: 1fr;
    padding: clamp(47px, calc(18.385px + 3.726vw), 78px) 0;
  }
}

.interview-schedule__dayoff__text {
  font-size: clamp(16px, calc(14.154px + 0.24vw), 18px);
  line-height: 1.8;
}

.interview-message {
  padding-top: clamp(116px, calc(84.615px + 4.087vw), 150px);
  background-color: #0047B9;
}

.interview-message__container {
  max-width: calc(1360 / 16 * 1rem);
  margin: 0 auto;
  padding: 0 calc(24 / 16 * 1rem);
}

.interview-message__title {
  margin-top: calc(24 / 16 * 1rem);
  color: #fff;
  font-size: clamp(24px, calc(9.231px + 1.923vw), 40px);
  font-weight: 700;
  text-align: center;
}
.interview-message__title span {
  display: inline-block;
}

.interview-message__content {
  display: flex;
  align-items: flex-end;
  gap: calc(30 / 16 * 1rem);
  margin-top: calc(68 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .interview-message__content {
    flex-direction: column-reverse;
    gap: 0;
  }
}

.interview-message__image {
  width: 45%;
}
@media screen and (max-width: 768px) {
  .interview-message__image {
    width: 100%;
  }
}

.interview-message__text {
  position: relative;
  width: 55%;
  height: 100%;
  padding: clamp(30px, calc(11.538px + 2.404vw), 50px) clamp(30px, calc(-2.308px + 4.207vw), 65px);
  margin-bottom: calc(64 / 16 * 1rem);
  background: #fff;
}
@media screen and (max-width: 768px) {
  .interview-message__text {
    width: 100%;
    margin-bottom: calc(12 / 16 * 1rem);
  }
}
.interview-message__text .--title {
  font-size: clamp(20px, calc(15.385px + 0.601vw), 25px);
  font-weight: 700;
  color: #0047B9;
  line-height: 1.6;
}
.interview-message__text .--title span {
  display: inline-block;
}
.interview-message__text .--lead {
  margin-top: calc(26 / 16 * 1rem);
  line-height: 2;
}
.interview-message__text::after {
  content: "";
  position: absolute;
  top: 30%;
  left: calc(-98 / 16 * 1rem);
  display: block;
  width: calc(100 / 16 * 1rem);
  height: calc(52 / 16 * 1rem);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .interview-message__text::after {
    top: inherit;
    bottom: calc(-70 / 16 * 1rem);
    left: 20%;
    width: calc(50 / 16 * 1rem);
    height: calc(100 / 16 * 1rem);
    clip-path: polygon(100% 0%, 0% 0%, 100% 100%);
  }
}

/* ================================== */
/* タブ */
/* ================================== */
.requirements-details__tabs {
  border-bottom: calc(10 / 16 * 1rem) solid #0047B9;
}

.requirements-details__tabs__list {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: calc(32 / 16 * 1rem);
  max-width: calc(1000 / 16 * 1rem);
  height: calc(110 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .requirements-details__tabs__list {
    gap: calc(7 / 16 * 1rem);
    height: calc(76 / 16 * 1rem);
  }
}

.requirements-details__tabs__button {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(90 / 16 * 1rem);
  border-radius: calc(10 / 16 * 1rem) calc(10 / 16 * 1rem) 0 0;
  background-color: rgba(20, 53, 106, 0.5);
  color: #fff;
  font-size: calc(28 / 16 * 1rem);
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .requirements-details__tabs__button {
    height: calc(76 / 16 * 1rem);
    font-size: calc(21 / 16 * 1rem);
  }
}

.requirements-details__tabs__button:first-child {
  height: calc(110 / 16 * 1rem);
  background-color: #0047B9;
}
@media screen and (max-width: 768px) {
  .requirements-details__tabs__button:first-child {
    height: calc(76 / 16 * 1rem);
  }
}

/* ================================== */
/* 募集内容 */
/* ================================== */
.requirements-details__contents {
  margin-top: calc(110 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .requirements-details__contents {
    margin-top: calc(60 / 16 * 1rem);
  }
}

.requirements-details__contents__inner {
  max-width: calc(1000 / 16 * 1rem);
}

.requirements-details__contents__item:last-of-type {
  display: none;
}

/* ================================== */
/* 見出し */
/* ================================== */
.requirements-details__contents__head {
  display: flex;
  align-items: center;
  gap: calc(22 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .requirements-details__contents__head {
    gap: calc(15 / 16 * 1rem);
  }
}
.requirements-details__contents__head span {
  color: #0047B9;
  font-size: calc(34 / 16 * 1rem);
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .requirements-details__contents__head span {
    font-size: calc(21 / 16 * 1rem);
  }
}
.requirements-details__contents__head small {
  padding: calc(7 / 16 * 1rem) calc(15 / 16 * 1rem);
  background-color: #0047B9;
  color: #fff;
  font-size: calc(22 / 16 * 1rem);
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .requirements-details__contents__head small {
    font-size: calc(14 / 16 * 1rem);
  }
}

/* ================================== */
/* 募集内容詳細 */
/* ================================== */
.requirements-details__contents__body {
  margin-top: calc(35 / 16 * 1rem);
  line-height: calc(30 / 16 * 1rem);
  display: grid;
  grid-template-columns: calc(190 / 16 * 1rem) 1fr;
  gap: 0 calc(8 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .requirements-details__contents__body {
    grid-template-columns: 100%;
    margin-top: calc(20 / 16 * 1rem);
    font-size: calc(15 / 16 * 1rem);
    line-height: calc(26 / 16 * 1rem);
  }
}
.requirements-details__contents__body > dt,
.requirements-details__contents__body > dd {
  padding: calc(10 / 16 * 1rem) 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .requirements-details__contents__body > dt,
  .requirements-details__contents__body > dd {
    padding: calc(8 / 16 * 1rem) 0;
  }
}
.requirements-details__contents__body > dt::before, .requirements-details__contents__body > dt::after,
.requirements-details__contents__body > dd::before,
.requirements-details__contents__body > dd::after {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  top: 100%;
  left: 0;
}
.requirements-details__contents__body > dt::before,
.requirements-details__contents__body > dd::before {
  content: none;
  top: 0;
}
@media screen and (max-width: 768px) {
  .requirements-details__contents__body > dt::before,
  .requirements-details__contents__body > dd::before {
    content: "";
  }
}
@media screen and (max-width: 768px) {
  .requirements-details__contents__body > dt::after,
  .requirements-details__contents__body > dd::after {
    content: none;
  }
}
.requirements-details__contents__body > dt:first-of-type::before,
.requirements-details__contents__body > dd:first-of-type::before {
  content: "";
}
.requirements-details__contents__body > dt {
  font-size: calc(18 / 16 * 1rem);
}
.requirements-details__contents__body > dt::before, .requirements-details__contents__body > dt::after {
  border-radius: calc(2 / 16 * 1rem);
  border-bottom: calc(3 / 16 * 1rem) solid #0047B9;
  transform: translateY(calc(-1 / 16 * 1rem));
}
@media screen and (max-width: 768px) {
  .requirements-details__contents__body > dd {
    margin-bottom: calc(20 / 16 * 1rem);
  }
}
.requirements-details__contents__body > dd::before, .requirements-details__contents__body > dd::after {
  border-bottom: calc(1 / 16 * 1rem) solid #000;
}
@media screen and (max-width: 768px) {
  .requirements-details__contents__body > dd > p {
    padding-top: calc(10 / 16 * 1rem);
  }
}

/* 最初は最後の要素を非表示 */
.requirements-details__contents__body__item:last-child {
  display: none;
}

/* 共通のパディングレフト */
.requirements-details__contents__body__pl {
  padding-left: calc(25 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .requirements-details__contents__body__pl {
    padding-left: 0;
  }
}

/* 職種 */
.requirements-details__contents__body__occ li {
  display: flex;
  gap: calc(12 / 16 * 1rem);
}
.requirements-details__contents__body__occ li span:nth-child(1),
.requirements-details__contents__body__occ li span:nth-child(2) {
  flex-shrink: 0;
}

/* ダッシュ下線の定義リスト */
.requirements-details__contents__body__dl > div {
  display: grid;
  grid-template-columns: calc(176 / 16 * 1rem) 1fr;
  padding-top: calc(10 / 16 * 1rem);
  padding-bottom: calc(10 / 16 * 1rem);
  border-bottom: calc(1 / 16 * 1rem) dashed #000;
}
.requirements-details__contents__body__dl > div:last-child {
  border: none;
}
@media screen and (max-width: 768px) {
  .requirements-details__contents__body__dl > div {
    grid-template-columns: 100%;
    gap: calc(3 / 16 * 1rem) 0;
  }
}

.requirements-details__contents__body__dl--v2 > div {
  grid-template-columns: calc(204 / 16 * 1rem) 1fr;
}
@media screen and (max-width: 768px) {
  .requirements-details__contents__body__dl--v2 > div {
    grid-template-columns: 100%;
  }
}

.requirements-details__contents__body__dl--v3 > div {
  grid-template-columns: calc(95 / 16 * 1rem) 1fr;
}
@media screen and (max-width: 768px) {
  .requirements-details__contents__body__dl--v3 > div {
    grid-template-columns: 100%;
  }
}

/* 文字の前に四角をつける */
.requirements-details__contents__body__square::before {
  content: "";
  display: inline-block;
  width: calc(16 / 16 * 1rem);
  aspect-ratio: 1;
  margin-right: calc(6 / 16 * 1rem);
  background-color: #0047B9;
  transform: translateY(0.1em);
}

/* ================================== */
/* ボタン */
/* ================================== */
.requirements-details__contents__link {
  margin-top: calc(114 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .requirements-details__contents__link {
    margin-top: calc(40 / 16 * 1rem);
  }
}
.requirements-details__contents__link a {
  margin: 0 auto;
}

/* ================================== */
/* 応募要項 */
/* ================================== */
.requirements-details__application {
  margin-top: calc(110 / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .requirements-details__application {
    margin-top: calc(30 / 16 * 1rem);
  }
}