@charset "UTF-8";
/*
* flocss: https://github.com/hiloki/flocss
*/
/* ==========================================================================
   Foundation
   ========================================================================== */
/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

*, :after, :before {
  background-repeat: no-repeat;
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  padding: 0;
  margin: 0;
}

hr {
  overflow: visible;
  height: 0;
  color: inherit;
}

details, main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline-width: 0;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b, strong {
  font-weight: bolder;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

input {
  border-radius: 0;
}

[disabled] {
  cursor: default;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button, input, optgroup, select, textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer;
  color: inherit;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
}

a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  white-space: normal;
  max-width: 100%;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

/* Base
   ----------------------------------------------------------------- */
/* ==========================================================================
   Global
   ========================================================================== */
/* ==========================================================================
   Global
   ========================================================================== */
/* Mixin
   ----------------------------------------------------------------- */
html {
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  overflow-x: hidden;
  font-family: "LINE Seed JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", meiryo, メイリオ, sans-serif;
  font-size: clamp(14px, 18 / 1280 * 100vw, 18px);
  color: #111;
  text-align: left;
  background-color: #0056A6;
}
body.no-scroll {
  overflow: hidden;
}

/* Noto Sans使用時 IEはメイリオに変更 */
/* stylelint-disable-next-line selector-type-no-unknown, selector-pseudo-class-no-unknown */
_:input-placeholder,
:root body {
  font-family: Meiryo, "メイリオ", sans-serif;
}

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

table {
  border-collapse: collapse;
}

a {
  color: #111;
  text-decoration: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media (hover) {
  a:hover {
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
}

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

::-moz-selection {
  color: #111;
  text-shadow: none;
  background-color: #D9EDFF; /* Required when declaring ::selection */
}

::selection {
  color: #111;
  text-shadow: none;
  background-color: #D9EDFF; /* Required when declaring ::selection */
}

.legacy-ie {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  padding: 100px 0;
  text-align: center;
  background: #eee;
}

.legacy-ie a {
  text-decoration: none;
}

.noscript {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  padding: 100px 0;
  text-align: center;
}

/* ==========================================================================
   Layout
   ========================================================================== */
/* Base
   ----------------------------------------------------------------- */
/* Layout
   ----------------------------------------------------------------- */
.l-main {
  background-color: #fff;
}

.l-page__header {
  background-color: #fff;
}
.l-page__header.is-active .l-page__header-title {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.l-page__header.is-active .l-page__header-image img {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.l-page__header.is-active .l-page__header-deco {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.l-page__header-inner {
  position: relative;
  min-height: 320px;
  overflow: hidden;
  color: #fff;
  background-color: #0056A6;
  border-radius: 0 0 clamp(40px, 100 / 1680 * 100vw, 100px) clamp(40px, 100 / 1680 * 100vw, 100px);
}
.l-page__header-inner:has(.l-page__header-image) .l-page__header-title {
  padding-top: 116px;
  padding-bottom: 51px;
}
@media screen and (min-width: 992px) {
  .l-page__header-inner:has(.l-page__header-image) .l-page__header-title {
    padding-top: clamp(100px, 320 / 1680 * 100vw, 320px);
    padding-bottom: clamp(200px, 370 / 1680 * 100vw, 370px);
  }
}
.l-page__header-image {
  width: 89.333%;
  max-width: 1200px;
  height: auto;
  aspect-ratio: 335/200;
  margin-right: 0;
  margin-left: auto;
  overflow: hidden;
  border-top-left-radius: clamp(40px, 100 / 1680 * 100vw, 100px);
}
@media screen and (min-width: 992px) {
  .l-page__header-image {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 62.5%;
    aspect-ratio: 1200/708;
  }
}
.l-page__header-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  -webkit-transition: all 0.8s ease-out;
  transition: all 0.8s ease-out;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.l-page__header-deco {
  position: absolute;
  right: 2.933vw;
  bottom: 0;
  width: auto;
  opacity: 0;
  -webkit-transition: all 0.4s ease-out 0.4s;
  transition: all 0.4s ease-out 0.4s;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
@media screen and (min-width: 768px) {
  .l-page__header-deco {
    right: 2.083vw;
    width: auto;
  }
}
.l-page__header-title {
  padding-top: clamp(123px, 240 / 1680 * 100vw, 240px);
  padding-bottom: clamp(128px, 252 / 1680 * 100vw, 252px);
  opacity: 0;
  -webkit-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
}
.l-page__header-title .en {
  margin-bottom: clamp(4px, 16 / 1680 * 100vw, 16px);
  font-family: "Poppins", sans-serif;
  font-size: clamp(12px, 14 / 1680 * 100vw, 14px);
  font-weight: 500;
  line-height: 1;
}
.l-page__header-title .ja {
  font-size: clamp(32px, 60 / 1680 * 100vw, 60px);
  font-weight: 700;
  line-height: 1.4;
}
.l-page__breadcrumb {
  padding-top: clamp(10px, 20 / 1680 * 100vw, 20px);
}
.l-page__container {
  position: relative;
  padding-top: clamp(32px, 120 / 1680 * 100vw, 120px);
}
.l-page__anchor {
  position: fixed;
  top: 50px;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 32px;
  padding-right: 16px;
  padding-left: 16px;
  overflow-x: auto;
  background-color: #fff;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media screen and (min-width: 992px) {
  .l-page__anchor {
    position: absolute;
    top: clamp(32px, 120 / 1680 * 100vw, 120px);
    left: max(40px, (100% - 1680px) / 2 + 40px);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: 100%;
    padding: 0 0 200px;
    overflow-x: initial;
    background-color: transparent;
  }
}
.l-page__anchor.is-scroll {
  opacity: 0;
  -webkit-transform: translateY(-133.333%);
          transform: translateY(-133.333%);
}
.l-page__anchor.is-scroll.is-show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.l-page__anchor nav {
  display: contents;
}
.l-page__anchor .anchor-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 16px;
     -moz-column-gap: 16px;
          column-gap: 16px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .l-page__anchor .anchor-list {
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 992px) {
  .l-page__anchor .anchor-list {
    position: sticky;
    top: 106px;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: auto;
    margin: 0;
  }
}
.l-page__anchor .anchor-list__item {
  position: relative;
}
@media screen and (min-width: 992px) {
  .l-page__anchor .anchor-list__item + .anchor-list__item {
    margin-top: 24px;
  }
}
.l-page__anchor .anchor-list__item a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  vertical-align: middle;
}
@media screen and (min-width: 992px) {
  .l-page__anchor .anchor-list__item a {
    display: inline-block;
    padding-right: 28px;
    font-size: clamp(16px, 18 / 1680 * 100vw, 18px);
    line-height: 1.6;
  }
}
.l-page__anchor .anchor-list__item a::before, .l-page__anchor .anchor-list__item a::after {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 20px;
  height: 20px;
  content: none;
  border-radius: 50%;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 992px) {
  .l-page__anchor .anchor-list__item a::before, .l-page__anchor .anchor-list__item a::after {
    content: "";
  }
}
.l-page__anchor .anchor-list__item a::before {
  background-color: #fff;
  border: 1px solid #0056A6;
}
.l-page__anchor .anchor-list__item a::after {
  background-color: #0056A6;
  -webkit-mask-image: url("../img/common/anchor_icon.svg");
          mask-image: url("../img/common/anchor_icon.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: 50%;
          mask-position: 50%;
  -webkit-mask-size: 7px 4px;
          mask-size: 7px 4px;
}
@media (hover) {
  .l-page__anchor .anchor-list__item a:hover {
    color: #0056A6;
  }
  .l-page__anchor .anchor-list__item a:hover::before {
    background-color: #0056A6;
  }
  .l-page__anchor .anchor-list__item a:hover::after {
    background-color: #fff;
  }
}
.l-page__anchor .anchor-list__item.is-current a {
  color: #0056A6;
}
@media screen and (min-width: 992px) {
  .l-page__anchor .anchor-list__item.is-current a {
    color: #111;
  }
}
@media screen and (min-width: 992px) and (hover) {
  .l-page__anchor .anchor-list__item.is-current a:hover {
    color: #0056A6;
  }
}
.l-page__anchor .anchor-list__item.is-current::before {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  content: "";
  background-color: #7BE7F7;
}
@media screen and (min-width: 992px) {
  .l-page__anchor .anchor-list__item.is-current::before {
    content: none;
  }
}
.l-page__contents-inner {
  max-width: 1680px;
  padding-right: 5.333vw;
  padding-left: 5.333vw;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .l-page__contents-inner {
    padding-right: 40px;
    padding-left: 40px;
  }
}
@media screen and (min-width: 992px) {
  .l-page__contents-inner {
    padding-left: clamp(200px, 440 / 1680 * 100vw, 440px);
  }
}

/* Base
   ----------------------------------------------------------------- */
/* Header
   ----------------------------------------------------------------- */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  opacity: 1;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media screen and (min-width: 992px) {
  .l-header {
    padding: 16px 10px 10px;
  }
}
.l-header.is-scroll {
  opacity: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.l-header.is-scroll.is-show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.l-header.is-open {
  position: fixed;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.l-header.is-open .l-header__nav {
  display: block;
  visibility: visible;
  opacity: 1;
}
.l-header.is-open .l-header__nav ul {
  opacity: 1;
}
.l-header__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 50px;
  padding: 0 16px;
  margin: 0 auto;
  background-color: #0056A6;
}
@media screen and (min-width: 992px) {
  .l-header__inner {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-column-gap: 16px;
       -moz-column-gap: 16px;
            column-gap: 16px;
    height: 70px;
    padding: 0 12px 0 26px;
    border-radius: 16px;
  }
}
@media screen and (min-width: 1200px) {
  .l-header__inner {
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px;
  }
}
.l-header__logo {
  position: relative;
  z-index: 300;
  font-size: 0;
}
.l-header__logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(8px, 16 / 1680 * 100vw, 16px);
     -moz-column-gap: clamp(8px, 16 / 1680 * 100vw, 16px);
          column-gap: clamp(8px, 16 / 1680 * 100vw, 16px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-header__logo img {
  width: clamp(156px, 278 / 1680 * 100vw, 278px);
}
.l-header__logo span {
  font-size: clamp(12px, 18 / 1680 * 100vw, 18px);
  font-weight: 400;
  line-height: 1;
  color: #fff;
}
.l-header__nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  visibility: hidden;
  background-color: #0056A6;
  opacity: 0;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (min-width: 992px) {
  .l-header__nav {
    position: static;
    width: auto;
    height: auto;
    margin-left: auto;
    visibility: visible;
    background: none;
    opacity: 1;
  }
}
.l-header__nav > ul {
  padding: 0 5.333%;
  margin-top: 80px;
  opacity: 0;
}
@media screen and (min-width: 992px) {
  .l-header__nav > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 16px;
       -moz-column-gap: 16px;
            column-gap: 16px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0;
    margin: 0;
    opacity: 1;
  }
}
@media screen and (min-width: 1200px) {
  .l-header__nav > ul {
    -webkit-column-gap: 32px;
       -moz-column-gap: 32px;
            column-gap: 32px;
  }
}
.l-header__nav > ul li {
  position: relative;
}
.l-header__nav > ul li a {
  display: block;
  padding: 16px 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  color: #fff;
  border-bottom: 1px solid #D9EDFF;
}
@media screen and (min-width: 992px) {
  .l-header__nav > ul li a {
    font-size: clamp(13px, 14 / 1200 * 100vw, 14px);
    font-weight: 700;
    line-height: 1.6;
    color: #fff;
    border-bottom: none;
  }
}
@media screen and (min-width: 992px) and (hover) {
  .l-header__nav > ul li a:hover {
    color: #7BE7F7;
  }
}
@media screen and (min-width: 992px) {
  .l-header__nav > ul li .nav-item__head {
    position: relative;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-right: 20px;
    font-size: clamp(13px, 14 / 1200 * 100vw, 14px);
    font-weight: 700;
    line-height: 1.6;
    color: #fff;
    cursor: pointer;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
  .l-header__nav > ul li .nav-item__head::before, .l-header__nav > ul li .nav-item__head::after {
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    width: 12px;
    height: 1px;
    content: "";
    background-color: #fff;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .l-header__nav > ul li .nav-item__head::after {
    -webkit-transform: translateY(-50%) rotate(90deg);
            transform: translateY(-50%) rotate(90deg);
  }
  .l-header__nav > ul li .nav-item__child {
    position: absolute;
    top: -16px;
    left: -16px;
    z-index: 1;
    width: 158px;
    padding: 46px 16px 16px;
    pointer-events: none;
    visibility: hidden;
    background-color: #fff;
    border-radius: 16px;
    opacity: 0;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
  .l-header__nav > ul li .nav-item__child a {
    padding: 8px 0;
    font-weight: 400;
    color: #111;
  }
  .l-header__nav > ul li.is-hover .nav-item__head {
    color: #111;
    pointer-events: none;
  }
  .l-header__nav > ul li.is-hover .nav-item__head::before {
    background-color: #111;
  }
  .l-header__nav > ul li.is-hover .nav-item__head::after {
    opacity: 0;
  }
  .l-header__nav > ul li.is-hover .nav-item__child {
    pointer-events: initial;
    visibility: visible;
    opacity: 1;
  }
}
@media screen and (min-width: 992px) and (hover) {
  .l-header__nav > ul li.is-hover .nav-item__child a:hover {
    color: #0056A6;
  }
}
.l-header__cta ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-header__cta .button a {
  display: block;
  padding: 12px;
  font-size: clamp(13px, 14 / 1200 * 100vw, 14px);
  font-weight: 700;
  line-height: 1.6;
  color: #0056A6;
  text-align: center;
  background-color: #fff;
  border-radius: 8px;
}
@media screen and (min-width: 1400px) {
  .l-header__cta .button a {
    min-width: 138px;
  }
}
@media (hover) {
  .l-header__cta .button a:hover {
    background-color: #7BE7F7;
  }
}
.l-header__cta .button--secondary a {
  background-color: #7BE7F7;
}
@media (hover) {
  .l-header__cta .button--secondary a:hover {
    background-color: #fff;
  }
}
.l-header__menu {
  position: relative;
  z-index: 300;
  display: block;
  cursor: pointer;
}
@media screen and (min-width: 992px) {
  .l-header__menu {
    display: none;
  }
}
.l-header__menu-wrap {
  position: relative;
  width: 24px;
  height: 16px;
  margin-right: auto;
  margin-left: auto;
}
.l-header__menu-wrap > span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.l-header__menu-wrap > span:nth-child(1) {
  top: 0;
}
.l-header__menu-wrap > span:nth-child(2) {
  top: 7px;
}
.l-header__menu-wrap > span:nth-child(3) {
  top: 14px;
}
.l-header__menu-wrap.is-open > span:nth-child(1) {
  -webkit-transform: translateY(7px) rotate(-35deg);
          transform: translateY(7px) rotate(-35deg);
}
.l-header__menu-wrap.is-open > span:nth-child(2) {
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
}
.l-header__menu-wrap.is-open > span:nth-child(3) {
  -webkit-transform: translateY(-7px) rotate(35deg);
          transform: translateY(-7px) rotate(35deg);
}

/* Base
   ----------------------------------------------------------------- */
/* Footer
   ----------------------------------------------------------------- */
.l-footer {
  padding-top: 276px;
  color: #fff;
  background-color: #fff;
}
@media screen and (min-width: 554px) {
  .l-footer {
    padding-top: clamp(100px, 200 / 1680 * 100vw, 200px);
  }
}
.l-footer a {
  color: #fff;
}
.l-footer__bg {
  position: relative;
  background-color: #0056A6;
}
.l-footer__bg::before {
  position: absolute;
  top: -56px;
  left: 0;
  display: block;
  width: 100%;
  height: 56px;
  content: "";
  background-color: #0056A6;
  border-radius: 56px 56px 0 0;
}
@media screen and (min-width: 554px) {
  .l-footer__bg::before {
    top: calc(clamp(56px, 100 / 1680 * 100vw, 100px) * -1);
    height: clamp(56px, 100 / 1680 * 100vw, 100px);
    border-radius: clamp(56px, 100 / 1680 * 100vw, 100px) clamp(56px, 100 / 1680 * 100vw, 100px) 0 0;
  }
}
.l-footer__deco {
  position: absolute;
  top: -270px;
  left: 50%;
  width: 79.4%;
  opacity: 0;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  -webkit-transform: translateX(-50%) translateY(80px);
          transform: translateX(-50%) translateY(80px);
}
@media screen and (min-width: 375px) {
  .l-footer__deco {
    width: 298px;
  }
}
@media screen and (min-width: 554px) {
  .l-footer__deco {
    top: calc(clamp(76px, 170 / 1680 * 100vw, 170px) * -1);
    width: 82.5%;
    max-width: 1584px;
  }
}
.l-footer__deco img {
  width: 100%;
}
.l-footer__deco.is-active {
  opacity: 1;
  -webkit-transform: translateX(-50%) translateY(0);
          transform: translateX(-50%) translateY(0);
}
.l-footer__container {
  position: relative;
  padding-top: clamp(39px, 78 / 1680 * 100vw, 78px);
  padding-bottom: clamp(80px, 100 / 1680 * 100vw, 100px);
}
@media screen and (min-width: 992px) {
  .l-footer__container {
    display: grid;
    grid-template-columns: 1fr 60%;
  }
}
@media screen and (min-width: 1200px) {
  .l-footer__container {
    grid-template-columns: 1fr 52.8%;
  }
}
.l-footer__copy p {
  font-size: 0;
}
.l-footer__copy img {
  width: clamp(242px, 339 / 1680 * 100vw, 339px);
}
.l-footer__nav {
  margin-top: 16px;
}
@media screen and (min-width: 992px) {
  .l-footer__nav {
    margin-top: 0;
  }
  .l-footer__nav nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 592px;
  }
}
.l-footer__nav .nav-item {
  border-bottom: 1px solid #D9EDFF;
}
@media screen and (min-width: 992px) {
  .l-footer__nav .nav-item {
    border-bottom: none;
  }
}
.l-footer__nav .nav-item a {
  display: block;
  padding: 16px 0;
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 700;
  line-height: 1.6;
}
@media (hover) {
  .l-footer__nav .nav-item a:hover {
    opacity: 0.6;
  }
}
.l-footer__link {
  margin-top: 56px;
}
@media screen and (min-width: 992px) {
  .l-footer__link {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    margin-top: 0;
  }
}
.l-footer__link ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px 24px;
}
.l-footer__link .link-item a {
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  text-decoration: underline;
}
.l-footer__link .link-item a[target=_blank] {
  position: relative;
  padding-right: 12px;
}
.l-footer__link .link-item a[target=_blank]::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 7px;
  height: 7px;
  content: "";
  background: url("../img/common/footer_link_arrow.svg") no-repeat 50%/contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (hover) {
  .l-footer__link .link-item a:hover {
    text-decoration: none;
  }
}
.l-footer__info {
  margin-top: 56px;
}
@media screen and (min-width: 992px) {
  .l-footer__info {
    grid-column: span 2;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    padding-bottom: 56px;
    margin-top: 116px;
    margin-bottom: 40px;
    border-bottom: 1px solid #ccc;
  }
}
.l-footer__info .logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-footer__info .logo img {
  width: clamp(174px, 208 / 1680 * 100vw, 208px);
}
.l-footer__info .logo span {
  font-size: clamp(12px, 13 / 1680 * 100vw, 13px);
  font-weight: 400;
  line-height: 1;
}
.l-footer__info .address {
  margin-top: clamp(8px, 16 / 1680 * 100vw, 16px);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.8;
}
.l-footer__info .address .map {
  display: inline-block;
  margin-left: 16px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  text-decoration: underline;
}
.l-footer__info .address .map::after {
  display: inline-block;
  width: 11px;
  height: 14px;
  margin-left: 4px;
  vertical-align: bottom;
  content: "";
  background: url("../img/common/icon_map.svg") no-repeat 50%/contain;
}
@media (hover) {
  .l-footer__info .address .map:hover {
    text-decoration: none;
  }
}
.l-footer__copyright {
  margin-top: 80px;
}
@media screen and (min-width: 992px) {
  .l-footer__copyright {
    -ms-flex-item-align: end;
        align-self: end;
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
    margin-top: 0;
    text-align: right;
  }
}
.l-footer__copyright p {
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}
.l-footer__pagetop {
  position: absolute;
  right: 5.333vw;
  bottom: 80px;
  z-index: 300;
  width: clamp(40px, 48 / 1680 * 100vw, 48px);
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 768px) {
  .l-footer__pagetop {
    right: 40px;
    bottom: 210px;
  }
}
@media screen and (min-width: 1200px) {
  .l-footer__pagetop {
    right: 80px;
  }
}
.l-footer__pagetop a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: #fff;
  border-radius: 50%;
}
.l-footer__pagetop a .c-arrow {
  width: 100%;
  background-color: #fff;
}
.l-footer__pagetop a .c-arrow::before, .l-footer__pagetop a .c-arrow::after {
  background-color: #0056A6;
  -webkit-mask: url("../img/common/icon_arrow_up.svg") no-repeat 50%/clamp(12px, 16 / 1680 * 100vw, 16px) clamp(12px, 16 / 1680 * 100vw, 16px);
          mask: url("../img/common/icon_arrow_up.svg") no-repeat 50%/clamp(12px, 16 / 1680 * 100vw, 16px) clamp(12px, 16 / 1680 * 100vw, 16px);
}
.l-footer__pagetop a .c-arrow::after {
  top: 100%;
  left: 0;
}
@media (hover) {
  .l-footer__pagetop a:hover .c-arrow::before, .l-footer__pagetop a:hover .c-arrow::after {
    background-color: #0056A6;
    -webkit-animation: infinity-up 0.6s linear infinite;
            animation: infinity-up 0.6s linear infinite;
  }
}

/* ==========================================================================
   Object
   ========================================================================== */
/* Base
   ----------------------------------------------------------------- */
/* Project
   ----------------------------------------------------------------- */
/* Base
   ----------------------------------------------------------------- */
.p-editor-content {
  word-break: break-all;
}
.p-editor-content h1 {
  margin: 24px 0 15px;
  font-size: 22px;
}
@media screen and (min-width: 768px) {
  .p-editor-content h1 {
    margin: 48px 0 25px;
    font-size: 28px;
  }
}
.p-editor-content h2 {
  padding: 0 10px;
  margin: 24px 0 15px;
  font-size: 18px;
  line-height: 1.25;
  border-left: 4px solid #0056A6;
}
@media screen and (min-width: 768px) {
  .p-editor-content h2 {
    padding: 0 15px;
    margin: 48px 0 25px;
    font-size: 26px;
    border-left-width: 4px;
  }
}
.p-editor-content h3 {
  position: relative;
  padding-left: 24px;
  margin: 24px 0 16px;
  font-size: 16px;
  line-height: 1.25;
}
@media screen and (min-width: 768px) {
  .p-editor-content h3 {
    padding-left: 32px;
    margin: 48px 0 16px;
    font-size: 22px;
  }
}
.p-editor-content h3::before {
  position: absolute;
  top: 12px;
  left: 0;
  width: 16px;
  height: 2px;
  content: "";
  background: #0056A6;
}
@media screen and (min-width: 768px) {
  .p-editor-content h3::before {
    top: 14px;
  }
}
.p-editor-content h4 {
  position: relative;
  padding-bottom: 4px;
  margin: 24px 0 15px;
  font-size: 16px;
  line-height: 1.6;
  border-bottom: 2px solid #0056A6;
}
@media screen and (min-width: 768px) {
  .p-editor-content h4 {
    margin: 48px 0 16px;
    font-size: 18px;
  }
}
.p-editor-content h5 {
  margin: 15px 0 10px;
  font-size: 15px;
}
@media screen and (min-width: 768px) {
  .p-editor-content h5 {
    font-size: 16px;
  }
}
.p-editor-content h6 {
  margin: 15px 0 10px;
  font-size: 14px;
  font-weight: normal;
}
.p-editor-content p {
  margin-bottom: 0.5em;
  line-height: 1.85;
  letter-spacing: normal;
}
.p-editor-content p a {
  color: #0056A6;
}
@media screen and (min-width: 992px) {
  .p-editor-content p a:hover {
    text-decoration: underline;
  }
}
.p-editor-content p + p {
  margin-top: 0.5em;
}
.p-editor-content img {
  height: auto;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .p-editor-content img {
    margin-bottom: 20px;
  }
}
.p-editor-content .aligncenter {
  display: block;
  margin: 20px auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-editor-content .alignright {
    float: right;
    margin-left: 15px;
  }
}
@media screen and (min-width: 768px) {
  .p-editor-content .alignleft {
    float: left;
    margin-right: 15px;
  }
}
.p-editor-content ul {
  margin: 2.5em 0 1em;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .p-editor-content ul {
    padding-right: 36px;
    padding-left: 36px;
  }
}
.p-editor-content ul > li {
  position: relative;
  padding-left: 1.2em;
}
.p-editor-content ul > li::before {
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 8px;
  height: 8px;
  content: "";
  background-color: #0056A6;
  border-radius: 4px;
}
.p-editor-content ul > li:nth-child(n+2) {
  margin-top: 0.25em;
}
.p-editor-content ol {
  margin: 2.5em 0 1em;
  counter-reset: number 0;
}
@media screen and (min-width: 768px) {
  .p-editor-content ol {
    padding-right: 36px;
    padding-left: 36px;
  }
}
.p-editor-content ol > li {
  position: relative;
  padding-left: 1.2em;
}
.p-editor-content ol > li::before {
  position: absolute;
  top: 0;
  left: 0;
  font-family: "Poppins", sans-serif;
  color: #0056A6;
  content: counter(number);
  counter-increment: number 1;
}
.p-editor-content ol > li:nth-child(n+2) {
  margin-top: 0.25em;
}
.p-editor-content blockquote {
  padding: 16px;
  margin: 15px 0;
  background: #eee;
}
@media screen and (min-width: 768px) {
  .p-editor-content blockquote {
    padding: 48px 64px;
    margin: 25px 0;
  }
}
@media screen and (min-width: 992px) {
  .p-editor-content blockquote {
    padding: 48px 64px;
  }
}
.p-editor-content blockquote p {
  margin-bottom: 0;
  letter-spacing: 0;
}
.p-editor-content hr {
  display: block;
  width: 100%;
  height: auto;
  margin: 1.2em auto;
  border: 0;
  border-top: 1px solid #ccc;
}
.p-editor-content table {
  margin: 15px 0;
}
@media screen and (min-width: 768px) {
  .p-editor-content table {
    margin: 25px 0;
  }
}
.p-editor-content table th {
  background-color: #f8fff0;
}
.p-editor-content table th,
.p-editor-content table td {
  padding: 5px 10px;
  word-break: break-all;
  vertical-align: top;
  border: solid 1px #ddd;
}
.p-editor-content iframe {
  max-width: 100%;
}

/* Base
   ----------------------------------------------------------------- */
.p-pagination {
  margin-top: 40px;
}
@media screen and (min-width: 992px) {
  .p-pagination {
    margin-top: 80px;
  }
}
.p-pagination .p-pagination__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 -4px;
}
.p-pagination .p-pagination__item {
  padding: 4px;
}
.p-pagination .p-pagination__item .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 32px;
  height: 32px;
  color: #E0E0E0;
  letter-spacing: 0;
  background-color: #fff;
  border-radius: 16px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (min-width: 992px) {
  .p-pagination .p-pagination__item .page-numbers {
    width: 40px;
    height: 40px;
    font-size: 16px;
    border-radius: 20px;
  }
}
.p-pagination .p-pagination__item .page-numbers:hover {
  color: #fff;
  background-color: #0056A6;
}
.p-pagination .p-pagination__item .page-numbers.current {
  background-color: #eee;
}
.p-pagination .p-pagination__item .page-numbers.current:hover {
  color: #fff;
  background-color: #0056A6;
}
.p-pagination .p-pagination__item .page-numbers.prev, .p-pagination .p-pagination__item .page-numbers.next {
  position: relative;
  width: auto;
  padding: 10px 32px 10px 20px;
  font-family: "LINE Seed JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", meiryo, メイリオ, sans-serif;
  font-size: 13px;
  font-weight: 500;
  background-color: #eee;
}
.p-pagination .p-pagination__item .page-numbers.prev::after, .p-pagination .p-pagination__item .page-numbers.next::after {
  position: absolute;
  top: calc(50% - 4px);
  right: 20px;
  width: 8px;
  height: 8px;
  content: "";
  border-right: 2px solid #0056A6;
  border-bottom: 2px solid #0056A6;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.p-pagination .p-pagination__item .page-numbers.prev:hover, .p-pagination .p-pagination__item .page-numbers.next:hover {
  color: #fff;
  background-color: #0056A6;
}
.p-pagination .p-pagination__item .page-numbers.prev:hover::after, .p-pagination .p-pagination__item .page-numbers.next:hover::after {
  border-color: #fff;
}
.p-pagination .p-pagination__item .page-numbers.prev {
  padding: 10px 20px 10px 32px;
}
.p-pagination .p-pagination__item .page-numbers.prev::after {
  left: 20px;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
.p-pagination .p-pagination__item .page-numbers.dots {
  pointer-events: none;
}

/* Base
   ----------------------------------------------------------------- */
.p-follow-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 300;
  width: 100%;
  padding: 10px;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.4s ease, -webkit-transform 0.4s ease;
  -webkit-transform: translateY(16px);
          transform: translateY(16px);
}
.p-follow-cta.is-show {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.p-follow-cta__container {
  padding: 8px;
  background-color: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(6px);
  border-radius: 8px;
}
.p-follow-cta__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7px;
}
.p-follow-cta__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: auto;
  padding: 9px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  color: #0056A6;
  background-color: #fff;
  border-radius: 6px;
  -webkit-box-shadow: 0 4px 20px 0 rgba(0, 86, 166, 0.15);
          box-shadow: 0 4px 20px 0 rgba(0, 86, 166, 0.15);
}
.p-follow-cta__button--entry {
  background-color: #7BE7F7;
}

/* Base
   ----------------------------------------------------------------- */
ul:has(.p-interview-card) {
  display: grid;
}
@media screen and (min-width: 768px) {
  ul:has(.p-interview-card) {
    grid-template-rows: auto 1fr auto auto;
  }
  ul:has(.p-interview-card) li {
    display: contents;
  }
}

.p-interview-card {
  display: block;
  padding: 20px 20px 40px;
  background-color: #fff;
  border-radius: 24px;
}
@media screen and (min-width: 768px) {
  .p-interview-card {
    display: grid;
    grid-template-rows: subgrid;
    grid-template-columns: 100%;
    grid-row: span 4;
    gap: 0;
  }
}
.p-interview-card__image {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 16px;
}
.p-interview-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.p-interview-card__image .c-arrow {
  position: absolute;
  right: clamp(10px, 20 / 1680 * 100vw, 20px);
  bottom: clamp(10px, 20 / 1680 * 100vw, 20px);
  width: clamp(32px, 40 / 1680 * 100vw, 40px);
}
.p-interview-card__title {
  padding: 0 clamp(8px, 16 / 1680 * 100vw, 16px);
  margin-top: clamp(24px, 32 / 1680 * 100vw, 32px);
  margin-bottom: 16px;
  font-size: clamp(18px, 24 / 1680 * 100vw, 24px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 992px) {
  .p-interview-card__title {
    line-height: 1.6;
  }
}
.p-interview-card__tag {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 2px 16px;
  margin-bottom: clamp(6px, 8 / 1680 * 100vw, 8px);
  margin-left: clamp(8px, 16 / 1680 * 100vw, 16px);
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
  background-color: #D9EDFF;
  border-radius: 9999px;
}
.p-interview-card__info {
  padding: 0 clamp(8px, 16 / 1680 * 100vw, 16px);
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
  color: #0056A6;
}
.p-interview-card__info .year {
  margin-right: 1em;
}
@media (hover) {
  .p-interview-card:hover .p-interview-card__image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}

/* Base
   ----------------------------------------------------------------- */
.p-footer-cta {
  position: relative;
  background-color: #fff;
}
.p-footer-cta__container {
  padding-top: clamp(56px, 178 / 1680 * 100vw, 178px);
  padding-bottom: clamp(80px, 160 / 1680 * 100vw, 160px);
}
.p-footer-cta__action {
  display: grid;
  grid-template-columns: 100%;
  gap: clamp(10px, 20 / 1680 * 100vw, 20px);
  margin-bottom: clamp(56px, 88 / 1680 * 100vw, 88px);
}
@media screen and (min-width: 768px) {
  .p-footer-cta__action {
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-footer-cta__action-button {
  display: block;
  height: 100%;
  padding: 56px 20px 45px;
  background-color: #fff;
  border: 1px solid #0056A6;
  border-radius: clamp(24px, 40 / 1680 * 100vw, 40px);
}
@media screen and (min-width: 992px) {
  .p-footer-cta__action-button {
    padding: clamp(24px, 80 / 1680 * 100vw, 80px);
  }
}
.p-footer-cta__action-button .p-head {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.p-footer-cta__action-button .p-head__en {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.p-footer-cta__action-button .p-head__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(8px, 16 / 1680 * 100vw, 16px);
     -moz-column-gap: clamp(8px, 16 / 1680 * 100vw, 16px);
          column-gap: clamp(8px, 16 / 1680 * 100vw, 16px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: clamp(32px, 48 / 1680 * 100vw, 48px);
}
.p-footer-cta__action-button .p-head__title .c-arrow {
  width: clamp(32px, 44 / 1680 * 100vw, 44px);
}
.p-footer-cta__action-button .p-head__text {
  margin-top: clamp(24px, 40 / 1680 * 100vw, 40px);
}
@media (hover) {
  .p-footer-cta__action-button:hover {
    background-color: #0056A6;
  }
  .p-footer-cta__action-button:hover .p-head {
    color: #fff;
  }
  .p-footer-cta__action-button:hover .p-head__en {
    color: #fff;
  }
  .p-footer-cta__action-button:hover .c-arrow {
    background-color: #fff;
  }
  .p-footer-cta__action-button:hover .c-arrow::before, .p-footer-cta__action-button:hover .c-arrow::after {
    background-color: #0056A6;
  }
}
.p-footer-cta__banner {
  overflow: hidden;
  background: linear-gradient(145deg, rgba(123, 231, 247, 0.8) 35%, rgba(38, 131, 191, 0.8));
  border-radius: clamp(24px, 40 / 1680 * 100vw, 40px);
}
@media screen and (min-width: 992px) {
  .p-footer-cta__banner {
    display: grid;
    grid-template-columns: 1fr 40%;
    height: 680px;
  }
}
.p-footer-cta__banner .textbody {
  padding: 56px 20px 86px;
}
@media screen and (min-width: 768px) {
  .p-footer-cta__banner .textbody {
    padding: 56px 40px 86px;
  }
}
@media screen and (min-width: 992px) {
  .p-footer-cta__banner .textbody {
    -ms-flex-item-align: center;
        align-self: center;
    padding-left: 80px;
  }
}
.p-footer-cta__banner .textbody .p-head__title {
  font-size: clamp(32px, 56 / 1680 * 100vw, 56px);
  line-height: 1.4;
}
@media screen and (min-width: 992px) {
  .p-footer-cta__banner .textbody .p-head__title {
    line-height: 1;
  }
}
.p-footer-cta__banner .textbody__action {
  margin-top: clamp(50px, 80 / 1680 * 100vw, 80px);
}
.p-footer-cta__banner .textbody__action .c-button {
  width: 100%;
  max-width: 295px;
  height: clamp(62px, 64 / 1680 * 100vw, 64px);
  padding-left: 32px;
}
@media screen and (min-width: 768px) {
  .p-footer-cta__banner .textbody__action .c-button {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
  }
}
.p-footer-cta__banner .image {
  position: relative;
  aspect-ratio: 335/380;
  overflow: hidden;
}
@media screen and (min-width: 992px) {
  .p-footer-cta__banner .image {
    aspect-ratio: initial;
  }
}
.p-footer-cta__banner .image__column {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(10px, 20 / 1680 * 100vw, 20px);
  -webkit-transform: translate3d(0, var(--parallax-y, 0), 0);
          transform: translate3d(0, var(--parallax-y, 0), 0);
  will-change: transform;
}
@media screen and (min-width: 992px) {
  .p-footer-cta__banner .image__column {
    position: absolute;
    width: 100%;
    padding-right: 40px;
  }
}
.p-footer-cta__banner .image__infinity {
  -webkit-animation: cta-infinity-down 100s infinite linear 0.5s alternate both;
          animation: cta-infinity-down 100s infinite linear 0.5s alternate both;
}
.p-footer-cta__banner .image__infinity:nth-child(2) {
  -webkit-transform: translateY(calc(-100% + 680px));
          transform: translateY(calc(-100% + 680px));
  -webkit-animation: cta-infinity-up 100s infinite linear 0.5s alternate both;
          animation: cta-infinity-up 100s infinite linear 0.5s alternate both;
}
.p-footer-cta__banner .image__infinity .list {
  display: grid;
  grid-template-columns: 100%;
  gap: clamp(10px, 20 / 1680 * 100vw, 20px);
}
.p-footer-cta__banner .image__infinity .list figure {
  overflow: hidden;
  border-radius: clamp(8px, 16 / 1680 * 100vw, 16px);
}
.p-footer-cta__banner .image__infinity .list img {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.p-footer-cta__banner .image__infinity .list + .list {
  margin-top: clamp(10px, 20 / 1680 * 100vw, 20px);
}
.p-footer-cta:has(a:hover) .image__infinity .list img {
  -webkit-transform: scale(1.07);
          transform: scale(1.07);
}

.p-container {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  /* stylelint-disable-next-line scss/no-global-function-names */
  max-width: 1680px;
  padding-right: 5.333vw;
  padding-left: 5.333vw;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-container {
    padding-right: 40px;
    padding-left: 40px;
  }
}
@media screen and (min-width: 1200px) {
  .p-container {
    padding-right: 80px;
    padding-left: 80px;
  }
}

.p-container--md {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  /* stylelint-disable-next-line scss/no-global-function-names */
  max-width: 1280px;
  padding-right: 5.333vw;
  padding-left: 5.333vw;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-container--md {
    padding-right: 40px;
    padding-left: 40px;
  }
}
@media screen and (min-width: 1200px) {
  .p-container--md {
    padding-right: 80px;
    padding-left: 80px;
  }
}

.p-container--sm {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  /* stylelint-disable-next-line scss/no-global-function-names */
  max-width: 880px;
  padding-right: 5.333vw;
  padding-left: 5.333vw;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-container--sm {
    padding-right: 40px;
    padding-left: 40px;
  }
}
@media screen and (min-width: 1200px) {
  .p-container--sm {
    padding-right: 80px;
    padding-left: 80px;
  }
}

.p-section-title {
  margin-bottom: clamp(24px, 64 / 1680 * 100vw, 64px);
  font-size: clamp(28px, 48 / 1680 * 100vw, 48px);
  font-weight: 700;
  line-height: 1.5;
  color: #0056A6;
}

.p-block-title {
  padding-left: clamp(16px, 20 / 1680 * 100vw, 20px);
  font-size: clamp(24px, 32 / 1680 * 100vw, 32px);
  font-weight: 700;
  line-height: 1.5;
  color: #0056A6;
  border-left: 4px solid #0056A6;
}
.p-block-title small {
  font-size: 12px;
  font-weight: 400;
}
.p-block-title:has(small) {
  position: relative;
}
@media screen and (min-width: 992px) {
  .p-block-title:has(small) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 24px;
       -moz-column-gap: 24px;
            column-gap: 24px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-block-title:has(small) small {
  position: absolute;
  bottom: -1.5em;
  left: clamp(16px, 20 / 1680 * 100vw, 20px);
  display: block;
}
@media screen and (min-width: 992px) {
  .p-block-title:has(small) small {
    position: static;
  }
}

.p-head__en {
  margin-bottom: clamp(4px, 16 / 1680 * 100vw, 16px);
  font-family: "Poppins", sans-serif;
  font-size: clamp(12px, 14 / 1680 * 100vw, 14px);
  font-weight: 500;
  line-height: normal;
  color: #0056A6;
}
.p-head__title {
  font-size: clamp(32px, 60 / 1680 * 100vw, 60px);
  font-weight: 700;
  line-height: 1.2;
}
.p-head__text {
  margin-top: clamp(32px, 64 / 1680 * 100vw, 64px);
  font-size: clamp(14px, 18 / 1680 * 100vw, 18px);
  font-weight: 400;
  line-height: 1.6;
}

.p-quotation-head {
  position: relative;
  width: 100%;
  padding: clamp(22px, 42 / 1200 * 100vw, 42px) clamp(24px, 42 / 1200 * 100vw, 42px);
  margin-bottom: clamp(44px, 166 / 1680 * 100vw, 166px);
}
@media screen and (min-width: 768px) {
  .p-quotation-head {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
  }
}
.p-quotation-head::before, .p-quotation-head::after {
  position: absolute;
  display: block;
  width: clamp(40px, 80 / 1680 * 100vw, 80px);
  height: auto;
  aspect-ratio: 1/1;
  content: "";
}
.p-quotation-head::before {
  top: 0;
  left: 0;
  border-top: clamp(6px, 12 / 1680 * 100vw, 12px) solid #E0E0E0;
  border-left: clamp(6px, 12 / 1680 * 100vw, 12px) solid #E0E0E0;
}
.p-quotation-head::after {
  right: 0;
  bottom: 0;
  border-right: clamp(6px, 12 / 1680 * 100vw, 12px) solid #E0E0E0;
  border-bottom: clamp(6px, 12 / 1680 * 100vw, 12px) solid #E0E0E0;
}
.p-quotation-head__text {
  font-size: clamp(16px, 20 / 1680 * 100vw, 20px);
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-quotation-head__text {
    display: inline-block;
    line-height: 1.8;
  }
}
.p-quotation-head__text + .p-quotation-head__note {
  margin-top: clamp(6px, 24 / 1680 * 100vw, 24px);
}
.p-quotation-head__note {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
}

.p-breadcrumb {
  font-family: "Poppins", sans-serif;
  font-size: clamp(10px, 14 / 1680 * 100vw, 14px);
  font-weight: 500;
  line-height: 1;
}
.p-breadcrumb > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
}
@media (hover) {
  .p-breadcrumb > span > span a:hover {
    color: #0056A6;
  }
}
.p-breadcrumb > span > span::before {
  display: inline;
  margin-right: 0.5em;
  content: "—";
}
.p-breadcrumb > span > span:first-child::before {
  content: none;
}
.p-breadcrumb .breadcrumb_last {
  color: rgba(17, 17, 17, 0.5);
}
.p-breadcrumb .breadcrumb_last::before {
  display: inline;
  margin-right: 0.5em;
  content: "—";
}

/* Base
   ----------------------------------------------------------------- */
/* Component
   ----------------------------------------------------------------- */
/* Base
   ----------------------------------------------------------------- */
.c-arrow {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(24px, 32 / 1680 * 100vw, 32px);
  height: auto;
  aspect-ratio: 1/1;
  overflow: hidden;
  background-color: #0056A6;
  border-radius: 50%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.c-arrow::before, .c-arrow::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
  -webkit-mask: url("../img/common/icon_arrow_right.svg") no-repeat 50%/40% 40%;
          mask: url("../img/common/icon_arrow_right.svg") no-repeat 50%/40% 40%;
  -webkit-transition: opacity 0.3s ease-out, -webkit-transform 0.3s ease-out;
  transition: opacity 0.3s ease-out, -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
.c-arrow::after {
  left: -100%;
}

@media (hover) {
  a:hover .c-arrow::before, a:hover .c-arrow::after {
    -webkit-animation: infinity-right 0.6s linear infinite;
            animation: infinity-right 0.6s linear infinite;
  }
}
.c-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(16px, 28 / 1680 * 100vw, 28px);
     -moz-column-gap: clamp(16px, 28 / 1680 * 100vw, 28px);
          column-gap: clamp(16px, 28 / 1680 * 100vw, 28px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: clamp(44px, 64 / 1680 * 100vw, 64px);
  padding-right: clamp(10px, 16 / 1680 * 100vw, 16px);
  padding-left: clamp(20px, 32 / 1680 * 100vw, 32px);
  font-size: clamp(14px, 18 / 1680 * 100vw, 18px);
  font-weight: 700;
  line-height: 1.5;
  color: #111;
  background: #fff;
  border: 1px solid #0056A6;
  border-radius: 9999px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.c-button__text {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media (hover) {
  .c-button:hover {
    color: #fff;
    background-color: #0056A6;
  }
  .c-button:hover .c-arrow {
    background-color: #fff;
  }
  .c-button:hover .c-arrow::before, .c-button:hover .c-arrow::after {
    background-color: #0056A6;
    -webkit-animation: infinity-right 0.6s linear infinite;
            animation: infinity-right 0.6s linear infinite;
  }
}
.c-button--back {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  padding-right: clamp(20px, 32 / 1680 * 100vw, 32px);
  padding-left: clamp(10px, 16 / 1680 * 100vw, 16px);
}
.c-button--back .c-button__arrow::before, .c-button--back .c-button__arrow::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.c-button--back .c-button__arrow::after {
  left: 100%;
}
@-webkit-keyframes infinity-left {
  0% {
    -webkit-transform: translateX(0) rotate(180deg);
            transform: translateX(0) rotate(180deg);
  }
  100% {
    -webkit-transform: translateX(-100%) rotate(180deg);
            transform: translateX(-100%) rotate(180deg);
  }
}
@keyframes infinity-left {
  0% {
    -webkit-transform: translateX(0) rotate(180deg);
            transform: translateX(0) rotate(180deg);
  }
  100% {
    -webkit-transform: translateX(-100%) rotate(180deg);
            transform: translateX(-100%) rotate(180deg);
  }
}
@media (hover) {
  .c-button--back:hover .c-button__arrow::before, .c-button--back:hover .c-button__arrow::after {
    -webkit-animation: infinity-left 0.6s linear infinite;
            animation: infinity-left 0.6s linear infinite;
  }
}
.c-button--submit {
  color: #0056A6;
  background-color: #7BE7F7;
  border-color: #7BE7F7;
}
.c-button--submit .c-button__arrow {
  background-color: #fff;
}
.c-button--submit .c-button__arrow::before, .c-button--submit .c-button__arrow::after {
  background-color: #0056A6;
}
@media (hover) {
  .c-button--submit:hover {
    border-color: #0056A6;
  }
}
.c-button--submit:has(:disabled) {
  color: #ccc;
  pointer-events: none;
  background-color: #fff;
  border-color: #ccc;
}
.c-button--submit:has(:disabled) .c-button__arrow {
  background-color: #ccc;
}
.c-button--submit:has(:disabled) .c-button__arrow::before, .c-button--submit:has(:disabled) .c-button__arrow::after {
  background-color: #fff;
}

.c-button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-corner-deco {
  position: absolute;
  display: block;
  width: clamp(56px, 100 / 1680 * 100vw, 100px);
  height: auto;
  aspect-ratio: 1/1;
  background-color: #F5F5F5;
}
.c-corner-deco::after {
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
}
.c-corner-deco.bottom-right {
  right: 0;
  bottom: 0;
}
.c-corner-deco.bottom-right::after {
  border-bottom-right-radius: 9999px;
}
.c-corner-deco.top-left {
  top: 0;
  left: 0;
}
.c-corner-deco.top-left::after {
  border-top-left-radius: 9999px;
}

/* Base
   ----------------------------------------------------------------- */
/* Utility
   ----------------------------------------------------------------- */
/* Base
   ----------------------------------------------------------------- */
/* Utility
   ----------------------------------------------------------------- */
@-webkit-keyframes infinity {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes infinity {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@-webkit-keyframes opacity-view {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes opacity-view {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes infinity-up {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
@keyframes infinity-up {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
@-webkit-keyframes infinity-right {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@keyframes infinity-right {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@-webkit-keyframes infinity-upper-right {
  0% {
    -webkit-transform: translate(0, 0) rotate(-45deg);
            transform: translate(0, 0) rotate(-45deg);
  }
  100% {
    -webkit-transform: translate(100%, -100%) rotate(-45deg);
            transform: translate(100%, -100%) rotate(-45deg);
  }
}
@keyframes infinity-upper-right {
  0% {
    -webkit-transform: translate(0, 0) rotate(-45deg);
            transform: translate(0, 0) rotate(-45deg);
  }
  100% {
    -webkit-transform: translate(100%, -100%) rotate(-45deg);
            transform: translate(100%, -100%) rotate(-45deg);
  }
}
@-webkit-keyframes cta-infinity-up {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(calc(-100% + 680px));
            transform: translateY(calc(-100% + 680px));
  }
}
@keyframes cta-infinity-up {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(calc(-100% + 680px));
            transform: translateY(calc(-100% + 680px));
  }
}
@-webkit-keyframes cta-infinity-down {
  0% {
    -webkit-transform: translateY(calc(-100% + 680px));
            transform: translateY(calc(-100% + 680px));
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes cta-infinity-down {
  0% {
    -webkit-transform: translateY(calc(-100% + 680px));
            transform: translateY(calc(-100% + 680px));
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes zoom-out {
  0% {
    -webkit-transform: scale(1.07);
            transform: scale(1.07);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes zoom-out {
  0% {
    -webkit-transform: scale(1.07);
            transform: scale(1.07);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes zoom-in {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@keyframes zoom-in {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.u-color-primary {
  color: #0056A6;
}

.u-inline-block {
  display: inline-block;
}

.u-font-en {
  font-family: "Poppins", sans-serif;
}

.u-tel {
  text-decoration: none !important;
}
@media screen and (min-width: 992px) {
  .u-tel {
    pointer-events: none;
  }
}

@media screen and (min-width: 375px) {
  .u-hide-up-xs {
    display: none !important;
  }
}
@media screen and (min-width: 554px) {
  .u-hide-up-sm {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .u-hide-up-md {
    display: none !important;
  }
}
@media screen and (min-width: 992px) {
  .u-hide-up-lg {
    display: none !important;
  }
}
@media screen and (min-width: 1200px) {
  .u-hide-up-xl {
    display: none !important;
  }
}
@media screen and (min-width: 1400px) {
  .u-hide-up-xxl {
    display: none !important;
  }
}

@media screen and (max-width: 374px) {
  .u-hide-down-xs {
    display: none !important;
  }
}
@media screen and (max-width: 553px) {
  .u-hide-down-sm {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .u-hide-down-md {
    display: none !important;
  }
}
@media screen and (max-width: 991px) {
  .u-hide-down-lg {
    display: none !important;
  }
}
@media screen and (max-width: 1199px) {
  .u-hide-down-xl {
    display: none !important;
  }
}
@media screen and (max-width: 1399px) {
  .u-hide-down-xxl {
    display: none !important;
  }
}

/* ==========================================================================
   Pages
   ========================================================================== */
/* Base
   ----------------------------------------------------------------- */
.front .mainview {
  width: 100%;
  height: auto;
  padding-top: 60px;
  background-color: #0056A6;
}
@media screen and (min-width: 360px) {
  .front .mainview {
    padding-top: 80px;
  }
}
@media screen and (min-width: 768px) {
  .front .mainview {
    height: calc(52.083vw + 32px);
    min-height: auto;
    padding-top: 96px;
  }
}
@media screen and (min-width: 1400px) {
  .front .mainview {
    height: 52.083vw;
  }
}
.front .mainview__container {
  position: relative;
  width: 100%;
  height: 137.866vw;
  min-height: 517px;
}
@media screen and (min-width: 554px) {
  .front .mainview__container {
    min-height: 767px;
  }
}
@media screen and (min-width: 768px) {
  .front .mainview__container {
    height: 100%;
    min-height: auto;
  }
}
.front .mainview__deco-01 {
  position: absolute;
  bottom: 3.2vw;
  left: 0;
  width: 100%;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .front .mainview__deco-01 {
    bottom: 4.531vw;
    width: 93.75vw;
  }
}
.front .mainview__deco-01::before, .front .mainview__deco-01::after {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 375/122;
  content: "";
}
@media screen and (min-width: 768px) {
  .front .mainview__deco-01::before, .front .mainview__deco-01::after {
    aspect-ratio: 1800/320;
  }
}
.front .mainview__deco-01::before {
  background: url("../img/front/mv_deco_01_sp.svg") no-repeat 50%/contain;
}
@media screen and (min-width: 768px) {
  .front .mainview__deco-01::before {
    background: url("../img/front/mv_deco_01_pc.svg") no-repeat 50%/contain;
  }
}
.front .mainview__deco-01::after {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #0056A6;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.front .mainview__deco-02 {
  position: absolute;
  right: 0;
  bottom: 62.133vw;
  width: 47vw;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .front .mainview__deco-02 {
    top: 3.125vw;
    bottom: initial;
    width: 31.25vw;
  }
}
.front .mainview__deco-02::before, .front .mainview__deco-02::after {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 169/92;
  content: "";
}
@media screen and (min-width: 768px) {
  .front .mainview__deco-02::before, .front .mainview__deco-02::after {
    aspect-ratio: 600/240;
  }
}
.front .mainview__deco-02::before {
  background: url("../img/front/mv_deco_02_sp.svg") no-repeat 50%/contain;
}
@media screen and (min-width: 768px) {
  .front .mainview__deco-02::before {
    background: url("../img/front/mv_deco_02_pc.svg") no-repeat 50%/contain;
  }
}
.front .mainview__deco-02::after {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #0056A6;
  -webkit-transition: all 0.4s ease-in-out 0.3s;
  transition: all 0.4s ease-in-out 0.3s;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.front .mainview__image {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 97.6%;
  opacity: 0;
  -webkit-transition: opacity 1s ease-out 0.6s;
  transition: opacity 1s ease-out 0.6s;
}
@media screen and (min-width: 554px) {
  .front .mainview__image {
    max-width: 680px;
  }
}
@media screen and (min-width: 768px) {
  .front .mainview__image {
    right: 4.687vw;
    bottom: 1.406vw;
    width: 55.312vw;
    max-width: 100%;
    aspect-ratio: 1062/887;
  }
}
.front .mainview__title {
  position: relative;
  display: block;
  width: 89.6%;
  margin-right: 15px;
  margin-left: 6.4vw;
}
@media screen and (min-width: 554px) {
  .front .mainview__title {
    max-width: 600px;
  }
}
@media screen and (min-width: 768px) {
  .front .mainview__title {
    width: 41.197vw;
    max-width: 100%;
    margin-top: 3.333vw;
    margin-right: 0;
    margin-left: 7.083vw;
  }
}
.front .mainview__title .row {
  display: block;
  height: auto;
  opacity: 0;
  -webkit-transition: opacity 0.7s ease-out 0.9s, -webkit-transform 0.7s ease-out 0.8s;
  transition: opacity 0.7s ease-out 0.9s, -webkit-transform 0.7s ease-out 0.8s;
  transition: opacity 0.7s ease-out 0.9s, transform 0.7s ease-out 0.8s;
  transition: opacity 0.7s ease-out 0.9s, transform 0.7s ease-out 0.8s, -webkit-transform 0.7s ease-out 0.8s;
}
.front .mainview__title .row img {
  width: 100%;
  height: auto;
}
.front .mainview__title .row--01 {
  width: 59.5238%;
  aspect-ratio: 462/165;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.front .mainview__title .row--02 {
  width: 100%;
  aspect-ratio: 791/165;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}
.front .mainview__title .row--03 {
  width: 47.9166%;
  aspect-ratio: 367/162;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.front .mainview.is-active .mainview__deco-01::after {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
.front .mainview.is-active .mainview__deco-02::after {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.front .mainview.is-active .mainview__image {
  opacity: 1;
  -webkit-animation: zoom-out 0.5s ease-in forwards 0.4s;
          animation: zoom-out 0.5s ease-in forwards 0.4s;
}
.front .mainview.is-active .mainview__title .row {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.front .intro {
  background-color: #fff;
}
.front .intro__bg {
  position: relative;
  overflow: hidden;
  background-color: #0056A6;
  border-radius: 0 0 clamp(56px, 100 / 1680 * 100vw, 100px) clamp(56px, 100 / 1680 * 100vw, 100px);
}
.front .intro__bg::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: url("../img/front/intro_bg_sp.png") no-repeat center bottom/cover;
}
@media screen and (min-width: 768px) {
  .front .intro__bg::before {
    background: url("../img/front/intro_bg_pc.png") no-repeat center bottom/cover;
  }
}
.front .intro__bg::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, from(#0056A6), to(transparent));
  background: linear-gradient(to bottom, #0056A6, transparent);
}
.front .intro__container {
  position: relative;
  z-index: 2;
  max-width: 1516px;
  padding-top: clamp(56px, 120 / 1680 * 100vw, 120px);
  padding-bottom: clamp(80px, 230 / 1680 * 100vw, 230px);
}
@media screen and (min-width: 768px) {
  .front .intro__container {
    display: grid;
    grid-template-columns: 1fr 49.721%;
    -webkit-column-gap: 9.33%;
       -moz-column-gap: 9.33%;
            column-gap: 9.33%;
  }
}
.front .intro__textbody {
  color: #fff;
  will-change: transform;
}
@media screen and (min-width: 768px) {
  .front .intro__textbody {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.front .intro__textbody .title {
  margin-bottom: clamp(40px, 64 / 1680 * 100vw, 64px);
  font-size: clamp(28px, 48 / 1680 * 100vw, 48px);
  font-weight: 700;
  line-height: 1.5;
}
.front .intro__textbody .text {
  font-size: clamp(14px, 20 / 1680 * 100vw, 20px);
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .front .intro__textbody .text {
    line-height: 1.8;
  }
}
.front .intro__image {
  padding-right: 5.333vw;
  padding-left: 5.333vw;
  margin-top: 53px;
}
@media screen and (min-width: 768px) {
  .front .intro__image {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    padding: 0;
    margin-top: 0;
  }
}
.front .intro__image .image {
  display: block;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 8px;
  will-change: transform;
}
.front .intro__image .image--01 {
  width: 54.237%;
  margin-bottom: 41px;
}
@media screen and (min-width: 768px) {
  .front .intro__image .image--01 {
    width: 68%;
    margin-bottom: 7.083vw;
  }
}
.front .intro__image .image--02 {
  width: 47.457%;
  margin-right: 0;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .front .intro__image .image--02 {
    width: 54.421%;
  }
}
.front .about {
  background-color: #fff;
}
.front .about__container {
  padding-top: clamp(40px, 160 / 1680 * 100vw, 160px);
  padding-bottom: clamp(56px, 128 / 1680 * 100vw, 128px);
}
.front .about__block {
  position: relative;
  display: grid;
  grid-template-columns: 100%;
  gap: 32px;
  padding: 56px 20px;
  background: #fff;
  background: linear-gradient(145deg, rgba(123, 231, 247, 0.8) 30%, rgba(86, 187, 222, 0.8));
  border-radius: clamp(24px, 40 / 1680 * 100vw, 40px);
  -webkit-transition: background 1s ease-in 1s;
  transition: background 1s ease-in 1s;
}
@media screen and (min-width: 768px) {
  .front .about__block {
    grid-template-columns: 1fr 40.54%;
    gap: 0 32px;
    padding: 40px;
  }
}
@media screen and (min-width: 1200px) {
  .front .about__block {
    -webkit-column-gap: 16.2%;
       -moz-column-gap: 16.2%;
            column-gap: 16.2%;
    padding-left: 5%;
  }
}
@media (hover) {
  .front .about__block:has(a:hover) .about__image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.front .about__block:nth-child(even) {
  background: linear-gradient(-145deg, rgba(123, 231, 247, 0.8) 30%, rgba(86, 187, 222, 0.8));
}
.front .about__block::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
  -webkit-transition: all 0.4s ease-in 0.6s;
  transition: all 0.4s ease-in 0.6s;
}
.front .about__block + .about__block {
  margin-top: clamp(16px, 160 / 1680 * 100vw, 160px);
}
.front .about__block + .about__block::after {
  position: absolute;
  top: calc(clamp(8px, 80 / 1680 * 100vw, 80px) * -1);
  left: 0;
  width: 100%;
  height: 1px;
  content: none;
  background-color: #ccc;
}
@media screen and (min-width: 768px) {
  .front .about__block + .about__block::after {
    content: "";
  }
}
.front .about__block.is-active::before {
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
}
.front .about__textbody {
  position: relative;
}
@media screen and (min-width: 768px) {
  .front .about__textbody {
    padding-bottom: 32px;
  }
}
@media screen and (min-width: 992px) {
  .front .about__textbody {
    padding: 32px 0;
  }
}
@media screen and (min-width: 1200px) {
  .front .about__textbody {
    padding: 80px 0;
  }
}
.front .about__image {
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: clamp(16px, 24 / 1680 * 100vw, 24px);
}
@media screen and (min-width: 768px) {
  .front .about__image {
    grid-row: span 2;
  }
}
.front .about__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}
.front .about__action {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
}
@media screen and (min-width: 768px) {
  .front .about__action {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.front .infinity {
  position: relative;
  padding-bottom: clamp(64px, 147 / 1680 * 100vw, 147px);
  background-color: #fff;
}
.front .infinity__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}
.front .infinity__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 4.266vw;
     -moz-column-gap: 4.266vw;
          column-gap: 4.266vw;
  padding-right: 4.266vw;
  -webkit-animation: infinity 40s infinite linear 0.5s both;
          animation: infinity 40s infinite linear 0.5s both;
}
@media screen and (min-width: 768px) {
  .front .infinity__list {
    -webkit-column-gap: 1.666vw;
       -moz-column-gap: 1.666vw;
            column-gap: 1.666vw;
    padding-right: 1.666vw;
  }
}
.front .infinity__item {
  width: 282.133vw;
}
@media screen and (min-width: 768px) {
  .front .infinity__item {
    width: 117.291vw;
  }
}
.front .infinity__item img {
  display: block;
  width: 100%;
}
.front .people {
  position: relative;
  overflow: hidden;
  background-color: #F5F5F5;
}
.front .people::before {
  position: absolute;
  top: 30.733vw;
  right: -6.933vw;
  display: block;
  width: clamp(241px, 804 / 1680 * 100vw, 804px);
  height: auto;
  aspect-ratio: 804/800;
  content: "";
  background: url("../img/front/people_deco.png") no-repeat 50%/contain;
  -webkit-transform: translate3d(0, var(--parallax-y, 0), 0);
          transform: translate3d(0, var(--parallax-y, 0), 0);
  will-change: transform;
}
@media screen and (min-width: 992px) {
  .front .people::before {
    top: 5.9375vw;
    right: -7.0313vw;
  }
}
.front .people .c-corner-deco {
  background-color: #fff;
}
.front .people .c-corner-deco::after {
  background-color: #F5F5F5;
}
.front .people__container {
  position: relative;
  display: grid;
  grid-template-columns: 100%;
  gap: 40px;
  padding-top: clamp(60px, 154 / 1680 * 100vw, 154px);
  padding-bottom: clamp(84px, 182 / 1680 * 100vw, 182px);
}
@media screen and (min-width: 992px) {
  .front .people__container {
    grid-template-columns: 60% 1fr;
    gap: 4.166vw;
  }
}
@media screen and (min-width: 992px) {
  .front .people .p-head {
    max-width: 640px;
    margin-left: 10%;
  }
}
.front .people__list {
  display: grid;
  grid-template-columns: 100%;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .front .people__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 992px) {
  .front .people__list {
    grid-template-columns: repeat(3, 1fr);
    grid-column: span 2;
  }
}
@media screen and (min-width: 1200px) {
  .front .people__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.front .people__action .c-button {
  margin: 0 auto;
}
@media screen and (min-width: 992px) {
  .front .people__action .c-button {
    margin-right: 10%;
    margin-left: auto;
  }
}
.front .workstyle {
  position: relative;
  background-color: #fff;
}
.front .workstyle__container {
  position: relative;
  padding-top: clamp(52px, 178 / 1680 * 100vw, 178px);
}
.front .workstyle__block {
  padding: 56px 20px 78px;
  overflow: hidden;
  background: linear-gradient(15deg, #75A4D1, #D8E7F5 50%);
  border-radius: clamp(24px, 40 / 1680 * 100vw, 40px);
}
@media screen and (min-width: 768px) {
  .front .workstyle__block {
    padding: clamp(56px, 86 / 1680 * 100vw, 86px) clamp(40px, 80 / 1680 * 100vw, 80px);
  }
}
@media screen and (min-width: 992px) {
  .front .workstyle .p-head {
    display: grid;
    grid-template-columns: 1fr 44.444%;
  }
  .front .workstyle .p-head .p-head__title {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .front .workstyle .p-head .p-head__text {
    grid-row: span 2;
    align-self: end;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-top: 0;
  }
}
.front .workstyle__list {
  display: grid;
  grid-template-columns: 100%;
  gap: clamp(24px, 64 / 991 * 100vw, 64px);
  margin-top: clamp(40px, 80 / 1680 * 100vw, 80px);
}
@media screen and (min-width: 992px) {
  .front .workstyle__list {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 32 / 1680 * 100vw, 32px);
  }
}
.front .workstyle__item {
  container-type: inline-size;
}
.front .workstyle__item .card {
  position: relative;
  display: block;
}
.front .workstyle__item .card__image {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  overflow: hidden;
  -webkit-mask-image: url("../img/front/workstyle_mask_sp.svg");
          mask-image: url("../img/front/workstyle_mask_sp.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: 50%;
          mask-position: 50%;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}
@media screen and (min-width: 554px) {
  .front .workstyle__item .card__image {
    aspect-ratio: 704/360;
    -webkit-mask-image: url("../img/front/workstyle_mask_pc.svg");
            mask-image: url("../img/front/workstyle_mask_pc.svg");
  }
}
.front .workstyle__item .card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.front .workstyle__item .card__head {
  position: absolute;
  right: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(6px, 16 / 704 * 100cqw, 16px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.front .workstyle__item .card__head .text {
  font-size: clamp(16px, 20 / 450 * 100cqw, 20px);
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (min-width: 554px) {
  .front .workstyle__item .card__head .text {
    font-size: clamp(18px, 24 / 704 * 100cqw, 24px);
  }
}
.front .workstyle__item .card__head .c-arrow {
  width: clamp(32px, 40 / 450 * 100cqw, 40px);
}
@media screen and (min-width: 554px) {
  .front .workstyle__item .card__head .c-arrow {
    width: clamp(20px, 40 / 704 * 100cqw, 40px);
  }
}
@media (hover) {
  .front .workstyle__item .card:hover .card__image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.front .p-footer-cta .c-corner-deco {
  display: none;
}

/* Base
   ----------------------------------------------------------------- */
.page-company .l-page__header-deco {
  width: 45.066%;
}
@media screen and (min-width: 768px) {
  .page-company .l-page__header-deco {
    width: 31.197%;
  }
}
.page-company .recruit-message {
  scroll-margin-top: 80px;
  position: relative;
  background: url("../img/company/recruit-message_bg_sp.png") no-repeat center bottom/cover;
}
@media screen and (min-width: 768px) {
  .page-company .recruit-message {
    background: url("../img/company/recruit-message_bg_pc.png") no-repeat center bottom/cover;
  }
}
@media screen and (min-width: 992px) {
  .page-company .recruit-message {
    scroll-margin-top: 96px;
  }
}
.page-company .recruit-message__container {
  display: grid;
  grid-template-columns: 100%;
  padding-bottom: clamp(150px, 334 / 1680 * 100vw, 334px);
}
@media screen and (min-width: 768px) {
  .page-company .recruit-message__container {
    grid-template-columns: 1fr 43.333%;
    -webkit-column-gap: 6.666%;
       -moz-column-gap: 6.666%;
            column-gap: 6.666%;
  }
}
.page-company .recruit-message__textbody {
  display: contents;
}
@media screen and (min-width: 768px) {
  .page-company .recruit-message__textbody {
    display: block;
  }
}
.page-company .recruit-message__textbody .p-section-title {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin-bottom: 24px;
}
@media screen and (min-width: 768px) {
  .page-company .recruit-message__textbody .p-section-title {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.page-company .recruit-message__textbody .text {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  font-size: clamp(14px, 20 / 1680 * 100vw, 20px);
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .page-company .recruit-message__textbody .text {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    line-height: 2;
  }
}
.page-company .recruit-message__image {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  margin-right: 0;
  margin-bottom: 32px;
  margin-left: auto;
  overflow: hidden;
  border-radius: clamp(16px, 24 / 1680 * 100vw, 24px);
}
.page-company .recruit-message__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-company .ceo-message {
  position: relative;
  margin-top: calc(clamp(56px, 100 / 1680 * 100vw, 100px) * -1);
  background-color: transparent;
}
.page-company .ceo-message__inner {
  position: relative;
  background-color: #fff;
  border-top-left-radius: clamp(56px, 100 / 1680 * 100vw, 100px);
}
.page-company .ceo-message__inner::before {
  position: absolute;
  top: calc(clamp(56px, 100 / 1680 * 100vw, 100px) * -1);
  right: 0;
  display: block;
  width: clamp(56px, 100 / 1680 * 100vw, 100px);
  height: auto;
  aspect-ratio: 1/1;
  content: "";
  background: url("../img/common/corner_deco_01.svg") no-repeat right bottom/contain;
}
.page-company .ceo-message__container {
  padding-top: clamp(42px, 181 / 1680 * 100vw, 181px);
  padding-bottom: clamp(10px, 80 / 1680 * 100vw, 80px);
}
@media screen and (min-width: 768px) {
  .page-company .ceo-message__container {
    display: grid;
    grid-template-columns: 43.333% 1fr;
    -webkit-column-gap: 6.666%;
       -moz-column-gap: 6.666%;
            column-gap: 6.666%;
  }
}
@media screen and (min-width: 768px) {
  .page-company .ceo-message .p-section-title {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.page-company .ceo-message__image {
  aspect-ratio: 1/1;
  margin-bottom: 29px;
  overflow: hidden;
  border-radius: clamp(16px, 24 / 1680 * 100vw, 24px);
}
@media screen and (min-width: 768px) {
  .page-company .ceo-message__image {
    grid-row: span 2;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 0;
  }
}
.page-company .ceo-message__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .page-company .ceo-message__textbody {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}
.page-company .ceo-message__textbody .text {
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .page-company .ceo-message__textbody .text {
    line-height: 1.8;
  }
}
.page-company .ceo-message__textbody .signature {
  margin-top: clamp(16px, 24 / 1680 * 100vw, 24px);
  font-size: clamp(14px, 18 / 1680 * 100vw, 18px);
  font-weight: 400;
  line-height: 1.6;
  text-align: right;
}
.page-company .ceo-message__textbody .signature strong {
  margin-left: 1em;
  font-size: clamp(18px, 32 / 1680 * 100vw, 32px);
  font-weight: 700;
}
.page-company .values {
  position: relative;
}
.page-company .values__container {
  padding-top: clamp(50px, 160 / 1680 * 100vw, 160px);
  padding-bottom: clamp(84px, 182 / 1680 * 100vw, 182px);
}
.page-company .values__block {
  padding: 40px;
  padding-top: clamp(56px, 80 / 1680 * 100vw, 80px);
  padding-right: clamp(20px, 80 / 1680 * 100vw, 80px);
  padding-bottom: clamp(60px, 120 / 1680 * 100vw, 120px);
  padding-left: clamp(20px, 80 / 1680 * 100vw, 80px);
  background: linear-gradient(166deg, rgba(123, 231, 247, 0.7), rgba(86, 187, 223, 0.7));
  border-radius: clamp(32px, 40 / 1680 * 100vw, 40px);
}
.page-company .values__list {
  display: grid;
  grid-template-columns: 100%;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .page-company .values__list {
    gap: clamp(24px, 32 / 1680 * 100vw, 32px);
  }
}
.page-company .values__item {
  display: grid;
  grid-template-columns: 100%;
  gap: 24px;
  padding: 32px 20px 20px;
  background-color: #fff;
  border-radius: 24px;
}
@media screen and (min-width: 768px) {
  .page-company .values__item {
    grid-template-columns: 1fr 32.653%;
    gap: 8.163%;
    padding-top: 20px;
    padding-left: 40px;
    border-radius: 16px;
  }
  .page-company .values__item:nth-child(even) {
    grid-template-columns: 32.653% 1fr;
    padding-right: 40px;
    padding-left: 20px;
  }
  .page-company .values__item:nth-child(even) .desc {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
@media screen and (min-width: 768px) {
  .page-company .values__item .desc {
    -ms-flex-item-align: center;
        align-self: center;
  }
}
.page-company .values__item .desc__num {
  display: inline-block;
  margin-bottom: clamp(4px, 8 / 1680 * 100vw, 8px);
  font-family: "Poppins", sans-serif;
  font-size: clamp(12px, 14 / 1680 * 100vw, 14px);
  font-weight: 500;
  line-height: 1;
  color: #0056A6;
}
.page-company .values__item .desc__title {
  margin-bottom: clamp(16px, 24 / 1680 * 100vw, 24px);
  font-size: clamp(24px, 32 / 1680 * 100vw, 32px);
  font-weight: 700;
  line-height: 1.5;
  color: #0056A6;
}
.page-company .values__item .desc__text {
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
.page-company .values__item .image {
  overflow: hidden;
  border-radius: 16px;
}
.page-company .group {
  position: relative;
  background-color: #F5F5F5;
}
.page-company .group .c-corner-deco {
  background-color: #fff;
}
.page-company .group .c-corner-deco::after {
  background-color: #F5F5F5;
}
.page-company .group__container {
  position: relative;
  padding-top: clamp(53px, 178 / 1680 * 100vw, 178px);
  padding-bottom: clamp(84px, 222 / 1680 * 100vw, 222px);
}
.page-company .group__lead {
  max-width: 800px;
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
.page-company .group__company {
  margin-top: clamp(40px, 80 / 1680 * 100vw, 80px);
}
.page-company .group__company-list {
  display: grid;
  grid-template-columns: 100%;
  gap: clamp(16px, 30 / 1680 * 100vw, 30px);
}
@media screen and (min-width: 554px) {
  .page-company .group__company-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1200px) {
  .page-company .group__company-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.page-company .group__company-list .card {
  position: relative;
  padding: 20px 20px 32px;
  cursor: pointer;
  background-color: #fff;
  border-radius: 16px;
  container-type: inline-size;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.page-company .group__company-list .card__logo {
  width: 100%;
  height: auto;
  aspect-ratio: 295/92;
  margin-bottom: 20px;
  border: 1px solid #eee;
  border-radius: 8px;
}
.page-company .group__company-list .card__logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.page-company .group__company-list .card__title {
  margin-bottom: 8px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (min-width: 554px) {
  .page-company .group__company-list .card__title {
    font-size: clamp(18px, 20 / 370 * 100cqw, 20px);
  }
}
@media screen and (min-width: 1200px) {
  .page-company .group__company-list .card__title {
    font-size: clamp(17px, 24 / 340 * 100cqw, 24px);
  }
}
.page-company .group__company-list .card__cat {
  display: inline-block;
  padding: 3px 16px;
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 700;
  line-height: 1.6;
  background-color: #D9EDFF;
  border-radius: 9999px;
}
.page-company .group__company-list .card__plus {
  position: absolute;
  right: 20px;
  bottom: 32px;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(28px, 32 / 1680 * 100vw, 32px);
  height: auto;
  aspect-ratio: 1/1;
  background-color: #fff;
  border: 1px solid #0056A6;
  border-radius: 50%;
}
.page-company .group__company-list .card__plus::after {
  display: block;
  width: 13px;
  height: 13px;
  content: "";
  background: url("../img/common/icon_plus.svg") no-repeat 50%/contain;
}
@media (hover) {
  .page-company .group__company-list .card:hover {
    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 86, 166, 0.15);
            box-shadow: 0 4px 20px 0 rgba(0, 86, 166, 0.15);
  }
}
.page-company .group__company-modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 400;
  width: 100%;
  height: 100dvh;
}
.page-company .group__company-modal .modal-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(204, 204, 204, 0.8);
  backdrop-filter: blur(8px);
}
.page-company .group__company-modal .modal-inner {
  width: 100%;
  height: 100%;
  padding: 20px;
  overflow-y: auto;
  font-size: 0;
  text-align: center;
}
.page-company .group__company-modal .modal-inner::before {
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  content: "";
}
.page-company .group__company-modal .modal-item {
  position: relative;
  display: inline-grid;
  grid-template-columns: 100%;
  gap: 20px;
  width: 100%;
  max-width: 1200px;
  height: auto;
  padding: 64px 20px 80px;
  font-size: clamp(14px, 18 / 1280 * 100vw, 18px);
  text-align: left;
  vertical-align: middle;
  pointer-events: auto;
  background-color: aquamarine;
  background-color: #fff;
  border-radius: 24px;
}
@media screen and (min-width: 768px) {
  .page-company .group__company-modal .modal-item {
    grid-template-columns: 44.827% 1fr;
    gap: 6.9%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 20px;
    border-radius: 16px;
  }
}
.page-company .group__company-modal .modal-item .close-button {
  position: absolute;
  top: 20px;
  right: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(28px, 32 / 1680 * 100vw, 32px);
  height: auto;
  aspect-ratio: 1/1;
  pointer-events: auto;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #0056A6;
  border-radius: 50%;
}
.page-company .group__company-modal .modal-item .close-button::after {
  display: block;
  width: 13px;
  height: 13px;
  content: "";
  background: url("../img/common/icon_plus.svg") no-repeat 50%/contain;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.page-company .group__company-modal .modal-item .image {
  overflow: hidden;
  border: 1px solid #eee;
  border-radius: 8px;
}
.page-company .group__company-modal .modal-item .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .page-company .group__company-modal .modal-item .detail {
    padding-right: 10.71%;
  }
}
.page-company .group__company-modal .modal-item .detail__title {
  margin-bottom: clamp(8px, 10 / 1680 * 100vw, 10px);
  font-size: clamp(20px, 32 / 1680 * 100vw, 32px);
  font-weight: 700;
  line-height: 1.6;
}
.page-company .group__company-modal .modal-item .detail__cat {
  display: inline-block;
  padding: 3px 16px;
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 700;
  line-height: 1.6;
  background-color: #D9EDFF;
  border-radius: 9999px;
}
.page-company .group__company-modal .modal-item .detail__text {
  padding-top: clamp(20px, 40 / 1680 * 100vw, 40px);
  margin-top: 24px;
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
  border-top: 1px solid #B9D2E9;
}

/* Base
   ----------------------------------------------------------------- */
.page-number {
  background-color: #F5F5F5;
}
.page-number .l-page__header {
  background-color: #F5F5F5;
}
.page-number .l-page__header-deco {
  width: 68%;
}
@media screen and (min-width: 768px) {
  .page-number .l-page__header-deco {
    width: 47.135%;
  }
}
.page-number .number-card {
  position: relative;
  padding: 20px 20px 10px;
  background-color: #fff;
  border-radius: clamp(16px, 24 / 1680 * 100vw, 24px);
}
@media screen and (min-width: 992px) {
  .page-number .number-card {
    padding: 40px 40px 20px;
  }
}
.page-number .number-card .p-block-title {
  color: #111;
}
.page-number .number-card__image {
  position: absolute;
  bottom: 24px;
  left: 30px;
  width: 32.537%;
  max-width: 109px;
}
@media screen and (min-width: 768px) {
  .page-number .number-card__image {
    width: 21.683%;
    max-width: 170px;
  }
}
@media screen and (min-width: 992px) {
  .page-number .number-card__image {
    bottom: 20px;
    left: 40px;
  }
}
@media screen and (min-width: 1200px) {
  .page-number .number-card__image {
    bottom: 40px;
  }
}
.page-number .number-card__image.sp-position {
  top: 20px;
  right: 10px;
  bottom: initial;
  left: initial;
}
@media screen and (min-width: 554px) {
  .page-number .number-card__image.sp-position {
    top: initial;
    right: initial;
    bottom: 24px;
    left: 30px;
  }
}
@media screen and (min-width: 992px) {
  .page-number .number-card__image.sp-position {
    bottom: 20px;
    left: 40px;
  }
}
@media screen and (min-width: 1200px) {
  .page-number .number-card__image.sp-position {
    bottom: 40px;
  }
}
.page-number .number-card__text {
  padding-top: 70px;
  text-align: right;
}
.page-number .number-card__text .num {
  font-family: "Poppins", sans-serif;
  font-size: clamp(64px, 120 / 1680 * 100vw, 120px);
  font-weight: 400;
  line-height: 1.2;
  color: #0056A6;
  letter-spacing: -0.04em;
}
.page-number .number-card__text .unit {
  font-size: clamp(32px, 48 / 1680 * 100vw, 48px);
  font-weight: 400;
  line-height: 1.2;
}
.page-number .number-card__option {
  padding-bottom: 64px;
  margin-top: 32px;
}
@media screen and (min-width: 768px) {
  .page-number .number-card__option {
    padding-bottom: 20px;
    margin-top: 0;
  }
}
@media screen and (min-width: 992px) {
  .page-number .number-card__option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 6.818%;
       -moz-column-gap: 6.818%;
            column-gap: 6.818%;
  }
}
.page-number .number-card__option ul + ul {
  margin-top: 16px;
}
@media screen and (min-width: 992px) {
  .page-number .number-card__option ul + ul {
    margin-top: 0;
  }
}
.page-number .number-card__option ul li {
  position: relative;
  padding-left: clamp(14px, 20 / 1680 * 100vw, 20px);
  font-size: clamp(16px, 24 / 1680 * 100vw, 24px);
  font-weight: 400;
  line-height: 1;
}
.page-number .number-card__option ul li::before {
  position: absolute;
  top: 0.3em;
  left: 0;
  display: block;
  width: clamp(6px, 8 / 1680 * 100vw, 8px);
  height: auto;
  aspect-ratio: 1/1;
  content: "";
  background-color: #0056A6;
  border-radius: 50%;
}
.page-number .number-card__option ul li + li {
  margin-top: clamp(16px, 22 / 1680 * 100vw, 22px);
}
.page-number .number-card--option .number-card__image {
  top: 90px;
  bottom: initial;
}
@media screen and (min-width: 768px) {
  .page-number .number-card--option .number-card__image {
    top: initial;
    bottom: 24px;
    left: 30px;
    width: 10.625%;
  }
}
@media screen and (min-width: 992px) {
  .page-number .number-card--option .number-card__image {
    bottom: 20px;
    left: 40px;
  }
}
@media screen and (min-width: 1200px) {
  .page-number .number-card--option .number-card__image {
    bottom: 40px;
  }
}
@media screen and (min-width: 768px) {
  .page-number .number-card--option {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column: span 2;
    -webkit-column-gap: clamp(66px, 112 / 1680 * 100vw, 112px);
       -moz-column-gap: clamp(66px, 112 / 1680 * 100vw, 112px);
            column-gap: clamp(66px, 112 / 1680 * 100vw, 112px);
  }
}
@media screen and (min-width: 768px) and (min-width: 992px) {
  .page-number .number-card--option {
    grid-template-columns: 38% 1fr;
  }
}
@media screen and (min-width: 768px) and (min-width: 1200px) {
  .page-number .number-card--option {
    grid-template-columns: 42% 1fr;
  }
}
@media screen and (min-width: 768px) {
  .page-number .number-card--option .p-block-title {
    grid-column: span 2;
  }
  .page-number .number-card--option .number-card__text {
    -ms-flex-item-align: end;
        align-self: end;
  }
}
.page-number .company__list {
  display: grid;
  grid-template-columns: 100%;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .page-number .company__list {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 32 / 1680 * 100vw, 32px);
  }
}
.page-number .environment {
  position: relative;
}
.page-number .environment .c-corner-deco {
  background-color: #fff;
}
.page-number .environment .c-corner-deco::after {
  background-color: #F5F5F5;
}
.page-number .environment__container {
  padding-top: clamp(74px, 200 / 1680 * 100vw, 200px);
  padding-bottom: clamp(84px, 222 / 1680 * 100vw, 222px);
}
.page-number .environment__list {
  display: grid;
  grid-template-columns: 100%;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .page-number .environment__list {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 32 / 1680 * 100vw, 32px);
  }
}

/* Base
   ----------------------------------------------------------------- */
.page-job .l-page__header-deco {
  width: 77.066%;
}
@media screen and (min-width: 768px) {
  .page-job .l-page__header-deco {
    width: 53.385%;
  }
}
.page-job .business {
  scroll-margin-top: 80px;
  position: relative;
}
@media screen and (min-width: 992px) {
  .page-job .business {
    scroll-margin-top: 96px;
  }
}
.page-job .business__container {
  padding-bottom: clamp(76px, 218 / 1680 * 100vw, 218px);
}
.page-job .business__lead {
  max-width: 800px;
  font-size: clamp(14px, 18 / 1680 * 100vw, 18px);
  font-weight: 400;
  line-height: 1.6;
}
.page-job .business__list {
  margin-top: clamp(40px, 160 / 1680 * 100vw, 160px);
}
.page-job .business__item {
  display: grid;
  grid-template-columns: 100%;
  gap: 20px;
  padding: 20px 20px 40px;
  background-color: #D9EDFF;
  border-radius: clamp(24px, 40 / 1680 * 100vw, 40px);
}
@media screen and (min-width: 768px) {
  .page-job .business__item {
    grid-template-columns: 44.8827% 1fr;
    gap: 6.896%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 20px;
  }
}
.page-job .business__item .image {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: clamp(16px, 24 / 1680 * 100vw, 24px);
}
.page-job .business__item .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-job .business__item .num {
  position: absolute;
  top: 0;
  left: 10px;
  font-family: "Poppins", sans-serif;
  font-size: clamp(64px, 120 / 1680 * 100vw, 120px);
  font-style: italic;
  font-weight: 275;
  line-height: 1.2;
  color: #D9EDFF;
}
@media screen and (min-width: 768px) {
  .page-job .business__item .detail {
    padding-top: 20px;
    padding-right: 10.714%;
    padding-bottom: 20px;
  }
}
.page-job .business__item .detail__lead {
  padding-top: clamp(16px, 40 / 1680 * 100vw, 40px);
  margin-top: clamp(16px, 24 / 1680 * 100vw, 24px);
  margin-bottom: clamp(16px, 28 / 1680 * 100vw, 28px);
  font-size: clamp(18px, 24 / 1680 * 100vw, 24px);
  font-weight: 700;
  line-height: 1.5;
  border-top: 1px solid #B9D2E9;
}
.page-job .business__item .detail__text {
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
.page-job .business__item + .business__item {
  margin-top: clamp(16px, 56 / 1680 * 100vw, 56px);
}
.page-job .business__item:nth-child(even) {
  background-color: #CEF2F7;
}
@media screen and (min-width: 768px) {
  .page-job .business__item:nth-child(even) {
    grid-template-columns: 1fr 44.8827%;
  }
  .page-job .business__item:nth-child(even) .image {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .page-job .business__item:nth-child(even) .num {
    right: 10px;
    left: initial;
  }
  .page-job .business__item:nth-child(even) .detail {
    padding-right: 0;
    padding-left: 10.714%;
  }
}
.page-job .business__item:nth-child(even) .num {
  color: #CEF2F7;
}
.page-job .business__charm {
  display: grid;
  grid-template-columns: 100%;
  gap: 16px;
  padding: clamp(40px, 56 / 1680 * 100vw, 56px) clamp(20px, 80 / 1680 * 100vw, 80px);
  margin-top: clamp(40px, 80 / 1680 * 100vw, 80px);
  border: 1px solid #0056A6;
  border-radius: clamp(24px, 40 / 1680 * 100vw, 40px);
}
@media screen and (min-width: 992px) {
  .page-job .business__charm {
    grid-template-columns: 1fr 61.657%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.page-job .business__charm .title {
  font-size: clamp(24px, 32 / 1680 * 100vw, 32px);
  font-weight: 700;
  line-height: 1.5;
  color: #0056A6;
}
.page-job .business__charm .inner {
  padding-top: 24px;
  border-top: 1px solid #0056A6;
}
@media screen and (min-width: 992px) {
  .page-job .business__charm .inner {
    padding: 25px 0;
    padding-left: 12.187%;
    border-top: none;
    border-left: 1px solid #0056A6;
  }
}
.page-job .business__charm .text {
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
.page-job .work {
  position: relative;
  background-color: #F5F5F5;
}
.page-job .work .c-corner-deco {
  background-color: #fff;
}
.page-job .work .c-corner-deco::after {
  background-color: #F5F5F5;
}
.page-job .work__container {
  padding-top: clamp(60px, 154 / 1680 * 100vw, 154px);
  padding-bottom: clamp(84px, 182 / 1680 * 100vw, 182px);
}
.page-job .work__lead {
  font-size: clamp(14px, 18 / 1680 * 100vw, 18px);
  font-weight: 400;
  line-height: 1.6;
}
.page-job .work__contents {
  margin-top: clamp(56px, 120 / 1680 * 100vw, 120px);
}
.page-job .work__contents + .work__contents {
  margin-top: clamp(56px, 120 / 1680 * 100vw, 120px);
}
.page-job .work__list {
  display: grid;
  grid-template-columns: 100%;
  gap: 16px;
  margin-top: clamp(28px, 64 / 1680 * 100vw, 64px);
}
@media screen and (min-width: 768px) {
  .page-job .work__list {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 30 / 1680 * 100vw, 30px);
  }
}
@media screen and (min-width: 1200px) {
  .page-job .work__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.page-job .work__item {
  padding: 20px 20px clamp(40px, 48 / 1680 * 100vw, 48px);
  background-color: #fff;
  border-radius: 24px;
}
.page-job .work__item .image {
  aspect-ratio: 1/1;
  margin-bottom: 24px;
  overflow: hidden;
  border-radius: 16px;
}
.page-job .work__item .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-job .work__item .title {
  position: relative;
  padding-left: clamp(14px, 20 / 1680 * 100vw, 20px);
  margin-bottom: 16px;
  font-size: clamp(20px, 24 / 1680 * 100vw, 24px);
  font-weight: 700;
  line-height: 1.5;
}
.page-job .work__item .title::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: clamp(6px, 8 / 1680 * 100vw, 8px);
  height: auto;
  aspect-ratio: 1/1;
  content: "";
  background-color: #0056A6;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.page-job .work__item .text {
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
.page-job .work__movie {
  padding: 20px 20px 40px;
  margin-top: clamp(56px, 80 / 1680 * 100vw, 80px);
  background-color: #CEF2F7;
  border-radius: 24px;
}
@media screen and (min-width: 992px) {
  .page-job .work__movie {
    display: grid;
    grid-template-columns: 31.14% 1fr auto;
    gap: 16px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 20px 40px 20px 20px;
  }
}
.page-job .work__movie .embed {
  width: 100%;
  height: auto;
  aspect-ratio: 560/315;
  margin: 0 auto 20px;
  overflow: hidden;
  border-radius: 8px;
}
@media screen and (min-width: 992px) {
  .page-job .work__movie .embed {
    margin-bottom: 0;
  }
}
.page-job .work__movie .embed iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-job .work__movie .image {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 20px;
  overflow: hidden;
  border-radius: 8px;
}
@media screen and (min-width: 992px) {
  .page-job .work__movie .image {
    margin-bottom: 0;
  }
}
.page-job .work__movie .title {
  margin-bottom: 20px;
  font-size: clamp(20px, 24 / 1680 * 100vw, 24px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 992px) {
  .page-job .work__movie .title {
    margin-bottom: 0;
  }
}
.page-job .work__movie .c-button {
  margin: 0 auto;
}
.page-job .work__movie .c-button__arrow::before, .page-job .work__movie .c-button__arrow::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.page-job .work__movie .c-button__arrow::after {
  top: 100%;
}
@media (hover) {
  .page-job .work__movie .c-button:hover .c-button__arrow::before, .page-job .work__movie .c-button:hover .c-button__arrow::after {
    -webkit-animation: infinity-upper-right 0.6s linear infinite;
            animation: infinity-upper-right 0.6s linear infinite;
  }
}
.page-job .career {
  position: relative;
}
.page-job .career__container {
  padding-top: clamp(52px, 178 / 1680 * 100vw, 178px);
  padding-bottom: clamp(84px, 222 / 1680 * 100vw, 222px);
}
.page-job .career__lead {
  max-width: 800px;
  font-size: clamp(14px, 18 / 1680 * 100vw, 18px);
  font-weight: 400;
  line-height: 1.6;
}
.page-job .career__body {
  margin-top: clamp(40px, 120 / 1680 * 100vw, 120px);
}
.page-job .career__case {
  padding: 40px 0;
  border-top: 1px solid #ccc;
}
@media screen and (min-width: 768px) {
  .page-job .career__case {
    padding: clamp(40px, 80 / 1680 * 100vw, 80px);
    border: 1px solid #ccc;
    border-radius: clamp(24px, 40 / 1680 * 100vw, 40px);
  }
  .page-job .career__case + .career__case {
    margin-top: 32px;
  }
}
.page-job .career__case:last-child {
  border-bottom: 1px solid #ccc;
}
.page-job .career__case .num {
  display: block;
  margin-bottom: clamp(4px, 8 / 1680 * 100vw, 8px);
  font-family: "Poppins", sans-serif;
  font-size: clamp(12px, 14 / 1680 * 100vw, 14px);
  font-weight: 500;
  line-height: 1;
  color: #0056A6;
}
.page-job .career__case .title {
  margin-bottom: clamp(16px, 24 / 1680 * 100vw, 24px);
  font-size: clamp(24px, 32 / 1680 * 100vw, 32px);
  font-weight: 700;
  line-height: 1.5;
  color: #0056A6;
}
.page-job .career__case .text {
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
.page-job .career__case .example {
  padding: clamp(12px, 20 / 1680 * 100vw, 20px);
  margin-top: clamp(24px, 40 / 1680 * 100vw, 40px);
  background-color: #D9EDFF;
  border-radius: 16px;
}
.page-job .career__case .example__head {
  font-size: clamp(14px, 18 / 1680 * 100vw, 18px);
  font-weight: 700;
  line-height: 1.5;
}
.page-job .career__case .example__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: clamp(20px, 32 / 1680 * 100vw, 32px);
     -moz-column-gap: clamp(20px, 32 / 1680 * 100vw, 32px);
          column-gap: clamp(20px, 32 / 1680 * 100vw, 32px);
  margin-top: clamp(12px, 16 / 1680 * 100vw, 16px);
}
.page-job .career__case .example__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: clamp(14px, 24 / 1680 * 100vw, 24px) clamp(3px, 6 / 1680 * 100vw, 6px);
  font-size: clamp(12px, 16 / 1400 * 100vw, 16px);
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  background: linear-gradient(153deg, #0056A6 50%, #548EC5);
  border-radius: 8px;
}
@media screen and (min-width: 768px) {
  .page-job .career__case .example__item {
    line-height: 1.5;
  }
}
.page-job .career__case .example__item::after {
  position: absolute;
  top: 50%;
  right: calc(clamp(17px, 26 / 1680 * 100vw, 26px) * -1);
  display: block;
  width: clamp(14px, 18 / 1680 * 100vw, 18px);
  height: auto;
  aspect-ratio: 1/1;
  content: "";
  background: url("../img/job/arrow.svg") no-repeat 50%/contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.page-job .career__case .example__item:last-child::after {
  content: none;
}
.page-job .career__case .recommend {
  padding: clamp(12px, 20 / 1680 * 100vw, 20px);
  margin-top: clamp(10px, 24 / 1680 * 100vw, 24px);
  background-color: #eee;
  border-radius: 16px;
}
.page-job .career__case .recommend__head {
  font-size: clamp(14px, 18 / 1680 * 100vw, 18px);
  font-weight: 700;
  line-height: 1.5;
}
.page-job .career__case .recommend__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: clamp(20px, 32 / 1680 * 100vw, 32px);
     -moz-column-gap: clamp(20px, 32 / 1680 * 100vw, 32px);
          column-gap: clamp(20px, 32 / 1680 * 100vw, 32px);
  margin-top: clamp(12px, 16 / 1680 * 100vw, 16px);
}
.page-job .career__case .recommend__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  padding: clamp(14px, 24 / 1680 * 100vw, 24px) clamp(3px, 6 / 1680 * 100vw, 6px);
  font-size: clamp(11px, 16 / 1400 * 100vw, 16px);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  background-color: #fff;
  border-radius: 8px;
}
@media screen and (min-width: 768px) {
  .page-job .career__case .recommend__item {
    line-height: 1.5;
  }
}
.page-job .career__case .recommend__item::after {
  position: absolute;
  top: 50%;
  right: calc(clamp(17px, 26 / 1680 * 100vw, 26px) * -1);
  display: block;
  width: clamp(14px, 18 / 1680 * 100vw, 18px);
  height: auto;
  aspect-ratio: 1/1;
  content: "";
  background: url("../img/job/plus.svg") no-repeat 50%/contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.page-job .career__case .recommend__item:last-child::after {
  content: none;
}
.page-job .p-footer-cta {
  background-color: #F5F5F5;
}
.page-job .p-footer-cta .c-corner-deco {
  background-color: #fff;
}
.page-job .p-footer-cta .c-corner-deco::after {
  background-color: #F5F5F5;
}
.page-job + .l-footer {
  background-color: #F5F5F5;
}

/* Base
   ----------------------------------------------------------------- */
.page-benefits {
  background-color: #F5F5F5;
}
.page-benefits .l-page__header {
  background-color: #F5F5F5;
}
.page-benefits .l-page__header-deco {
  width: 58.933%;
}
@media screen and (min-width: 768px) {
  .page-benefits .l-page__header-deco {
    width: 40.833%;
  }
}
.page-benefits .benefit {
  position: relative;
}
.page-benefits .benefit .c-corner-deco {
  background-color: #fff;
}
.page-benefits .benefit .c-corner-deco::after {
  background-color: #F5F5F5;
}
.page-benefits .benefit__container {
  padding-bottom: clamp(84px, 202 / 1680 * 100vw, 202px);
}
.page-benefits .benefit__list {
  display: grid;
  grid-template-columns: 100%;
  gap: 16px;
}
@media screen and (min-width: 1200px) {
  .page-benefits .benefit__list {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 32 / 1680 * 100vw, 32px);
  }
}
.page-benefits .benefit__item {
  padding: 20px 20px 40px;
  background-color: #fff;
  border-radius: 24px;
}
@media screen and (min-width: 554px) {
  .page-benefits .benefit__item {
    display: grid;
    grid-template-columns: 1fr 38.674%;
    gap: 5.524%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 20px 20px 20px 40px;
    border-radius: 16px;
  }
}
.page-benefits .benefit__item .image {
  aspect-ratio: 296/178;
  padding: 0 20px;
  margin-bottom: 24px;
  background-color: #D9EDFF;
  border-radius: 16px;
}
@media screen and (min-width: 554px) {
  .page-benefits .benefit__item .image {
    justify-self: end;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    max-width: 280px;
    aspect-ratio: 1/1;
    padding: 0;
    margin-bottom: 0;
  }
}
.page-benefits .benefit__item .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-benefits .benefit__item .inner {
  padding: 0 8px;
}
@media screen and (min-width: 554px) {
  .page-benefits .benefit__item .inner {
    padding: 20px 0;
  }
}
.page-benefits .benefit__item .title {
  position: relative;
  padding-left: clamp(16px, 20 / 1680 * 100vw, 20px);
  margin-bottom: 16px;
  font-size: clamp(24px, 32 / 1680 * 100vw, 32px);
  font-weight: 700;
  line-height: 1.5;
  color: #0056A6;
}
.page-benefits .benefit__item .title::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 4px;
  height: 100%;
  content: "";
  background-color: #0056A6;
}
.page-benefits .benefit__item .text {
  padding-top: 24px;
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
  border-top: 1px solid #B9D2E9;
}
.page-benefits .support {
  position: relative;
  background-color: #fff;
}
.page-benefits .support__container {
  position: relative;
  padding-top: clamp(52px, 178 / 1680 * 100vw, 178px);
  padding-bottom: clamp(84px, 222 / 1680 * 100vw, 222px);
}
.page-benefits .support__box {
  padding: 40px 20px 56px;
  background-color: #CEF2F7;
  border-radius: 24px;
}
@media screen and (min-width: 768px) {
  .page-benefits .support__box {
    display: grid;
    grid-template-columns: 1fr 55.6%;
    gap: 3%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 20px 20px 20px 5%;
  }
}
@media screen and (min-width: 768px) {
  .page-benefits .support__box .textbody {
    padding-top: 20px;
  }
}
.page-benefits .support__box .textbody__en {
  margin-bottom: clamp(24px, 40 / 1680 * 100vw, 40px);
  font-size: clamp(28px, 48 / 1680 * 100vw, 48px);
  font-weight: 700;
  line-height: 1.5;
  color: #0056A6;
}
.page-benefits .support__box .textbody__title {
  margin-bottom: clamp(16px, 28 / 1680 * 100vw, 28px);
  font-size: clamp(18px, 24 / 1680 * 100vw, 24px);
  font-weight: 700;
  line-height: 1.5;
}
.page-benefits .support__box .textbody__text {
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
.page-benefits .support__box .image {
  aspect-ratio: 834/492;
  margin-top: 24px;
  overflow: hidden;
  border-radius: clamp(8px, 16 / 1680 * 100vw, 16px);
}
@media screen and (min-width: 768px) {
  .page-benefits .support__box .image {
    grid-row: span 2;
    margin-top: 0;
  }
}
.page-benefits .support__box .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-benefits .support__box .action {
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .page-benefits .support__box .action {
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 992px) {
  .page-benefits .support__box .action {
    -ms-flex-item-align: start;
        align-self: start;
    padding-bottom: 0;
    margin-top: 0;
  }
}
.page-benefits .support__box .action .c-button {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .page-benefits .support__box .action .c-button {
    margin: 0;
  }
}
.page-benefits .p-footer-cta {
  background-color: #F5F5F5;
}
.page-benefits .p-footer-cta .c-corner-deco {
  background-color: #fff;
}
.page-benefits .p-footer-cta .c-corner-deco::after {
  background-color: #F5F5F5;
}
.page-benefits + .l-footer {
  background-color: #F5F5F5;
}

/* Base
   ----------------------------------------------------------------- */
.page-benefit-system {
  background-color: #F5F5F5;
}
.page-benefit-system .l-page__header {
  background-color: #F5F5F5;
}
.page-benefit-system .l-page__header-deco {
  width: 59.2%;
}
@media screen and (min-width: 768px) {
  .page-benefit-system .l-page__header-deco {
    width: 40.989%;
  }
}
.page-benefit-system .intro {
  position: relative;
}
.page-benefit-system .intro .c-corner-deco {
  background-color: #fff;
}
.page-benefit-system .intro .c-corner-deco::after {
  background-color: #F5F5F5;
}
.page-benefit-system .intro__container {
  padding-bottom: clamp(84px, 164 / 1680 * 100vw, 164px);
}
.page-benefit-system .intro .p-quotation-head__text {
  max-width: 1000px;
}
.page-benefit-system .intro__list {
  display: grid;
  grid-template-columns: 100%;
  gap: 16px;
  margin-top: clamp(24px, 65 / 1680 * 100vw, 65px);
}
@media screen and (min-width: 554px) {
  .page-benefit-system .intro__list {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 32 / 1680 * 100vw, 32px);
  }
}
@media screen and (min-width: 1200px) {
  .page-benefit-system .intro__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.page-benefit-system .intro__item {
  padding: 20px 20px 32px;
  background-color: #fff;
  border-radius: 24px;
}
@media screen and (min-width: 554px) {
  .page-benefit-system .intro__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.page-benefit-system .intro__item .image {
  aspect-ratio: 1/1;
  background-color: #CEF2F7;
  border-radius: 16px;
}
.page-benefit-system .intro__item .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-benefit-system .intro__item .inner {
  margin-top: 30px;
}
@media screen and (min-width: 554px) {
  .page-benefit-system .intro__item .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 100%;
  }
}
.page-benefit-system .intro__item .text {
  font-size: clamp(20px, 24 / 1680 * 100vw, 24px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.page-benefit-system .step {
  position: relative;
  background-color: #fff;
}
.page-benefit-system .step__container {
  padding-top: clamp(52px, 194 / 1680 * 100vw, 194px);
  padding-bottom: clamp(84px, 218 / 1680 * 100vw, 218px);
}
.page-benefit-system .step__list {
  display: grid;
  grid-template-columns: 100%;
  gap: clamp(48px, 72 / 1680 * 100vw, 72px);
}
.page-benefit-system .step__item {
  position: relative;
  padding: 20px;
  border-top: 1px solid #0056A6;
  border-bottom: 1px solid #0056A6;
}
@media screen and (min-width: 768px) {
  .page-benefit-system .step__item {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 992px) {
  .page-benefit-system .step__item {
    grid-template-columns: 9.5% 1fr 22.5%;
    gap: 5%;
    padding: 20px 0;
  }
}
.page-benefit-system .step__item .head {
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
}
@media screen and (min-width: 768px) {
  .page-benefit-system .step__item .head {
    grid-column: span 2;
  }
}
@media screen and (min-width: 992px) {
  .page-benefit-system .step__item .head {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    grid-column: 1;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
    padding: 0;
    border-bottom: none;
  }
  .page-benefit-system .step__item .head::after {
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    width: 1px;
    height: 62.2%;
    content: "";
    background-color: #eee;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.page-benefit-system .step__item .head__num {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  color: #0056A6;
}
.page-benefit-system .step__item .textbody {
  padding: 20px 0 24px;
}
@media screen and (min-width: 768px) {
  .page-benefit-system .step__item .textbody {
    padding: 0;
  }
}
.page-benefit-system .step__item .textbody__title {
  margin-bottom: clamp(16px, 28 / 1680 * 100vw, 28px);
  font-size: clamp(20px, 32 / 1680 * 100vw, 32px);
  font-weight: 700;
  line-height: 1.5;
}
.page-benefit-system .step__item .textbody__text {
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
.page-benefit-system .step__item .image {
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: clamp(16px, 24 / 1680 * 100vw, 24px);
}
.page-benefit-system .step__item .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-benefit-system .step__item::after {
  position: absolute;
  bottom: calc(clamp(32px, 48 / 1680 * 100vw, 48px) * -1);
  left: 50%;
  display: block;
  width: clamp(16px, 24 / 1680 * 100vw, 24px);
  height: auto;
  aspect-ratio: 1/1;
  content: "";
  background: url("../img/benefit-system/arrow.svg") no-repeat 50%/contain;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.page-benefit-system .step__item:last-child::after {
  content: none;
}
.page-benefit-system .qualification {
  position: relative;
}
.page-benefit-system .qualification .c-corner-deco {
  background-color: #fff;
}
.page-benefit-system .qualification .c-corner-deco::after {
  background-color: #F5F5F5;
}
.page-benefit-system .qualification__container {
  padding-top: clamp(52px, 142 / 1680 * 100vw, 142px);
  padding-bottom: clamp(84px, 222 / 1680 * 100vw, 222px);
}
.page-benefit-system .qualification__category {
  display: grid;
  grid-template-columns: 100%;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .page-benefit-system .qualification__category {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 32 / 1680 * 100vw, 32px);
  }
}
.page-benefit-system .qualification__category-item {
  padding: clamp(20px, 40 / 784 * 100cqw, 40px);
  background-color: #fff;
  border-radius: 16px;
  container-type: inline-size;
}
.page-benefit-system .qualification__category-item .head {
  display: grid;
  grid-template-columns: clamp(56px, 120 / 784 * 100cqw, 120px) 1fr;
  gap: clamp(16px, 40 / 784 * 100cqw, 40px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: clamp(16px, 32 / 784 * 100cqw, 32px);
}
.page-benefit-system .qualification__category-item .head__icon {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  background: #D9EDFF;
  border-radius: 8px;
}
.page-benefit-system .qualification__category-item .head__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-benefit-system .qualification__category-item .head__title {
  font-size: clamp(20px, 32 / 784 * 100cqw, 32px);
  font-weight: 700;
  line-height: 1.5;
  color: #0056A6;
}
@media screen and (min-width: 1200px) {
  .page-benefit-system .qualification__category-item .inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5%;
  }
}
.page-benefit-system .qualification__category-item .list__item {
  position: relative;
  padding-left: clamp(14px, 20 / 784 * 100cqw, 20px);
  font-size: clamp(16px, 24 / 784 * 100cqw, 24px);
  font-weight: 400;
  line-height: 1.5;
}
.page-benefit-system .qualification__category-item .list__item::before {
  position: absolute;
  top: 0.6em;
  left: 0;
  display: block;
  width: clamp(6px, 8 / 784 * 100cqw, 8px);
  height: auto;
  aspect-ratio: 1/1;
  content: "";
  background-color: #0056A6;
  border-radius: 50%;
}
.page-benefit-system .qualification__category-item .list__item + .list__item {
  margin-top: clamp(4px, 8 / 784 * 100cqw, 8px);
}
.page-benefit-system .qualification__category-item .list + .list {
  margin-top: clamp(4px, 8 / 784 * 100cqw, 8px);
}
.page-benefit-system .qualification__category-item .etc {
  display: block;
  font-size: clamp(16px, 24 / 784 * 100cqw, 24px);
  font-weight: 400;
  line-height: 1.5;
  text-align: right;
}

/* Base
   ----------------------------------------------------------------- */
.archive-interview {
  background-color: #F5F5F5;
}
.archive-interview .l-page__header {
  background-color: #F5F5F5;
}
.archive-interview .l-page__header-deco {
  width: 81.6%;
}
@media screen and (min-width: 768px) {
  .archive-interview .l-page__header-deco {
    width: 56.614%;
  }
}
.archive-interview__container {
  padding-bottom: clamp(84px, 222 / 1680 * 100vw, 222px);
}
.archive-interview__container .c-corner-deco {
  background-color: #fff;
}
.archive-interview__container .c-corner-deco::after {
  background-color: #F5F5F5;
}
.archive-interview__thumb-list {
  grid-template-columns: 100%;
  gap: 16px;
  margin-bottom: clamp(40px, 80 / 1680 * 100vw, 80px);
}
@media screen and (min-width: 768px) {
  .archive-interview__thumb-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media screen and (min-width: 992px) {
  .archive-interview__thumb-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 1200px) {
  .archive-interview__thumb-list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.archive-interview__list li + li {
  margin-top: clamp(16px, 24 / 1680 * 100vw, 24px);
}
.archive-interview__list .item {
  position: relative;
  display: block;
  padding: 22px 25px 22px 20px;
  padding-right: calc(clamp(32px, 40 / 1680 * 100vw, 40px) + 33px);
  background-color: #fff;
  border-radius: clamp(16px, 24 / 1680 * 100vw, 24px);
}
@media screen and (min-width: 992px) {
  .archive-interview__list .item {
    display: grid;
    grid-template-columns: 1fr auto clamp(32px, 40 / 1680 * 100vw, 40px);
    gap: 16px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 61px 40px;
  }
}
.archive-interview__list .item__title {
  margin-bottom: 16px;
  font-size: clamp(18px, 24 / 1680 * 100vw, 24px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 992px) {
  .archive-interview__list .item__title {
    margin-bottom: 0;
    line-height: 1.6;
  }
}
@media screen and (min-width: 992px) {
  .archive-interview__list .item__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.archive-interview__list .item__cat {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3px 16px;
  margin-bottom: 6px;
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
  background-color: #D9EDFF;
  border-radius: 9999px;
}
@media screen and (min-width: 992px) {
  .archive-interview__list .item__cat {
    margin-bottom: 0;
  }
}
.archive-interview__list .item__prof {
  display: block;
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.5;
  color: #0056A6;
}
.archive-interview__list .item .c-arrow {
  position: absolute;
  top: 50%;
  right: 25px;
  width: clamp(32px, 40 / 1680 * 100vw, 40px);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

/* Base
   ----------------------------------------------------------------- */
.single-interview .l-page__header-title {
  max-width: 1080px;
  padding-top: clamp(92px, 190 / 1680 * 100vw, 190px);
  padding-bottom: clamp(60px, 170 / 1680 * 100vw, 170px);
}
.single-interview .l-page__header-title .ja {
  font-size: clamp(24px, 48 / 1680 * 100vw, 48px);
  line-height: 1.4;
}
@media screen and (min-width: 992px) {
  .single-interview .l-page__header-title .ja {
    line-height: 1.5;
  }
}
.single-interview .article-head {
  margin-top: clamp(20px, 40 / 1680 * 100vw, 40px);
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
.single-interview .article-head__job {
  margin-bottom: clamp(2px, 4 / 1680 * 100vw, 4px);
}
.single-interview .article {
  position: relative;
}
.single-interview .article__container {
  padding-bottom: clamp(84px, 220 / 1680 * 100vw, 220px);
}
.single-interview .article__thumbnail {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  margin-bottom: clamp(40px, 80 / 1680 * 100vw, 80px);
  overflow: hidden;
  border-radius: clamp(16px, 24 / 1680 * 100vw, 24px);
}
.single-interview .article__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.single-interview .article__content-block .title {
  margin-bottom: clamp(16px, 40 / 1680 * 100vw, 40px);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  color: #0056A6;
}
@media screen and (min-width: 768px) {
  .single-interview .article__content-block .title {
    font-size: clamp(24px, 32 / 1680 * 100vw, 32px);
  }
}
.single-interview .article__content-block .text {
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  line-height: 1.6;
}
@media screen and (min-width: 992px) {
  .single-interview .article__content-block .text {
    line-height: 1.8;
  }
}
.single-interview .article__content-block .image {
  width: 100%;
  height: auto;
  aspect-ratio: 800/472;
  margin-top: clamp(24px, 56 / 1680 * 100vw, 56px);
  overflow: hidden;
  border-radius: clamp(8px, 24 / 1680 * 100vw, 24px);
}
.single-interview .article__content-block .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.single-interview .article__content-block + .article__content-block {
  margin-top: clamp(40px, 80 / 1680 * 100vw, 80px);
}
.single-interview .article__schedule {
  padding: 40px 20px 56px;
  margin-top: clamp(56px, 120 / 1680 * 100vw, 120px);
  border: 1px solid #0056A6;
  border-radius: 24px;
}
@media screen and (min-width: 768px) {
  .single-interview .article__schedule {
    padding: clamp(40px, 80 / 1680 * 100vw, 80px) clamp(20px, 80 / 1680 * 100vw, 80px) clamp(56px, 120 / 1680 * 100vw, 120px);
  }
}
.single-interview .article__schedule-list {
  margin-top: clamp(40px, 80 / 1680 * 100vw, 80px);
}
.single-interview .article__schedule-list .row {
  display: grid;
  grid-template-columns: clamp(72px, 100 / 1680 * 100vw, 100px) 1fr;
  gap: clamp(16px, 24 / 1680 * 100vw, 24px);
}
.single-interview .article__schedule-list .row + .row {
  margin-top: clamp(24px, 56 / 1680 * 100vw, 56px);
}
.single-interview .article__schedule-list .row:last-child .head::after {
  content: none;
}
.single-interview .article__schedule-list .head {
  position: relative;
}
.single-interview .article__schedule-list .head__time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(72px, 100 / 1680 * 100vw, 100px);
  height: clamp(28px, 31 / 1680 * 100vw, 31px);
  font-family: "Poppins", sans-serif;
  font-size: clamp(18px, 20 / 1680 * 100vw, 20px);
  font-weight: 400;
  color: #fff;
  background: linear-gradient(114deg, #0056A6, #85AFD7);
  border-radius: 9999px;
}
.single-interview .article__schedule-list .head::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  width: 1px;
  height: calc(100% - clamp(43px, 46 / 1680 * 100vw, 46px));
  content: "";
  background-color: #ccc;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.single-interview .article__schedule-list .detail__title {
  margin-bottom: clamp(8px, 16 / 1680 * 100vw, 16px);
  font-size: clamp(20px, 24 / 1680 * 100vw, 24px);
  font-weight: 700;
  line-height: 1.5;
  color: #0056A6;
}
.single-interview .article__schedule-list .detail__text {
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
.single-interview .article__movie {
  padding: 20px 20px 40px;
  margin-top: clamp(40px, 79 / 1680 * 100vw, 79px);
  background-color: #CEF2F7;
  border-radius: 24px;
}
@media screen and (min-width: 768px) {
  .single-interview .article__movie {
    display: grid;
    grid-template-columns: 47.972% 1fr;
    -webkit-column-gap: 5.4%;
       -moz-column-gap: 5.4%;
            column-gap: 5.4%;
    padding: 20px 40px 20px 20px;
  }
}
.single-interview .article__movie .embed {
  width: 100%;
  height: auto;
  aspect-ratio: 560/315;
  margin-bottom: 20px;
  overflow: hidden;
  border-radius: 8px;
}
@media screen and (min-width: 768px) {
  .single-interview .article__movie .embed {
    grid-row: span 2;
    margin-bottom: 0;
  }
}
.single-interview .article__movie .embed iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.single-interview .article__movie .title {
  margin-bottom: clamp(20px, 44 / 1680 * 100vw, 44px);
  font-size: clamp(20px, 24 / 1680 * 100vw, 24px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .single-interview .article__movie .title {
    margin-top: 20px;
    text-align: left;
  }
}
.single-interview .article__movie .c-button {
  -webkit-column-gap: 16px;
     -moz-column-gap: 16px;
          column-gap: 16px;
  height: 44px;
  padding-right: 10px;
  padding-left: 20px;
  margin: 0 auto;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .single-interview .article__movie .c-button {
    margin-right: 0;
  }
}
.single-interview .article__movie .c-button__arrow {
  width: 24px;
}
.single-interview .article__movie .c-button__arrow::before, .single-interview .article__movie .c-button__arrow::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.single-interview .article__movie .c-button__arrow::after {
  top: 100%;
}
@media (hover) {
  .single-interview .article__movie .c-button:hover .c-button__arrow::before, .single-interview .article__movie .c-button:hover .c-button__arrow::after {
    -webkit-animation: infinity-upper-right 0.6s linear infinite;
            animation: infinity-upper-right 0.6s linear infinite;
  }
}
.single-interview .other {
  position: relative;
  background-color: #F5F5F5;
}
.single-interview .other .c-corner-deco {
  background-color: #fff;
}
.single-interview .other .c-corner-deco::after {
  background-color: #F5F5F5;
}
.single-interview .other__container {
  position: relative;
  padding-top: clamp(38px, 178 / 1680 * 100vw, 178px);
  padding-bottom: clamp(84px, 222 / 1680 * 100vw, 222px);
}
.single-interview .other .p-head__title {
  font-size: clamp(28px, 40 / 1680 * 100vw, 40px);
}
.single-interview .other__list {
  display: grid;
  grid-template-columns: 100%;
  gap: 16px;
  margin-top: clamp(24px, 69 / 1680 * 100vw, 69px);
}
@media screen and (min-width: 768px) {
  .single-interview .other__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 992px) {
  .single-interview .other__list {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 32 / 1680 * 100vw, 32px);
  }
}
@media screen and (min-width: 1200px) {
  .single-interview .other__list--four-columns {
    grid-template-columns: repeat(4, 1fr);
  }
}
.single-interview .other__action {
  margin-top: clamp(24px, 80 / 1680 * 100vw, 80px);
}
.single-interview .other__action .c-button {
  margin: 0 auto;
}

/* Base
   ----------------------------------------------------------------- */
.page-requirements {
  background-color: #F5F5F5;
}
.page-requirements .l-page__header {
  background-color: #F5F5F5;
}
.page-requirements .l-page__header-deco {
  width: 91.733%;
}
@media screen and (min-width: 768px) {
  .page-requirements .l-page__header-deco {
    width: 64.583%;
  }
}
.page-requirements .intro .p-quotation-head {
  margin-left: 0;
}
.page-requirements .intro .p-quotation-head__text {
  max-width: 693px;
}
.page-requirements .requirements {
  scroll-margin-top: 80px;
  position: relative;
}
@media screen and (min-width: 992px) {
  .page-requirements .requirements {
    scroll-margin-top: 96px;
  }
}
.page-requirements .requirements .c-corner-deco {
  background-color: #fff;
}
.page-requirements .requirements .c-corner-deco::after {
  background-color: #F5F5F5;
}
.page-requirements .requirements__container {
  padding-bottom: clamp(84px, 222 / 1680 * 100vw, 222px);
}
.page-requirements .requirements#new-grad .requirements__container {
  padding-bottom: clamp(80px, 160 / 1680 * 100vw, 160px);
}
.page-requirements .requirements__title {
  display: block;
  margin-bottom: clamp(40px, 81 / 1680 * 100vw, 81px);
  font-size: clamp(24px, 40 / 1680 * 100vw, 40px);
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  border-bottom: 2px solid #0056A6;
}
.page-requirements .requirements__title span {
  display: inline-block;
  padding: clamp(8px, 10 / 1680 * 100vw, 10px) clamp(36px, 72 / 1680 * 100vw, 72px) clamp(8px, 10 / 1680 * 100vw, 10px) clamp(34px, 68 / 1680 * 100vw, 68px);
  background: linear-gradient(125deg, #0056A6 30%, #97BBDD);
  border-top-right-radius: 24px;
}
.page-requirements .requirements__block {
  padding: clamp(20px, 45 / 1680 * 100vw, 45px) clamp(20px, 38 / 1680 * 100vw, 38px) clamp(20px, 45 / 1680 * 100vw, 45px) clamp(20px, 40 / 1680 * 100vw, 40px);
  background-color: #fff;
  border: 1px solid #0056A6;
  border-radius: clamp(16px, 24 / 1680 * 100vw, 24px);
}
.page-requirements .requirements__block .title {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr clamp(28px, 32 / 1680 * 100vw, 32px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: clamp(20px, 45 / 1680 * 100vw, 45px) clamp(20px, 38 / 1680 * 100vw, 38px) clamp(20px, 45 / 1680 * 100vw, 45px) clamp(20px, 40 / 1680 * 100vw, 40px);
  margin: calc(clamp(20px, 45 / 1680 * 100vw, 45px) * -1) calc(clamp(20px, 38 / 1680 * 100vw, 38px) * -1) calc(clamp(20px, 45 / 1680 * 100vw, 45px) * -1) calc(clamp(20px, 40 / 1680 * 100vw, 40px) * -1);
  cursor: pointer;
  border-radius: inherit;
}
.page-requirements .requirements__block .title__text {
  position: relative;
  padding-left: clamp(14px, 24 / 1680 * 100vw, 24px);
  font-size: clamp(20px, 24 / 1680 * 100vw, 24px);
  font-weight: 700;
  line-height: 1.6;
}
.page-requirements .requirements__block .title__text::before {
  position: absolute;
  top: 0.6em;
  left: 0;
  display: block;
  width: clamp(6px, 8 / 1680 * 100vw, 8px);
  height: auto;
  aspect-ratio: 1/1;
  content: "";
  background-color: #0056A6;
  border-radius: 50%;
}
.page-requirements .requirements__block .title__arrow {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(28px, 32 / 1680 * 100vw, 32px);
  height: auto;
  aspect-ratio: 1/1;
  background-color: #fff;
  border: 1px solid #0056A6;
  border-radius: 50%;
}
.page-requirements .requirements__block .title__arrow::before, .page-requirements .requirements__block .title__arrow::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 12px;
  height: 1px;
  content: "";
  background-color: #0056A6;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.page-requirements .requirements__block .title__arrow::after {
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}
.page-requirements .requirements__block .detail {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease;
  transition: max-height 0.3s ease;
}
.page-requirements .requirements__block .detail__list {
  padding-top: clamp(20px, 50 / 1680 * 100vw, 50px);
  padding-bottom: clamp(19px, 47 / 1680 * 100vw, 47px);
  margin-top: clamp(23px, 50 / 1680 * 100vw, 50px);
  border-top: 1px solid #0056A6;
}
@media screen and (min-width: 768px) {
  .page-requirements .requirements__block .detail__list {
    padding-right: 3.942%;
    padding-left: 3.942%;
  }
}
.page-requirements .requirements__block .detail__row {
  position: relative;
  display: grid;
  grid-template-columns: clamp(56px, 160 / 1680 * 100vw, 160px) 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: clamp(10px, 24 / 1680 * 100vw, 24px) 0;
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  line-height: 1.5;
}
.page-requirements .requirements__block .detail__row:first-child {
  padding-top: 0;
}
.page-requirements .requirements__block .detail__row::before, .page-requirements .requirements__block .detail__row::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  height: 1px;
  content: "";
}
.page-requirements .requirements__block .detail__row::before {
  width: 100%;
  background-color: #eee;
}
.page-requirements .requirements__block .detail__row::after {
  width: clamp(56px, 160 / 1680 * 100vw, 160px);
  background-color: #0056A6;
}
.page-requirements .requirements__block .detail__head {
  font-weight: 700;
}
.page-requirements .requirements__block .detail__text {
  padding-left: clamp(20px, 40 / 1680 * 100vw, 40px);
  font-weight: 400;
}
.page-requirements .requirements__block.is-open .title__arrow::after {
  -webkit-transform: translate(-50%, -50%) rotate(0);
          transform: translate(-50%, -50%) rotate(0);
}
.page-requirements .requirements__block + .requirements__block {
  margin-top: clamp(10px, 24 / 1680 * 100vw, 24px);
}
.page-requirements .requirements__block:has(.title:hover) {
  -webkit-box-shadow: 0 4px 20px 0 rgba(0, 86, 166, 0.15);
          box-shadow: 0 4px 20px 0 rgba(0, 86, 166, 0.15);
}
.page-requirements .requirements__action {
  margin-top: clamp(40px, 64 / 1680 * 100vw, 64px);
}
.page-requirements .requirements__action .c-button {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .page-requirements .requirements__action .c-button {
    margin-right: 0;
  }
}

/* Base
   ----------------------------------------------------------------- */
.page-internship {
  background-color: #F5F5F5;
}
.page-internship .l-page__header {
  background-color: #F5F5F5;
}
.page-internship .l-page__header-deco {
  width: 74.666%;
}
@media screen and (min-width: 768px) {
  .page-internship .l-page__header-deco {
    width: 51.77%;
  }
}
.page-internship .intro {
  position: relative;
}
.page-internship .intro .c-corner-deco {
  background-color: #fff;
}
.page-internship .intro .c-corner-deco::after {
  background-color: #F5F5F5;
}
.page-internship .intro__container {
  padding-bottom: clamp(60px, 139 / 1680 * 100vw, 139px);
}
.page-internship .intro__text p {
  font-size: clamp(16px, 20 / 1680 * 100vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
}
@media screen and (min-width: 992px) {
  .page-internship .intro__text p {
    line-height: 1.8;
  }
}
.page-internship .intro__text p + p {
  margin-top: 8px;
}
@media screen and (min-width: 992px) {
  .page-internship .intro__text p + p {
    margin-top: 0;
  }
}
.page-internship .intro__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  margin: clamp(40px, 92 / 1680 * 100vw, 92px) 0;
}
@media screen and (min-width: 768px) {
  .page-internship .intro__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (min-width: 992px) {
  .page-internship .intro__list {
    gap: 32px;
  }
}
.page-internship .intro__list .item {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 24px;
}
@media screen and (min-width: 768px) {
  .page-internship .intro__list .item {
    width: calc((100% - 16px) / 2);
    max-width: 100%;
    margin: 0;
  }
}
@media screen and (min-width: 992px) {
  .page-internship .intro__list .item {
    width: calc((100% - 64px) / 3);
  }
}
.page-internship .intro__list .item__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  aspect-ratio: 1/1;
  padding: 32px 8px 38px;
}
@media screen and (min-width: 768px) {
  .page-internship .intro__list .item__inner {
    padding: 40px 8px 58px;
  }
}
.page-internship .intro__list .item__text {
  font-size: clamp(24px, 32 / 1680 * 100vw, 32px);
  font-weight: 700;
  line-height: 1.5;
  color: #0056A6;
  text-align: center;
}
.page-internship .intro__list .item__image {
  width: 72.238%;
}
.page-internship .program {
  position: relative;
  background-color: #fff;
}
.page-internship .program__container {
  padding-top: clamp(52px, 181 / 1680 * 100vw, 181px);
  padding-bottom: clamp(84px, 310 / 1680 * 100vw, 310px);
}
.page-internship .program__text {
  font-size: clamp(14px, 18 / 1680 * 100vw, 18px);
  font-weight: 400;
  line-height: 1.6;
}
.page-internship .program__type {
  display: grid;
  grid-template-columns: 100%;
  gap: 16px;
  margin-top: clamp(40px, 80 / 1680 * 100vw, 80px);
  margin-bottom: clamp(64px, 160 / 1680 * 100vw, 160px);
}
@media screen and (min-width: 768px) {
  .page-internship .program__type {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 32 / 1680 * 100vw, 32px);
  }
}
.page-internship .program__type-item {
  padding: clamp(16px, 40 / 1680 * 100vw, 40px);
  color: #0056A6;
  background-color: #D9EDFF;
  border-radius: 16px;
}
.page-internship .program__type-item .copy {
  display: block;
  width: clamp(160px, 515 / 1680 * 100vw, 515px);
  padding: clamp(6px, 10 / 1680 * 100vw, 10px);
  margin: 0 auto;
  margin-bottom: clamp(8px, 24 / 1680 * 100vw, 24px);
  font-size: clamp(12px, 16 / 1680 * 100vw, 16px);
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  background-color: #fff;
  border-radius: 8px;
}
.page-internship .program__type-item .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(16px, 32 / 1680 * 100vw, 32px);
     -moz-column-gap: clamp(16px, 32 / 1680 * 100vw, 32px);
          column-gap: clamp(16px, 32 / 1680 * 100vw, 32px);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: clamp(18px, 32 / 1680 * 100vw, 32px);
  font-weight: 700;
  line-height: 1.6;
}
.page-internship .program__type-item .title__head {
  position: relative;
}
.page-internship .program__type-item .title__head::after {
  position: absolute;
  top: 50%;
  right: calc(clamp(8px, 16 / 1680 * 100vw, 16px) * -1);
  display: block;
  width: 1px;
  height: clamp(24px, 32 / 1680 * 100vw, 32px);
  content: "";
  background-color: #0056A6;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.page-internship .program__type-item:nth-child(2) {
  background-color: #CEF2F7;
}
.page-internship .program__flow {
  display: grid;
  grid-template-columns: 100%;
  gap: 48px;
  max-width: 400px;
  margin: clamp(24px, 64 / 1680 * 100vw, 64px) auto 0;
}
@media screen and (min-width: 768px) {
  .page-internship .program__flow {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 56px;
    max-width: 100%;
    padding-right: 16px;
    margin-right: 0;
    margin-left: 0;
  }
}
@media screen and (min-width: 1200px) {
  .page-internship .program__flow {
    grid-template-columns: repeat(4, 1fr);
    padding-right: 0;
  }
}
.page-internship .program__flow-item {
  position: relative;
  padding: 20px 20px clamp(40px, 56 / 1680 * 100vw, 56px);
  border: 1px solid #0056A6;
  border-radius: 24px;
}
.page-internship .program__flow-item .image {
  aspect-ratio: 1/1;
  margin-bottom: 24px;
  overflow: hidden;
  border-radius: 16px;
}
.page-internship .program__flow-item .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-internship .program__flow-item .num {
  display: block;
  margin-bottom: 8px;
  font-family: "Poppins", sans-serif;
  font-size: clamp(12px, 14 / 1680 * 100vw, 14px);
  font-weight: 500;
  line-height: 1;
  color: #0056A6;
}
.page-internship .program__flow-item .title {
  margin-bottom: 8px;
  font-size: clamp(20px, 24 / 1680 * 100vw, 24px);
  font-weight: 700;
  line-height: 1.5;
}
.page-internship .program__flow-item .text {
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
.page-internship .program__flow-item::after {
  position: absolute;
  bottom: -34px;
  left: 50%;
  display: block;
  width: 18px;
  height: auto;
  aspect-ratio: 1/1;
  content: "";
  background: url("../img/internship/arrow.svg") no-repeat 50%/contain;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .page-internship .program__flow-item::after {
    top: 50%;
    right: -42px;
    bottom: initial;
    left: initial;
    width: 26px;
    -webkit-transform: translateY(-50%) rotate(-90deg);
            transform: translateY(-50%) rotate(-90deg);
  }
}
.page-internship .program__flow-item:last-child::after {
  content: none;
}
.page-internship .voice {
  position: relative;
}
.page-internship .voice .c-corner-deco {
  background-color: #fff;
}
.page-internship .voice .c-corner-deco::after {
  background-color: #F5F5F5;
}
.page-internship .voice__container {
  padding-top: clamp(60px, 178 / 1680 * 100vw, 178px);
  padding-bottom: clamp(84px, 260 / 1680 * 100vw, 260px);
}
.page-internship .voice__list {
  display: grid;
  grid-template-columns: 100%;
  gap: clamp(16px, 32 / 1680 * 100vw, 32px);
}
@media screen and (min-width: 768px) {
  .page-internship .voice__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.page-internship .voice__item {
  padding: clamp(32px, 56 / 1680 * 100vw, 56px) clamp(20px, 56 / 1680 * 100vw, 56px);
  background-color: #fff;
  border-radius: clamp(16px, 24 / 1680 * 100vw, 24px);
}
@media screen and (min-width: 1200px) {
  .page-internship .voice__item {
    display: grid;
    grid-template-columns: 15% 1fr;
    -webkit-column-gap: 5.3%;
       -moz-column-gap: 5.3%;
            column-gap: 5.3%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.page-internship .voice__item .image {
  margin-bottom: 16px;
  text-align: center;
}
@media screen and (min-width: 1200px) {
  .page-internship .voice__item .image {
    grid-row: span 2;
    margin-bottom: 0;
  }
}
.page-internship .voice__item .image img {
  width: 80px;
  height: auto;
}
.page-internship .voice__item .image figcaption {
  margin-top: 8px;
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
.page-internship .voice__item .title {
  margin-bottom: 16px;
  font-size: clamp(20px, 24 / 1680 * 100vw, 24px);
  font-weight: 700;
  line-height: 1.5;
}
.page-internship .voice__item .text {
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}

/* Base
   ----------------------------------------------------------------- */
.page-form-recruit {
  background-color: #F5F5F5;
}
.page-form-recruit .l-page__header {
  background-color: #F5F5F5;
}
.page-form-recruit .l-page__header-deco {
  width: 37.066%;
}
@media screen and (min-width: 768px) {
  .page-form-recruit .l-page__header-deco {
    width: 26.197%;
  }
}
.page-form-recruit .intro__container {
  padding-bottom: clamp(56px, 141 / 1680 * 100vw, 141px);
}
.page-form-recruit .intro__head .text {
  font-size: clamp(16px, 20 / 1680 * 100vw, 20px);
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 992px) {
  .page-form-recruit .intro__head .text {
    line-height: 1.8;
    text-align: center;
  }
}
.page-form-recruit .intro__head .text-strong {
  font-size: clamp(24px, 36 / 1680 * 100vw, 36px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.page-form-recruit .intro__step {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: clamp(298px, 500 / 1680 * 100vw, 500px);
  margin: clamp(56px, 175 / 1680 * 100vw, 175px) auto 0;
}
.page-form-recruit .intro__step .item {
  position: relative;
  color: #ccc;
}
.page-form-recruit .intro__step .item__text {
  margin-bottom: clamp(4px, 8 / 1680 * 100vw, 8px);
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.page-form-recruit .intro__step .item__num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(64px, 100 / 1680 * 100vw, 100px);
  height: auto;
  aspect-ratio: 1/1;
  font-family: "Poppins", sans-serif;
  font-size: clamp(16px, 20 / 1680 * 100vw, 20px);
  font-weight: 400;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 50%;
}
.page-form-recruit .intro__step .item.is-current .item__text {
  color: #111;
}
.page-form-recruit .intro__step .item.is-current .item__num {
  color: #fff;
  background-color: #0056A6;
  border-color: #0056A6;
}
.page-form-recruit .intro__step::before {
  position: absolute;
  bottom: clamp(32px, 50 / 1680 * 100vw, 50px);
  left: 50%;
  display: block;
  width: calc(100% - 20px);
  height: 1px;
  content: "";
  background-color: #ccc;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.page-form-recruit .intro__step + .intro__head {
  margin-top: clamp(56px, 140 / 1680 * 100vw, 140px);
}
.page-form-recruit .intro__action {
  padding-top: clamp(40px, 56 / 1680 * 100vw, 56px);
  margin-top: clamp(56px, 184 / 1680 * 100vw, 184px);
  border-top: 1px solid #ccc;
}
.page-form-recruit .intro__action .c-button {
  margin: 0 auto;
}
.page-form-recruit .form__container {
  padding-top: clamp(32px, 80 / 1680 * 100vw, 80px);
  padding-bottom: clamp(114px, 270 / 1680 * 100vw, 270px);
  border-top: 1px solid #ccc;
}
.page-form-recruit .form .error {
  display: block;
  margin-top: clamp(4px, 8 / 1680 * 100vw, 8px);
  font-size: 85%;
  color: #EF4444;
}
.page-form-recruit .form__row + .form__row {
  margin-top: clamp(16px, 32 / 1680 * 100vw, 32px);
}
.page-form-recruit .form__row--category {
  margin-bottom: clamp(32px, 56 / 1680 * 100vw, 56px);
}
.page-form-recruit .form__row--document {
  margin-top: clamp(32px, 56 / 1680 * 100vw, 56px) !important;
}
.page-form-recruit .form__row--policy {
  margin-top: clamp(32px, 56 / 1680 * 100vw, 56px) !important;
}
.page-form-recruit .form__head {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: clamp(8px, 10 / 1680 * 100vw, 10px);
     -moz-column-gap: clamp(8px, 10 / 1680 * 100vw, 10px);
          column-gap: clamp(8px, 10 / 1680 * 100vw, 10px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: clamp(8px, 16 / 1680 * 100vw, 16px);
}
.page-form-recruit .form__head .tag {
  display: inline-block;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 1px 10px;
  font-size: clamp(10px, 12 / 1680 * 100vw, 12px);
  font-weight: 700;
  line-height: 1.6;
  color: #fff;
  background-color: #ccc;
  border-radius: 9999px;
}
.page-form-recruit .form__head .tag--required {
  background-color: #0056A6;
}
.page-form-recruit .form__head > label {
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 700;
  line-height: 1.6;
}
.page-form-recruit .form__input input[type=text],
.page-form-recruit .form__input input[type=number],
.page-form-recruit .form__input input[type=email],
.page-form-recruit .form__input input[type=tel],
.page-form-recruit .form__input textarea {
  width: 100%;
  padding: 10px 12px;
  font-size: 16px;
  line-height: 1.6;
  background-color: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
}
.page-form-recruit .form__input input[type=text]::-webkit-input-placeholder, .page-form-recruit .form__input input[type=number]::-webkit-input-placeholder, .page-form-recruit .form__input input[type=email]::-webkit-input-placeholder, .page-form-recruit .form__input input[type=tel]::-webkit-input-placeholder, .page-form-recruit .form__input textarea::-webkit-input-placeholder {
  color: #ccc;
}
.page-form-recruit .form__input input[type=text]::-moz-placeholder, .page-form-recruit .form__input input[type=number]::-moz-placeholder, .page-form-recruit .form__input input[type=email]::-moz-placeholder, .page-form-recruit .form__input input[type=tel]::-moz-placeholder, .page-form-recruit .form__input textarea::-moz-placeholder {
  color: #ccc;
}
.page-form-recruit .form__input input[type=text]:-ms-input-placeholder, .page-form-recruit .form__input input[type=number]:-ms-input-placeholder, .page-form-recruit .form__input input[type=email]:-ms-input-placeholder, .page-form-recruit .form__input input[type=tel]:-ms-input-placeholder, .page-form-recruit .form__input textarea:-ms-input-placeholder {
  color: #ccc;
}
.page-form-recruit .form__input input[type=text]::-ms-input-placeholder, .page-form-recruit .form__input input[type=number]::-ms-input-placeholder, .page-form-recruit .form__input input[type=email]::-ms-input-placeholder, .page-form-recruit .form__input input[type=tel]::-ms-input-placeholder, .page-form-recruit .form__input textarea::-ms-input-placeholder {
  color: #ccc;
}
.page-form-recruit .form__input input[type=text]::placeholder,
.page-form-recruit .form__input input[type=number]::placeholder,
.page-form-recruit .form__input input[type=email]::placeholder,
.page-form-recruit .form__input input[type=tel]::placeholder,
.page-form-recruit .form__input textarea::placeholder {
  color: #ccc;
}
.page-form-recruit .form__input input[type=text]:focus,
.page-form-recruit .form__input input[type=number]:focus,
.page-form-recruit .form__input input[type=email]:focus,
.page-form-recruit .form__input input[type=tel]:focus,
.page-form-recruit .form__input textarea:focus {
  border-color: #eee;
  outline: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.page-form-recruit .form__input .radio .wpcf7-radio {
  display: grid;
  grid-template-columns: 100%;
  gap: 10px;
}
.page-form-recruit .form__input .radio .wpcf7-list-item {
  margin: 0;
}
.page-form-recruit .form__input .radio .wpcf7-list-item-label {
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
.page-form-recruit .form__input .document__row {
  padding: clamp(28px, 32 / 1680 * 100vw, 32px) 0;
  border-bottom: 1px solid #ccc;
}
@media screen and (min-width: 768px) {
  .page-form-recruit .form__input .document__row {
    display: grid;
    grid-template-columns: 15% 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.page-form-recruit .form__input .document__title {
  margin-bottom: 8px;
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .page-form-recruit .form__input .document__title {
    margin-bottom: 0;
  }
}
.page-form-recruit .form__input .document__upload input {
  width: 100%;
  max-width: 100%;
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
.page-form-recruit .form__input .document__note {
  display: block;
  margin-top: 16px;
  font-size: clamp(10px, 12 / 1680 * 100vw, 12px);
  font-weight: 400;
  line-height: 1.5;
}
.page-form-recruit .form__input .policy {
  padding: clamp(29px, 65 / 1680 * 100vw, 65px) 16px;
  background-color: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
}
.page-form-recruit .form__input .policy .wpcf7-list-item {
  display: block;
  margin: 0;
  text-align: center;
}
.page-form-recruit .form__input .policy .wpcf7-list-item-label {
  font-size: clamp(14px, 18 / 1680 * 100vw, 18px);
  font-weight: 700;
  line-height: 1.6;
}
.page-form-recruit .form__input .policy .wpcf7-list-item-label a {
  color: #0056A6;
  text-decoration: underline;
}
@media (hover) {
  .page-form-recruit .form__input .policy .wpcf7-list-item-label a:hover {
    text-decoration: none;
  }
}
.page-form-recruit .form__submit {
  padding-top: clamp(56px, 40 / 1680 * 100vw, 40px);
  margin-top: clamp(56px, 80 / 1680 * 100vw, 80px);
  border-top: 1px solid #ccc;
}
.page-form-recruit .form__submit .c-button {
  -webkit-column-gap: 0;
     -moz-column-gap: 0;
          column-gap: 0;
  min-width: clamp(168px, 233 / 1680 * 100vw, 233px);
  margin: 0 auto;
}
.page-form-recruit .form__submit .c-button__text {
  height: 100%;
}
.page-form-recruit .form__submit .c-button .wpcf7-spinner {
  display: none !important;
}
.page-form-recruit.page-form-recruit-confirm .l-page__header-deco {
  width: 60%;
}
@media screen and (min-width: 768px) {
  .page-form-recruit.page-form-recruit-confirm .l-page__header-deco {
    width: 41.614%;
  }
}
.page-form-recruit.page-form-recruit-confirm .intro__container {
  padding-bottom: clamp(114px, 270 / 1680 * 100vw, 270px);
}
.page-form-recruit.page-form-recruit-confirm .form__row + .form__row {
  margin-top: clamp(24px, 40 / 1680 * 100vw, 40px);
}
.page-form-recruit.page-form-recruit-confirm .form__head {
  margin-bottom: clamp(6px, 8 / 1680 * 100vw, 8px);
}
.page-form-recruit.page-form-recruit-confirm .form__head > label {
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
}
.page-form-recruit.page-form-recruit-confirm .form__input span {
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 700;
}
.page-form-recruit.page-form-recruit-confirm .form__input .document__row {
  display: grid;
  grid-template-columns: 25% 1fr;
  padding: clamp(3px, 4 / 1680 * 100vw, 4px) 0;
  border-bottom: none;
}
@media screen and (min-width: 768px) {
  .page-form-recruit.page-form-recruit-confirm .form__input .document__row {
    grid-template-columns: 15% 1fr;
  }
}
.page-form-recruit.page-form-recruit-confirm .form__submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .page-form-recruit.page-form-recruit-confirm .form__submit {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .page-form-recruit.page-form-recruit-confirm .form__submit .c-button {
    margin: 0;
  }
}
.page-form-recruit.page-form-recruit-complete .l-page__header-deco {
  width: 74.133%;
}
@media screen and (min-width: 768px) {
  .page-form-recruit.page-form-recruit-complete .l-page__header-deco {
    width: 51.562%;
  }
}
.page-form-recruit.page-form-recruit-complete .intro__container {
  padding-bottom: clamp(114px, 270 / 1680 * 100vw, 270px);
}
.page-form-recruit.page-form-recruit-complete .intro__head + .intro__head {
  margin-top: clamp(56px, 140 / 1680 * 100vw, 140px);
}

body:has(.page-form-recruit) .l-footer {
  background-color: #F5F5F5;
}

/* Base
   ----------------------------------------------------------------- */
.page-notfound .notfound-contents {
  padding-bottom: clamp(140px, 200 / 1680 * 100vw, 200px);
}
.page-notfound .notfound-contents__deco {
  width: 72.835%;
  max-width: 441px;
  height: auto;
  margin: 0 auto clamp(41px, 59 / 1680 * 100vw, 59px);
}
@media screen and (min-width: 992px) {
  .page-notfound .notfound-contents__deco {
    width: 55.125%;
  }
}
.page-notfound .notfound-contents__title {
  margin-bottom: clamp(24px, 40 / 1680 * 100vw, 40px);
  font-size: clamp(24px, 36 / 1680 * 100vw, 36px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.page-notfound .notfound-contents__text {
  font-size: clamp(14px, 16 / 1680 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .page-notfound .notfound-contents__text {
    line-height: 1.8;
    text-align: center;
  }
}
.page-notfound .notfound-contents__action {
  padding-top: clamp(40px, 56 / 1680 * 100vw, 56px);
  margin-top: clamp(56px, 80 / 1680 * 100vw, 80px);
  border-top: 1px solid #ccc;
}
.page-notfound .notfound-contents__action .c-button {
  margin: 0 auto;
}