@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
li,
figure,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
  font-weight: inherit;
  font-size: 1em;
}

ul,
ol {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
  text-decoration-skip-ink: auto;
}

img,
picture {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
  border: none;
}

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

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

input[type=radio] {
  margin: 0;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
table th {
  text-align: inherit;
  font-weight: inherit;
}

/* ========================= /
/  初期設定
/* =========================*/
html {
  height: 100%;
}
@media screen and (min-width: 1024.02px) {
  html {
    font-size: 0.0520833333vw;
  }
}
@media screen and (max-width: 1024px) {
  html {
    font-size: 0.1315789474vw;
  }
}

body {
  height: 100%;
  background-color: #fff;
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 2.25;
  font-size: 20rem;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  overflow-wrap: break-word;
  word-wrap: break-word;
  line-break: normal;
  text-rendering: optimizeSpeed;
}
body.js-open {
  overflow: hidden !important;
}
@media screen and (max-width: 1024px) {
  body {
    font-size: 22rem;
    line-height: 2.0454545455;
  }
}

img {
  image-rendering: -webkit-optimize-contrast;
}

.body-inner {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  position: relative;
  overflow: clip;
}

.main {
  flex: 1;
  display: block;
}

.form-reset {
  appearance: none;
  display: block;
  border: none;
  border-radius: 0;
  padding: 0;
  background: none;
  box-shadow: none;
}

input,
textarea,
select,
button {
  appearance: none;
  display: block;
  border: none;
  border-radius: 0;
  padding: 0;
  background: none;
  box-shadow: none;
}

/* ========================= /
/  フォント
/* =========================*/
.din-2014-n {
  font-family: din-2014-narrow, sans-serif;
}

/* ========================= /
/  カラー
/* =========================*/
.breadcrumbs .current-item {
  min-width: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: 1.75em;
  margin-right: -0.25em;
}

/* スライドのサイズ調整 */
.splide__slide img {
  height: auto;
  width: 100%;
}

.mv {
  /* スライド共通のスタイル */
  /* アクティブなスライドのスタイル */
  /* ページネーションに番号を表示 */
}
.mv .splide__slide img {
  transform: scale(0.9); /* 左右のスライドを小さくする */
  transition: all 0.7s ease-out; /* ゆっくり小さくさせる */
}
.mv .splide__slide.is-active img {
  transform: scale(1); /* 中央のスライドは小さくしない */
  z-index: 1; /* 中央のスライドを一番上にする */
}
.mv .splide__pagination {
  counter-reset: pagination-num;
  bottom: -22rem !important;
  left: 50% !important;
  right: initial;
  transform: translateX(-50%);
  justify-content: flex-start !important;
  gap: 24rem;
  padding-inline: 24rem !important;
}
@media screen and (max-width: 1024px) {
  .mv .splide__pagination {
    bottom: 23rem !important;
    padding-inline: 40rem !important;
  }
}
.mv .splide__pagination__page {
  background: initial !important;
  transform: scale(1) !important;
  opacity: 1 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}
.mv .splide__pagination__page:before {
  content: counter(pagination-num, decimal-leading-zero);
  counter-increment: pagination-num;
  font-size: 55rem;
  color: #DFDFDF;
  font-weight: 600;
  line-height: 1;
}
.mv .splide__pagination__page.is-active::before {
  color: #21498E;
}
.mv .splide__arrows {
  position: absolute;
  bottom: -22rem;
  right: calc(50% + 24rem);
  transform: translateX(50%);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 32rem;
}
@media screen and (max-width: 1024px) {
  .mv .splide__arrows {
    padding: 0 !important;
    bottom: 28rem !important;
    right: 40rem;
    transform: none;
  }
}
.mv .splide__arrow {
  position: static !important;
  width: 55rem !important;
  height: 55rem !important;
  transform: none !important;
  background: #333333 url(../img/common/btn-arrow.svg) no-repeat center/7.81rem 15.62rem !important;
  opacity: 1 !important;
}
@media screen and (max-width: 1024px) {
  .mv .splide__arrow {
    width: 50rem !important;
    height: 50rem !important;
  }
}
.mv .splide__arrow svg {
  display: none;
}
.mv .splide__arrow--prev {
  transform: rotateY(180deg) !important;
}
.mv .splide__track {
  overflow: visible;
}

@media screen and (min-width: 1024.02px) {
  .no-pc {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) and (min-width: 769px) {
  .no-tab {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .no-sp {
    display: none !important;
  }
}

/* ========================= /
/  アニメーション
/* =========================*/
.txtAnimation {
  position: absolute;
  top: 564rem;
  left: 0;
  width: 100%;
  z-index: 10;
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  .txtAnimation {
    top: 474rem;
  }
}
.txtAnimation.--top {
  top: 196rem;
  height: 1692.11rem;
}
@media screen and (max-width: 1024px) {
  .txtAnimation.--top {
    top: 500rem;
    height: 980rem;
  }
}
.txtAnimation__inner {
  position: sticky;
  top: 150rem;
  left: 0;
}
@media screen and (max-width: 1024px) {
  .txtAnimation__inner {
    top: 200rem;
  }
}

#text {
  mask: url(#mask);
  -webkit-mask: url(#mask);
}

#text01 {
  mask: url(#mask03);
  -webkit-mask: url(#mask03);
}

.txtWith {
  width: 103%;
  z-index: 999;
}
.txtWith svg {
  transform: scale(1.1) translateX(22rem);
  transform-origin: right center;
}
@media screen and (max-width: 1024px) {
  .txtWith svg {
    transform: scale(1.4) translateX(-39rem);
    transform-origin: center;
  }
}
.txtWith.--top svg {
  transform: scale(1.1) translateX(-20rem);
  transform-origin: right center;
}
@media screen and (max-width: 1024px) {
  .txtWith.--top svg {
    transform: scale(2.5) translateX(-85rem);
    transform-origin: center;
  }
}
.txtWith .handwritingText {
  width: 100%;
  height: auto;
}
.txtWith .handwritingText__textPath03 {
  fill: #0096ff;
}
.txtWith .handwritingText__textPath02 {
  fill: url(#linear-gradient);
}
.txtWith .handwritingText__textPath01 {
  fill: url(#linear-gradient-2);
}
.txtWith .handwritingText__maskLine {
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 35;
  stroke-dasharray: 3870;
  stroke-dashoffset: 3892;
}
.txtWith.js-loaded .handwritingText__maskLine {
  animation: handwriting 1s ease-out forwards 0.3s;
}
.txtWith.visible .handwritingText__maskLine {
  animation: handwriting 1s ease-out forwards 0.3s;
}
@keyframes handwriting {
  0% {
    stroke-width: 17;
    stroke-dashoffset: 3800;
  }
  100% {
    stroke-width: 35;
    stroke-dashoffset: 7720;
  }
}

.footer__txt {
  width: 100%;
  z-index: 999;
  overflow-x: clip;
}
.footer__txt .handwritingText {
  width: 100%;
  height: auto;
}
.footer__txt .handwritingText__textPath03 {
  fill: #0096ff;
}
.footer__txt .handwritingText__textPath02 {
  fill: url(#linear-gradient);
}
.footer__txt .handwritingText__textPath01 {
  fill: url(#linear-gradient-2);
}
.footer__txt .handwritingText__maskLine {
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 35;
  stroke-dasharray: 3892px;
  stroke-dashoffset: 3892px;
}
.footer__txt.visible .handwritingText__maskLine {
  animation: handwriting-footer 1s ease-out forwards 0.5s;
}

@keyframes handwriting-footer {
  0% {
    stroke-width: 17;
    stroke-dashoffset: 3892;
  }
  100% {
    stroke-width: 35;
    stroke-dashoffset: 7602;
  }
}
#shape01 {
  mask: url(#mask02);
  -webkit-mask: url(#mask02);
}

.message__shape {
  overflow-x: clip;
}
.message__shape .handwritingText {
  width: 100%;
  height: auto;
}
.message__shape .handwritingText__shapePath {
  fill: url(#linear-gradient04);
}
.message__shape .handwritingText__maskLine {
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 50;
  stroke-dasharray: 1305px;
  stroke-dashoffset: 2635px;
}
.message__shape.visible .handwritingText__maskLine {
  animation: handwriting02 1s ease-out forwards 0.5s;
}
@keyframes handwriting02 {
  0% {
    stroke-dashoffset: 2635px;
  }
  100% {
    stroke-dashoffset: 1413px;
  }
}

.employee__shape00 {
  overflow-x: clip;
}
.employee__shape00 #shape01 {
  mask: url(#mask02);
  -webkit-mask: url(#mask02);
}
.employee__shape00 .handwritingText {
  width: 100%;
  height: auto;
}
.employee__shape00 .handwritingText__shapePath {
  fill: url(#linear-gradient05);
}
.employee__shape00 .handwritingText__maskLine {
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 35;
  stroke-dasharray: 2200px;
  stroke-dashoffset: 0;
  stroke-linejoin: round;
}
.employee__shape00.visible .handwritingText__maskLine {
  animation: handwriting03 1s ease-out forwards 0.5s;
}
@keyframes handwriting03 {
  0% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: 2230px;
  }
}

.employee__shape01 {
  overflow-x: clip;
}
.employee__shape01 #shape01 {
  mask: url(#mask02);
  -webkit-mask: url(#mask02);
}
.employee__shape01 .handwritingText {
  width: 100%;
  height: auto;
}
.employee__shape01 .handwritingText__shapePath {
  fill: url(#linear-gradient05);
}
.employee__shape01 .handwritingText__maskLine {
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 40;
  stroke-dasharray: 2200;
  stroke-dashoffset: 4400;
  stroke-linejoin: round;
}
.employee__shape01.visible .handwritingText__maskLine {
  animation: handwriting04 1.5s ease-out forwards 0.5s;
}
@keyframes handwriting04 {
  0% {
    stroke-dashoffset: 4400;
  }
  100% {
    stroke-dashoffset: 2200;
  }
}

.employee__shape02,
.message__shape02 {
  overflow-x: clip;
}
.employee__shape02 #shape01,
.message__shape02 #shape01 {
  mask: url(#mask02);
  -webkit-mask: url(#mask02);
}
.employee__shape02 .handwritingText,
.message__shape02 .handwritingText {
  width: 100%;
  height: auto;
}
.employee__shape02 .handwritingText__shapePath,
.message__shape02 .handwritingText__shapePath {
  fill: url(#linear-gradient05);
}
.employee__shape02 .handwritingText__maskLine,
.message__shape02 .handwritingText__maskLine {
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 35;
  stroke-dasharray: 2200px;
  stroke-dashoffset: 0;
  stroke-linejoin: round;
}
.employee__shape02.visible .handwritingText__maskLine,
.message__shape02.visible .handwritingText__maskLine {
  animation: handwriting05 1s ease-out forwards 0.5s;
}
@keyframes handwriting05 {
  0% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: 2230px;
  }
}

.growthStory__shape,
.educationSystem__shape {
  overflow-x: clip;
}
.growthStory__shape #shape01,
.educationSystem__shape #shape01 {
  mask: url(#mask02);
  -webkit-mask: url(#mask02);
}
.growthStory__shape .handwritingText,
.educationSystem__shape .handwritingText {
  width: 100%;
  height: auto;
}
.growthStory__shape .handwritingText__maskLine,
.educationSystem__shape .handwritingText__maskLine {
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 70;
  stroke-dasharray: 2976;
  stroke-dashoffset: 6000;
}
.growthStory__shape.visible .handwritingText__maskLine,
.educationSystem__shape.visible .handwritingText__maskLine {
  animation: handwriting005 2s ease-out forwards 0.5s;
}
@keyframes handwriting005 {
  0% {
    stroke-dashoffset: 6000;
  }
  100% {
    stroke-dashoffset: 3090;
  }
}

.voice__shape #shape02 {
  mask: url(#mask03);
  -webkit-mask: url(#mask03);
}
.voice__shape .handwritingText {
  width: 100%;
  height: auto;
}
.voice__shape .handwritingText__maskLine {
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 370;
  stroke-dasharray: 3413;
  stroke-dashoffset: 3500;
}
.voice__shape.visible .handwritingText__maskLine {
  animation: handwriting06 1.5s ease-out forwards 0.5s;
}
@keyframes handwriting06 {
  0% {
    stroke-dashoffset: 3500;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

/* ===========================================================/
/  スクロールアニメーション                                                 
=============================================================*/
.js-scroll-cover {
  overflow: hidden;
  backface-visibility: hidden;
  display: block;
  position: relative;
}
.js-scroll-cover::before {
  will-change: auto;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  z-index: 1;
  background-color: #0096FF;
  transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  transition-delay: 0.2s;
}
.js-scroll-cover::after {
  will-change: auto;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  background-color: #fff;
  z-index: 2;
  transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}
.js-scroll-cover.invisible::before, .js-scroll-cover.invisible::after {
  right: 0;
}
.js-scroll-cover.visible::before, .js-scroll-cover.visible::after {
  right: -100%;
}

.js-fadein {
  position: relative;
  transition: all 1.5s cubic-bezier(0.77, 0, 0.175, 1);
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}
.js-fadein.visible {
  opacity: 1;
}
.js-fadein.invisible {
  opacity: 0;
}

.js-fadeup {
  position: relative;
  transition: all 1.5s;
  transition-delay: 0.3s;
}
.js-fadeup.visible {
  opacity: 1;
  transform: translate(0, 0);
}
.js-fadeup.invisible {
  opacity: 0;
  transform: translate(0%, 100rem);
}

/* ========================= /
/  ボタン
/* =========================*/
.btn {
  width: fit-content;
  position: relative;
  overflow: hidden;
  border-radius: 3em;
  isolation: isolate;
}
@media screen and (max-width: 1024px) {
  .btn {
    width: 100%;
  }
}
.btn::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #fff border-box border-box;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  pointer-events: none;
}
.btn::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #0096FF border-box border-box;
  border-radius: 999rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: translateX(-100%);
  transition: all 0.4s cubic-bezier(0.005, 0.33, 0.105, 1) 0s;
  pointer-events: none;
}
.btn:hover::before {
  transform: none;
}
.btn a,
.btn input {
  width: 552rem;
  max-width: 100%;
  min-height: 116rem;
  height: 100%;
  border-radius: 999em;
  font-weight: bold;
  font-size: 28rem;
  letter-spacing: 0.05em;
  white-space: nowrap;
  font-weight: bold;
  display: grid;
  grid-template-columns: 1fr 76rem;
  grid-template-rows: 1fr;
  gap: 32rem;
  align-items: center;
  justify-content: space-between;
  padding: 20rem 28rem 20rem 48rem;
  border: 1px solid #333333;
  transition: all 0.4s cubic-bezier(0.005, 0.33, 0.105, 1) 0s;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  .btn a,
  .btn input {
    width: 100%;
    font-size: 28rem;
    min-height: 116rem;
  }
}
.btn a:hover,
.btn input:hover {
  color: #fff;
}
.btn a::before, .btn a::after,
.btn input::before,
.btn input::after {
  grid-column: 2/3;
  grid-row: 1/2;
  transition: all 0.4s cubic-bezier(0.005, 0.33, 0.105, 1) 0s;
}
.btn a::before,
.btn input::before {
  content: "";
  display: block;
  width: 76rem;
  height: 76rem;
  background: #0096FF;
  border-radius: 50%;
}
.btn a:hover::before,
.btn input:hover::before {
  background: #fff;
}
.btn a::after,
.btn input::after {
  content: "";
  display: block;
  width: 76rem;
  height: 76rem;
  border-radius: 50%;
  background-color: #fff;
  -webkit-mask: url(../img/common/btn-arrow.svg) no-repeat center center/10.72rem 21.45rem;
  mask: url(../img/common/btn-arrow.svg) no-repeat center center/10.72rem 21.45rem;
}
.btn a:hover::after,
.btn input:hover::after {
  background-color: #0096FF;
}
.btn.--small a,
.btn.--small input {
  padding: 13rem 15rem 15rem 27rem;
  font-size: 16rem;
  width: 210rem;
  min-height: 52rem;
  grid-template-columns: 1fr 18rem;
  gap: 8rem;
  letter-spacing: 0;
}
@media screen and (max-width: 1024px) {
  .btn.--small a,
  .btn.--small input {
    padding: 25rem 29rem 25rem 51rem;
    grid-template-columns: 1fr 35rem;
    width: 330rem;
    min-height: 100rem;
    font-size: 30rem;
    gap: 35rem;
  }
}
.btn.--small a::before,
.btn.--small input::before {
  width: 18rem;
  height: 18rem;
}
@media screen and (max-width: 1024px) {
  .btn.--small a::before,
  .btn.--small input::before {
    width: 35rem;
    height: 34rem;
  }
}
.btn.--small a::after,
.btn.--small input::after {
  width: 18rem;
  height: 18rem;
  -webkit-mask: url(../img/common/btn-arrow_bold.svg) no-repeat center center/6rem 9rem;
  mask: url(../img/common/btn-arrow_bold.svg) no-repeat center center/6rem 9rem;
}
@media screen and (max-width: 1024px) {
  .btn.--small a::after,
  .btn.--small input::after {
    width: 35rem;
    height: 34rem;
    -webkit-mask: url(../img/common/btn-arrow_bold.svg) no-repeat center center/8rem 14rem;
    mask: url(../img/common/btn-arrow_bold.svg) no-repeat center center/8rem 14rem;
  }
}
.btn.--external a::after,
.btn.--external input::after {
  -webkit-mask: url(../img/common/icon-external02.svg) no-repeat center left 22rem/33.43rem 33.43rem;
  mask: url(../img/common/icon-external02.svg) no-repeat center left 24rem/33.43rem 33.43rem;
}
@media screen and (max-width: 1024px) {
  .btn.--external a::after,
  .btn.--external input::after {
    -webkit-mask: url(../img/common/icon-external02.svg) no-repeat center left 22rem/33.43rem 33.43rem;
    mask: url(../img/common/icon-external02.svg) no-repeat center left 24rem/33.43rem 33.43rem;
  }
}

.btn02 {
  width: fit-content;
  font-size: 26rem;
  font-weight: bold;
  line-height: 1.8076923077;
  color: #21498E;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16rem;
  transition: opacity 0.3s ease-out;
}
@media screen and (max-width: 1024px) {
  .btn02 {
    font-size: 28rem;
  }
}
@media (hover: hover) {
  .btn02:where(:any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
}
.btn02::before {
  content: "";
  display: block;
  width: 12.69rem;
  height: 23.37rem;
  background: #21498E;
  -webkit-mask: url(../img/common/btn-arrow.svg) no-repeat center/contain;
}

/* ========================= /
/  下層MV
/* =========================*/
.lower-mv__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 986rem;
  background: no-repeat center top/contain;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .lower-mv__bg {
    height: 546rem;
  }
}
.lower-mv__bg.--recruit {
  background-image: url(../img/recruit/pc/mv-bg@2x.png);
}
.lower-mv__bg.--about-us {
  background-image: url(../img/about-us/pc/mv-bg@2x.png);
}
.lower-mv__bg.--culture {
  background-image: url(../img/culture/pc/mv-bg@2x.png);
}
.lower-mv__bg.--employee {
  background-image: url(../img/employee/pc/mv-bg@2x.png);
}
.lower-mv__bg.--blog {
  background-image: url(../img/blog/pc/mv-bg@2x.png);
}
.lower-mv__img {
  margin-top: 8rem;
  margin-inline: calc(50% - 50vw);
  padding-inline: 100rem;
  width: 100vw;
  max-width: none;
}
@media screen and (max-width: 1024px) {
  .lower-mv__img {
    padding-inline: 20rem;
    height: 400rem;
  }
}
.lower-mv__img img {
  border-radius: 15rem;
}
@media screen and (max-width: 1024px) {
  .lower-mv__img img {
    height: 100%;
    border-radius: 5rem;
    object-fit: cover;
  }
}
.lower-mv__box {
  position: relative;
  z-index: 1;
}
.lower-mv__heading {
  margin-top: -59rem;
  padding: 31rem 104rem;
  width: 1080rem;
  height: 206rem;
  background: url(../img/common/pc/mv-ttl-bg.svg) no-repeat center/contain;
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 24rem;
}
@media screen and (max-width: 1024px) {
  .lower-mv__heading {
    margin-top: -48rem;
    margin-inline: auto;
    padding: 20rem 0;
    justify-content: center;
    width: 600rem;
    gap: 12rem;
    background-image: url(../img/common/sp/mv-ttl-bg.svg);
  }
}
.lower-mv__heading-en {
  font-size: 75rem;
  font-weight: bold;
  line-height: 1.2666666667;
}
@media screen and (max-width: 1024px) {
  .lower-mv__heading-en {
    font-size: 45rem;
    line-height: 1.2888888889;
  }
}
.lower-mv__heading-ja {
  font-size: 36rem;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  .lower-mv__heading-ja {
    font-size: 20rem;
    line-height: 1.45;
  }
}
.lower-mv__row {
  margin-top: 80rem;
  padding-bottom: 53rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 64rem;
  border-bottom: 1rem solid #CCCCCC;
}
@media screen and (max-width: 1024px) {
  .lower-mv__row {
    margin-top: 42rem;
    flex-direction: column;
    gap: 16rem;
  }
}
.lower-mv__ttl-ja {
  display: block;
  font-size: 55rem;
  line-height: 1.4545454545;
  letter-spacing: 0.05em;
  font-weight: bold;
}
.lower-mv__ttl-en {
  display: block;
  margin-top: 13rem;
  font-size: 28rem;
  font-weight: bold;
  line-height: 1.2857142857;
}
.lower-mv__para {
  line-height: 2.25;
  max-width: 514rem;
}
@media screen and (max-width: 1024px) {
  .lower-mv__para {
    max-width: initial;
  }
}

/* ========================= /
/  パンくず
/* =========================*/
.breadcrumbs {
  margin-top: 160rem;
  line-height: 1.6;
  font-size: 16rem;
}
@media screen and (max-width: 1024px) {
  .breadcrumbs {
    margin-top: 118rem;
  }
}
.breadcrumbs__inner {
  padding-inline: 100rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.3em;
}
@media screen and (max-width: 1024px) {
  .breadcrumbs__inner {
    padding-inline: 20rem;
  }
}
.breadcrumbs__inner.--for-your-family {
  padding-inline: 0;
}
@media screen and (max-width: 1024px) {
  .breadcrumbs__inner.--for-your-family {
    padding-inline: 40rem;
  }
}

/* ========================= /
/  サイドナビ
/* =========================*/
.aside-nav {
  margin-top: 1080rem;
  padding-bottom: 100rem;
  width: 290rem;
  height: 100%;
  z-index: 100;
  justify-self: end;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .aside-nav {
    margin-top: 0;
    padding-bottom: 0;
    position: static;
    width: 100%;
  }
}
.aside-nav.--employee {
  margin-top: 785rem;
}
.aside-nav__inner {
  position: sticky;
  top: 150rem;
  right: 0;
}
.aside-nav__list {
  display: grid;
  grid-template-columns: 1fr;
}
.aside-nav__item {
  border-bottom: 1px solid #333333;
  opacity: 0.5;
  transition: opacity 0.3s ease-out;
}
.aside-nav__item.js-current {
  opacity: 1;
}
.aside-nav__item-link {
  padding-block: 24rem;
  display: flex;
  align-items: center;
  gap: 8rem;
  font-size: 16rem;
  font-weight: bold;
  white-space: nowrap;
  transition: opacity 0.3s ease-out;
}
@media (hover: hover) {
  .aside-nav__item-link:where(:any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
}
.aside-nav__item:nth-of-type(1) .aside-nav__item-link {
  padding-top: 20rem;
}
@media screen and (max-width: 1024px) {
  .aside-nav__item:nth-of-type(1) .aside-nav__item-link {
    padding-top: 0;
  }
}
.aside-nav__item-link::before {
  content: "";
  display: block;
  width: 18rem;
  aspect-ratio: 1/1;
  flex-shrink: 0;
  border-radius: 50%;
  background: #333333 url(../img/common/btn-arrow.svg) no-repeat center center/3.57rem 6.15rem;
}
.aside-nav__select-wrap {
  position: relative;
}
.aside-nav__select-wrap::after {
  content: "";
  display: block;
  width: 40rem;
  aspect-ratio: 1/1;
  flex-shrink: 0;
  border-radius: 50%;
  background: #333333 url(../img/common/btn-arrow.svg) no-repeat center center/7.14rem 12.3rem;
  position: absolute;
  right: 40rem;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  pointer-events: none;
}
.aside-nav__select {
  width: 100%;
  border: 1rem solid #CCCCCC;
  height: 100rem;
  padding-inline: 40rem;
  font-size: 28rem;
}

/* ========================= /
/  ローディング
/* =========================*/
.loading {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 8000;
  background: #fff;
  display: grid;
  place-items: center;
  transition: opacity 0.5s ease-out;
}
.loading.js-loaded {
  opacity: 0;
  pointer-events: none;
}
.loading__inner {
  max-width: 90%;
}

.loader,
.loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}

.loader {
  margin: 60rem auto;
  font-size: 10rem;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid #CACACA;
  border-right: 1.1em solid #CACACA;
  border-bottom: 1.1em solid #CACACA;
  border-left: 1.1em solid #9E9E9E;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/* ========================= /
/  共通パーツ
/* =========================*/
.inner {
  width: 85%;
  max-width: 1380rem;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .inner {
    width: 100%;
    padding-inline: 40rem;
  }
}
.inner.--w1080 {
  max-width: 1080rem;
}

.sec__ttl {
  width: fit-content;
  position: relative;
}
.sec__ttl.--center {
  width: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 1024px) {
  .sec__ttl.--sp-center {
    width: fit-content;
    margin-inline: auto;
  }
}
.sec__ttl::before {
  content: "";
  display: block;
  width: 241.14rem;
  height: 128rem;
  background: url(../img/common/icon-width.svg) no-repeat center/contain;
  position: absolute;
  bottom: -5rem;
  right: -104rem;
  z-index: 3;
}
@media screen and (max-width: 1024px) {
  .sec__ttl::before {
    width: 204.41rem;
    height: 108.5rem;
    bottom: -28rem;
    right: -70rem;
  }
}
.sec__ttl-en {
  display: block;
  font-weight: bold;
  font-size: 130rem;
  line-height: 1.2769230769;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  .sec__ttl-en {
    font-size: 100rem;
    line-height: 1.27;
  }
}
.sec__ttl-ja {
  margin-top: -17rem;
  display: block;
  width: fit-content;
  font-size: 30rem;
  font-weight: bold;
  line-height: 1.4666666667;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .sec__ttl-ja {
    font-size: 26rem;
    line-height: 1.4230769231;
  }
}

.sec__heading {
  margin-inline: auto;
  width: fit-content;
}
.sec__heading.--box {
  width: 952.52rem;
  padding: 53rem 0 42rem;
  background: url(../img/common/pc/mv-ttl-bg.svg) no-repeat center/contain;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 1024px) {
  .sec__heading.--box {
    width: 600rem;
    background-image: url(../img/common/sp/mv-ttl-bg.svg);
  }
}
.sec__heading-en {
  display: block;
  font-weight: bold;
  font-size: 60rem;
  text-align: center;
  line-height: 1.2666666667;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  .sec__heading-en {
    font-size: 56rem;
    line-height: 1.2678571429;
  }
}
.sec__heading-ja {
  margin-inline: auto;
  display: block;
  width: fit-content;
  font-size: 24rem;
  font-weight: bold;
  line-height: 1.4583333333;
  color: #888888;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .sec__heading-ja {
    font-size: 20rem;
    line-height: 1.45;
  }
}

.cmn__ttl {
  font-size: 36rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 10rem;
}
.cmn__ttl::before {
  content: "";
  display: block;
  width: 84rem;
  aspect-ratio: 1/1;
  background: url(../img/common/logo-icon.png) no-repeat center/contain;
}

.col-2 {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (max-width: 1024px) {
  .col-2 {
    display: flex;
    flex-direction: column;
  }
}
.col-2 > * {
  grid-row: 1/2;
  grid-column: 1/2;
}

.h2, .post-content h2 {
  font-size: 28rem;
  font-weight: bold;
  padding-left: 20rem;
  border-left: 8rem solid #21498E;
  line-height: 1.5;
}

.post-content p {
  font-size: 22rem;
  margin-block: 2em;
  line-height: 1.96875;
}
.post-content h2 + p,
.post-content h3 + p,
.post-content h4 + p,
.post-content h5 + p,
.post-content h6 + p {
  margin-top: 1em;
}
.post-content h2, .post-content h3, .post-content h4, .post-content h5, .post-content h6 {
  font-weight: bold;
  margin-block: 2em 1em;
}
@media screen and (max-width: 1024px) {
  .post-content h2, .post-content h3, .post-content h4, .post-content h5, .post-content h6 {
    margin-block: 2em 1em;
  }
}
.post-content th,
.post-content td {
  padding: 16rem;
}
.post-content tr:nth-of-type(odd) {
  background: #ebebeb;
}

/* ========================= /
/  z-index
/* =========================*/
.header {
  z-index: 9000;
}

.header__main {
  z-index: 7000;
  position: relative;
}

.header__logo {
  z-index: 5000;
}

.burger-btn {
  z-index: 5000;
}

.burger-nav {
  z-index: 6000;
}

/* ========================= /
/  ヘッダー
/* =========================*/
.header {
  width: 100%;
  height: 120rem;
  position: fixed;
  top: 0;
  left: 0;
}
@media screen and (max-width: 1024px) {
  .header {
    height: 92rem;
  }
}
.header__inner {
  height: 100%;
  padding-right: 50rem;
}
@media screen and (max-width: 1024px) {
  .header__inner {
    padding-right: 17rem;
  }
}
.header__main {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header__logo {
  padding-inline: 50rem 43rem;
  transition: opacity 0.3s ease-out;
  width: 334rem;
  background: #fff;
  border-radius: 0 0 15rem 0;
}
@media screen and (max-width: 1024px) {
  .header__logo {
    padding-inline: 20rem 22.1rem;
    width: 237rem;
  }
}
.header__logo:hover {
  opacity: 0.6;
}

.global-nav {
  display: flex;
  align-items: center;
  gap: 40px;
}
@media screen and (max-width: 1024px) {
  .global-nav {
    display: none;
  }
}
.global-nav__list {
  display: flex;
  align-items: center;
}
.global-nav__item {
  position: relative;
}
.global-nav__item + .global-nav__item::before {
  content: "";
  display: block;
  width: 1rem;
  height: 90.2083333333%;
  background: #ACACAC;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.global-nav__item-link {
  display: block;
  padding-inline: 25rem;
  line-height: 1.4444444444;
  font-weight: 500;
  cursor: pointer;
  transition: opacity 0.3s ease-out;
}
@media (hover: hover) {
  .global-nav__item-link:where(:any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
}
.global-nav__item:first-of-type .global-nav__item-link {
  padding-left: 0;
}
.global-nav__item:last-of-type .global-nav__item-link {
  padding-right: 0;
}
.global-nav__item-en {
  display: block;
  font-size: 24rem;
  font-weight: bold;
}
.global-nav__item-ja {
  display: block;
  font-size: 12rem;
  color: #999999;
  font-weight: bold;
}
.global-nav__lower-list {
  margin: 30rem auto 0;
  padding: 16rem 22rem 21rem 22rem;
  width: fit-content;
  position: absolute;
  inset: 100% -400rem auto;
  white-space: nowrap;
  border-radius: 10rem;
  border: 1rem solid #0058FF;
  background: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-out;
}
.global-nav__item:hover .global-nav__lower-list {
  opacity: 1;
  pointer-events: visible;
}
.global-nav__lower-list::before {
  content: "";
  display: block;
  height: 32rem;
  position: absolute;
  inset: auto 0 100% 0;
}
.global-nav__lower-item + .global-nav__lower-item {
  margin-top: 12rem;
}
.global-nav__lower-item-link {
  display: flex;
  align-items: center;
  gap: 13rem;
  font-size: 15rem;
  line-height: 1.6666666667;
  font-weight: 500;
  transition: opacity 0.3s ease-out;
}
@media (hover: hover) {
  .global-nav__lower-item-link:where(:any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
}
.global-nav__lower-item-link::before {
  content: "";
  display: block;
  width: 21.42rem;
  height: 17.41rem;
  background: url(../img/common/global-arrow.svg) no-repeat center/contain;
}
.global-nav__btn a {
  width: 172rem;
  min-height: 52rem;
}

.burger-btn {
  width: 172rem;
  height: 92rem;
  position: relative;
  display: none;
}
@media screen and (max-width: 1024px) {
  .burger-btn {
    display: block;
  }
}
.burger-btn button {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10rem;
}
.burger-btn__ttl {
  font-size: 36rem;
  line-height: 1.2777777778;
  font-weight: bold;
}
.burger-btn__inner {
  width: 100%;
  height: 100%;
  position: relative;
}
.burger-btn span {
  display: block;
  width: 80rem;
  height: 2rem;
  background: #333333;
  position: absolute;
  left: 0;
  transition: transform, opacity, 0.3s ease-out;
}
.burger-btn span:nth-of-type(1) {
  top: 36.5rem;
}
.burger-btn span:nth-of-type(2) {
  top: 46.5rem;
}
.burger-btn span:nth-of-type(3) {
  top: 56.56rem;
}

.burger-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  background: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-out;
}
.burger-nav.js-open {
  opacity: 1;
  pointer-events: visible;
}
.burger-nav__inner {
  padding-top: 50rem;
  padding-bottom: 40.4rem;
}
.burger-nav__item {
  position: relative;
}
.burger-nav__item + .burger-nav__item {
  border-top: 1px solid #ACACAC;
}
.burger-nav__item-btn {
  height: 166rem;
  width: 166rem;
  position: absolute;
  top: 0;
  right: 0;
}
.burger-nav__item-btn::before, .burger-nav__item-btn::after {
  content: "";
  display: block;
  width: 32rem;
  height: 2rem;
  background: #333333;
  position: absolute;
  top: 50%;
  right: 40rem;
  transform: translateY(-50%);
  transition: transform 0.3s ease-out;
}
.burger-nav__item-btn::after {
  transform: translateY(-50%) rotateZ(90deg);
}
.burger-nav__item-btn.js-open::after {
  transform: translateY(-50%);
}
.burger-nav__item-link {
  padding-block: 50rem;
  padding-left: 23rem;
  display: flex;
  align-items: center;
  gap: 24rem;
}
.burger-nav__item-en {
  font-size: 60rem;
  font-weight: bold;
  line-height: 1.15;
}
.burger-nav__item-ja {
  font-size: 26rem;
  font-weight: bold;
  line-height: 0.9615384615;
  color: #999999;
}
.burger-nav__lower-list {
  padding-left: 40rem;
  padding-bottom: 50rem;
  display: none;
}
.burger-nav__lower-item {
  border-top: 1px solid #fff;
}
.burger-nav__lower-item + .burger-nav__lower-item {
  margin-top: 45rem;
}
.burger-nav__lower-item-link {
  display: flex;
  align-items: center;
  gap: 16rem;
  font-size: 28rem;
  line-height: 1.25;
}
.burger-nav__lower-item-link::before {
  content: "";
  display: block;
  width: 24rem;
  height: 16rem;
  background: url(../img/common/global-arrow.svg) no-repeat center/contain;
}
.burger-nav__btn {
  margin-top: 50rem;
  width: fit-content;
}
.burger-nav__external-list {
  margin-top: 80rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 80rem;
}
.burger-nav__external-link {
  font-size: 20rem;
  line-height: 1.25;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8rem;
}
@media screen and (max-width: 1024px) {
  .burger-nav__external-link {
    font-size: 24rem;
  }
}
.burger-nav__external-link::after {
  content: "";
  display: block;
  width: 29rem;
  height: 29rem;
  background: #0058FF;
  -webkit-mask: url(../img/common/burger-arrow.svg) no-repeat center/contain;
  transform: rotate(-45deg);
}
.burger-nav__img {
  margin-top: 80rem;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}
.burger-nav__recruit-list {
  display: flex;
  align-items: center;
  transform: translateX(-178rem);
}
.burger-nav__recruit-item:nth-of-type(1) {
  clip-path: polygon(20% 0%, 100% 0%, 80% 100%, 0% 100%);
  background: #056CF2;
  transform: translateX(136rem);
}
@media screen and (max-width: 1024px) {
  .burger-nav__recruit-item:nth-of-type(1) {
    clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 0% 100%);
  }
}
.burger-nav__recruit-item:nth-of-type(2) {
  background: #21498E;
  clip-path: polygon(20% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.burger-nav__recruit-item-link {
  height: 133rem;
  font-size: 26rem;
  color: #fff;
  font-weight: bold;
  line-height: 1.8076923077;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16rem;
  transition: opacity 0.3s ease-out;
}
@media screen and (max-width: 1024px) {
  .burger-nav__recruit-item-link {
    height: 100rem;
    font-size: 23rem;
  }
}
@media (hover: hover) {
  .burger-nav__recruit-item-link:where(:any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
}
.burger-nav__recruit-item:nth-of-type(1) .burger-nav__recruit-item-link {
  width: 550rem;
}
@media screen and (max-width: 1024px) {
  .burger-nav__recruit-item:nth-of-type(1) .burger-nav__recruit-item-link {
    padding-right: 52rem;
    width: 475rem;
  }
}
.burger-nav__recruit-item:nth-of-type(2) .burger-nav__recruit-item-link {
  padding-left: 52rem;
  width: 500rem;
}
@media screen and (max-width: 1024px) {
  .burger-nav__recruit-item:nth-of-type(2) .burger-nav__recruit-item-link {
    width: 423rem;
  }
}
.burger-nav__recruit-item-link::after {
  content: "";
  display: block;
  width: 8rem;
  height: 14rem;
  background: #fff;
  -webkit-mask: url(../img/common/btn-arrow.svg) no-repeat center/contain;
}
.burger-nav__close {
  margin-top: 40rem;
  padding-left: 48rem;
  width: fit-content;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8rem;
  font-size: 30rem;
  color: #0058FF;
  position: relative;
}
.burger-nav__close::before, .burger-nav__close::after {
  content: "";
  display: block;
  width: 40rem;
  height: 4rem;
  background: #0058FF;
  position: absolute;
  top: 50%;
  left: 0;
}
.burger-nav__close::before {
  transform: translateY(-50%) rotate(45deg);
}
.burger-nav__close::after {
  transform: translateY(-50%) rotate(-45deg);
}

.fixed-nav {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 999;
  transform: translateY(100%);
  transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.fixed-nav.js-show {
  transform: none;
}
.fixed-nav__list {
  display: flex;
  align-items: center;
}
.fixed-nav__item:nth-of-type(1) {
  clip-path: polygon(20% 0%, 100% 0%, 80% 100%, 0% 100%);
  background: #056CF2;
  transform: translateX(136rem);
}
@media screen and (max-width: 1024px) {
  .fixed-nav__item:nth-of-type(1) {
    clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 0% 100%);
  }
}
.fixed-nav__item:nth-of-type(2) {
  background: #21498E;
  clip-path: polygon(20% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.fixed-nav__item-link {
  height: 133rem;
  font-size: 26rem;
  color: #fff;
  font-weight: bold;
  line-height: 1.8076923077;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16rem;
  transition: opacity 0.3s ease-out;
}
@media screen and (max-width: 1024px) {
  .fixed-nav__item-link {
    height: 100rem;
    font-size: 23rem;
  }
}
@media (hover: hover) {
  .fixed-nav__item-link:where(:any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
}
.fixed-nav__item:nth-of-type(1) .fixed-nav__item-link {
  width: 550rem;
}
@media screen and (max-width: 1024px) {
  .fixed-nav__item:nth-of-type(1) .fixed-nav__item-link {
    padding-right: 52rem;
    width: 475rem;
  }
}
.fixed-nav__item:nth-of-type(2) .fixed-nav__item-link {
  padding-left: 52rem;
  width: 500rem;
}
@media screen and (max-width: 1024px) {
  .fixed-nav__item:nth-of-type(2) .fixed-nav__item-link {
    width: 423rem;
  }
}
.fixed-nav__item-link::after {
  content: "";
  display: block;
  width: 8rem;
  height: 14rem;
  background: #fff;
  -webkit-mask: url(../img/common/btn-arrow.svg) no-repeat center/contain;
}

/* ========================= /
/  フッター
/* =========================*/
.footer {
  padding-inline: 40rem;
  padding-bottom: 159rem;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .footer {
    margin-top: 77rem;
    padding-bottom: 130rem;
  }
}
.footer__box {
  padding: 61rem 219rem 68rem;
  border-radius: 16rem;
  background: linear-gradient(210deg, #00224D 0%, #21498E 84%);
  display: flex;
  gap: 117.7rem;
}
@media screen and (max-width: 1024px) {
  .footer__box {
    padding: 57.3rem 40rem 236rem;
    flex-direction: column;
    gap: 43.7rem;
    background: linear-gradient(-30deg, #00224D 0%, #21498E 84%);
  }
}
.footer__logo-link {
  transition: opacity 0.3s ease-out;
}
@media screen and (max-width: 1024px) {
  .footer__logo-link {
    display: block;
    margin-inline: auto;
    width: 207rem;
  }
}
@media (hover: hover) {
  .footer__logo-link:where(:any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
}
.footer__txt {
  width: 1444rem;
  max-width: 100%;
  position: absolute;
  right: 60rem;
  bottom: 117rem;
  pointer-events: none;
  transform: scale(1.6);
  clip-path: polygon(20% 0%, 100% 0, 100% 100%, 20% 100%);
}
@media screen and (max-width: 1024px) {
  .footer__txt {
    right: 196rem;
    bottom: 202.7rem;
    transform: scale(2.3);
  }
}
.footer__copyright {
  margin-top: 8rem;
  font-size: 14rem;
  line-height: 1.8285714286;
}
@media screen and (max-width: 1024px) {
  .footer__copyright {
    margin-top: 20rem;
    font-size: 20rem;
    line-height: 1.4285714286;
    text-align: right;
  }
}

.footer-nav {
  color: #fff;
  border-left: 1rem solid #fff;
  padding-left: 136.3rem;
}
@media screen and (max-width: 1024px) {
  .footer-nav {
    padding-left: 0;
    padding-top: 43.7rem;
    border-left: none;
    border-top: 1rem solid #fff;
  }
}
.footer-nav__list {
  display: grid;
  grid-template-columns: repeat(3, 280rem);
  gap: 28rem 40rem;
}
@media screen and (max-width: 1024px) {
  .footer-nav__list {
    grid-template-columns: repeat(2, 280rem);
    gap: 40rem 56rem;
  }
}
.footer-nav__item-en {
  display: block;
  font-size: 50rem;
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 1.28;
}
.footer-nav__item-ja {
  display: block;
  font-size: 18rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.4444444444;
}
@media screen and (max-width: 1024px) {
  .footer-nav__item-ja {
    font-size: 22rem;
  }
}
.footer-nav__item-link {
  transition: opacity 0.3s ease-out;
}
@media (hover: hover) {
  .footer-nav__item-link:where(:any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
}
.footer-nav__lower-list {
  margin-top: 20rem;
}
@media screen and (max-width: 1024px) {
  .footer-nav__lower-list {
    margin-top: 18rem;
  }
}
.footer-nav__lower-item + .footer-nav__lower-item {
  margin-top: 8rem;
}
@media screen and (max-width: 1024px) {
  .footer-nav__lower-item + .footer-nav__lower-item {
    margin-top: 12rem;
  }
}
.footer-nav__lower-item-link {
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  gap: 8rem;
  line-height: 1.5;
  transition: opacity 0.3s ease-out;
  white-space: nowrap;
}
@media (hover: hover) {
  .footer-nav__lower-item-link:where(:any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
}
.footer-nav__lower-item-link::before {
  content: "";
  display: block;
  width: 24rem;
  height: 1rem;
  background: #fff;
}
.footer-nav__external {
  margin-top: 60rem;
}
.footer-nav__external-link {
  display: flex;
  align-items: center;
  gap: 7rem;
  transition: opacity 0.3s ease-out;
}
@media (hover: hover) {
  .footer-nav__external-link:where(:any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
}
.footer-nav__external-link::before {
  content: "";
  display: block;
  width: 17rem;
  height: 17rem;
  background: url(../img/common/icon-external.svg) no-repeat center/contain;
}/*# sourceMappingURL=whole.css.map */