@charset "UTF-8";
:root {
  --font-jp: "Noto Sans JP", sans-serif;
  --font-en: "Oswald", sans-serif;
  --header-scroll-offset: 5.75rem;
}

.admin-bar {
  --header-scroll-offset: calc(5.75rem + 32px);
}
@media screen and (max-width: 782px) {
  .admin-bar {
    --header-scroll-offset: calc(5.75rem + 46px);
  }
}

html {
  scroll-padding-top: var(--header-scroll-offset);
  scroll-behavior: smooth;
}

[id] {
  scroll-margin-top: var(--header-scroll-offset);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
body {
  color: #0a0a0a;
  line-height: 1.5;
  letter-spacing: 0;
  font-family: var(--font-jp);
}

/* ========================================
  Reset
======================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

main {
  display: block;
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

img {
  border-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  appearance: none;
}

button {
  cursor: pointer;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

textarea {
  resize: vertical;
}

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

th {
  font-weight: inherit;
  text-align: inherit;
}

address {
  font-style: normal;
}

.u-spDb {
  display: block;
}
@media screen and (min-width: 767px) {
  .u-spDb {
    display: none;
  }
}

.u-pcDb {
  display: block;
}
@media screen and (max-width: 768px) {
  .u-pcDb {
    display: none;
  }
}

.l-footer {
  background-color: #194874;
}
.l-footer a {
  transition: all 0.5s;
}
@media (hover: hover) and (pointer: fine) {
  .l-footer a:hover {
    opacity: 0.7;
  }
}
.l-footer__inner {
  max-width: 1640px;
  margin: auto;
  padding: 8.75rem 1.25rem;
}
@media screen and (max-width: 767px) {
  .l-footer__inner {
    padding: min(15vw, 60px) 1.5625rem;
  }
}
.l-footer__list--top {
  display: flex;
  gap: 2.75rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 1000px) {
  .l-footer__list--top {
    flex-direction: column;
    gap: min(11vw, 44px);
    margin-bottom: min(10vw, 40px);
  }
}
.l-footer-sns__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: min(1vw, 1px);
  margin-top: 5px;
  color:white;
}

.l-footer-sns__item {
  display: grid;
  gap: 2.5rem;
}
.l-footer__x {
  margin-top: 0.5625rem;
  display: flex;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .l-footer__x {
    margin-top: min(2.25vw, 9px);
  }
}
@media screen and (max-width: 767px) {
  .l-footer__nav {
    width: 100%;
  }
}
.l-footer__nav-area {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 1000px) {
  .l-footer__nav-area {
    flex-direction: column;
    align-items: flex-start;
    gap: min(10vw, 40px);
  }
}
.l-footer__nav-list {
  font-size: 1rem;
  line-height: 200%;
  color: white;
  display: flex;
  gap: min(6.875vw, 110px);
  font-weight: 700;
}
@media screen and (max-width: 1100px) {
  .l-footer__nav-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: min(3.75vw, 15px);
    row-gap: min(5vw, 20px);
  }
}
@media screen and (max-width: 767px) {
  .l-footer__nav-list {
    grid-template-columns: 10.625rem 1fr;
  }
}
.l-footer__nav-sub-list {
  font-weight: 400;
  margin-top: 0.375rem;
}
.l-footer__button {
  width: 296px;
  height: 60px;
  display: flex;
  background-color: #0a0a0a;
  color: white;
  border-radius: 0.625rem;
  position: relative;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  line-height: 200%;
  transition: opacity 0.5s;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .l-footer__button {
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__button:hover {
    opacity: 0.6;
  }
  .l-footer__button:hover .c-button__icon rect {
    fill: #eeeeee;
  }
  .l-footer__button:hover .c-button__icon path {
    stroke: #0a0a0a;
  }
}
.l-footer__button-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 1.625rem;
}
.l-footer__utility-area {
  font-size: 0.875rem;
  color: white;
  font-weight: 400;
  line-height: 160%;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .l-footer__utility-area {
    display: none;
  }
}
.l-footer__utility-list {
  display: flex;
  gap: 2.5rem;
}
@media screen and (max-width: 1000px) {
  .l-footer__utility-list {
    flex-wrap: wrap;
    row-gap: 0.9375rem;
  }
}
.l-footer__banner-area {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .l-footer__banner-area {
    margin-top: min(15vw, 60px);
  }
}
.l-footer__banner-list {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1.4375rem;
}
@media screen and (max-width: 767px) {
  .l-footer__banner-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
}
.l-footer__banner-list img {
  width: 100%;
}
.l-footer__copyright {
  margin-top: 3.75rem;
  text-align: center;
  color: white;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 200%;
}
@media screen and (max-width: 767px) {
  .l-footer__copyright {
    margin-top: min(15vw, 60px);
  }
}

.l-header {
  position: fixed;
  z-index: 100;
  background-color: white;
  top: 0;
  left: 0;
  width: 100%;
}
.l-header__inner {
  display: flex;
  justify-content: space-between;
  height: 100%;
  align-items: center;
  padding-block: 0.9375rem;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 767px) {
  .l-header__inner {
    align-items: center;
    padding: min(5vw, 20px) 1.5625rem;
  }
}
.l-header__logo {
  position: relative;
  z-index: 30;
  transition: opacity 0.5s;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__logo:hover {
    opacity: 0.7;
  }
}
.l-header__logo-white {
  display: none;
}
.l-header__nav {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-header__nav {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .l-header__sp-nav {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-header__sp-nav {
    overflow-y: scroll;
    position: fixed;
    z-index: 20;
    top: 0;
    right: 0;
    height: 100dvh;
    padding: 10.3125rem 2.5rem 5rem;
    background-color: #fbfcfc;
    visibility: hidden;
    transform: translateX(100%);
    align-items: flex-start;
    color: white;
    transition: transform 0.3s ease, visibility 0.3s ease;
  }
  .l-header__sp-nav.is-open {
    visibility: visible;
    transform: translateX(0);
    background-color: #194874;
    width: 100%;
  }
}
.l-header__sp-sub-list {
  display: flex;
  flex-direction: column;
  margin-top: 1.25rem;
  font-size: 0.875rem;
}
.l-header__sp-sub-link {
  display: block;
  width: 100%;
  line-height: 330%;
}
.l-header__list {
  display: flex;
  align-items: center;
  gap: 2rem;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 200%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .l-header__list {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    height: auto;
    width: 100%;
  }
}
.l-header__item {
  position: relative;
}
.l-header__item:first-of-type {
  gap: 0.625rem;
  flex-direction: column;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .l-header__item--has-subnav {
    padding-bottom: 1rem;
    margin-bottom: -1rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-header__item--has-subnav:hover > .l-header__sub-list--desktop {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
  }
}
.l-header__item--has-subnav:focus-within > .l-header__sub-list--desktop {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
.l-header__item, .l-header__link {
  height: 100%;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-header__item, .l-header__link {
    width: 100%;
    height: auto;
  }
}
.l-header__link {
  background: linear-gradient(currentColor, #194874) left calc(100% - 0em)/0 0.0625rem no-repeat;
  transition: background-size 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__link:hover {
    color: #194874;
    background-size: 100% 0.0625rem;
  }
}
.l-header__link:focus-visible {
  color: #194874;
  background-size: 100% 0.0625rem;
}
.l-header__link-button {
  cursor: default;
}
.l-header__sub-list {
  padding-left: 0.625rem;
}
@media screen and (min-width: 768px) {
  .l-header__sub-list {
    padding-left: 0;
  }
}
@media screen and (min-width: 768px) {
  .l-header__sub-list--desktop {
    position: absolute;
    z-index: 10;
    top: 95%;
    left: 50%;
    display: flex;
    visibility: hidden;
    flex-direction: column;
    gap: 1.25rem;
    flex-direction: column;
    min-width: 21.0625rem;
    padding: 2.5rem 2.5rem 2.5rem 0;
    border-radius: 1.25rem;
    background-color: #eaf2fc;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 0.5rem);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
  }
}
@media screen and (max-width: 767px) {
  .l-header__sub-list--desktop {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .l-header__sub-list--sp {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .l-header__sub-link {
    font-size: 1.25rem;
    position: relative;
    display: block;
    color: #0a0a0a;
    line-height: 170%;
    white-space: nowrap;
    padding-left: 4.375rem;
    transition: color 0.3s ease;
  }
}
@media screen and (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .l-header__sub-link:hover {
    color: #194874;
  }
}
@media screen and (min-width: 768px) {
  .l-header__sub-link:focus-visible {
    color: #194874;
  }
}
@media screen and (max-width: 767px) {
  .l-header__sub-link {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .l-header__sub-link::before {
    content: "";
    display: inline-block;
    position: absolute;
    left: 2.5rem;
    top: 0;
    background: url("../../assets/images/common/button-arrow-right-white.svg") no-repeat center/cover;
    width: 1.125rem;
    height: 1.125rem;
    top: 0.5em;
  }
}
.l-header__hamburger {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-header__hamburger {
    position: relative;
    z-index: 30;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 2.5rem;
    height: 1.6875rem;
  }
  .l-header__hamburger span {
    width: 100%;
    height: 0.0625rem;
    background-color: #0a0a0a;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
  .l-header__hamburger span:nth-child(2), .l-header__hamburger span:nth-child(3) {
    width: 1.25rem;
  }
  .l-header__hamburger.is-open span:nth-child(1) {
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    background-color: white;
    width: 100%;
  }
  .l-header__hamburger.is-open span:nth-child(2) {
    opacity: 0;
  }
  .l-header__hamburger.is-open span:nth-child(3) {
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    background-color: white;
    width: 100%;
  }
}

body.is-drawer-open {
  overflow: hidden;
}
body.is-drawer-open .l-header__logo-default {
  display: none;
}
body.is-drawer-open .l-header__logo-white {
  display: block;
}

.l-inner {
  box-sizing: border-box;
  max-width: 1240px;
  width: 100%;
  padding: 0 20px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    max-width: none;
    padding: 0 1.5625rem;
  }
}
.l-inner > *:first-child {
  margin-top: 0;
}
.l-inner--page-no-kv {
  margin-top: 6.3725rem;
  margin-bottom: 8.75rem;
}
@media screen and (max-width: 767px) {
  .l-inner--page-no-kv {
    margin-top: 6.9975rem;
    margin-bottom: 3.75rem;
  }
}
.l-inner--xl {
  max-width: 1300px;
}
@media screen and (max-width: 767px) {
  .l-inner--xl {
    max-width: none;
  }
}
.l-inner--md {
  max-width: 1160px;
}
@media screen and (max-width: 767px) {
  .l-inner--md {
    max-width: none;
  }
}
.l-inner--sm {
  max-width: 1000px;
}
@media screen and (max-width: 767px) {
  .l-inner--sm {
    max-width: none;
  }
}

.l-main {
  position: relative;
}
.l-main::before {
  content: "";
  display: block;
  width: 100%;
  background: #fff;
  border-radius: 2.1875rem 2.1875rem 0 0;
  min-height: 80px;
  position: absolute;
  top: -2.1875rem;
  left: 0;
  right: 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .l-main::before {
    top: -2.8125rem;
    width: 100%;
    height: 5rem;
    background-color: #fff;
    background-image: none;
    border-radius: 2.5rem 2.5rem 0 0;
  }
}
.l-main.p-recruit::before {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-main.p-about::before, .l-main.p-rules::before, .l-main.p-news:not(.p-news-single)::before, .l-main.l-others::before {
    min-height: 40px;
    height: 2.5rem;
    top: -2.5rem;
  }
}
.l-main.l-others {
  margin-bottom: 8.75rem;
}
@media screen and (max-width: 767px) {
  .l-main.l-others {
    margin-bottom: 3.75rem;
  }
}
.l-main.l-others .c-breadcrumb {
  /*margin-bottom: 7.5rem;*/
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .l-main.l-others .l-inner {
    padding-top: 2.875rem;
  }
}

.p-template .c-breadcrumb {
  /*margin-bottom: 7.5rem;*/
  margin-bottom: 1.5rem;	
}

.l-kv {
  position: relative;
  width: 100%;
  margin-top: 6.3725rem;
  min-height: 360px;
}
@media screen and (max-width: 767px) {
  .l-kv {
    aspect-ratio: 400/360;
    margin-top: 6.9975rem;
  }
}
.l-kv::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: #194874;
  background-image: var(--kv-bg-pc, none);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-kv::after {
    background-image: var(--kv-bg-sp, var(--kv-bg-pc, none));
  }
}
.l-kv--no-image .l-kv__title,
.l-kv--no-image .l-kv__text {
  color: #fff;
  text-shadow: none;
}
.l-kv--no-image .l-kv__title::after {
  background-color: #fff;
}
.l-kv--others .l-kv__title {
  color: white;
  text-shadow: none;
}
.l-kv--others .l-kv__text {
  color: white;
  text-shadow: none;
}
@media screen and (max-width: 767px) {
  .l-kv--news {
    aspect-ratio: 400/190;
  }
}
.l-kv--news::after {
  background: url("../../assets/images/lower/news/kv-bg.jpg") no-repeat center/cover;
}
.l-kv__box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-kv__box {
    width: 87.5%;
  }
}
.l-kv__title {
  font-size: 2.25rem;
  font-weight: bold;
  line-height: 140%;
  color: #194874;
  position: relative;
  text-shadow: 0 0 0.5rem rgba(255, 255, 255, 0.9), 0 0 1rem rgba(255, 255, 255, 0.8), 0 0 1.75rem rgba(255, 255, 255, 0.7);
}
@media screen and (max-width: 767px) {
  .l-kv__title {
    font-size: min(6.5vw, 26px);
  }
}
.l-kv__title::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -0.625rem;
  width: 4rem;
  height: 0.1875rem;
  background-color: #194874;
}
.l-kv__text {
  line-height: 200%;
  font-weight: 500;
  text-shadow: 0 0 0.5rem rgba(255, 255, 255, 0.9), 0 0 1rem rgba(255, 255, 255, 0.8), 0 0 1.75rem rgba(255, 255, 255, 0.7);
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .l-kv__text {
    margin-top: min(7.5vw, 30px);
  }
}

h2.wp-block-heading {
  font-size: 1.25rem;
  line-height: 140%;
  font-weight: bold;
  color: #194874;
  border-left: 4px solid #194874;
  padding-left: 0.625rem;
  margin-top: 2.5rem;
}

.wp-block-paragraph {
  margin-top: 0.625rem;
}
.wp-block-list a,
.wp-block-paragraph a {
  color: #5585b5;
  text-underline-offset: 0.4em;
  transition: all 0.5s;
}
.wp-block-list a:hover,
.wp-block-paragraph a:hover {
  opacity: 0.7;
  text-decoration: underline;
}

h3.wp-block-heading {
  font-size: 1.125rem;
  color: #194874;
  line-height: 200%;
  margin-top: 2.5rem;
  font-weight: bold;
}

h4.wp-block-heading,
h5.wp-block-heading,
h6.wp-block-heading {
  font-size: 1rem;
  font-weight: bold;
  line-height: 200%;
  margin-top: 0.625rem;
}

.wp-block-columns {
  margin: 2.5rem 0 0;
}

ul.wp-block-list,
ol.wp-block-list {
  padding-left: 1.5em;
  margin-top: 2.5rem;
}
ul.wp-block-list li,
ol.wp-block-list li {
  list-style: disc;
}

ol.wp-block-list li {
  list-style: decimal;
}

ul.wp-block-list ul.wp-block-list {
    margin-top: 0;
}

.wp-block-table {
  line-height: 200%;
  border: none;
  margin-top: 2.5rem;
}
.wp-block-table tr,
.wp-block-table thead {
  border: none;
}
.wp-block-table th {
  color: white;
  background-color: #194874;
  text-align: center;
  padding: 0.8125rem 1.34375rem;
}
.wp-block-table td {
  text-align: center;
  padding: 0.8125rem 1.34375rem;
  border: none;
  border-bottom: 1px solid #d9d9d9;
}

.wp-block-separator {
  border-top: 1px solid #d9d9d9;
  margin-top: 2.5rem;
}

.wp-block-quote {
  padding: 0.625rem 1.25rem;
  position: relative;
  margin-top: 2.5rem;
}
.wp-block-quote .wp-block-paragraph {
  margin-top: 0;
}
.wp-block-quote::before {
  content: "";
  display: inline-block;
  position: absolute;
  z-index: -1;
  inset: 0;
  background: url("../../assets/images/lower/news/quote-bg.png") no-repeat center/cover;
  width: 100%;
}

.wp-block-buttons {
  margin-top: 2.5rem;
}

@media screen and (max-width: 767px) {
  .is-layout-flex {
    justify-content: center;
  }
}

.wp-block-button__link {
  background-color: #194874;
  border: 1px solid #194874;
  color: white;
  position: relative;
  line-height: 200%;
  text-align: center;
  padding: 0.875rem 1.25rem;
  min-width: 300px;
  display: inline-block;
  transition: background-color 0.5s, color 0.5s;
}
@media (hover: hover) and (pointer: fine) {
  .wp-block-button__link:hover {
    background-color: white;
    color: #194874;
  }
  .wp-block-button__link:hover::before {
    background-image: url("../../assets/images/common/button-arrow-right-gray.svg");
  }
}
.wp-block-button__link::before {
  content: "";
  display: inline-block;
  left: 1.4375rem;
  top: 50%;
  transform: translateY(-50%);
  background: url("../../assets/images/common/button-arrow-right-white.svg") no-repeat center/cover;
  position: absolute;
  width: 1.25rem;
  height: 1.25rem;
  aspect-ratio: 1/1;
  transition: background-image 0.5s;
}

.wp-block-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  .wp-block-columns {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.wp-block-columns img {
  width: 100%;
  object-fit: cover;
  height: 100%;
}

.wp-block-group-is-layout-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .wp-block-group-is-layout-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-top: 1.5rem;
    grid-auto-flow: row;
  }
}
@media screen and (max-width: 500px) {
  .wp-block-group-is-layout-grid {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-top: 1.5rem;
    grid-auto-flow: row;
  }
}

.wp-block-columns-is-layout-flex {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 1.25rem;
}

@media screen and (max-width: 500px) {
  .wp-block-columns-is-layout-flex {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-top: 1.5rem;
    grid-auto-flow: row;
  }
}

.c-button {
  border-radius: 6.25rem;
  font-size: 1rem;
  line-height: 200%;
  display: flex;
  align-items: center;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-button {
    justify-content: center;
  }
}
.c-button--center {
  justify-content: center;
}
.c-button--center .c-button__icon {
  left: 1.4375rem;
}
.c-button--primary {
  background-color: #194874;
  color: white;
  border: 1px solid #194874;
  transition: background-color 0.5s, color 0.5s;
}
@media (hover: hover) and (pointer: fine) {
  .c-button--primary:hover {
    background-color: white;
    color: #194874;
  }
  .c-button--primary:hover .c-button__icon-svg--default {
    opacity: 0;
  }
  .c-button--primary:hover .c-button__icon-svg--hover {
    opacity: 1;
  }
  .c-button--primary:hover .c-button__icon path {
    stroke: #d9d9d9;
  }
  .c-button--primary:hover .c-button__icon-svg--hover path {
    stroke: #0a0a0a;
  }
}
.c-button--secondary {
  border: 1px solid #d9d9d9;
  background-color: white;
  transition: background-color 0.5s, border-color 0.5s, color 0.5s;
}
@media (hover: hover) and (pointer: fine) {
  .c-button--secondary:hover {
    background-color: #194874;
    border-color: #194874;
    color: white;
  }
  .c-button--secondary:hover .c-button__icon-svg--default {
    opacity: 0;
  }
  .c-button--secondary:hover .c-button__icon-svg--hover {
    opacity: 1;
  }
  .c-button--secondary:hover .c-button__icon rect {
    fill: white;
  }
  .c-button--secondary:hover .c-button__icon path {
    stroke: #194874;
  }
}
.c-button--recruit {
  transition: opacity 0.5s;
}
@media (hover: hover) and (pointer: fine) {
  .c-button--recruit:hover {
    background-color: white;
    border-color: #d9d9d9;
    color: #0a0a0a;
    opacity: 0.6;
  }
  .c-button--recruit:hover .c-button__icon rect {
    fill: #eeeeee;
  }
  .c-button--recruit:hover .c-button__icon path {
    stroke: #0a0a0a;
  }
}
.c-button--w260 {
  max-width: 260px;
  gap: 0.625rem;
  padding: 0.65625rem 0 0.65625rem 4.0625rem;
}
@media screen and (max-width: 767px) {
  .c-button--w260 {
    max-width: none;
    padding: min(3.125vw, 12.5px) 0;
  }
}
.c-button--w300 {
  max-width: 300px;
  padding: 0.84375rem 1.4375rem;
}
@media screen and (max-width: 767px) {
  .c-button--w300 {
    padding: 0.8125rem 0;
    max-width: none;
  }
}
.c-button--w320 {
  max-width: 320px;
  padding: 0.84375rem 1.4375rem;
  margin: min(3.125vw, 50px) auto 0;
  justify-content: center;
}
.c-button--w320 span {
  left: 1.4375rem;
}
.c-button--w410 {
  max-width: 410px;
  padding: 0.5rem 1.875rem;
  justify-content: flex-end;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .c-button--w410 {
    text-align: center;
    padding: min(2.375vw, 9.5px) min(2.5vw, 10px) min(2.375vw, 9.5px) clamp(5.375rem, 25%, 6.875rem);
    line-height: 160%;
    justify-content: flex-start;
  }
}
.c-button--bold {
  font-weight: 700;
}
.c-button--normal {
  font-weight: 400;
}
.c-button__icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .c-button__icon {
    left: min(7.5vw, 30px);
  }
}
.c-button__icon svg {
  display: block;
  transition: opacity 0.5s;
}
.c-button__icon svg rect,
.c-button__icon svg path {
  transition: fill 0.5s, stroke 0.5s;
}
.c-button__icon-svg {
  transition: opacity 0.5s;
}
.c-button__icon-svg--hover {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
}
.c-button--mt0 {
  margin-top: 0;
}

.c-heading__label {
  color: #194874;
  font-size: 1.25rem;
  font-weight: 500;
  font-family: var(--font-en);
  line-height: 200%;
}
.c-heading__title {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 140%;
}
@media screen and (max-width: 767px) {
  .c-heading__title {
    font-size: 1.5rem;
  }
}
.c-heading__title--white {
  color: white;
}

.c-lower-heading__title {
  font-weight: bold;
  line-height: 140%;
  font-size: 1.75rem;
  border-bottom: 1px solid #d9d9d9;
  padding-bottom: 0.625rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-lower-heading__title {
    font-size: 1.375rem;
    padding-bottom: 1.25rem;
  }
}
.c-lower-heading__title--white {
  color: white;
}
.c-lower-heading__text {
  line-height: 200%;
}
.c-lower-heading__text--white {
  color: white;
}

.c-text,
.wp-block-paragraph {
  font-size: 1rem;
  line-height: 200%;
  font-weight: 400;
}
.c-text--white,
.wp-block-paragraph--white {
  color: white;
}
@media (hover: hover) and (pointer: fine) {
  .c-text a:hover,
  .wp-block-paragraph a:hover {
    opacity: 0.7;
  }
}

.c-breadcrumb {
  position: relative;
  z-index: 1;
  max-width: 1160px;
  width: 100%;
  padding: 0 20px;
  padding-top: 0.625rem;
  margin-inline: auto;
  display: flex;
  gap: 1.5rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb {
    display: none;
  }
}
.c-breadcrumb span,
.c-breadcrumb a {
  font-size: 0.875rem;
  color: #686868;
  line-height: 200%;
}
.c-breadcrumb .home,
.c-breadcrumb .post-news-archive {
  position: relative;
}
.c-breadcrumb .home::after,
.c-breadcrumb .post-news-archive::after {
  content: "";
  position: absolute;
  display: block;
  background: url("../../assets/images/common/breadcrumb-arrow-gray.svg") no-repeat center/cover;
  width: 0.375rem;
  height: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
  right: -1rem;
}
.c-breadcrumb .current-item::after {
  display: none;
}

.p-top-kv {
  margin-top: 8.3725rem;
}
@media screen and (max-width: 767px) {
  .p-top-kv {
    margin-top: min(35.24vw, 140.96px);
  }
}
.p-top-kv__list {
  display: flex;
  width: 95.125%;
  margin-left: auto;
  justify-content: flex-end;
  gap: 3.25rem;
  align-items: center;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .p-top-kv__list {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .p-top-kv__list {
    width: 100%;
    padding: 0 1.5625rem;
    flex-direction: column;
    gap: min(18.5vw, 74px);
  }
}
.p-top-kv__item {
  width: 39.3%;
  max-width: 610px;
}
@media screen and (max-width: 1000px) {
  .p-top-kv__item {
    width: 100%;
    max-width: none;
  }
}
.p-top-kv__figure {
  max-width: 860px;
  width: 55.4%;
}
@media screen and (max-width: 1000px) {
  .p-top-kv__figure {
    max-width: none;
    width: calc(100% + 50vw - 50%);
    margin-right: calc(50% - 50vw);
  }
}
.p-top-kv__figure img {
  border-radius: 1.875rem 0 0 1.875rem;
}
.p-top-kv__title {
  font-weight: 500;
  font-size: clamp(4rem, 7.75vw, 7.75rem);
  color: #194874;
  font-family: var(--font-en);
  line-height: 95%;
}
@media screen and (max-width: 767px) {
  .p-top-kv__title {
    font-size: 3.75rem;
  }
}
.p-top-kv__sub-title {
  margin-top: 2.1875rem;
  font-weight: 700;
  line-height: 140%;
  font-size: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-kv__sub-title {
    font-size: 1.125rem;
    margin-top: min(5.75vw, 23px);
  }
}
.p-top-kv__button-list {
  margin-top: min(4.0625vw, 65px);
  display: flex;
  gap: 0.875rem;
}
@media screen and (max-width: 1350px) {
  .p-top-kv__button-list {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .p-top-kv__button-list {
    margin-top: min(7.5vw, 30px);
    gap: min(5vw, 20px);
    flex-direction: column;
  }
}
.p-top-intro {
  /*margin-top: 7.5rem;*/
  margin-top: 7.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-intro {
    margin-top: min(15vw, 60px);
  }
}
.p-top-intro::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: -9.375rem;
  left: 7.0625%;
  background: url("../../assets/images/top/intro-bg-circle.png") no-repeat;
  background-size: cover;
  width: 28.375%;
  z-index: -1;
  aspect-ratio: 1/1;
  animation: float-y 3s ease-in-out infinite;
}
@media screen and (max-width: 767px) {
  .p-top-intro::before {
    top: -9.4375rem;
    width: 68.25%;
    left: -25.75%;
  }
}
.p-top-intro__title {
  font-size: 3.875rem;
  font-weight: 700;
  line-height: 140%;
  color: #194874;
}
@media screen and (max-width: 767px) {
  .p-top-intro__title {
    font-size: 1.5625rem;
  }
}
.p-top-intro__text {
  font-size: 1rem;
  font-weight: 400;
  line-height: 200%;
  margin-top: 1.25rem;
}
.p-top-description {
  margin-top: 3.125rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-description {
    margin-top: min(10vw, 40px);
    padding: min(15vw, 60px) 0;
  }
}
.p-top-description::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: max(-25.3125vw, -400px);
  background: url("../../assets/images/top/description-bg-figure.png") no-repeat;
  background-size: cover;
  width: 33.4375%;
  z-index: -1;
  right: 3.8125%;
  aspect-ratio: 535/702;
}
@media screen and (max-width: 767px) {
  .p-top-description::before {
    aspect-ratio: 189/249;
    width: 47.25%;
    top: min(-18vw, -72px);
    right: 0.625rem;
  }
}
.p-top-description__bg {
  position: relative;
  margin-left: auto;
  background-color: #eaf2fc;
  border-radius: 3.125rem 0 0 3.125rem;
  width: 94.25%;
  padding: min(3.125vw, 50px) 0 min(3.125vw, 50px) min(6.25vw, 100px);
}
@media screen and (max-width: 767px) {
  .p-top-description__bg {
    width: 100%;
    padding: min(15vw, 60px) 0;
    border-radius: 3.125rem;
  }
}
.p-top-description__list {
  display: grid;
  grid-template-columns: 46.7% 46.7%;
  justify-content: space-between;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-top-description__list {
    margin-top: min(5vw, 20px);
    display: flex;
    flex-direction: column-reverse;
    gap: min(7.5vw, 30px);
  }
}
@media screen and (max-width: 767px) {
  .p-top-description__list:nth-of-type(n + 2) {
    margin-top: min(10vw, 40px);
  }
}
@media screen and (max-width: 767px) {
  .p-top-description__list:nth-of-type(2) {
    flex-direction: column;
  }
}
.p-top-description__item {
  max-width: 560px;
}
@media screen and (max-width: 767px) {
  .p-top-description__item {
    max-width: none;
  }
}
.p-top-description__figure img {
  border-radius: 1.25rem;
}
.p-top-description__item-title {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 140%;
}
@media screen and (max-width: 767px) {
  .p-top-description__item-title {
    font-size: 1.375rem;
  }
}
.p-top-description__item-text {
  margin-top: 0.9375rem;
}
.p-top-description__sub-list {
  margin: 1.0625rem 0 1.875rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-description__sub-list {
    margin: min(3.75vw, 15px) 0;
  }
}
.p-top-description__sub-item {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 200%;
  padding-left: 1.25rem;
  position: relative;
}
.p-top-description__sub-item::before {
  content: "";
  display: inline-block;
  width: 0.5625rem;
  height: 1px;
  position: absolute;
  left: 0.09375rem;
  top: 50%;
  transform: translateY(-50%);
  background-color: #4f85c8;
}
.p-top-record {
  margin-top: 7.1875rem;
}
@media screen and (max-width: 767px) {
  .p-top-record {
    margin-top: min(15vw, 60px);
  }
}
.p-top-record__list {
  margin-top: 3.625rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 1.625rem;
}
@media screen and (max-width: 1000px) {
  .p-top-record__list {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .p-top-record__list {
    margin-top: min(7.5vw, 30px);
    display: flex;
    flex-direction: column;
    gap: min(7.5vw, 30px);
  }
}
.p-top-record__item {
  background-color: #eaf2fc;
  border-radius: 1.25rem;
  padding: 2.5rem 1.5625rem;
}
@media screen and (max-width: 767px) {
  .p-top-record__item {
    padding: min(7.5vw, 30px) min(6.25vw, 25px);
  }
}
.p-top-record__item .c-text {
  font-size: 0.9375rem;
}
.p-top-record__title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 111%;
}
.p-top-record__value {
  display: flex;
  gap: 0.75rem;
  align-items: flex-end;
  margin: 0.75rem 0 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-record__value {
    margin: min(3vw, 12px) 0;
  }
}
.p-top-record__number {
  font-size: 3rem;
  color: #194874;
  font-weight: 700;
  line-height: 102%;
}
@media screen and (max-width: 767px) {
  .p-top-record__number {
    font-size: 2.5rem;
    line-height: 1.225;
  }
}
.p-top-record__unit {
  color: #194874;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 140%;
}
.p-top-news {
  margin-top: 6.25rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-news {
    margin-top: 3.75rem;
  }
}
.p-top-news::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: -15.9375rem;
  left: -7.5%;
  background: url("../../assets/images/top/news-bg-circle.png") no-repeat;
  background-size: contain;
  width: 25.1875%;
  z-index: -1;
  aspect-ratio: 566/806;
  animation: float-y 3s ease-in-out infinite;
}
@media screen and (max-width: 767px) {
  .p-top-news::before {
    display: none;
  }
}
.p-top-news__list {
  display: grid;
  grid-template-columns: 1fr 74.58%;
}
@media screen and (max-width: 767px) {
  .p-top-news__list {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-news__item {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
}
.p-top-news__link {
  position: relative;
  margin-top: 1.875rem;
  display: inline-block;
  border-bottom: 1px solid #d9d9d9;
  transition: all 0.5s;
}
@media screen and (max-width: 767px) {
  .p-top-news__link {
    margin-top: 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-top-news__link:hover {
    opacity: 0.7;
  }
}
.p-top-news__link .c-button__icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  left: 0;
}
.p-top-news__link .c-button__text {
  padding-left: 1.8125rem;
}
.p-top-news__contents-list {
  display: flex;
  flex-direction: column;
}
.p-top-news__contents-link {
  padding-left: 2rem;
  display: grid;
  border-bottom: 1px solid #d9d9d9;
  padding-block: 2rem;
  grid-template-columns: 6.25rem 13.5rem 1fr;
  transition: all 0.5s ease;
}
@media screen and (max-width: 767px) {
  .p-top-news__contents-link {
    grid-template-columns: auto auto;
    padding: 0.9375rem 1.0625rem 0.9375rem 2rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-top-news__contents-link:hover {
    background-color: #eaf2fc;
  }
}
.p-top-news__contents-date {
  font-size: 1rem;
  line-height: 200%;
  font-weight: 400;
  color: #194874;
}
@media screen and (max-width: 767px) {
  .p-top-news__contents-date {
    grid-column: 1/2;
  }
}
.p-top-news__contents-category {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 100%;
  padding: 0.25rem 1.25rem;
  background-color: #eaf2fc;
  border-radius: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 130px;
  height: fit-content;
  margin-block: auto;
}
@media screen and (max-width: 767px) {
  .p-top-news__contents-category {
    grid-column: 2/3;
  }
}
.p-top-news__contents-text {
  font-size: 1rem;
  font-weight: 400;
  line-height: 200%;
}
@media screen and (max-width: 767px) {
  .p-top-news__contents-text {
    grid-column: 1/-1;
  }
}
.p-top-recruit {
  margin-top: 8.75rem;
  position: relative;
  border-radius: 1.75rem;
  padding: 6.25rem 0;
  background-color: #194874;
  width: 93.75%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-top-recruit {
    margin-top: 3.75rem;
    padding: 3.75rem 0;
  }
}
.p-top-recruit::before {
  content: "";
  display: inline-block;
  position: absolute;
  right: 2.875%;
  background: url("../../assets/images/top/recruit-bg-circle.png") no-repeat;
  background-size: cover;
  width: 21.6875%;
  bottom: -9.0625rem;
  z-index: -1;
  aspect-ratio: 1/1;
  animation: float-y 3s ease-in-out infinite;
}
@media screen and (max-width: 767px) {
  .p-top-recruit::before {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .p-top-recruit__title {
    font-size: 1.75rem;
  }
}
.p-top-recruit__list {
  display: grid;
  grid-template-columns: 46.66% 46.25%;
  gap: min(5vw, 80px);
  padding: 0 1.25rem;
  max-width: 1240px;
  margin-inline: auto;
}
@media screen and (max-width: 1000px) {
  .p-top-recruit__list {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
  }
}
.p-top-recruit__item {
	/*margin: auto 0px;*/
}
.p-top-recruit__figure img {
  border-radius: 1.875rem;
}
.p-top-recruit__text {
  /*margin-block: 1.25rem;*/
	margin-block: 2rem;
}
.p-top-contact {
  margin: 6.25rem 0 8.125rem;
}
@media screen and (max-width: 767px) {
  .p-top-contact {
    margin: 3.75rem 0;
  }
}
.p-top-contact__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: space-between;
  margin-top: 2.5rem;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-contact__list {
    display: flex;
    flex-direction: column;
    margin-top: 1.875rem;
  }
}
.p-top-contact__link {
  border: 1px solid #e8e8e8;
  border-radius: 1.125rem;
  padding: 2rem;
  transition: opacity 0.5s;
}
@media screen and (max-width: 767px) {
  .p-top-contact__link {
    padding: 1.25rem 2rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-top-contact__link:hover {
    opacity: 0.7;
  }
}
.p-top-contact__title {
  color: #194874;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 140%;
  margin-bottom: 1.25rem;
}
.p-top-contact__mail {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 160%;
}

@keyframes float-y {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-1rem);
  }
}
.p-about-profile {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-about-profile {
    margin-top: 0;
    padding-top: min(8.75vw, 35px);
  }
}
.p-about-profile__table {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-about-profile__table {
    margin-top: 1.875rem;
  }
}
.p-about-section {
  margin-top: 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-about-section {
    margin-top: 3.75rem;
  }
}
.p-about-grid {
  display: grid;
  grid-template-columns: auto 75%;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-about-grid {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
  }
}
.p-about-row {
  display: grid;
  padding-left: 2.25rem;
  border-bottom: 1px solid #d9d9d9;
  line-height: 200%;
  grid-template-columns: 19.16% 1fr;
  padding: 1.25rem 0;
}
@media screen and (max-width: 767px) {
  .p-about-row {
    grid-template-columns: 25% 1fr;
    gap: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-about-row:first-of-type {
    padding-top: 0;
  }
}
.p-about-profile__row {
  padding-left: 0;
  grid-template-columns: 178px 1fr;
  gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-about-profile__row {
    grid-template-columns: 25% 1fr;
    gap: 1.25rem;
  }
}
.p-about-head {
  color: #194874;
}
.p-about-access {
  margin-bottom: 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-about-access {
    margin-bottom: 3.75rem;
  }
}
.p-about-access__box {
  display: flex;
  gap: 3.75rem;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .p-about-access__box {
    gap: 2.5rem;
  }
}
.p-about-access__title {
  font-size: 1.25rem;
  line-height: 140%;
  color: #194874;
  font-weight: bold;
  padding-left: 0.625rem;
  position: relative;
  border-left: 4px solid #194874;
}
.p-about-access__address {
  margin-block: 1.25rem;
}
.p-about-access__map {
  aspect-ratio: 840/334;
  margin-bottom: 1.25rem;
}
.p-about-access__map iframe {
  width: 100%;
  height: 100%;
}

.p-ecats-section {
  margin-top: 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-ecats-section {
    margin-top: 3.75rem;
  }
}
.p-ecats__text .c-text + .c-text {
  margin-top: 1lh;
}
.p-ecats-table {
  margin: 3.75rem auto 0;
  max-width: 974px;
  width: 100%;
  border-bottom: 1px solid #d9d9d9;
}
@media screen and (max-width: 767px) {
  .p-ecats-table {
    max-width: none;
    margin: 2.5rem auto 0;
  }
}
.p-ecats-table--pc {
  display: table;
}
@media screen and (max-width: 767px) {
  .p-ecats-table--pc {
    display: none;
  }
}
.p-ecats-table--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-ecats-table--sp {
    display: table;
  }
}
.p-ecats-table__head {
  background-color: #194874;
  color: white;
  line-height: 3.8125;
  text-align: center;
  width: 144px;
}
@media screen and (max-width: 767px) {
  .p-ecats-table__head {
    width: 100%;
    line-height: 1;
    padding: 0.75rem 0;
  }
}
.p-ecats-table__grid {
  display: grid;
  grid-template-columns: 10.625rem minmax(0, 1fr);
  padding-left: 1.25rem;
  align-items: center;
  border-top: 1px solid #d9d9d9;
  border-right: 1px solid #d9d9d9;
}
@media screen and (max-width: 767px) {
  .p-ecats-table__grid {
    border-left: 1px solid #d9d9d9;
    padding: 0.625rem 1.5625rem;
    display: block;
  }
}
.p-ecats-table__data:first-child {
  line-height: 3.8125;
}
.p-ecats-table__data:last-child {
  line-height: 160%;
}
.p-ecats-intro {
  /*margin-top: 7.5rem;*/
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-ecats-intro {
    margin-top: 0;
    padding-top: min(8.75vw, 35px);
  }
}
.p-ecats-intro__figure {
  margin: 3.75rem auto;
  max-width: 800px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-ecats-intro__figure {
    margin: 1.875rem auto;
    max-width: none;
  }
}
.p-ecats-search__grid {
  display: grid;
  grid-template-columns: 58.92% minmax(0, 1fr);
  gap: 2.5rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-ecats-search__grid {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
  }
}
.p-ecats-search img {
  border: 2px solid #194874;
}
.p-ecats-function__figure {
  max-width: 984px;
  width: 100%;
  margin: 3.75rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-ecats-function__figure {
    max-width: none;
    margin: 2.5rem auto 0;
  }
}
.p-ecats-design__figure {
  max-width: 871px;
  width: 100%;
  margin: 3.75rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-ecats-design__figure {
    max-width: none;
    margin: 1.25rem auto 0;
  }
}
.p-ecats-library__figure {
  max-width: 1047px;
  margin: 1.875rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-ecats-library__figure {
    max-width: none;
    margin: 1.25rem auto 0;
  }
}
.p-ecats-library__detail {
  margin-top: 5.625rem;
}
.p-ecats-library__detail a {
  display: block;
}
@media screen and (max-width: 767px) {
  .p-ecats-library__detail a {
    word-break: break-all;
  }
}
.p-ecats-library__title {
  font-weight: bold;
  color: #194874;
  line-height: 140%;
  font-size: 1.25rem;
  border-left: 4px solid #194874;
  padding-left: 0.625rem;
  margin-bottom: 0.875rem;
}
.p-ecats-ai {
  margin-bottom: 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-ecats-ai {
    margin-bottom: 3.75rem;
  }
}

/**************************************/
/* metadata page */

.p-ecats-list__sub-item {
  font-size: 1rem;
  font-weight: 400;
  line-height: 200%;
  padding-left: 1.25rem;
  position: relative;
}
.p-ecats-list__sub-item::before {
  content: "";
  display: inline-block;
  width: 0.5625rem;
  height: 1px;
  position: absolute;
  left: 0.09375rem;
  top: 50%;
  transform: translateY(-50%);
  background-color: #4f85c8;
}

.p-ecats-list {
  margin: 1.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: min(3.75vw, 60px);
}
@media screen and (max-width: 767px) {
  .p-ecats-list {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
  }
}

.p-ecats-list__sub-block {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 8;
}
@media screen and (max-width: 767px) {
  .p-ecats-list__sub-block-title {
    font-size: 1.375rem;
  }
}

.p-ecats-list__sub-item {
  margin-top: 0.1rem;
}
/**************************************/

.p-news-section {
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-news-section {
    margin-top: 0;
    padding-top: min(8.75vw, 35px);
  }
}
.p-news-category__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.3125rem;
}
@media screen and (max-width: 767px) {
  .p-news-category__list {
    gap: 0.625rem;
  }
}
.p-news-category__link {
  border: 1px solid #194874;
  border-radius: 2.5rem;
  font-size: 0.875rem;
  line-height: 100%;
  padding: 0.4375rem 1rem;
  min-width: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.5s;
}
@media screen and (max-width: 767px) {
  .p-news-category__link {
    min-width: 100px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-news-category__link:hover {
    background-color: #194874;
    color: white;
  }
}
.p-news-category__link.is-active {
  color: white;
  background-color: #194874;
}
@media (hover: hover) and (pointer: fine) {
  .p-news-category__link.is-active:hover {
    color: #194874;
    background-color: white;
  }
}
.p-news-contents {
  margin-top: 2.75rem;
}
@media screen and (max-width: 767px) {
  .p-news-contents {
    margin-top: 3.75rem;
  }
}
.p-news-contents__list {
  display: flex;
  flex-direction: column;
}
.p-news-contents__item {
  border-bottom: 1px solid #d9d9d9;
  padding: 2rem;
  display: grid;
  grid-template-columns: 5rem 12.5625rem 1fr;
  align-items: start;
  transition: all 0.5s;
}
@media screen and (max-width: 767px) {
  .p-news-contents__item {
    display: flex;
    flex-wrap: wrap;
    padding: 0.9375rem 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-news-contents__item:first-child {
    padding-top: 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-news-contents__item:hover {
    background-color: #eaf2fc;
  }
}
.p-news-contents__date {
  display: block;
  color: #194874;
  line-height: 200%;
}
.p-news-contents__category {
  margin-left: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  line-height: 1;
  background-color: #eaf2fc;
  padding: 0rem 1rem;
  border-radius: 2.5rem;
  min-width: 8.125rem;
  width: fit-content;
  min-height: 1.375rem;
  height: auto;
  margin-top: 0.33125rem;
}
.p-news-contents__text {
  font-size: 1rem;
  line-height: 200%;
}
@media screen and (max-width: 767px) {
  .p-news-contents__text {
    width: 100%;
  }
}
.p-news-button {
  margin: 6.25rem auto 0;
  max-width: 300px;
}
@media screen and (max-width: 767px) {
  .p-news-button {
    margin-top: 3.75rem;
  }
}
.p-news-pagination {
  margin: 5rem 0 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-news-pagination {
    margin: 3.75rem 0;
  }
}
.p-news-pagination .wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-news-pagination .wp-pagenavi {
    gap: 0.9375rem;
  }
}
.p-news-pagination .wp-pagenavi span,
.p-news-pagination .wp-pagenavi a {
  font-size: 1rem;
  line-height: 200%;
  border: 1px solid #194874;
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.5s;
}
.p-news-pagination .wp-pagenavi .current {
  background-color: #194874;
  color: white;
}
@media (hover: hover) and (pointer: fine) {
  .p-news-pagination .wp-pagenavi .larger:hover {
    background-color: #194874;
    color: white;
  }
}
.p-news-pagination .wp-pagenavi .nextpostslink,
.p-news-pagination .wp-pagenavi .previouspostslink {
  position: relative;
  border: none;
  color: white;
}
.p-news-pagination .wp-pagenavi .nextpostslink::after,
.p-news-pagination .wp-pagenavi .previouspostslink::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url("../../assets/images/lower/news/news-arrow-navy.svg") no-repeat center/cover;
  width: 0.4375rem;
  height: 0.6875rem;
}
.p-news-pagination .wp-pagenavi .previouspostslink::after {
  transform: translate(-50%, -50%) rotate(180deg);
}
@media screen and (min-width: 768px) {
  .p-news-single {
    margin-top: 11.25rem;
  }
}
.p-news-detail {
  margin: 5rem 0 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-news-detail {
    margin: 5rem 0 3.75rem;
  }
}
.p-news-detail__category {
  margin: 0 0 1.25rem 0;
}

.p-others-intro {
  /*margin-top: 6.875rem;*/
	margin-top: 1.5rem;

}
@media screen and (max-width: 767px) {
  .p-others-intro {
    margin-top: 0;
    padding-top: min(8.75vw, 35px);
  }
}
.p-others-intro__list {
  margin-top: 2.5rem;
  background-color: #eaf2fc;
  display: grid;
  grid-template-columns: 44.23% minmax(0, 520px);
  gap: min(3.75vw, 60px);
  padding: 3.125rem 2.5rem;
  border-radius: 1.25rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-others-intro__list {
    display: flex;
    margin-top: min(15vw, 60px);
    margin-bottom: min(15vw, 60px);
    flex-direction: column;
    gap: min(10vw, 40px);
    padding: min(12.5vw, 50px) min(6.25vw, 25px);
  }
}
.p-others-intro__item-title {
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 140%;
  color: #194874;
  border-left: 4px solid #194874;
  padding-left: 0.625rem;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-others-intro__item-title {
    margin-bottom: min(5vw, 20px);
  }
}
.p-others-intro__sub-list {
  display: flex;
  flex-direction: column;
  gap: 0.3125rem;
}
.p-others-intro__sub-item {
  position: relative;
  padding-left: 1.305rem;
  line-height: 200%;
}
@media screen and (max-width: 767px) {
  .p-others-intro__sub-item {
    font-size: 0.875rem;
    padding-left: min(6.25vw, 25px);
    line-height: 160%;
  }
}
.p-others-intro__sub-item::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 0.555rem;
  height: 1px;
  background-color: #4f85c8;
}
@media screen and (max-width: 767px) {
  .p-others-intro__sub-item::before {
    width: 0.8125rem;
  }
}
.p-others-intro__stack-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.125rem;
}
@media screen and (max-width: 767px) {
  .p-others-intro__stack-list {
    display: flex;
    flex-direction: column;
  }
}
.p-others-intro__stack-item {
  background-color: #194874;
  padding: 0.9375rem 1.25rem;
}
.p-others-intro__stack-title {
  font-size: 0.8125rem;
  line-height: 1.7;
  letter-spacing: 1.3px;
  color: #bfcad5;
}
.p-others-intro__stack-text {
  color: white;
  line-height: 1.7;
  font-weight: bold;
  font-size: 0.9375rem;
  margin-top: 0.25rem;
}
.p-others-consulting {
  /*margin: 8.75rem 0;*/
	margin: 1.5rem 0;
}
@media screen and (max-width: 767px) {
  .p-others-consulting {
    margin: 3.75rem 0;
  }
}
.p-others-consulting__grid {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-others-consulting__grid {
    display: flex;
    flex-direction: column;
    margin-top: 1.25rem;
  }
}
.p-others-consulting__card {
  background-color: #eaf2fc;
  border-radius: 1.25rem;
  padding: 2.5rem 1.5625rem;
}
@media screen and (max-width: 767px) {
  .p-others-consulting__card {
    padding: 1.25rem 1.5625rem;
  }
}
.p-others-consulting__card-num {
  font-size: 2.5rem;
  color: #194874;
  font-weight: bold;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-others-consulting__card-num {
    line-height: 1;
  }
}
.p-others-consulting__card-title {
  font-size: 1.5rem;
  line-height: 140%;
  font-weight: bold;
  color: #194874;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-others-consulting__card-title {
    margin-top: 0.625rem;
    font-size: 1.375rem;
  }
}
.p-others-consulting__card-text {
  margin-top: 1rem;
  font-size: 0.9375rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-others-consulting__card-text {
    margin-top: 0.625rem;
  }
}
.p-others-consulting__tag-list {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-others-consulting__tag-list {
    margin-top: 1.125rem;
  }
}
.p-others-consulting__tag-item {
  font-size: 0.8125rem;
  font-weight: bold;
  color: white;
  background-color: #194874;
  padding: 0.3125rem 0.6875rem;
  border-radius: 0.3125rem;
}
.p-others-support {
  position: relative;
  padding: 5.6953125rem 0;
  margin-bottom: 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-others-support {
    padding: min(15vw, 60px) 0;
    margin-bottom: 3.75rem;
  }
}
.p-others-support::after {
  content: "";
  display: inline-block;
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url("../../assets/images/lower/others/support-bg.jpg") no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .p-others-support::after {
    background-position: 60%;
  }
}
.p-others-support__title {
  color: white;
  font-size: 2rem;
  font-weight: bold;
  line-height: 140%;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .p-others-support__title {
    font-size: 1.5rem;
  }
}
.p-others-support__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-others-support__list {
    display: flex;
    flex-direction: column;
  }
}
.p-others-support__item {
  background-color: rgba(238, 238, 238, 0.9);
  padding: 2.5rem 1.5625rem;
}
@media screen and (max-width: 767px) {
  .p-others-support__item {
    padding: 1.25rem;
  }
}
.p-others-support__item-title {
  font-size: 1.25rem;
  color: #194874;
  padding-left: 0.625rem;
  font-weight: bold;
  line-height: 140%;
  border-left: 4px solid #194874;
  margin-bottom: 1.25rem;
}
.p-others-support__item-text {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
}
@media screen and (max-width: 767px) {
  .p-others-support__item-text {
    line-height: 140%;
  }
}
.p-others-support__item-text::before {
  content: "・";
}

.p-rules-section {
  margin: 5rem 0 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-rules-section {
    margin: 0;
    padding: 2.875rem 0 3.75rem;
  }
}
.p-rules__layout {
  display: grid;
  grid-template-columns: 17.1875rem 1fr;
  gap: min(6.1875vw, 99px);
}
@media screen and (max-width: 767px) {
  .p-rules__layout {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
}
.p-rules__title {
  font-size: 2rem;
  font-weight: bold;
  line-height: 140%;
}
@media screen and (max-width: 767px) {
  .p-rules__title {
    font-size: 1.375rem;
    margin-bottom: 0.875rem;
  }
}
.p-rules__sidebar {
  display: flex;
  flex-direction: column;
  padding: 0.46875rem 2.25rem 0rem 1.25rem;
  gap: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .p-rules__sidebar {
    padding: 0;
    gap: 0.625rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-rules__sidebar-link {
  font-weight: bold;
  line-height: 160%;
  padding: 0.4375rem 1.25rem;
  border-radius: 0.3125rem;
  background-color: #f8f8f8;
}
@media screen and (max-width: 767px) {
  .p-rules__sidebar-link {
    font-size: 0.8125rem;
    padding: 0.59375rem 1.25rem;
  }
}
.p-rules__sidebar-link.is-active {
  background-color: #194874;
  color: white;
}
.p-rules__table {
  margin-top: 1.625rem;
  width: 100%;
  border: 1px solid #d9d9d9;
  border-radius: 1.25rem;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-rules__table {
    border: none;
    margin-top: 2.25rem;
    border-radius: 0;
  }
}
.p-rules__table thead {
  background-color: #eaf2fc;
}
@media screen and (max-width: 767px) {
  .p-rules__table thead {
    display: none;
  }
}
.p-rules__table thead th {
  background-color: #eaf2fc;
}
.p-rules__table thead th:first-child {
  border-radius: 1.25rem 0 0 0;
}
.p-rules__table thead th:last-child {
  border-radius: 0 1.25rem 0 0;
}
.p-rules__table-head {
  font-size: 1rem;
  font-weight: 500;
  padding: 0.9375rem 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-rules__table tbody tr {
    display: block;
    width: 100%;
  }
}
.p-rules__table tbody tr > td:first-of-type {
  position: relative;
  padding-left: 4.0625rem;
  margin-bottom: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-rules__table tbody tr > td:first-of-type {
    padding-left: 1.9375rem;
    font-size: 1rem;
    font-weight: normal;
  }
}
.p-pdf::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url("../../assets/images/common/pdf-icon.svg") no-repeat;
  width: 1.3125rem;
  height: 1.5rem;
  aspect-ratio: 21/24;
  left: 1.75rem;
}
.p-xlsx::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  /*background: url("../../assets/images/common/xlsx-icon.svg") no-repeat;*/
  mask: url("../../assets/images/common/xlsx-icon.svg") no-repeat;
  width: 1.5rem;
  height: 1.5rem;
  aspect-ratio: 21/24;
  left: 1.75rem;
  background-color: #107C41;
}
.p-docx::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
 /* background: url("../../assets/images/common/docx-icon.svg") no-repeat;*/
  mask: url("../../assets/images/common/docx-icon.svg") no-repeat;
  width: 1.5rem;
  height: 1.5rem;
  aspect-ratio: 21/24;
  left: 1.75rem;
  background-color:  #1B5EBE;
}
@media screen and (max-width: 767px) {
  .p-rules__table tbody tr > td:first-of-type::before {
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-rules__table tbody tr > td:nth-child(2),
  .p-rules__table tbody tr > td:nth-child(3) {
    display: inline-block;
    width: auto;
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-rules__table tbody tr > td:nth-child(2) {
    margin-right: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-rules__table tbody tr > td:nth-child(4) {
    margin-top: 0.75rem;
  }
}
.p-rules__table tbody tr:last-child > td {
  border-bottom: none;
}
.p-rules__table tbody td {
  padding: 0.9375rem 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-rules__table tbody td {
    display: block;
    width: 100%;
    padding: 0;
  }
}
.p-rules__table tbody td:first-child {
  font-weight: bold;
}
.p-rules__table-row > th,
.p-rules__table-row > td {
  border-bottom: 1px solid #d9d9d9;
}
@media screen and (max-width: 767px) {
  .p-rules__table-row {
    display: block;
    width: 100%;
    border-top: 1px solid #d9d9d9;
    padding: 1.375rem 0;
  }
  .p-rules__table-row > th,
  .p-rules__table-row > td {
    border-bottom: none;
  }
}
@media screen and (max-width: 767px) {
  .p-rules__table-row:last-child {
    border-bottom: 1px solid #d9d9d9;
  }
}
.p-rules__table-list {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-rules__table-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.625rem;
  }
}
.p-rules__table-link {
  border: 1px solid #194874;
  border-radius: 0.5rem;
  padding: 0.625rem 0.875rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-rules__table-link {
    font-size: 0.8125rem;
    line-height: 160%;
    padding: 0.5625rem 1.25rem;
    text-align: center;
  }
}
.p-rules__table-link--view {
  color: #194874;
}
.p-rules__table-link--download {
  color: white;
  background-color: #194874;
}

.p-recruit-heading__title {
  font-family: var(--font-en);
  font-size: 5.25rem;
  line-height: 1;
  color: #194874;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-recruit-heading__title {
    font-size: 1.375rem;
    line-height: 140%;
  }
}
.p-recruit-heading__title--white {
  color: white;
}
.p-recruit-heading__label {
  margin-top: 1.25rem;
  font-size: 2.25rem;
  font-weight: bold;
  line-height: 140%;
}
@media screen and (max-width: 767px) {
  .p-recruit-heading__label {
    font-size: 1.25rem;
    margin-top: 0.625rem;
  }
}
.p-recruit-heading__label--white {
  color: white;
}
.p-recruit-kv {
  margin-top: 6.3725rem;
  aspect-ratio: 1600/877;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-recruit-kv {
    margin-top: 6.9975rem;
    aspect-ratio: 400/500;
  }
}
.p-recruit-kv::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  z-index: -1;
  height: 100%;
  inset: 0;
  background: url("../../assets/images/lower/recruit/kv-bg.jpg") no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .p-recruit-kv::after {
    background-position: right;
    background: url("../../assets/images/lower/recruit/kv-bg-sp.jpg") no-repeat center/cover;
  }
}
.p-recruit-kv__body {
  position: absolute;
  top: 19.2%;
  left: 6.75%;
}
@media screen and (max-width: 767px) {
  .p-recruit-kv__body {
    position: static;
    width: 87.5%;
  }
}
.p-recruit-kv__title {
  font-weight: 500;
  font-family: var(--font-en);
  font-size: min(9.625vw, 154px);
  line-height: 0.9;
  color: #194874;
  letter-spacing: 3.08px;
}
@media screen and (max-width: 767px) {
  .p-recruit-kv__title {
    text-align: center;
    font-size: 3.75rem;
  }
}
.p-recruit-kv__sub-title {
  font-size: min(1.875vw, 30px);
  line-height: 1.7;
  font-weight: bold;
  letter-spacing: 1.8px;
  color: #194874;
  margin-top: min(1.875vw, 30px);
}
@media screen and (max-width: 767px) {
  .p-recruit-kv__sub-title {
    text-align: center;
    font-size: clamp(1.25rem, 20px + 22 * (100vw - 400px) / 367, 2rem);
    margin-top: min(5vw, 20px);
    line-height: 1.5;
  }
}
.p-recruit-kv__text {
  margin-top: min(1.25vw, 20px);
}
@media screen and (max-width: 767px) {
  .p-recruit-kv__text {
    font-size: clamp(0.9375rem, 15px + 22 * (100vw - 400px) / 367, 1.125rem);
    text-align: center;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
  }
}
.p-recruit-kv__button-list {
  margin-top: min(3.75vw, 60px);
  display: grid;
  grid-template-columns: 20rem 20rem;
  gap: min(1.25vw, 20px);
}
@media screen and (max-width: 767px) {
  .p-recruit-kv__button-list {
    display: flex;
    flex-direction: column;
    margin-top: min(5vw, 20px);
    gap: min(2.5vw, 10px);
  }
}
.p-recruit-intro {
  margin-top: 3.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-recruit-intro {
    margin-top: 3.75rem;
  }
}
.p-recruit-intro::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 35.7%;
  right: 5.7%;
  background: url(../../assets/images/top/intro-bg-circle.png) no-repeat;
  background-size: cover;
  width: 28.375%;
  z-index: -1;
  aspect-ratio: 1/1;
  animation: float-y 3s ease-in-out infinite;
}
.p-recruit-intro__title {
  font-size: 4.5rem;
  font-weight: bold;
  color: #194874;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-intro__title {
    font-size: 1.375rem;
    line-height: 140%;
    margin-bottom: 1.25rem;
  }
}
.p-recruit-intro__text {
  font-weight: bold;
  font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-intro__text {
    font-size: 1.125rem;
  }
}
.p-recruit-intro__text + .p-recruit-intro__text {
  margin-top: 1lh;
}
.p-recruit-intro__sub-title {
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 180%;
  color: #194874;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-intro__sub-title {
    margin-top: 3.75rem;
    font-size: 1.375rem;
    line-height: 140%;
  }
}
.p-recruit-features {
  margin-top: 6.875rem;
  background-color: #f6f7f9;
  padding-top: 3.4375rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-recruit-features {
    margin-top: 3.75rem;
    padding-top: 3.125rem;
  }
}
.p-recruit-features::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: max(-25.3125vw, -400px);
  background: url(../../assets/images/top/description-bg-figure.png) no-repeat;
  background-size: cover;
  width: 33.4375%;
  z-index: -1;
  left: 3.8125%;
  aspect-ratio: 535/702;
}
.p-recruit-features__text {
  margin-top: 1.25rem;
}
.p-recruit-features__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 3.75rem;
  padding-bottom: 5.3125rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-features__list {
    margin-top: 2.5rem;
    padding: 0 1.5625rem 3.75rem;
    flex-direction: column;
    display: flex;
    gap: 1.25rem;
  }
}
.p-recruit-features__card {
  border-right: 1px solid #e6e8ec;
  border-top: 1px solid #e6e8ec;
  padding-inline: min(2.25vw, 36px);
  padding-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-features__card {
    border: none;
    padding: 0;
  }
}
.p-recruit-features__figure {
  position: relative;
}
.p-recruit-features__figure img {
  border-radius: 1.25rem;
}
.p-recruit-features__num {
  position: absolute;
  font-size: 3.25rem;
  font-family: var(--font-en);
  color: #194874;
  line-height: 1.23;
  font-weight: 500;
  left: 1.5625rem;
  bottom: 1.125rem;
  text-shadow: 0 0 0.5rem rgba(255, 255, 255, 0.9), 0 0 1rem rgba(255, 255, 255, 0.8), 0 0 1.75rem rgba(255, 255, 255, 0.7);
}
.p-recruit-features__card-title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 140%;
  margin-top: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-features__card-title {
    margin-top: 1.25rem;
    font-size: 1.25rem;
  }
}
.p-recruit-features__card-text {
  margin-top: 0.9375rem;
}
.p-recruit-number {
  background-color: #194874;
  padding: 5rem 0;
}
@media screen and (max-width: 767px) {
  .p-recruit-number {
    padding: 3.125rem 0;
  }
}
.p-recruit-number__list {
  margin-top: 3.75rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(1.875vw, 30px);
}
@media screen and (max-width: 767px) {
  .p-recruit-number__list {
    margin-top: 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }
}
.p-recruit-number__item {
  background-color: white;
  border-radius: 1.875rem;
  display: flex;
  flex-direction: column;
  gap: 0.3125rem;
  padding: 3.125rem min(2.6875vw, 43px);
}
@media screen and (max-width: 767px) {
  .p-recruit-number__item {
    padding: 1.25rem 1.5625rem;
    gap: 0;
  }
}
.p-recruit-number__title {
  font-size: 1.5rem;
  color: #194874;
  font-weight: bold;
  line-height: 140%;
}
@media screen and (max-width: 767px) {
  .p-recruit-number__title {
    font-size: 1rem;
  }
}
.p-recruit-number__sub-list {
  display: grid;
  grid-template-columns: 45.53% 1fr;
  gap: min(1.25vw, 20px);
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-recruit-number__sub-list {
    gap: min(3.75vw, 15px);
    display: flex;
    flex-direction: column;
    margin-top: 0.625rem;
    align-items: flex-start;
  }
}
.p-recruit-number__num {
  font-size: 6.125rem;
  line-height: 120%;
  color: #194874;
  font-weight: 500;
  font-family: var(--font-en);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-recruit-number__num {
    display: flex;
    align-items: flex-end;
    gap: 1.875rem;
    justify-content: center;
    font-size: 3.75rem;
  }
}
.p-recruit-number__unit {
  font-size: 1.9375rem;
  line-height: 140%;
  font-weight: bold;
  color: #194874;
  margin-left: -0.6em;
}
.p-recruit-requirements {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-requirements {
    margin-top: 3.75rem;
  }
}
.p-recruit-requirements__lead {
  margin-top: 1.25rem;
}
.p-recruit-requirements__list {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-requirements__list {
    margin-top: 2.5rem;
  }
}
.p-recruit-requirements__item {
  border-top: 1px solid #e6e8ec;
  padding: 1.625rem min(3.375vw, 54px) 1.625rem min(2vw, 32px);
  display: grid;
  align-items: center;
  grid-template-columns: 22.32% 1fr;
}
@media screen and (max-width: 767px) {
  .p-recruit-requirements__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: min(5vw, 20px);
    padding: 1.25rem 0;
  }
}
.p-recruit-requirements__item:first-child .p-recruit-requirements__bold {
  margin-bottom: 0.625rem;
}
.p-recruit-requirements__item:last-child {
  border-bottom: 1px solid #e6e8ec;
}
.p-recruit-requirements__head {
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 200%;
}
@media screen and (max-width: 767px) {
  .p-recruit-requirements__head {
    font-size: 1rem;
  }
}
.p-recruit-requirements__body {
  line-height: 200%;
}
.p-recruit-requirements__bold,
.p-recruit-requirements strong {
  display: block;
  font-weight: bold;
}
.p-recruit-training {
  background-color: #194874;
  padding: 5rem 0;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-training {
    margin-top: 3.75rem;
    padding: 3.125rem 0;
  }
}
.p-recruit-training__text {
  margin-top: 0.9375rem;
}
.p-recruit-training__list {
  margin-top: 2.875rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: min(3.75vw, 60px);
  row-gap: 0;
}
@media screen and (max-width: 767px) {
  .p-recruit-training__list {
    margin-top: 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
  }
}
.p-recruit-training__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
}
.p-recruit-training__item-title {
  font-size: 1.75rem;
  line-height: 140%;
  font-weight: bold;
  color: white;
}
@media screen and (max-width: 767px) {
  .p-recruit-training__item-title {
    font-size: 1.375rem;
  }
}
.p-recruit-training__item-text {
  margin-block: 1.25rem;
}
.p-recruit-training__step-list {
  background-color: white;
  border-radius: 1.25rem;
  padding: 1.75rem 3.125rem 1.75rem 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-training__step-list {
    padding: 1.25rem;
  }
}
.p-recruit-training__step-list + .p-recruit-training__step-list {
  margin-top: 1.25rem;
}
.p-recruit-training__step-item {
  display: grid;
  align-items: flex-start;
  grid-template-columns: 21.73% 1fr;
  gap: min(1.25vw, 20px);
}
@media screen and (max-width: 767px) {
  .p-recruit-training__step-item {
    grid-template-columns: 25% 1fr;
    gap: 1.25rem;
  }
}
.p-recruit-training__step-title {
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 200%;
}
.p-recruit-training__step-text {
  line-height: 160%;
}
.p-recruit-benefits {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-benefits {
    margin-top: 3.75rem;
  }
}
.p-recruit-benefits__lead {
  margin-top: 1.25rem;
}
.p-recruit-benefits__list {
  margin-top: 3.75rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .p-recruit-benefits__list {
    margin-top: re(40);
    display: flex;
    gap: 1.25rem;
    flex-direction: column;
  }
}
.p-recruit-benefits__item {
  border: 1px solid #e6e8ec;
  padding: 3rem 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-benefits__item {
    padding: 1.25rem;
    border: 1px solid #e6e8ec;
  }
}
.p-recruit-benefits__item:first-child, .p-recruit-benefits__item:nth-of-type(2) {
  border-right: none;
  border-bottom: none;
}
@media screen and (max-width: 767px) {
  .p-recruit-benefits__item:first-child, .p-recruit-benefits__item:nth-of-type(2) {
    border-right: 1px solid #e6e8ec;
    border-bottom: 1px solid #e6e8ec;
  }
}
.p-recruit-benefits__item:nth-of-type(3) {
  border-bottom: none;
}
@media screen and (max-width: 767px) {
  .p-recruit-benefits__item:nth-of-type(3) {
    border-bottom: 1px solid #e6e8ec;
  }
}
.p-recruit-benefits__item:nth-of-type(5) {
  border-left: none;
  border-right: none;
}
@media screen and (max-width: 767px) {
  .p-recruit-benefits__item:nth-of-type(5) {
    border-left: 1px solid #e6e8ec;
    border-right: 1px solid #e6e8ec;
  }
}
.p-recruit-benefits__head {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.p-recruit-benefits__item-title {
  font-size: 1.25rem;
  line-height: 140%;
  font-weight: bold;
  color: #194874;
}
.p-recruit-benefits__item-text {
  line-height: 200%;
  margin-top: 0.875rem;
}
.p-recruit-benefits__badge {
  line-height: 200%;
  color: #194874;
  background-color: #f6f7f9;
  padding: 0.25rem 0.75rem;
  display: inline-block;
  margin-top: 0.625rem;
}
.p-recruit-flow {
  background-color: #f6f7f9;
  padding: 5rem 0;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-flow {
    margin-top: 3.75rem;
    padding: 3.125rem 0;
  }
}
.p-recruit-flow__lead {
  line-height: 200%;
  margin-top: 1.25rem;
}
.p-recruit-flow__list {
  margin-top: 3.75rem;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .p-recruit-flow__list {
    margin-top: 2.5rem;
  }
}
.p-recruit-flow__item {
  border-bottom: 1px solid #e6e8ec;
  padding: 2.5rem 2.5rem 2.5rem 3.28125rem;
  display: flex;
  align-items: center;
  gap: min(6.5625vw, 105px);
}
@media screen and (max-width: 767px) {
  .p-recruit-flow__item {
    padding: 1.25rem;
    gap: 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}
.p-recruit-flow__item:first-child {
  border-top: 1px solid #e6e8ec;
}
.p-recruit-flow__item:last-child {
  margin-top: 2.5rem;
  background-color: #194874;
  color: white;
  border: none;
}
.p-recruit-flow__item:last-child .p-recruit-flow__step {
  color: white;
}
.p-recruit-flow__item:last-child .p-recruit-flow__count {
  color: white;
}
.p-recruit-flow__num {
  display: flex;
  flex-direction: column;
  gap: 0.4375rem;
  justify-content: center;
  font-family: var(--font-en);
  font-weight: 500;
  text-align: center;
}
.p-recruit-flow__step {
  line-height: 1.25;
  letter-spacing: 0.02em;
  color: #8a8a8a;
}
.p-recruit-flow__count {
  font-size: 4.0625rem;
  color: #194874;
  line-height: 0.9;
}
@media screen and (max-width: 767px) {
  .p-recruit-flow__count {
    font-size: 3.75rem;
  }
}
.p-recruit-flow__title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 140%;
}
@media screen and (max-width: 767px) {
  .p-recruit-flow__title {
    font-size: 1rem;
  }
}
.p-recruit-flow__text {
  line-height: 200%;
  margin-top: 0.875rem;
}
.p-recruit-contact {
  position: relative;
  aspect-ratio: 1600/796;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-recruit-contact {
    aspect-ratio: 400/500;
  }
}
.p-recruit-contact::after {
  content: "";
  height: 100%;
  width: 100%;
  display: inline-block;
  position: absolute;
  z-index: -1;
  inset: 0;
  background: url("../../assets/images/lower/recruit/contact-bg.jpg") no-repeat;
  background-size: cover;
}
.p-recruit-contact__body {
  position: static;
  text-align: center;
  color: white;
}
@media screen and (max-width: 767px) {
  .p-recruit-contact__body {
    width: 87.5%;
  }
}
.p-recruit-contact__title {
  font-size: min(7.5vw, 120px);
  line-height: 1;
  font-weight: 500;
  font-family: var(--font-en);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruit-contact__title {
    font-size: calc(28px + 22 * (100vw - 400px) / 367);
  }
}
.p-recruit-contact__sub-title {
  font-size: 1.75rem;
  line-height: 160%;
  margin-top: min(1.875vw, 30px);
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .p-recruit-contact__sub-title {
    margin-top: 1.25rem;
    font-size: clamp(1.25rem, 20px + 22 * (100vw - 400px) / 367, 2rem);
  }
}
.p-recruit-contact__text {
  margin-top: min(1.875vw, 30px);
}
@media screen and (max-width: 767px) {
  .p-recruit-contact__text {
    margin-top: 1.25rem;
    font-size: clamp(0.9375rem, 15px + 22 * (100vw - 400px) / 367, 1.125rem);
  }
}

.p-internship-intro {
  margin: 7.5rem 0 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-internship-intro {
    margin: 3.75rem 0;
  }
}
.p-internship-tabs {
  margin-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-internship-tabs {
    margin-top: 2.25rem;
  }
}
.p-internship-tabs__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
  border-bottom: 1px solid #d9d9d9;
}
@media screen and (max-width: 767px) {
  .p-internship-tabs__list {
    grid-template-columns: repeat(2, 1fr);
    border-bottom: 0;
  }
}
.p-internship-tabs__tab {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 4rem;
  padding: 0.75rem 1rem;
  border: 1px solid #d9d9d9;
  border-bottom: 0;
  border-radius: 0.5rem 0.5rem 0 0;
  background-color: #eeeeee;
  color: #0a0a0a;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  .p-internship-tabs__tab:hover {
    border-color: #194874;
    color: #194874;
  }
}
@media screen and (max-width: 767px) {
  .p-internship-tabs__tab {
    min-height: 3.5rem;
    border-bottom: 1px solid #d9d9d9;
    border-radius: 0.5rem;
    font-size: 0.9375rem;
  }
}
.p-internship-tabs__tab.is-active {
  background-color: #fff;
  border-color: #194874;
  color: #194874;
}
.p-internship-tabs__tab.is-active::after {
  position: absolute;
  right: 0;
  bottom: -0.0625rem;
  left: 0;
  height: 0.125rem;
  background-color: #fff;
  content: "";
}
@media screen and (max-width: 767px) {
  .p-internship-tabs__tab.is-active::after {
    display: none;
  }
}
.p-internship-tabs__tab:focus-visible {
  outline: 0.1875rem solid rgba(25, 72, 116, 0.28);
  outline-offset: 0.1875rem;
}
.p-internship-tabs__panel {
  padding: 2.5rem;
  border: 1px solid #194874;
  border-top: 0;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .p-internship-tabs__panel {
    margin-top: 1rem;
    padding: 1.5rem 1.25rem;
    border-top: 1px solid #194874;
    border-radius: 0.5rem;
  }
}
.p-internship-tabs__heading {
  font-weight: bold;
  line-height: 140%;
  color: #194874;
  font-size: 1.25rem;
  border-left: 4px solid #194874;
  padding-left: 0.625rem;
  margin-bottom: 1.25rem;
}
.p-internship-tabs__text {
  font-size: 1rem;
  line-height: 140%;
  font-weight: normal;
}
.p-internship-tabs__text hr {
  border-top: 1px solid #194874;
  margin-block: 1.25rem;
}
.p-internship-tabs__text p:has(> strong) {
  display: block;
}
.p-internship-tabs__text p span {
  display: block;
  padding-left: 1.5rem;
  margin-top: 0.3125rem;
}
.p-internship-tabs__text p:nth-of-type(n + 2) {
  margin-top: 1lh;
}
.p-internship-tabs__text strong {
  font-size: 1.125rem;
}
.p-internship-table {
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #d9d9d9;
  border-radius: 1.25rem;
  width: 100%;
}
.p-internship-table__heading {
  background-color: #eaf2fc;
  font-weight: 500;
  padding: 0.9375rem 1.25rem;
  border-bottom: 1px solid #d9d9d9;
}
.p-internship-table__row:first-child .p-internship-table__heading {
  border-radius: 1.25rem 0 0 0;
}
.p-internship-table__row:last-child .p-internship-table__heading {
  border-radius: 0 0 0 1.25rem;
  border: none;
}
.p-internship-table__row:last-child .p-internship-table__data {
  border: none;
}
.p-internship-table__data {
  padding: 0.9375rem 1.25rem;
  border-bottom: 1px solid #d9d9d9;
}
.p-internship-voice__grid {
  border: 1px solid #194874;
  grid-template-columns: 30px 1fr;
  gap: 1em;
  padding: 1.25rem;
  display: grid;
}
.p-internship-voice__grid:nth-of-type(n + 2) {
  margin-top: 2rem;
}
.p-internship-voice__grid strong {
  display: block;
  margin-bottom: 0.5em;
}
.p-internship-voice__grid span {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}
.cms-table img.wp-image-602 {
	margin: auto auto;
}
.p-404 {
  margin-top: 11.875rem;
}
@media screen and (max-width: 767px) {
  .p-404 {
    /*margin-top: 7.5rem;*/
	  margin-top: 1.5rem;
  }
}
.p-404 .c-heading__label {
  font-size: 7.0625rem;
  line-height: 1.22;
  letter-spacing: 3.08px;
  font-weight: 500;
  font-family: var(--font-en);
}
@media screen and (max-width: 767px) {
  .p-404 .c-heading__label {
    font-size: 3.75rem;
  }
}
.p-404 .c-heading__title {
  font-size: 1.75rem;
  border-bottom: 1px solid #d9d9d9;
  padding-bottom: 0.3125rem;
  margin-top: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .p-404 .c-heading__title {
    margin-top: 0;
  }
}
.p-404__title {
  font-size: 2.25rem;
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-404__title {
    font-size: 1.5rem;
    margin-top: 3.75rem;
  }
}
.p-404__text {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-404__text {
    margin-top: 1.25rem;
  }
}
.p-404__button {
  margin: 7.5rem auto 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-404__button {
    margin-block: 3.75rem;
  }
}/*# sourceMappingURL=style.css.map */
