@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
:root {
  --sans-serif: "Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
  	sans-serif;
  --serif: "Noto Serif JP", serif;
  --en-sans: "Poppins", sans-serif;
  --mix-sans: "Poppins","Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",serif;
  --en-serif: "", serif;
  --base: #fff;
  --main: #003B57;
  --gray: #333;
  --accent: #d81b60;
  --eng: #00A8F7;
  --air: #F73F9E;
  --sp-base-fs: 4vw;
  --sp-pad: 5vw;
}

/*========================================
  ブラウザごとのデフォルトスタイルの初期化
========================================*/
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dt,
dd,
ol,
ul,
figure {
  all: unset;
  display: revert;
  box-sizing: border-box;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

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

img {
  vertical-align: middle;
}

/*========================================
  要素の基本的なスタイル
========================================*/
html {
  font-size: 10px;
  height: 100%;
}
html.is-smooth {
  scroll-padding-top: 10em;
  overflow: auto;
}

body {
  text-size-adjust: 100%;
  scroll-padding-top: 31.25em;
  font-family: var(--sans-serif);
  font-size: 1.6rem;
  line-height: 1.8;
  min-width: 320px;
  color: var(--main);
  background: var(--base);
}
body.is-modal {
  height: 100vh;
}
@media screen and (max-width: 1260px) and (min-width: 767px) {
  body {
    font-size: 1.2777777778vw;
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: var(--sp-base-fs);
  }
}

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

:focus-visible {
  outline: 2px solid blue;
}

a {
  color: var(--main);
  text-decoration: none;
}

img,
svg,
iframe,
video,
picture {
  max-width: 100%;
}

img {
  letter-spacing: 0;
  font-size: 12px;
  height: auto;
}
@media screen and (max-width: 1260px) and (min-width: 767px) {
  img {
    font-size: 0.9523809524vw;
  }
}

a {
  word-break: break-all;
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    display: inline-block;
    pointer-events: none;
  }
}

small {
  font-size: 80%;
}

button,
input[type=button],
input[type=submit] {
  cursor: pointer;
  font: inherit;
}

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

label {
  cursor: pointer;
  display: inline-block;
}

/*========================================
  コンテンツ（メインコンテンツとサイドバーのラッパー）
========================================*/
.home .l-content {
  padding-top: 0;
  background: transparent;
}

.l-content {
  padding-top: 4.6875em;
  background: #F0F2F5;
}
@media screen and (max-width: 767px) {
  .l-content {
    padding-top: 16vw;
  }
}

/*========================================
  サイト共通のフッター
========================================*/
.l-footer {
  position: relative;
  z-index: 14;
  background: var(--main);
  padding-top: 13.75em;
  color: #fff;
}
@media screen and (max-width: 991px) {
  .l-footer {
    padding-left: 2.5em;
    padding-right: 2.5em;
  }
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding-right: 0;
    padding-left: 0;
    padding-top: 26.6666666667vw;
    padding-bottom: 34.6666666667vw;
  }
}
.l-footer a {
  color: #fff;
}
@media (hover: hover) {
  .l-footer a:hover {
    text-decoration: underline;
  }
}
@media screen and (min-width: 768px) {
  .l-footer__row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.l-footer__row-a {
  border-top: 1px solid #3E697E;
}
@media screen and (min-width: 768px) {
  .l-footer__row-a {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 3.125em;
    padding: 1.25em 0 8.75em 0;
  }
}
.l-footer__link-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
.l-footer__link-row > * {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .l-footer__link-row > * {
    width: 45%;
  }
}
.l-footer__wname {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 1.5em;
}
.l-footer__logo {
  width: 5em;
}
.l-footer__logo img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .l-footer__logo {
    width: 20.8vw;
  }
}
.l-footer__name {
  font-size: 125%;
  margin-left: 1.25em;
}
.l-footer__name span {
  display: block;
  font-size: 60%;
}
.l-footer__info {
  margin-top: 1.25em;
}
.l-footer__info > dt {
  font-size: 93.75%;
  font-weight: bold;
}
.l-footer__info > dd {
  font-size: 87.5%;
}
@media screen and (min-width: 768px) {
  .l-footer__link-wrap {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__link-wrap {
    margin-top: 13.3333333333vw;
  }
}
.l-footer__list {
  line-height: 1.5;
  font-size: 93.75%;
}
.l-footer__list > li {
  padding-left: 12px;
  position: relative;
  margin-bottom: 1em;
}
.l-footer__list > li::before {
  position: absolute;
  left: 0;
  top: 0.8em;
  display: block;
  content: "";
  width: 4px;
  height: 4px;
  background: #F73F9E;
}
.l-footer__slist {
  margin-top: 2.8571428571em;
  line-height: 1.5;
  font-size: 87.5%;
}
@media screen and (max-width: 767px) {
  .l-footer__slist {
    margin-top: 5.3333333333vw;
    font-size: 3.2vw;
  }
}
.l-footer__slist > li {
  position: relative;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .l-footer__slist > li {
    margin-left: 1em;
  }
}
.l-footer__sslist {
  line-height: 1.5;
  font-size: 75%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .l-footer__sslist {
    padding: 5.3333333333vw 1em 2.6666666667vw 1em;
  }
  .l-footer__sslist > * {
    width: 48%;
    margin-bottom: 1em;
  }
}
@media screen and (min-width: 768px) {
  .l-footer__sslist > li:not(:last-child) {
    margin-right: 2em;
  }
}
.l-footer__sslist a {
  color: #CCC;
}
.l-footer__copyright {
  font-size: 68.75%;
  color: #CCC;
}
@media screen and (max-width: 767px) {
  .l-footer__copyright {
    display: block;
    letter-spacing: 0;
    text-align: center;
  }
}
.l-footer__block {
  position: absolute;
  width: 5.625em;
}
@media screen and (max-width: 767px) {
  .l-footer__block {
    width: 12vw;
  }
}
.l-footer__block.is-1 {
  left: 0;
  bottom: 1.875em;
}
@media screen and (max-width: 767px) {
  .l-footer__block.is-1 {
    bottom: 21.0666666667vw;
  }
}
.l-footer__block.is-2 {
  left: 20em;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .l-footer__block.is-2 {
    left: 22.6666666667vw;
    bottom: 17.0666666667vw;
  }
}
.l-footer__block.is-3 {
  right: 20em;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .l-footer__block.is-3 {
    right: 22.6666666667vw;
    bottom: 17.0666666667vw;
  }
}
.l-footer__block.is-4 {
  right: 0;
  bottom: 1.875em;
}
@media screen and (max-width: 767px) {
  .l-footer__block.is-4 {
    bottom: 21.0666666667vw;
  }
}
.l-footer__sns {
  display: grid;
  align-items: center;
  width: fit-content;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 2em;
}
@media screen and (max-width: 767px) {
  .l-footer__sns {
    margin-right: auto;
    margin-left: auto;
    grid-column-gap: 6.4vw;
    margin-bottom: 5.3333333333vw;
  }
}
.l-footer__sns-item {
  width: 2.125em;
  height: 2.125em;
}
@media screen and (max-width: 767px) {
  .l-footer__sns-item {
    width: 9.0666666667vw;
    height: 9.0666666667vw;
  }
}
@media (hover: hover) {
  .l-footer__sns-item {
    transition-property: opacity;
    transition-duration: 320ms;
  }
  .l-footer__sns-item:hover {
    opacity: 0.6;
  }
}
.l-footer__sns-item img {
  display: block;
  width: 100%;
  height: auto;
}

/*========================================
  サイト共通のヘッダー
========================================*/
.home .l-header:not(.is-clone) {
  background: transparent;
  box-shadow: none;
}
.home .l-header:not(.is-clone) .l-header__logo {
  background: url("/assets/img/content/logo.svg") 0 0/contain no-repeat;
}
.home .l-header:not(.is-clone) .l-header__logo img {
  opacity: 0;
}

.l-header {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 100;
  background: #fff;
  box-shadow: 0px 8px 16px rgba(0, 29, 59, 0.06);
}
.l-header.is-clone {
  position: fixed;
  transform: translateY(-100%);
  transition: 0.3s transform;
}
.l-header.is-clone.is-show {
  transform: translateY(0);
}
.l-header__inner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.l-header__logo {
  width: 3.75em;
  margin: 0.625em 0 0.625em 1.25em;
}
@media screen and (max-width: 767px) {
  .l-header__logo {
    margin: 0 0 0 2.1333333333vw;
    width: 12.8vw;
  }
}
/*========================================
  メインコンテンツ
========================================*/
.l-main.is-enta {
  background: #FEF7F8;
}

/*========================================
  ヘッダーのナビゲーション（グローバルナビ）
========================================*/
.home .l-header:not(.is-clone) .l-nav__body a {
  color: #fff;
}
.home .l-header:not(.is-clone) .l-nav__link.is-study::after {
  background-color: #fff;
}

.l-nav__btn {
  border: 0;
  width: 4.625em;
  height: 4.625em;
  background: var(--main);
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background 0.25s;
}
@media screen and (max-width: 767px) {
  .l-nav__btn {
    width: 16vw;
    height: 16vw;
  }
}
@media (hover: hover) {
  .l-nav__btn:hover {
    background-color: #F0F2F5;
  }
  .l-nav__btn:hover rect {
    fill: #003B57;
  }
}
.l-nav__btn svg {
  vertical-align: top;
  width: 1.75em;
  height: 1.25em;
}
@media screen and (max-width: 767px) {
  .l-nav__btn svg {
    width: 5.8666666667vw;
    height: 4.2666666667vw;
  }
}
.l-nav__btn .is-line-1,
.l-nav__btn .is-line-4 {
  transform-origin: center;
  transition-property: opacity;
  transition-duration: 0.2s;
}
.l-nav__btn .is-line-2,
.l-nav__btn .is-line-3 {
  transform-origin: center;
  transition-property: transform;
  transition-duration: 0.2s;
}
.l-nav__btn.is-active {
  transform: translateX(0);
}
.l-nav__btn.is-active svg {
  width: 2.5em;
  height: 2.375em;
}
.l-nav__btn.is-active .is-line-1,
.l-nav__btn.is-active .is-line-4 {
  opacity: 0;
}
.l-nav__btn.is-active .is-line-2 {
  transform: rotate(38deg);
}
.l-nav__btn.is-active .is-line-3 {
  transform: rotate(-38deg);
}
.l-nav__line {
  fill: #fff;
  stroke-miterlimit: 10;
  stroke-width: 2px;
  transition: fill 0.25s;
}
.l-nav__body {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
.l-nav__list, .l-nav__list-a {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.l-nav__item {
  font-size: 87.5%;
}
@media screen and (min-width: 768px) {
  .l-nav__item {
    margin-right: 2.1428571429em;
  }
}
.l-nav__link {
  display: inline-block;
  position: relative;
  font-weight: bold;
  transition: color 0.05s;
}
.l-nav__link::after {
  position: absolute;
  left: 50%;
  bottom: -6px;
  transform: translateX(-50%);
  content: "";
  display: block;
  width: 3px;
  height: 3px;
  background: var(--main);
  transition: width 0.25s;
}
.l-nav__link[aria-current=page]::after {
  width: 100%;
}
@media (hover: hover) {
  .l-nav__link:hover::after {
    width: 100%;
  }
}
.l-nav__link.is-eng::after {
  background: var(--eng);
}
.l-nav__link.is-air::after {
  background: var(--air);
}
.l-nav__item-a {
  font-size: 81.25%;
}
@media screen and (min-width: 768px) {
  .l-nav__item-a {
    margin-right: 1.5384615385em;
  }
}
.l-nav__link-a {
  position: relative;
}
.l-nav__link-a::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -0.2em;
  width: 0;
  height: 1px;
  background: var(--main);
  transition: width 0.25s;
}
@media (hover: hover) {
  .l-nav__link-a:hover::before {
    width: 100%;
  }
}

.l-nav-modal {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 110;
  width: 100%;
  background: linear-gradient(to left, #e7eef7 0%, #dee7f5 28.08%, #ebdff2 53.69%, #e8ede8 78.82%, #e9eef7 100%);
  padding-bottom: 100px;
  transition: 0.4s opacity;
  opacity: 1;
  pointer-events: all;
}
.l-nav-modal[aria-hidden=true] {
  opacity: 0;
  pointer-events: none;
}
.l-nav-modal[aria-hidden=true] .l-nav-modal__header {
  display: none;
}
@media screen and (min-width: 768px) {
  .l-nav-modal__header-wrap {
    background: linear-gradient(to left, #e7eef7 0%, #dee7f5 28.08%, #ebdff2 53.69%, #e8ede8 78.82%, #e9eef7 100%);
    position: sticky;
    top: 0;
    z-index: 2;
    margin-bottom: 2.5em;
    padding-bottom: 1.875em;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-modal__header-wrap {
    padding-top: 17.3333333333vw;
  }
}
.l-nav-modal__primary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .l-nav-modal__primary {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 5.3333333333vw;
    padding-left: var(--sp-pad);
    padding-right: var(--sp-pad);
  }
}
.l-nav-modal__header {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .l-nav-modal__header {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(to left, #e7eef7 0%, #dee7f5 28.08%, #ebdff2 53.69%, #e8ede8 78.82%, #e9eef7 100%);
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 10;
  }
}
@media screen and (min-width: 768px) {
  .l-nav-modal__body {
    padding-top: 1em;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-modal__body {
    padding-left: var(--sp-pad);
    padding-right: var(--sp-pad);
  }
}
.l-nav-modal__logo {
  width: 3.75em;
  margin: 0.625em 0 0.625em 1.25em;
}
@media screen and (max-width: 767px) {
  .l-nav-modal__logo {
    margin: 0 0 0 2.1333333333vw;
    width: 12.8vw;
  }
}
.l-nav-modal__btn {
  border: 0;
  width: 4.625em;
  height: 4.625em;
  background: #fff;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-nav-modal__btn {
    width: 16vw;
    height: 16vw;
  }
}
.l-nav-modal__btn svg {
  vertical-align: top;
  width: 1.75em;
  height: 1.25em;
  fill: var(--main);
}
.l-nav-modal__btn .is-line-1,
.l-nav-modal__btn .is-line-4 {
  transform-origin: center;
  transition-property: opacity;
  transition-duration: 0.2s;
}
.l-nav-modal__btn .is-line-2,
.l-nav-modal__btn .is-line-3 {
  transform-origin: center;
  transition-property: transform;
  transition-duration: 0.2s;
}
.l-nav-modal__btn.is-active {
  transform: translateX(0);
}
.l-nav-modal__btn.is-active svg {
  width: 2.5em;
  height: 2.375em;
}
@media screen and (max-width: 767px) {
  .l-nav-modal__btn.is-active svg {
    width: 8vw;
    height: 6.1333333333vw;
  }
}
.l-nav-modal__btn.is-active .is-line-1,
.l-nav-modal__btn.is-active .is-line-4 {
  opacity: 0;
}
.l-nav-modal__btn.is-active .is-line-2 {
  transform: rotate(38deg);
}
.l-nav-modal__btn.is-active .is-line-3 {
  transform: rotate(-38deg);
}
.l-nav-modal__link-a {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .l-nav-modal__link-a {
    column-gap: 2.6666666667vw;
    row-gap: 3.2vw;
  }
}
.l-nav-modal__link-a a {
  background-color: #fff;
  font-size: 87.5%;
  width: 15.7142857143em;
  font-weight: bold;
  padding: 1.0714285714em;
  text-align: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  transition: 0.25s filter;
}
@media screen and (min-width: 768px) {
  .l-nav-modal__link-a a p {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .l-nav-modal__link-a a {
    margin-right: 0.7142857143em;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-modal__link-a a {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 28vw;
    font-size: 3.7333333333vw;
    padding: 2.6666666667vw 1.6vw;
    line-height: 1.3;
  }
}
.l-nav-modal__link-a a::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(to left top, #f73f9e 0%, #846cff 51.7%, rgba(0, 168, 247, 0) 100%);
  opacity: 0;
  transition: 0.25s opacity;
}
@media (hover: hover) {
  .l-nav-modal__link-a a:hover {
    filter: brightness(150%);
  }
  .l-nav-modal__link-a a:hover::before {
    opacity: 0.5;
  }
}
@media screen and (min-width: 768px) {
  .l-nav-modal__link-a .c-icon {
    margin-right: 0.625em;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-modal__link-a .c-icon {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0.2em;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-modal__link-a .p-icon-booklet-n {
    width: 7.4666666667vw;
    height: 5.3333333333vw;
  }
}
.l-nav-modal__link-a--oc {
  background-image: linear-gradient(to left top, #eb5d3b 0%, #ffa134 100%);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .l-nav-modal__link-a--oc {
    width: 100% !important;
    padding: 0 !important;
    height: auto !important;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-modal__link-a--oc p {
    display: none;
  }
}
.l-nav-modal__link-a--oc img {
  display: none;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .l-nav-modal__link-a--oc img {
    display: block;
  }
}
.l-nav-modal__link-b {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-nav-modal__link-b {
    border: 1px solid var(--main);
    margin-top: 1.25em;
    grid-template-columns: repeat(7, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .l-nav-modal__link-b {
    margin-top: 10.6666666667vw;
  }
}
.l-nav-modal__link-b a {
  background: #e7eef7;
  font-size: 87.5%;
  width: 100%;
  font-weight: bold;
  padding: 1.0714285714em;
  text-align: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  transition: 0.25s filter;
  transition-property: color, background;
  transition-duration: 0.25s;
}
@media screen and (min-width: 768px) {
  .l-nav-modal__link-b a:not(:last-child) {
    border-right: 1px solid var(--main);
  }
}
@media screen and (max-width: 767px) {
  .l-nav-modal__link-b a {
    border-bottom: 1px solid var(--main);
    border-right: 1px solid var(--main);
  }
  .l-nav-modal__link-b a:nth-child(odd) {
    border-left: 1px solid var(--main);
  }
  .l-nav-modal__link-b a:first-child, .l-nav-modal__link-b a:nth-child(2) {
    border-top: 1px solid var(--main);
  }
}
.l-nav-modal__link-b a svg {
  transform: fill 0.25s;
}
@media (hover: hover) {
  .l-nav-modal__link-b a:hover {
    background-color: var(--main);
    color: #fff;
  }
  .l-nav-modal__link-b a:hover svg {
    fill: #fff;
  }
}
.l-nav-modal__link-b .c-icon {
  position: absolute;
  right: 0.625em;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .l-nav-modal__link-c.is-bt {
    border-top: 1px solid #CCC;
    margin-top: 2.5em;
    padding-top: 1.875em;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-modal__link-c {
    margin-top: 10.6666666667vw;
  }
}
.l-nav-modal__link-s {
  display: grid;
  width: fit-content;
  grid-column-gap: 2em;
  align-items: center;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .l-nav-modal__link-s {
    margin-top: 8.5333333333vw;
    margin-right: auto;
    margin-left: auto;
    grid-column-gap: 8.5333333333vw;
  }
}
.l-nav-modal__link-sns {
  font-size: 100%;
  width: 2.125em;
}
@media screen and (max-width: 767px) {
  .l-nav-modal__link-sns {
    width: 9.0666666667vw;
  }
}
@media (hover: hover) {
  .l-nav-modal__link-sns {
    transition-property: transform, opacity;
    transition-duration: 320ms;
  }
  .l-nav-modal__link-sns:hover {
    opacity: 0.6;
  }
}
.l-nav-modal__link-s img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .l-nav-modal__row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .l-nav-modal__row.is-col-c {
    display: grid;
    grid-template-columns: 32% 24% 24% 24%;
  }
  .l-nav-modal__row.is-col-c > * {
    width: 100%;
  }
  .l-nav-modal__row.is-col4 > * {
    width: 25%;
  }
  .l-nav-modal__row.is-col3 > * {
    width: 33%;
  }
  .l-nav-modal__row.is-col2 {
    justify-content: space-between;
  }
  .l-nav-modal__row.is-col2 > * {
    width: 49.4%;
  }
}
.l-nav-modal__row a {
  position: relative;
}
.l-nav-modal__row a::after {
  position: absolute;
  left: 0%;
  bottom: -0.2em;
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background: var(--main);
  transition: width 0.25s;
}
@media (hover: hover) {
  .l-nav-modal__row a:hover::after {
    width: 100%;
  }
}
.l-nav-modal__sttl {
  position: relative;
  margin-bottom: 1em;
  padding-top: 0.125em;
  padding-left: 1.125em;
  font-size: 125%;
  font-weight: bold;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .l-nav-modal__sttl {
    margin-bottom: 4.8vw;
  }
}
.l-nav-modal__sttl::after {
  content: "";
  display: block;
  position: absolute;
  top: 60%;
  left: 0;
  width: 0.5625em;
  height: 0.5625em;
  transform: translateY(-50%);
  background: url("/assets/img/icon/block-a.svg") 0 0/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .l-nav-modal__sbody {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .l-nav-modal__sbody > * {
    width: 50%;
  }
}
.l-nav-modal__list {
  font-size: 81.25%;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .l-nav-modal__list {
    font-size: 3.3333333333vw;
  }
}
.l-nav-modal__list > li {
  margin-top: 0.7em;
}
.l-nav-modal__list > li::before {
  content: "・";
}
.l-nav-modal__row-a {
  border-top: 1px solid #3E697E;
}
@media screen and (min-width: 768px) {
  .l-nav-modal__row-a {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 3.125em;
    padding: 1.25em 0 0 0;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-modal__row-a {
    border-top-color: #CCC;
    margin-top: 10.6666666667vw;
    padding-top: 10.6666666667vw;
  }
}
.l-nav-modal__sslist {
  line-height: 1.5;
  font-size: 75%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .l-nav-modal__sslist {
    margin-bottom: 8vw;
  }
}
@media screen and (min-width: 768px) {
  .l-nav-modal__sslist > li:not(:last-child) {
    margin-right: 2em;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-modal__sslist > li {
    width: 49%;
  }
}
.l-nav-modal__sslist a {
  position: relative;
}
.l-nav-modal__sslist a::after {
  position: absolute;
  left: 0%;
  bottom: -0.2em;
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background: var(--main);
  transition: width 0.25s;
}
@media (hover: hover) {
  .l-nav-modal__sslist a:hover::after {
    width: 100%;
  }
}
.l-nav-modal__copyright {
  font-size: 68.75%;
}
@media screen and (max-width: 767px) {
  .l-nav-modal__copyright {
    display: block;
    font-size: 2.9333333333vw;
    margin-top: 8vw;
    text-align: center;
    letter-spacing: 0;
  }
}
.l-nav-modal__sns {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.75em;
}
@media screen and (max-width: 767px) {
  .l-nav-modal__sns {
    column-gap: 6.4vw;
    margin-bottom: 5.3333333333vw;
  }
}
.l-nav-modal__sns-item {
  width: 2.125em;
  height: 2.125em;
}
@media screen and (max-width: 767px) {
  .l-nav-modal__sns-item {
    width: 6.4vw;
    height: 6.4vw;
  }
}
@media (hover: hover) {
  .l-nav-modal__sns-item {
    transition-property: opacity;
    transition-duration: 320ms;
  }
  .l-nav-modal__sns-item:hover {
    opacity: 0.6;
  }
}
.l-nav-modal__sns-svg {
  display: block;
  fill: var(--main);
  width: auto;
  height: 100%;
}

/*========================================
  ページ全体のレイアウト
========================================*/
.is-modal {
  height: 100vh;
}
.is-modal .p-foot-btns,
.is-modal .l-page__content,
.is-modal .l-page__footer {
  display: none;
}

/*========================================
  ボタン
========================================*/
.c-btn {
  cursor: pointer;
  position: relative;
  display: inline-block;
  line-height: 1.1;
  text-decoration: none;
  user-select: none;
  border: 0;
}
.c-btn:hover {
  text-decoration: none;
}

/*========================================
  container
========================================*/
.c-container {
  width: 1160px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.c-container-m {
  width: 56.25em;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

/*========================================
  アイコン
========================================*/
.c-icon {
  position: relative;
  display: inline-block;
  background: 50% 50% no-repeat;
  background-size: contain;
  vertical-align: top;
  line-height: 1;
  font-style: normal;
}

.c-career-technos {
  padding-top: 3.75em;
}
@media screen and (max-width: 767px) {
  .c-career-technos {
    padding-top: 10.6666666667vw;
  }
}
.c-career-technos--pt0 {
  padding-top: 0;
}
.c-career-technos--pt120 {
  padding-top: 7.5em;
}
@media screen and (max-width: 767px) {
  .c-career-technos--pt120 {
    padding-top: 16vw;
  }
}
.c-career-technos--mb80 {
  margin-bottom: 5em;
}
@media screen and (max-width: 767px) {
  .c-career-technos--mb80 {
    margin-bottom: 10.6666666667vw;
  }
}
.c-career-technos--mb120 {
  margin-bottom: 7.5em;
}
@media screen and (max-width: 767px) {
  .c-career-technos--mb120 {
    margin-bottom: 16vw;
  }
}
.c-career-technos__inner {
  max-width: 75em;
  margin-right: auto;
  margin-left: auto;
  padding-left: 1.25em;
  padding-right: 1.25em;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr auto;
  grid-column-gap: 2.5em;
  margin-bottom: 1.875em;
}
@media screen and (max-width: 1024px) {
  .c-career-technos__inner {
    grid-template-columns: 100%;
    grid-template-rows: repeat(4, auto);
  }
}
@media screen and (max-width: 767px) {
  .c-career-technos__inner {
    margin-bottom: 8vw;
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
.c-career-technos__title {
  width: fit-content;
  margin-bottom: 0.7142857143em;
  background-image: linear-gradient(to right, #f73f9e 0%, #846cff 48.28%, #00a8f7 100%);
  color: #fff;
  letter-spacing: -0.06em;
  padding-top: 0.75em;
  padding-right: 1em;
  padding-bottom: 0.75em;
  padding-left: 0.75em;
  line-height: 1;
  grid-column: 1/2;
  grid-row: 1/2;
}
@media screen and (max-width: 1024px) {
  .c-career-technos__title {
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .c-career-technos__title {
    padding-top: 3.2vw;
    padding-bottom: 3.2vw;
    padding-left: 2.1333333333vw;
    padding-right: 4.2666666667vw;
    margin-bottom: 5.3333333333vw;
  }
}
.c-career-technos__title-large {
  margin-bottom: 0.4761904762em;
  font-size: 262.5%;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-career-technos__title-large {
    margin-top: 5.3333333333vw;
    font-size: 8.8vw;
  }
}
.c-career-technos__title-small {
  font-size: 212.5%;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-career-technos__title-small {
    font-size: 6.9333333333vw;
  }
}
.c-career-technos__intro {
  grid-column: 1/2;
  grid-row: 2/3;
  margin-bottom: 0.6em;
  font-size: 125%;
  font-weight: 700;
}
@media screen and (max-width: 1024px) {
  .c-career-technos__intro {
    margin-bottom: 1.6em;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .c-career-technos__intro {
    font-size: 3.7333333333vw;
  }
}
.c-career-technos__intro-large {
  display: block;
  margin-bottom: 0.375em;
  font-size: 200%;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-career-technos__intro-large {
    margin-bottom: 6.4vw;
    font-size: 6.4vw;
  }
}
@media screen and (max-width: 767px) {
  .c-career-technos__link {
    margin-right: auto;
    margin-left: auto;
  }
}
.c-career-technos__data {
  display: grid;
  grid-column-gap: 0.625em;
  grid-template-columns: repeat(2, 1fr);
  grid-column: 2/3;
  grid-row: 1/3;
  align-self: flex-start;
}
@media screen and (max-width: 1024px) {
  .c-career-technos__data {
    grid-column: 1/2;
    grid-row: 3/4;
  }
}
.c-career-technos__data-item {
  border-radius: 3.75em;
  background-color: #fff;
  text-align: center;
  padding-top: 2em;
  padding-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .c-career-technos__data-item {
    border-radius: 8vw;
    padding-top: 5.3333333333vw;
    padding-bottom: 2.1333333333vw;
  }
}
.c-career-technos__data-name {
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 0.4210526316em;
  padding-left: 0.6315789474em;
  padding-right: 0.6315789474em;
  font-size: 237.5%;
  font-weight: 700;
  line-height: 1;
  background-image: url("/assets/img/icon/career-data.svg"), url("/assets/img/icon/career-data.svg");
  background-repeat: no-repeat;
  background-position: left top, right bottom;
  background-size: 0.4210526316em auto;
}
@media screen and (max-width: 767px) {
  .c-career-technos__data-name {
    margin-bottom: 4.2666666667vw;
    font-size: 5.3333333333vw;
    background-size: 2.1333333333vw;
    padding-left: 3.2vw;
    padding-right: 3.2vw;
  }
}
.c-career-technos__data-value {
  line-height: 1;
  filter: drop-shadow(4px 6px 0 #ddeefb);
}
@media screen and (max-width: 767px) {
  .c-career-technos__data-value {
    filter: drop-shadow(0.5333333333vw 0.8vw 0 #ddeefb);
  }
}
.c-career-technos__data-about {
  font-size: 243.75%;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-career-technos__data-about {
    font-size: 5.8666666667vw;
  }
}
.c-career-technos__data-number {
  font-family: var(--en-sans);
  font-size: 750%;
  font-style: normal;
  font-weight: 700;
  letter-spacing: -0.05em;
  background: linear-gradient(to right, #f73f9e 0%, #846cff 48.28%, #00a8f7 100%);
  background-clip: text;
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-career-technos__data-number {
    font-size: 14.9333333333vw;
  }
}
.c-career-technos__data-percent {
  font-size: 437.5%;
  font-weight: 600;
  font-family: var(--en-sans);
  background: linear-gradient(to right, #f73f9e 0%, #846cff 48.28%, #00a8f7 100%);
  background-clip: text;
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-career-technos__data-percent {
    font-size: 6.9333333333vw;
  }
}
.c-career-technos__data-times {
  font-size: 312.5%;
  font-weight: 900;
  background: linear-gradient(to right, #f73f9e 0%, #846cff 48.28%, #00a8f7 100%);
  background-clip: text;
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-career-technos__data-times {
    font-size: 6.9333333333vw;
  }
}
.c-career-technos__data-small {
  font-size: 106.25%;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-career-technos__data-small {
    margin-top: -0.4em;
    font-size: 3.2vw;
  }
}
.c-career-technos__data-annotation {
  margin-top: 1.1428571429em;
  font-size: 87.5%;
  text-align: right;
  grid-column: 2/3;
  grid-row: 3/4;
}
@media screen and (max-width: 1024px) {
  .c-career-technos__data-annotation {
    grid-column: 1/2;
    grid-row: 4/5;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .c-career-technos__data-annotation {
    font-size: 3.4666666667vw;
  }
}
.c-career-technos__company {
  max-width: 128em;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
}
.c-career-technos__company-title {
  max-width: 66.6666666667em;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 1em;
  padding-left: 1.1111111111em;
  padding-right: 1.1111111111em;
  font-size: 112.5%;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-career-technos__company-title {
    font-size: 4.2666666667vw;
    padding-right: 5.3333333333vw;
    padding-left: 5.3333333333vw;
  }
}
.c-career-technos__company-line {
  display: flex;
  overflow: hidden;
  margin-bottom: 1em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-career-technos__company-line {
    margin-bottom: 4.2666666667vw;
  }
}
.c-career-technos__company-line:last-child .c-career-technos__company-list {
  animation-direction: reverse;
}
.c-career-technos__company-list {
  display: flex;
  flex-shrink: 0;
  animation-name: marquee;
  animation-duration: 64s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  animation-fill-mode: both;
}
.c-career-technos__company-item {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-right: 1.25em;
  font-size: 100%;
  letter-spacing: -0.02em;
  color: #3e697e;
}
@media screen and (max-width: 767px) {
  .c-career-technos__company-item {
    margin-right: 2.6666666667vw;
    font-size: 3.4666666667vw;
  }
}
.c-career-technos__company-image {
  display: block;
  width: 19.5em;
  height: auto;
}
@media screen and (max-width: 767px) {
  .c-career-technos__company-image {
    width: 42.6666666667vw;
  }
}

@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.c-iconic-link {
  display: flex;
  align-items: center;
  width: fit-content;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-iconic-link {
    font-size: 1.5rem;
  }
}
.c-iconic-link__label {
  position: relative;
  line-height: 1.6;
}
.c-iconic-link__label::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.6em;
  border-bottom: 1px solid var(--main);
  width: 100%;
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left center;
}
.c-iconic-link__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #fff;
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  margin-left: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  .c-iconic-link__icon {
    margin-left: 18px;
    width: 60px;
    height: 60px;
  }
}
@media (hover: hover) {
  .c-iconic-link__icon, .c-iconic-link__arrow, .c-iconic-link__label::after {
    transition-duration: 400ms;
    transition-property: opacity, background-color, transform;
  }
  .c-iconic-link:hover .c-iconic-link__icon {
    background-color: var(--main);
  }
  .c-iconic-link:hover .c-iconic-link__arrow {
    fill: #fff;
    transform: translateX(0.2em);
  }
  .c-iconic-link:hover .c-iconic-link__label::after {
    transform: scaleX(1);
    opacity: 1;
  }
}

.c-sticker-banner {
  margin-bottom: 6.25em;
}
@media screen and (max-width: 767px) {
  .c-sticker-banner {
    margin-bottom: 16vw;
  }
}
@media (hover: hover) {
  .c-sticker-banner:hover .c-sticker-banner__link {
    opacity: 0.8;
  }
  .c-sticker-banner:hover .c-sticker-banner__icon {
    transform: translateX(8px);
  }
}
.c-sticker-banner__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 964px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1.5em;
  background-color: #fff;
  border-radius: 0.625em;
  overflow: hidden;
  transition-property: transform, opacity;
  transition-duration: 320ms;
}
@media screen and (max-width: 767px) {
  .c-sticker-banner__link {
    flex-direction: column;
    padding-right: 0;
    padding-bottom: 12.2666666667vw;
    border-radius: 2.6666666667vw;
  }
}
.c-sticker-banner__banner {
  max-width: 260px;
  height: auto;
}
@media screen and (max-width: 767px) {
  .c-sticker-banner__banner {
    max-width: 100%;
    width: 100%;
    margin-bottom: 8vw;
  }
}
.c-sticker-banner__desc {
  flex-shrink: 0;
  width: 38.3076923077em;
  height: auto;
  font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
  .c-sticker-banner__desc {
    width: 64vw;
  }
}
.c-sticker-banner__icon {
  width: 1em;
  height: 0.75em;
  transition-property: transform;
  transition-duration: 320ms;
}
@media screen and (max-width: 767px) {
  .c-sticker-banner__icon {
    position: absolute;
    bottom: 5.3333333333vw;
    right: 5.3333333333vw;
  }
}
.c-sticker-banner__svg {
  display: block;
  width: 100%;
  height: auto;
}
.c-sticker-banner__text {
  color: var(--main);
}
.c-sticker-banner__intro {
  font-size: 2.8rem;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 0.5714285714em;
}
.c-sticker-banner__date {
  max-width: 21.875em;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  align-items: baseline;
  justify-content: center;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  line-height: 1;
  background-image: linear-gradient(to right, #F73F9E, #846CFF, #00A8F7), linear-gradient(to right, #F73F9E, #846CFF, #00A8F7);
  background-size: 100% 1px;
  background-position: center top, center bottom;
  background-repeat: no-repeat;
}
.c-sticker-banner__date-label {
  font-size: 1.8rem;
  font-weight: 500;
  margin-right: 1em;
  align-self: center;
}
.c-sticker-banner__date-year {
  font-family: var(--en-sans);
  font-size: 2.6rem;
  font-weight: 700;
}
.c-sticker-banner__date-day {
  font-family: var(--en-sans);
  font-size: 3.4rem;
  font-weight: 700;
}
.c-sticker-banner__date-sun {
  margin-left: 0.5em;
  aspect-ratio: 1/1;
  width: 1.875em;
  height: auto;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  border-radius: 50%;
  background-color: #F73F9E;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
}

/*========================================
  ボタン
========================================*/
.p-btn-a {
  text-align: center;
  color: #fff;
  background: var(--main);
  border-radius: 0.625em;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-btn-a {
    width: 30em;
    height: 6.25em;
  }
}
@media screen and (max-width: 767px) {
  .p-btn-a {
    width: 78.6666666667vw;
    height: 16vw;
    font-size: 3.7333333333vw;
  }
}
.p-btn-a__txt {
  overflow: hidden;
  height: 1.1em;
  text-align: center;
}
.p-btn-a__label {
  display: inline-block;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  font-weight: bold;
  transition: all 0.3s;
}
@media (hover: hover) {
  .p-btn-a:hover {
    background: linear-gradient(to left, #f73f9e 0%, #846cff 50%, #00a8f7 100%);
  }
  .p-btn-a:hover .p-btn-a__label {
    transform: translateY(-100%);
  }
  .p-btn-a:hover .p-icon-arr-w {
    transform: translate(4px, -50%);
  }
}
.p-btn-a .p-icon-arr-w, .p-btn-a .p-icon-book-w {
  position: absolute;
  right: 1.25em;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.25s transform;
}
.p-btn-a .p-icon-arr-l {
  position: absolute;
  left: 1.25em;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.25s transform;
}

details[open] .p-btn-a {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.p-btn-b {
  overflow: hidden;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  background: var(--main);
  color: #fff;
  width: 18.75em;
  height: 4.625em;
  border-radius: 0.625em;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .p-btn-b {
    width: 100%;
    height: 16vw;
    font-size: 3.7333333333vw;
  }
  .p-btn-b.is-low {
    height: 10.6666666667vw;
    font-size: 3.2vw;
  }
}
.p-btn-b__txt {
  overflow: hidden;
  height: 1.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-btn-b__txt {
    height: auto;
    line-height: 1.2;
  }
}
.p-btn-b__label {
  display: inline-block;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .p-btn-b__label:last-of-type {
    display: none;
  }
}
@media (hover: hover) {
  .p-btn-b:hover {
    background: linear-gradient(to left, #f73f9e 0%, #846cff 50%, #00a8f7 100%);
  }
  .p-btn-b:hover .p-btn-b__label {
    transform: translateY(-100%);
  }
  .p-btn-b:hover .p-icon-arr-w {
    transform: translate(4px, -50%);
  }
}
.p-btn-b .p-icon-pdf,
.p-btn-b .p-icon-plus,
.p-btn-b .p-icon-arr-w,
.p-btn-b .p-icon-book-w {
  position: absolute;
  right: 1.25em;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.25s transform;
}
.p-btn-b .p-icon-arr-l {
  position: absolute;
  left: 1.25em;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.25s transform;
}

.p-btn-c {
  overflow: hidden;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  border: 1px solid #CCCCCC;
  border-radius: 0.625em;
  width: 12.5em;
  height: 3em;
  font-weight: bold;
  background: #F0F2F5;
}
@media screen and (max-width: 767px) {
  .p-btn-c {
    width: 46.6666666667vw;
    height: 10.6666666667vw;
  }
}
.p-btn-c__txt {
  overflow: hidden;
  height: 1.1em;
  text-align: center;
}
.p-btn-c__label {
  display: inline-block;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  transition: all 0.3s;
  font-size: 87.5%;
}
@media screen and (max-width: 767px) {
  .p-btn-c__label {
    font-size: 3.2vw;
  }
}
.p-btn-c .p-icon-arr-btm {
  position: absolute;
  top: 50%;
  right: 0.625em;
  transform: translate(0, -50%);
  transition: 0.25s transform;
}
.p-btn-c .p-icon-arr-btm.is-rotate {
  transform: rotate(-180deg) translate(0, 50%) !important;
}
@media (hover: hover) {
  .p-btn-c:hover {
    background: var(--main);
  }
  .p-btn-c:hover .p-btn-c__label {
    color: #fff;
    transform: translateY(-120%);
  }
  .p-btn-c:hover .p-icon-arr-btm {
    fill: #fff;
  }
}

.p-btn-d {
  display: block;
  padding: 1em 0;
  font-weight: bold;
  border-bottom: 2px solid #ccc;
}
@media screen and (max-width: 767px) {
  .p-btn-d {
    font-size: 3.7333333333vw;
    padding: 4.8vw 0;
  }
}
.p-btn-d::before {
  content: "";
  position: absolute;
  display: block;
  width: 0%;
  height: 2px;
  left: 0;
  bottom: -2px;
  background: var(--main);
  transition: 0.25s width;
}
.p-btn-d .p-icon-arr {
  position: absolute;
  right: 0.5625em;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.25s right;
}
@media (hover: hover) {
  .p-btn-d:hover::before {
    width: 100%;
  }
  .p-btn-d:hover .p-icon-arr {
    right: 0;
  }
}

/*========================================
  hdr
========================================*/
.p-hdr-page {
  padding-top: 0.125em;
  height: 13.75em;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-hdr-page {
    height: 36vw;
    padding: 5.3333333333vw;
  }
}
.p-hdr-page.is-school {
  padding-top: 3.75em;
}
@media screen and (max-width: 767px) {
  .p-hdr-page.is-school {
    padding-top: 13.3333333333vw;
    padding-bottom: 8vw;
    height: auto;
  }
}
.p-hdr-page__ttl {
  position: relative;
  font-size: 300%;
  font-family: var(--en-sans);
  font-weight: bold;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-hdr-page__ttl {
    font-size: 9.6vw;
  }
}
.p-hdr-page__ttl::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -0.25em;
  width: 0.25em;
  height: 0.1666666667em;
  background: url("/assets/img/icon/block.svg") 0 0/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .p-hdr-page__ttl::after {
    left: -3.2vw;
    width: 3.2vw;
    height: 2.1333333333vw;
  }
}
.p-hdr-page__sclist {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-top: 0.625em;
}
.p-hdr-page__sclist > li {
  font-size: 10px;
  margin: 0 0.75em 0.5em 0;
}
@media screen and (max-width: 767px) {
  .p-hdr-page__sclist > li {
    margin-right: 1.6vw;
  }
  .p-hdr-page__sclist > li img {
    height: 4.5333333333vw;
  }
  .p-hdr-page__sclist > li img.is-eng {
    width: 32vw;
  }
  .p-hdr-page__sclist > li img.is-air {
    width: 48vw;
  }
}

.p-hdr-page-a {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-hdr-page-a {
    padding-top: 0.125em;
    height: 16.875em;
  }
}
@media screen and (max-width: 767px) {
  .p-hdr-page-a {
    padding: 13.3333333333vw 5.3333333333vw 8vw 5.3333333333vw;
  }
}
.p-hdr-page-a__ttl {
  position: relative;
  font-size: 300%;
  font-family: var(--en-sans);
  font-weight: bold;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-hdr-page-a__ttl {
    font-size: 9.6vw;
  }
}
.p-hdr-page-a__ttl::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -0.25em;
  width: 0.25em;
  height: 0.1666666667em;
  background: url("/assets/img/icon/block.svg") 0 0/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .p-hdr-page-a__ttl::after {
    left: -3.2vw;
    width: 3.2vw;
    height: 2.1333333333vw;
  }
}
.p-hdr-page-a__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  font-size: 87.5%;
  line-height: 1.1;
  margin-top: 1.1428571429em;
}
@media screen and (max-width: 767px) {
  .p-hdr-page-a__list {
    font-size: 2.6666666667vw;
  }
}
.p-hdr-page-a__list.is-enta {
  color: #E3607C;
}
.p-hdr-page-a__list > li {
  background: #fff;
  border-radius: 6.25em;
  margin-bottom: 0.8em;
  padding: 0.6em 1.2em;
}
.p-hdr-page-a__list > li:not(:last-child) {
  margin-right: 0.5714285714em;
}
@media screen and (max-width: 767px) {
  .p-hdr-page-a__list > li:not(:last-child) {
    margin-right: 0.5em;
  }
}
@media screen and (max-width: 767px) {
  .p-hdr-page-a__list > li {
    padding: 0.6em 0.8em;
  }
}

.p-hdr-a {
  position: relative;
  padding-top: 0.125em;
  margin-bottom: 2.5em;
}
@media screen and (max-width: 767px) {
  .p-hdr-a {
    margin-bottom: 8vw;
  }
}
.p-hdr-a::after {
  content: "";
  display: block;
  position: absolute;
  top: -0.3125em;
  left: -0.625em;
  width: 0.75em;
  height: 0.5em;
  background: url("/assets/img/icon/block.svg") 0 0/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .p-hdr-a::after {
    top: 0;
    left: -3.2vw;
    width: 3.2vw;
    height: 2.1333333333vw;
  }
}
.p-hdr-a__sub {
  display: block;
  font-weight: normal;
  font-size: 72%;
  margin-bottom: 0.1em;
}
.p-hdr-a__ttl {
  font-size: 312.5%;
  font-family: var(--en-sans);
  font-weight: bold;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-hdr-a__ttl {
    font-size: 9.6vw;
  }
}
.p-hdr-a__ttl .is-ja {
  font-size: 88%;
}

.p-hdr-b {
  position: relative;
  padding-top: 0.125em;
  margin-bottom: 1.25em;
}
@media screen and (max-width: 767px) {
  .p-hdr-b {
    margin-bottom: 10.6666666667vw;
  }
}
.p-hdr-b.is-line {
  padding-bottom: 2.5em;
}
@media screen and (max-width: 767px) {
  .p-hdr-b.is-line {
    padding-bottom: 8vw;
  }
}
.p-hdr-b.is-line::before {
  position: absolute;
  content: "";
  display: block;
  width: 2px;
  height: 2em;
  position: absolute;
  left: 50%;
  bottom: 0;
  background: var(--main);
}
@media screen and (max-width: 767px) {
  .p-hdr-b.is-line::before {
    height: 6.4vw;
  }
}
.p-hdr-b__ttl {
  font-size: 200%;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .p-hdr-b__ttl {
    font-size: 5.3333333333vw;
  }
}

.p-hdr-c {
  margin-bottom: 1.875em;
}
@media screen and (max-width: 767px) {
  .p-hdr-c {
    margin-bottom: 5.8666666667vw;
  }
}
.p-hdr-c__ttl {
  position: relative;
  font-weight: bold;
  font-size: 287.5%;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-hdr-c__ttl {
    font-size: 9.0666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-hdr-c__ttl.is-lg {
    font-size: 312.5%;
  }
}
@media screen and (max-width: 767px) {
  .p-hdr-c__ttl.is-lg {
    font-size: 8.5333333333vw;
  }
}
.p-hdr-c__ttl.is-sm {
  font-size: 275%;
}
@media screen and (max-width: 767px) {
  .p-hdr-c__ttl.is-sm {
    font-size: 8vw;
  }
}
.p-hdr-c__ttl::after {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  left: -16px;
  width: 12px;
  height: 8px;
  background: url("/assets/img/icon/block.svg") 0 0/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .p-hdr-c__ttl::after {
    width: 2.1333333333vw;
    height: 1.6vw;
    left: -2.6666666667vw;
    top: -1.6vw;
  }
}
.p-hdr-c__bg {
  display: inline-block;
  background: linear-gradient(to right, #dbeafd 0%, #dee7f5 28.08%, #eae0f2 50.74%, #ebdff2 53.69%, #dbf2db 78.82%, #dbeafd 100%);
  line-height: 1;
  margin-bottom: 0.2em;
}

.p-hdr-d {
  position: relative;
  text-align: center;
  margin-bottom: 5em;
}
@media screen and (max-width: 767px) {
  .p-hdr-d {
    margin-bottom: 10.6666666667vw;
  }
}
.p-hdr-d__sub {
  display: block;
  font-size: 72%;
}
@media screen and (max-width: 767px) {
  .p-hdr-d__sub {
    font-size: 6.4vw;
    margin-bottom: 0.5333333333vw;
  }
}
.p-hdr-d__sml {
  font-weight: bold;
  font-size: 68%;
}
.p-hdr-d__ttl {
  font-size: 312.5%;
  line-height: 1.5;
}
.p-hdr-d__ttl.is-sm {
  font-size: 275%;
}
@media screen and (max-width: 767px) {
  .p-hdr-d__ttl {
    font-size: 8.5333333333vw;
  }
}
.p-hdr-d__ttl b {
  position: relative;
  display: inline-block;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .p-hdr-d__ttl b {
    padding-bottom: 0.2em;
  }
}
.p-hdr-d__ttl b::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(to left, #f73f9e 0%, #846cff 48.28%, #00a8f7 100%);
}
@media screen and (max-width: 767px) {
  .p-hdr-d__ttl b.is-SP-wrap {
    display: inline;
  }
  .p-hdr-d__ttl b.is-SP-wrap::before {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .p-hdr-d__ttl b.is-SP-wrap span {
    position: relative;
    display: inline-block;
    font-weight: bold;
    padding-bottom: 0.1em;
  }
  .p-hdr-d__ttl b.is-SP-wrap span::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(to left, #f73f9e 0%, #846cff 48.28%, #00a8f7 100%);
  }
}

.p-hdr-e {
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .p-hdr-e {
    margin-bottom: 1.4em;
  }
}
.p-hdr-e__sub {
  position: relative;
  z-index: 2;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  * + .p-hdr-e__ttl {
    margin-top: 1.6vw;
  }
}
.p-hdr-e__ttl {
  font-size: 225%;
  font-weight: bold;
  line-height: 1.4;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-hdr-e__ttl {
    font-size: 8vw;
  }
}

.p-hdr-f {
  position: relative;
}
.p-hdr-f.is-nb {
  margin-bottom: 0;
}
.p-hdr-f__sml {
  font-weight: bold;
  font-size: 68%;
}
@media screen and (max-width: 767px) {
  .p-hdr-f__sml {
    font-size: 5.8666666667vw;
  }
}
.p-hdr-f__ttl {
  font-size: 275%;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-hdr-f__ttl {
    font-size: 8vw;
  }
}
.p-hdr-f__ttl b {
  position: relative;
  display: inline-block;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .p-hdr-f__ttl b {
    padding-bottom: 0.2em;
  }
}
.p-hdr-f__ttl b::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(to left, #f73f9e 0%, #846cff 48.28%, #00a8f7 100%);
}
@media screen and (max-width: 767px) {
  .p-hdr-f__ttl b::before {
    height: 3px;
  }
}
@media screen and (max-width: 767px) {
  .p-hdr-f__ttl b.is-SP-wrap {
    display: inline;
  }
  .p-hdr-f__ttl b.is-SP-wrap::before {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .p-hdr-f__ttl b.is-SP-wrap span {
    position: relative;
    display: inline-block;
    font-weight: bold;
    padding-bottom: 0.1em;
  }
  .p-hdr-f__ttl b.is-SP-wrap span::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(to left, #f73f9e 0%, #846cff 48.28%, #00a8f7 100%);
  }
}

/*========================================
  アイコン
========================================*/
.p-icon-arr-w {
  fill: #fff;
  width: 1em;
  height: 0.75em;
}
@media screen and (max-width: 767px) {
  .p-icon-arr-w {
    width: 4.2666666667vw;
    height: 3.2vw;
  }
}

.p-icon-arr {
  fill: var(--main);
  width: 1em;
  height: 0.75em;
}
@media screen and (max-width: 767px) {
  .p-icon-arr {
    width: 4.2666666667vw;
    height: 3.2vw;
  }
}

.p-icon-carr {
  background: #fff;
  border-radius: 100em;
  width: 3.75em;
  height: 3.75em;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-icon-carr {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}

.p-icon-carrs {
  background: #fff;
  border-radius: 100em;
  width: 2.5em;
  height: 2.5em;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-icon-carrs {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}

.p-icon-carr-g {
  background: #F0F2F5;
  border-radius: 100em;
  width: 3.75em;
  height: 3.75em;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-icon-carr-g {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}

.p-icon-carrsg {
  background: #F0F2F5;
  border-radius: 100em;
  width: 2.5em;
  height: 2.5em;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-icon-carrsg {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}

.p-icon-arrw {
  overflow: hidden;
  width: 1em;
  height: 0.75em;
}
.p-icon-arrw::before {
  content: "";
  display: block;
  transition: 0.2s transform;
  width: 2em;
  height: 0.75em;
  background: url("/assets/img/icon/arr.svg") 0 0/auto 100% repeat-x;
  transform: translateX(-50%);
}

.p-icon-arr-btm {
  fill: var(--main);
  width: 0.8125em;
  height: 0.5em;
}
@media screen and (max-width: 767px) {
  .p-icon-arr-btm {
    width: 1.6vw;
    height: 2.6666666667vw;
  }
}

.p-icon-arr-btm-a {
  fill: var(--main);
  width: 0.75em;
  height: 1em;
}
@media screen and (max-width: 767px) {
  .p-icon-arr-btm-a {
    width: 3.2vw;
    height: 4.2666666667vw;
  }
}

.p-icon-arr {
  fill: var(--main);
  width: 1em;
  height: 0.75em;
}
@media screen and (max-width: 767px) {
  .p-icon-arr {
    width: 4.2666666667vw;
    height: 3.2vw;
  }
}

.p-icon-arr-bar-btm {
  fill: var(--main);
  width: 1em;
  height: 0.8125em;
  transform: rotate(90deg);
}
@media screen and (max-width: 767px) {
  .p-icon-arr-bar-btm {
    width: 4.2666666667vw;
    height: 3.4666666667vw;
  }
}

.p-icon-blank {
  fill: var(--main);
  width: 0.875em;
  height: 0.875em;
}
@media screen and (max-width: 767px) {
  .p-icon-blank {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
  }
}

.p-icon-blank-w {
  fill: #fff;
  width: 0.875em;
  height: 0.875em;
}
@media screen and (max-width: 767px) {
  .p-icon-blank-w {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
  }
}

.p-icon-pdf {
  fill: #fff;
  width: 1.75em;
  height: 1.125em;
}
.p-icon-pdf-txt {
  font-size: 9px;
  width: 28px;
  height: 18px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  border: 2px solid var(--main);
  font-weight: bold;
  font-family: var(--en-sans);
}
@media screen and (max-width: 767px) {
  .p-icon-pdf-txt {
    width: 7.4666666667vw;
    height: 4.8vw;
    font-size: 2.4vw;
  }
}

.p-icon-plus {
  fill: #fff;
  width: 1em;
  height: 1em;
}

.p-icon-plus-navy {
  fill: var(--main);
  width: 1em;
  height: 1em;
}
@media screen and (max-width: 767px) {
  .p-icon-plus-navy {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }
}

.p-icon-desc-n {
  overflow: hidden;
  width: 1.75em;
  height: 1.6875em;
  background-image: url("/assets/img/icon/desc_n.svg");
}

.p-icon-mail-n {
  overflow: hidden;
  width: 1.75em;
  height: 1.25em;
  background-image: url("/assets/img/icon/mail_n.svg");
}

.p-icon-booklet-n {
  overflow: hidden;
  width: 1.75em;
  height: 1.25em;
  background-image: url("/assets/img/icon/booklet.svg");
}

.p-icon-mail-w {
  width: 1.5em;
  height: 1.0625em;
  background-image: url("/assets/img/icon/mail.svg");
}
@media screen and (max-width: 767px) {
  .p-icon-mail-w {
    width: 4.2666666667vw;
    height: 3.2vw;
  }
}

.p-icon-msg-n {
  overflow: hidden;
  width: 2.0625em;
  height: 1.625em;
  background-image: url("/assets/img/icon/msg_n.svg");
}

.p-icon-batsu {
  width: 1.25em;
  height: 1.25em;
  background-image: url("/assets/img/icon/batsu.svg");
}
@media screen and (max-width: 767px) {
  .p-icon-batsu {
    width: 4.8vw;
    height: 4.8vw;
  }
}

.p-icon-book-w {
  fill: #fff;
  width: 1.25em;
  height: 1.125em;
}
@media screen and (max-width: 767px) {
  .p-icon-book-w {
    width: 5.3333333333vw;
    height: 4.8vw;
  }
}

.p-icon-oc-w {
  fill: #fff;
  width: 2.125em;
  height: 1.5em;
  background-image: url("/assets/img/icon/building.svg");
}

.p-icon-toggle {
  width: 1em;
  height: 1em;
}
.p-icon-toggle::before, .p-icon-toggle::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background: #fff;
  transform: translateY(50%) rotate(0);
  border-radius: 10px;
  transition: 0.25s transform;
}
.p-icon-toggle::after {
  transform: translateY(50%) rotate(-90deg);
}

details[open] .p-icon-toggle::after {
  transform: translateY(50%) rotate(0);
}

/*========================================
  nav
========================================*/
.p-nav.is-last {
  padding-top: 5em;
  padding-bottom: 13.75em;
}
@media screen and (max-width: 767px) {
  .p-nav.is-last {
    padding-top: 13.3333333333vw;
    padding-bottom: 26.6666666667vw;
  }
}
.p-nav__list {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  border: 1px solid var(--main);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-nav__list {
    border-top: 0;
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-nav__list > li {
  line-height: 1.5;
  font-weight: bold;
  font-size: 87.5%;
}
@media screen and (min-width: 768px) {
  .p-nav__list > li:not(:last-child) {
    border-right: 1px solid var(--main);
  }
}
.p-nav__list > li:nth-child(odd) {
  border-right: 1px solid var(--main);
}
@media screen and (max-width: 767px) {
  .p-nav__list > li {
    border-top: 1px solid var(--main);
  }
}
.p-nav__list a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  transition-property: background, color;
  transition: 0.25s;
}
@media screen and (min-width: 768px) {
  .p-nav__list a {
    height: 5.7142857143em;
  }
}
@media screen and (max-width: 767px) {
  .p-nav__list a {
    padding: 2.6666666667vw;
  }
}
@media (hover: hover) {
  .p-nav__list a:hover {
    background: var(--main);
    color: #fff;
  }
  .p-nav__list a:hover .p-icon-arr {
    fill: #fff;
    transform: translate(4px, -50%);
  }
}
.p-nav__list .p-icon-arr {
  position: absolute;
  top: 50%;
  right: 0.8571428571em;
  transform: translateY(-50%);
  transition: 0.25s transform;
}

/*========================================
  breadcrumb
========================================*/
@media screen and (min-width: 768px) {
  .p-breadcrumb {
    margin-top: 1em;
    margin-bottom: 1em;
  }
}
@media screen and (max-width: 767px) {
  .p-breadcrumb {
    overflow: auto;
    white-space: nowrap;
    padding: 0 0vw 3.7333333333vw 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-breadcrumb {
    font-size: 0.75em;
  }
}
@media screen and (max-width: 767px) {
  .p-breadcrumb {
    font-size: 3.2vw;
  }
}
.p-breadcrumb a {
  position: relative;
  display: inline-block;
  font-weight: bold;
}
.p-breadcrumb a::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background: var(--main);
  transition: width 0.25s;
}
@media (hover: hover) {
  .p-breadcrumb a:hover::before {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-breadcrumb a.u-hidden-ltSP {
    display: none;
  }
}
.p-breadcrumb a[aria-current=page] {
  font-weight: normal;
  color: var(--gray);
  pointer-events: none;
}
@media (hover: hover) {
  .p-breadcrumb a[aria-current=page]:hover {
    text-decoration: none;
  }
}
.p-breadcrumb a:not(:last-child) {
  margin-right: 3em;
}
.p-breadcrumb a:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: -2.5em;
  content: "";
  display: inline-block;
  background: #CCCCCC;
  width: 2em;
  height: 1px;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-breadcrumb a:not(:last-child)::after {
    width: 6.4vw;
    margin: 0 0.3em;
  }
}

/*========================================
  bnr
========================================*/
.p-bnr {
  margin: 1.25em auto 5em auto;
  text-align: center;
}
.p-bnr img {
  width: 72em;
}
.p-bnr--single a, .p-bnr--col2 a,
.p-bnr a {
  display: block;
  transition: 0.25s opacity;
}
@media (hover: hover) {
  .p-bnr--single a:hover, .p-bnr--col2 a:hover,
  .p-bnr a:hover {
    opacity: 0.6;
  }
}
.p-bnr--single a:not(:last-of-type), .p-bnr--col2 a:not(:last-of-type),
.p-bnr a:not(:last-of-type) {
  margin-bottom: 1.25em;
}
.p-bnr--single {
  display: flex;
  justify-content: center;
  margin-bottom: 5em;
}
@media screen and (max-width: 767px) {
  .p-bnr--single {
    margin-bottom: 5.3333333333vw;
  }
}
.p-bnr--single img {
  border-radius: 0.8333333333em;
}
@media screen and (max-width: 767px) {
  .p-bnr--single img {
    border-radius: 2.6666666667vw;
  }
}
.p-bnr--col2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 2.5em;
  margin-bottom: 5em;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-bnr--col2 {
    grid-template-columns: 100%;
    grid-row-gap: 5.3333333333vw;
    width: calc(100% - 10.6666666667vw);
  }
}

/*========================================
  col
========================================*/
@media screen and (min-width: 768px) {
  .p-col-2 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .p-col-2 > * {
    width: 48.7931034483%;
  }
}

/*========================================
  contact

========================================*/
@media screen and (min-width: 768px) {
  * + .p-contact {
    margin-top: 1.875em;
  }
}

@media screen and (min-width: 768px) {
  .p-contact {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .p-contact > * {
    width: 50%;
  }
  .p-contact > *:nth-child(odd) {
    padding-right: 2.5em;
  }
  .p-contact > *:nth-child(even) {
    border-left: 1px solid #CCC;
    padding-left: 2.5em;
  }
}
@media screen and (max-width: 767px) {
  .p-contact > * {
    padding: 3.2vw 0 6.4vw 0;
  }
  .p-contact > *:nth-child(n+2) {
    border-top: 1px solid #CCC;
  }
  .p-contact > *:last-child {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-contact > *.is {
    padding-bottom: 3.2vw;
  }
}
.p-contact__value {
  font-weight: bold;
  font-size: 137.5%;
  font-family: var(--mix-sans);
}
@media screen and (max-width: 767px) {
  .p-contact__value {
    font-size: 3.4666666667vw;
  }
}
.p-contact__tel {
  font-size: 200%;
}
@media screen and (max-width: 767px) {
  .p-contact__tel {
    font-size: 6.6666666667vw;
  }
}
.p-contact__mail {
  display: inline-block;
  font-size: 154.5454545455%;
  text-decoration: underline;
}
.p-contact__mail.is {
  padding-top: 0.5em;
}
@media screen and (max-width: 767px) {
  .p-contact__mail {
    font-size: 5.3333333333vw;
  }
}
@media (hover: hover) {
  .p-contact__mail:hover {
    text-decoration: none;
  }
}
.p-contact__txt {
  font-size: 68.1818181818%;
  font-weight: normal;
  margin-left: 0.8em;
}
@media screen and (max-width: 767px) {
  .p-contact__txt {
    margin-left: 0.4em;
    font-size: 3.2vw;
  }
}
.p-contact__note {
  font-size: 93.75%;
  font-weight: bold;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-contact__note {
    margin-top: 1.0666666667vw;
    font-size: 3.2vw;
  }
}
.p-contact__note-a {
  margin-top: 0.2em;
  font-size: 81.25%;
  color: var(--gray);
}
.p-contact__note-a p {
  text-indent: -1em;
  margin-left: 1em;
}

/*========================================
  foot-btns
========================================*/
.p-foot-btns {
  position: relative;
  z-index: 15;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: -7.75em;
  margin-top: -7.75em;
}
@media screen and (max-width: 767px) {
  .p-foot-btns {
    margin: -16vw var(--sp-pad) -16vw var(--sp-pad);
  }
}
.p-foot-btns > li {
  width: 33.3%;
}
.p-foot-btns__wicon img {
  width: 4.1666666667em;
}
.p-foot-btns__wicon img.is-book {
  width: 4.3333333333em;
}
.p-foot-btns__wicon img.is-building {
  width: 5em;
}
@media screen and (max-width: 767px) {
  .p-foot-btns__wicon img {
    width: 9.0666666667vw;
  }
  .p-foot-btns__wicon img.is-book {
    width: 8.5333333333vw;
  }
  .p-foot-btns__wicon img.is-building {
    width: 8.5333333333vw;
  }
}
.p-foot-btns__link {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 15.4375em;
  background: url("../img/content/bg_inquiry.jpg") 50% 50%/cover;
  transition: 0.25s filter;
}
.p-foot-btns__link.is-form {
  background-image: url("../img/content/bg_form.jpg");
}
.p-foot-btns__link.is-experience {
  background-image: url("../img/content/bg_experience.jpg");
}
@media screen and (max-width: 767px) {
  .p-foot-btns__link {
    height: 29.8666666667vw;
    background-image: url("../img/content/bg_inquiry_sp.jpg");
  }
  .p-foot-btns__link.is-form {
    background-image: url("../img/content/bg_form_sp.jpg");
  }
  .p-foot-btns__link.is-experience {
    background-image: url("../img/content/bg_experience_sp.jpg");
  }
}
@media (hover: hover) {
  .p-foot-btns__link:hover {
    filter: brightness(120%);
  }
}
.p-foot-btns__ttl {
  font-size: 162.5%;
  font-weight: bold;
  color: #fff;
  margin-top: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-foot-btns__ttl {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-top: 0.5em;
    line-height: 1.2;
    font-size: 3.7333333333vw;
    min-height: 2em;
  }
}

/*========================================
  ftbox
========================================*/
.p-ftbox {
  background: #fff;
  border-radius: 0.625em;
  padding: 3.75em 3.75em 3.75em 3.75em;
}
@media screen and (max-width: 767px) {
  .p-ftbox {
    padding: 9.0666666667vw var(--sp-pad);
  }
}
.p-ftbox__item {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-ftbox__item {
    display: grid;
    grid-template-columns: 31.25em 31.25em;
    gap: 2.5em;
  }
}
.p-ftbox__item:not(:last-child) {
  border-bottom: 1px solid #ccc;
  margin-bottom: 3.125em;
  padding-bottom: 3.125em;
}
@media screen and (max-width: 767px) {
  .p-ftbox__item:not(:last-child) {
    margin-bottom: 9.6vw;
    padding-bottom: 8vw;
  }
}
.p-ftbox__hdr {
  line-height: 1.5;
  margin-bottom: 1.25em;
}
@media screen and (max-width: 767px) {
  .p-ftbox__hdr {
    margin-top: 4.2666666667vw;
  }
}
.p-ftbox__type {
  margin-bottom: 0.3em;
  font-size: 125%;
}
@media screen and (max-width: 767px) {
  .p-ftbox__type {
    margin-bottom: 2.1333333333vw;
    font-size: 4.2666666667vw;
  }
}
.p-ftbox__count {
  position: absolute;
  font-family: var(--en-sans);
  color: #00A8F7;
  font-size: 375%;
  left: 0;
  top: -0.5em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-ftbox__count {
    top: -5.3333333333vw;
    font-size: 10.6666666667vw;
  }
}
.p-ftbox__count.is-pink {
  color: #F73F9E;
}
.p-ftbox__ttl {
  font-size: 175%;
  font-weight: bold;
}
.p-ftbox__ttl span {
  font-weight: normal;
  font-size: 64.2857142857%;
}
@media screen and (max-width: 767px) {
  .p-ftbox__ttl {
    font-size: 5.8666666667vw;
  }
  .p-ftbox__ttl span {
    font-size: 4.2666666667vw;
  }
}
.p-ftbox__ttl-a {
  font-size: 212.5%;
  font-weight: bold;
  font-family: var(--mix-sans);
}
.p-ftbox__ttl-a span {
  font-weight: normal;
  font-size: 64.2857142857%;
}
@media screen and (max-width: 767px) {
  .p-ftbox__ttl-a {
    font-size: 5.8666666667vw;
  }
  .p-ftbox__ttl-a span {
    font-size: 4.2666666667vw;
  }
}
.p-ftbox__txt {
  color: var(--gray);
}
@media screen and (max-width: 767px) {
  .p-ftbox__txt {
    font-size: 3.7333333333vw;
  }
}
.p-ftbox__wlink {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.25em;
}

.p-ftbox-a {
  background: #fff;
  border-radius: 0.625em;
  padding: 3.75em;
}
@media screen and (min-width: 768px) {
  .p-ftbox-a {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .p-ftbox-a {
    padding: 8vw var(--sp-pad);
  }
}
@media screen and (min-width: 768px) {
  .p-ftbox-a__item {
    width: 48.0769230769%;
    display: flex;
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .p-ftbox-a__item + .p-ftbox-a__item {
    margin-top: 10.6666666667vw;
  }
}

.p-ftbox-item-a {
  line-height: 1.5;
  font-family: var(--mix-sans);
}
.p-ftbox-item-a > :last-child {
  margin-top: auto;
}
.p-ftbox-item-a__ttl-link {
  display: block;
  margin-top: 1em;
  padding: 0 0 0.4em 0;
  font-weight: bold;
  font-size: 175%;
  border-bottom: 2px solid var(--main);
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-a__ttl-link {
    padding-bottom: 3.7333333333vw;
    margin-bottom: 1.0666666667vw;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    font-size: 5.8666666667vw;
  }
}
.p-ftbox-item-a__ttl-link .p-icon-arr {
  width: 0.76em;
  height: 0.56em;
  vertical-align: top;
  margin-left: 0.3em;
  transition: 0.25s transform;
}
@media screen and (min-width: 768px) {
  .p-ftbox-item-a__ttl-link .p-icon-arr {
    top: 0.45em;
  }
}
@media (hover: hover) {
  .p-ftbox-item-a__ttl-link:hover .p-icon-arr {
    transform: translateX(4px);
  }
}
@media screen and (min-width: 768px) {
  .p-ftbox-item-a__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 0.2em;
  }
  .p-ftbox-item-a__list > li {
    width: 48.4%;
  }
}

@media screen and (min-width: 768px) {
  .p-ftbox-b {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 6.25em 0 10em 0;
  }
}
@media screen and (max-width: 767px) {
  .p-ftbox-b {
    padding-bottom: 29.3333333333vw;
    padding-top: 21.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-ftbox-b__item {
    width: 47.4137931034%;
  }
}
.p-ftbox-b__wlink {
  margin-top: 2.5em;
}
@media screen and (max-width: 767px) {
  .p-ftbox-b__wlink {
    margin-top: 10.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .p-ftbox-b__wlink a {
    width: 78.6666666667vw;
  }
}

.p-ftbox-item-b {
  font-family: var(--mix-sans);
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-b + .p-ftbox-item-b {
    margin-top: 12vw;
  }
}
.p-ftbox-item-b__list {
  line-height: 1.5;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .p-ftbox-item-b__list > li {
    width: 48.5454545455%;
  }
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-b__list > li {
    width: 42.6666666667vw;
  }
}
.p-ftbox-item-b__wtxt {
  padding: 2.25em 0 0 0;
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-b__wtxt {
    padding: 5.3333333333vw 0 0 0;
  }
}
.p-ftbox-item-b__sub {
  display: block;
  margin-bottom: 0.8em;
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-b__sub {
    font-size: 4.2666666667vw;
  }
}
.p-ftbox-item-b__ttl {
  font-size: 137.5%;
  font-weight: bold;
  margin-bottom: 0.8181818182em;
}
@media screen and (min-width: 768px) {
  .p-ftbox-item-b__ttl {
    text-align: center;
  }
}
.p-ftbox-item-b__ttl b {
  position: relative;
  font-size: 190.9090909091%;
  display: inline-block;
  background: linear-gradient(to right, #dbeafd 0%, #dee7f5 28.08%, #eae0f2 50.74%, #ebdff2 53.69%, #dbf2db 78.82%, #dbeafd 100%);
  line-height: 1;
  margin-bottom: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-b__ttl b {
    font-size: 9.0666666667vw;
    background: none;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-b__ttl b.is-SP-wrap span {
    margin-bottom: 0.4em;
    position: relative;
    display: inline-block;
    background: linear-gradient(to right, #dbeafd 0%, #dee7f5 28.08%, #eae0f2 50.74%, #ebdff2 53.69%, #dbf2db 78.82%, #dbeafd 100%);
    line-height: 1;
    margin-bottom: 0.2em;
  }
}

.p-ftbox-c {
  padding-bottom: 7.5em;
}
@media screen and (max-width: 767px) {
  .p-ftbox-c {
    padding-bottom: 18.6666666667vw;
  }
}
.p-ftbox-c__wlink {
  margin-top: 3.75em;
}
@media screen and (max-width: 767px) {
  .p-ftbox-c__wlink {
    margin-top: 16vw;
  }
}
@media screen and (min-width: 768px) {
  .p-ftbox-c__wlink a {
    width: 30em;
    height: 6.25em;
  }
}
@media screen and (max-width: 767px) {
  .p-ftbox-c__wlink a {
    width: 78.6666666667vw;
  }
}

.p-ftbox-item-c {
  position: relative;
}
.p-ftbox-item-c::before {
  opacity: 0.1;
  content: "";
  display: block;
  width: 100%;
  height: 25em;
  position: absolute;
  left: 0;
  top: 6.25em;
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-c::before {
    top: 10.6666666667vw;
    height: 48vw;
  }
}
.p-ftbox-item-c.is-enta::before {
  background: linear-gradient(#e3607c 0%, rgba(227, 96, 124, 0) 100%);
}
.p-ftbox-item-c.is-child::before {
  background: linear-gradient(#67B1C1 0%, rgba(227, 96, 124, 0) 100%);
}
.p-ftbox-item-c.is-arch::before {
  background: linear-gradient(#9ABF62 0%, rgba(227, 96, 124, 0) 100%);
}
.p-ftbox-item-c.is-low::before {
  background: linear-gradient(#E9A366 0%, rgba(227, 96, 124, 0) 100%);
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-c {
    margin-top: 14.9333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-ftbox-item-c + .p-ftbox-item-c {
    margin-top: 3.75em;
  }
}
@media screen and (min-width: 768px) {
  .p-ftbox-item-c.is-rev .p-ftbox-item-c__fig {
    margin-left: 21em;
  }
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-c.is-rev .p-ftbox-item-c__fig {
    margin-left: 10.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-c.is-rev .p-ftbox-item-c__wtxt {
    margin-left: 0;
    margin-right: var(--sp-pad);
    padding-left: 10.6666666667vw;
    padding-right: var(--sp-pad);
  }
}
.p-ftbox-item-c__fig {
  position: relative;
  margin-bottom: -8.125em;
}
@media screen and (min-width: 768px) {
  .p-ftbox-item-c__fig {
    width: calc(100% - 21em);
  }
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-c__fig {
    margin-bottom: -10.6666666667vw;
    width: 89.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-ftbox-item-c__fig {
    height: 32.5em;
  }
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-c__fig {
    height: 53.3333333333vw;
  }
}
.p-ftbox-item-c__fig img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: 50% 0;
}
.p-ftbox-item-c__wtxt {
  position: relative;
  z-index: 2;
  background: #F0F2F5;
  padding: 3.125em 3.75em 3.125em 3.75em;
  border-radius: 0.625em;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-c__wtxt {
    width: auto;
    padding: 8vw 10.6666666667vw 0 5.3333333333vw;
    border-radius: 2.6666666667vw;
    margin-left: var(--sp-pad);
  }
}
.p-ftbox-item-c__hdr {
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .p-ftbox-item-c__hdr {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-c__hdr {
    margin-bottom: 3.2vw;
  }
}
.p-ftbox-item-c__ttl {
  font-size: 287.5%;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-c__ttl {
    font-size: 7.4666666667vw;
  }
}
.p-ftbox-item-c__copy {
  margin-top: 1.1363636364em;
  font-size: 137.5%;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-c__copy {
    font-size: 4.5333333333vw;
  }
}
.p-ftbox-item-c__copy span {
  display: inline-block;
  background: #E3607C;
  color: #fff;
  line-height: 1;
  padding: 0.2em 0.3em 0.3em 0.3em;
  margin-bottom: 0.3em;
}
.p-ftbox-item-c__copy.is-child span {
  background: #67B1C1;
}
.p-ftbox-item-c__copy.is-arch span {
  background: #9ABF62;
}
.p-ftbox-item-c__copy.is-low span {
  background: #E9A366;
}
@media screen and (min-width: 768px) {
  .p-ftbox-item-c__body {
    width: 29.5em;
  }
}
.p-ftbox-item-c__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .p-ftbox-item-c__list > li {
    width: 48.3050847458%;
  }
}
@media screen and (max-width: 767px) {
  .p-ftbox-item-c__list > li {
    width: 37.3333333333vw;
  }
}

/*========================================
  fix-nav
========================================*/
.p-fix-nav {
  position: fixed;
  z-index: 101;
  transition: 0.25s transform;
}
@media screen and (min-width: 768px) {
  .p-fix-nav {
    top: 50%;
    right: 0;
    transform: translate(100%, -50%);
  }
  .p-fix-nav.is-show {
    transform: translate(0%, -50%);
  }
  .p-fix-nav.is-start {
    transform: translate(0%, -50%);
  }
}
@media screen and (max-width: 767px) {
  .p-fix-nav {
    transform: translate(0%, 100%);
    left: 0;
    width: 100%;
    bottom: 0;
  }
  .p-fix-nav.is-show {
    transform: translate(0%, 0%);
  }
  .p-fix-nav.is-start {
    transform: translate(0%, 0%);
  }
}
@media screen and (min-width: 768px) {
  .p-fix-nav__label {
    writing-mode: vertical-rl;
  }
}
@media screen and (max-width: 767px) {
  .p-fix-nav__label {
    line-height: 1.4;
    font-size: 3.7333333333vw;
    margin-top: 0.2em;
  }
}
@media screen and (min-width: 768px) {
  .p-fix-nav__label.is-admission {
    writing-mode: vertical-lr;
    text-orientation: upright;
  }
}
.p-fix-nav__wicon {
  margin-bottom: 0.625em;
}
@media screen and (max-width: 767px) {
  .p-fix-nav__wicon {
    margin-bottom: 0;
  }
}
.p-fix-nav__wicon img {
  height: 1.8333333333em;
}
@media screen and (max-width: 767px) {
  .p-fix-nav__wicon img {
    height: 5.8666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .p-fix-nav__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .p-fix-nav__item {
    margin-bottom: 0.3125em;
  }
}
@media screen and (max-width: 767px) {
  .p-fix-nav__item {
    width: 50%;
    text-align: center;
  }
}
.p-fix-nav__link {
  position: relative;
  color: #fff;
  align-items: center;
  background: linear-gradient(#019de2 0%, #00c3d3 100%);
  transition-property: filter, left;
  transition-duration: 0.25s;
}
@media screen and (min-width: 768px) {
  .p-fix-nav__link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 0.25em 0 0 0.25em;
    padding: 0.9375em 1.375em 0.9375em 0;
    left: 1.0625em;
    width: 5.375em;
    min-height: 11.5em;
  }
}
@media screen and (max-width: 767px) {
  .p-fix-nav__link {
    display: block;
    padding: 1.6vw 1.0666666667vw 2.1333333333vw 1.0666666667vw;
    background: linear-gradient(to right, #019de2 0%, #00c3d3 100%);
    height: 100%;
  }
}
.p-fix-nav__link::after {
  content: "";
  display: block;
  position: absolute;
  right: 1.0625em;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 0.625em 0.625em;
  border-color: transparent transparent #fff transparent;
  transition: right 0.25s;
}
@media screen and (max-width: 767px) {
  .p-fix-nav__link::after {
    right: 0;
  }
}
.p-fix-nav__link.is-form .p-fix-nav__label {
  font-size: 1.4rem;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-fix-nav__link.is-form .p-fix-nav__label {
    font-size: 3.2vw;
    line-height: 1.4;
  }
}
.p-fix-nav__link.is-experience {
  background: linear-gradient(#eb5d3b 0%, #ffa134 100%);
}
@media screen and (max-width: 767px) {
  .p-fix-nav__link.is-experience {
    background: linear-gradient(to right, #eb5d3b 0%, #ffa134 100%);
  }
}
.p-fix-nav__link.is-admission {
  background-image: linear-gradient(0deg, #abde00 0%, #00b716 100%);
}
.p-fix-nav__link.is-application {
  background-image: linear-gradient(to top, #f75da5 0%, #ea3682 100%);
}
@media (hover: hover) {
  .p-fix-nav__link:hover {
    left: 0;
    filter: brightness(120%);
  }
  .p-fix-nav__link:hover::after {
    right: 0;
  }
}

/*========================================
  more
========================================*/
.p-more__item {
  display: inline-block;
}
.p-more__link {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
@media (hover: hover) {
  .p-more__link:hover .p-more__label::after {
    width: 100%;
  }
  .p-more__link:hover .p-icon-carr,
  .p-more__link:hover .p-icon-carr-g {
    background-color: var(--main);
  }
  .p-more__link:hover .p-icon-carr svg,
  .p-more__link:hover .p-icon-carr-g svg {
    fill: #fff;
    transform: translateX(4px);
  }
}
.p-more__label {
  position: relative;
  font-size: 93.75%;
  padding-bottom: 0.5em;
  font-weight: bold;
}
.p-more__label::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 1px;
  background-color: var(--main);
  transition: 0.25s width;
}
.p-more .p-icon-carr,
.p-more .p-icon-carr-g {
  margin-left: 0.625em;
}
@media screen and (max-width: 767px) {
  .p-more .p-icon-carr,
  .p-more .p-icon-carr-g {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}
.p-more .p-icon-carr svg,
.p-more .p-icon-carr-g svg {
  transition: 0.25s transform;
}

/*========================================
  links
========================================*/
.p-links__hdr {
  margin-bottom: 0.3125em;
}
.p-links__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-links__list {
    justify-content: space-between;
  }
}
.p-links__list > li {
  overflow: hidden;
  width: 13em;
}
@media screen and (min-width: 768px) {
  .p-links__list > li {
    margin-right: 1.875em;
    border-radius: 0.625em;
    margin-top: 1.25em;
  }
  .p-links__list > li:nth-child(5n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-links__list > li {
    margin-top: 5.3333333333vw;
    border-radius: 1.6vw;
    width: 42.1333333333vw;
  }
}
.p-links__list a {
  transition: 0.25s opacity;
}
@media (hover: hover) {
  .p-links__list a:hover {
    opacity: 0.6;
  }
}

/*========================================
  list
========================================*/
.p-list-disc li {
  position: relative;
  padding-left: 0.875em;
}
.p-list-disc li::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0.8em;
  width: 4px;
  height: 4px;
  background: #F73F9E;
}

/*========================================
  posts
========================================*/
.p-posts__item {
  border-bottom: 1px solid #ddd;
}
.p-posts__cont {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  padding: 1.25em 0;
  background: transparent;
  transition-property: padding, background;
  transition-duration: 0.25s;
}
@media screen and (max-width: 767px) {
  .p-posts__cont {
    padding: 5.3333333333vw 10.6666666667vw 5.3333333333vw 0;
  }
}
.p-posts__cont::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0%;
  height: 1px;
  background-color: var(--main);
  transition: 0.25s width;
}
@media (hover: hover) {
  .p-posts__cont:hover {
    background: #fff;
    padding-left: 0.2em;
  }
  .p-posts__cont:hover::after {
    width: 100%;
  }
  .p-posts__cont:hover .p-posts__label::after {
    width: 100%;
  }
  .p-posts__cont:hover .p-icon-arr {
    transform: translate(4px, -50%);
  }
}
.p-posts__date {
  font-size: 87.5%;
  color: var(--main);
  font-weight: bold;
  font-family: var(--en-sans);
}
@media screen and (min-width: 768px) {
  .p-posts__date {
    width: 7.1428571429em;
  }
}
@media screen and (max-width: 767px) {
  .p-posts__date {
    display: block;
    margin-bottom: 0.5333333333vw;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-posts__ttl {
    padding-right: 1em;
    width: calc(100% - 7.1428571429em);
  }
}
@media screen and (max-width: 767px) {
  .p-posts__ttl {
    width: 100%;
    font-size: 3.7333333333vw;
  }
}
.p-posts .p-icon-arr {
  position: absolute;
  right: 0.625em;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.25s transform;
}

@media screen and (max-width: 767px) {
  .p-posts-a {
    margin-right: var(--sp-pad);
  }
}
.p-posts-a__item {
  background: #fff;
}
.p-posts-a__cont {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  padding: 1.25em 2.1875em;
  background: transparent;
  transition-property: padding, background;
  transition-duration: 0.25s;
}
@media screen and (max-width: 767px) {
  .p-posts-a__cont {
    padding: 5.3333333333vw 10.6666666667vw 5.3333333333vw 5.3333333333vw;
  }
}
.p-posts-a__cont::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0%;
  height: 1px;
  background-color: var(--main);
  transition: 0.25s width;
}
@media (hover: hover) {
  .p-posts-a__cont:hover {
    background: #fff;
  }
  .p-posts-a__cont:hover::after {
    width: 100%;
  }
  .p-posts-a__cont:hover .p-posts-a__label::after {
    width: 100%;
  }
  .p-posts-a__cont:hover .p-icon-arr {
    transform: translate(4px, -50%);
  }
}
.p-posts-a__date {
  font-size: 87.5%;
  color: var(--main);
  font-weight: bold;
  font-family: var(--en-sans);
}
@media screen and (min-width: 768px) {
  .p-posts-a__date {
    width: 7.1428571429em;
  }
}
@media screen and (max-width: 767px) {
  .p-posts-a__date {
    display: block;
    font-size: 3.7333333333vw;
    width: 24vw;
  }
}
.p-posts-a__ttl {
  font-size: 87.5%;
}
@media screen and (min-width: 768px) {
  .p-posts-a__ttl {
    padding-right: 1em;
    width: calc(100% - 11.4285714286em);
  }
}
@media screen and (max-width: 767px) {
  .p-posts-a__ttl {
    font-size: 3.7333333333vw;
    width: calc(100% - 24vw);
  }
}
.p-posts-a .p-icon-arr {
  position: absolute;
  right: 1.25em;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.25s transform;
}

/*========================================
  opc
========================================*/
.p-opc-wrap {
  margin-top: 10em;
}
@media screen and (max-width: 767px) {
  .p-opc-wrap {
    margin-top: 26.6666666667vw;
  }
}

.p-opc {
  background: linear-gradient(#eb5d3b 0%, #ffa134 100%);
  text-align: center;
}
.p-opc__inner {
  position: relative;
  padding: 6.875em 0;
  background: url("/assets/img/content/o_bg.png") 50% 3.125em no-repeat;
}
@media screen and (max-width: 767px) {
  .p-opc__inner {
    padding: 41.3333333333vw 0 32vw 0;
    background-size: 66.6666666667vw auto;
    background-position: 50% 40vw;
  }
}
.p-opc__img {
  position: absolute;
  left: 50%;
  box-shadow: 0px 12px 24px rgba(95, 47, 0, 0.2);
}
.p-opc__img.is-1 {
  top: -3.3333333333em;
  width: 48.5833333333em;
  transform: translateX(-78.5em);
}
@media screen and (max-width: 767px) {
  .p-opc__img.is-1 {
    top: -8vw;
    width: 58.1333333333vw;
    transform: translateX(-72vw);
  }
}
.p-opc__img.is-2 {
  width: 11.6666666667em;
  transform: translateX(26em);
}
@media screen and (min-width: 768px) {
  .p-opc__img.is-2 {
    top: 13.3333333333em;
  }
}
@media screen and (max-width: 767px) {
  .p-opc__img.is-2 {
    bottom: 2.6666666667vw;
    width: 18.6666666667vw;
    transform: translateX(-40vw);
  }
}
.p-opc__img.is-3 {
  width: 11.6666666667em;
  top: 30.8333333333em;
  transform: translateX(-38.3333333333em);
}
@media screen and (max-width: 767px) {
  .p-opc__img.is-3 {
    top: 13.3333333333vw;
    width: 18.6666666667vw;
    transform: translateX(-8vw);
  }
}
.p-opc__img.is-4 {
  transform: translateX(30.8333333333em);
  width: 28.8333333333em;
}
@media screen and (min-width: 768px) {
  .p-opc__img.is-4 {
    top: 29.6666666667em;
  }
}
@media screen and (max-width: 767px) {
  .p-opc__img.is-4 {
    bottom: -8vw;
    width: 34.1333333333vw;
    transform: translateX(-17.0666666667vw);
  }
}
.p-opc__img.is-5 {
  width: 16.25em;
  transform: translateX(-48.3333333333em);
}
@media screen and (min-width: 768px) {
  .p-opc__img.is-5 {
    top: 46.6666666667em;
  }
}
@media screen and (max-width: 767px) {
  .p-opc__img.is-5 {
    top: 5.3333333333vw;
    width: 23.2vw;
    transform: translateX(16vw);
  }
}
.p-opc__img.is-6 {
  width: 16.25em;
  transform: translateX(26.25em);
}
@media screen and (min-width: 768px) {
  .p-opc__img.is-6 {
    top: 53.9166666667em;
  }
}
@media screen and (max-width: 767px) {
  .p-opc__img.is-6 {
    bottom: 6.6666666667vw;
    width: 25.8666666667vw;
    transform: translateX(24vw);
  }
}
.p-opc__lead {
  font-size: 162.5%;
  font-weight: bold;
  color: #fff;
  line-height: 1.8;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .p-opc__lead {
    font-size: 4.2666666667vw;
  }
}
.p-opc__ttl {
  position: relative;
  display: inline-block;
}
.p-opc__str {
  position: relative;
  z-index: 2;
  display: inline-block;
  font-size: 562.5%;
  font-weight: bold;
  font-family: var(--en-sans);
  line-height: 1;
  color: #fff;
  background: linear-gradient(to right, #e7eef7 0%, #dee7f5 28.08%, #ebdff2 53.69%, #e8ede8 68.82%, #e9eef7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  .p-opc__str {
    font-size: 13.8666666667vw;
  }
}
.p-opc__icon {
  position: absolute;
  top: -1.0714285714em;
  left: -3.5714285714em;
  border-radius: 100em;
  line-height: 1.1;
  width: 5.0714285714em;
  height: 5.0714285714em;
  font-size: 180.625%;
  display: block;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: url("/assets/img/content/o_icon.png") 50% 50%/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .p-opc__icon {
    left: -12.8vw;
    top: -3.7333333333vw;
    width: 19.7333333333vw;
    height: 19.7333333333vw;
  }
}
.p-opc__icon b {
  display: inline-block;
  transform: rotate(-15deg);
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .p-opc__icon b {
    font-size: 3.4666666667vw;
  }
}
.p-opc__wbtn {
  margin-top: 3.125em;
}
@media screen and (max-width: 767px) {
  .p-opc__wbtn {
    margin-top: 8vw;
  }
}
.p-opc .p-btn-b {
  width: 30em;
}
@media screen and (min-width: 768px) {
  .p-opc .p-btn-b {
    height: 6.25em;
  }
}
@media screen and (max-width: 767px) {
  .p-opc .p-btn-b {
    width: 78.6666666667vw;
  }
}

.is-tran .o-opc-tran {
  transition-property: transform opacity;
  transition-duration: 0.6s;
  opacity: 0;
}
.is-tran .o-opc-tran.is-fire {
  opacity: 1;
}

/*========================================
  map
========================================*/
.p-modal {
  display: none;
  opacity: 0;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 59, 87, 0.9);
  transition-property: opacity;
  transition-duration: 0.4s;
  overscroll-behavior: contain;
}
.p-modal.is-show {
  opacity: 1;
}
.p-modal__close {
  position: absolute;
  right: 0;
  top: 0;
  border: 0;
  width: 4.625em;
  height: 4.625em;
  background: #fff;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-modal__close {
    width: 16vw;
    height: 16vw;
  }
}
.p-modal__close .is-line-1,
.p-modal__close .is-line-4 {
  transform-origin: center;
  transition-property: opacity;
  transition-duration: 0.2s;
}
.p-modal__close .is-line-2,
.p-modal__close .is-line-3 {
  transform-origin: center;
  transition-property: transform;
  transition-duration: 0.2s;
}
.p-modal__close svg {
  width: 2.5em;
  height: 2.375em;
}
@media screen and (max-width: 767px) {
  .p-modal__close svg {
    width: 8vw;
    height: 6.1333333333vw;
  }
}
.p-modal__close .is-line-1,
.p-modal__close .is-line-4 {
  opacity: 0;
}
.p-modal__close .is-line-2 {
  transform: rotate(38deg);
}
.p-modal__close .is-line-3 {
  transform: rotate(-38deg);
}
.p-modal__wrap {
  position: absolute;
  width: 62.5em;
  transition-property: margin;
  transition-duration: 0.4s;
}
@media screen and (min-width: 768px) {
  .p-modal__wrap {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 767px) {
  .p-modal__wrap {
    margin: 21.3333333333vw 5.3333333333vw 0 5.3333333333vw;
  }
}
.p-modal__content {
  overscroll-behavior: contain;
  overflow: auto;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .p-modal__content {
    max-height: 90vh;
  }
}
@media screen and (max-width: 767px) {
  .p-modal__content {
    width: calc(100vw - 5.3333333333vw);
    max-height: calc(100vh - 26.6666666667vw);
  }
}
.p-modal__wbtn {
  text-align: center;
  margin: 30px 0;
}

/*========================================
  posts
========================================*/
.p-ftxt {
  --pl: 2.5em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-ftxt {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.p-ftxt.is-rev .p-ftxt__fig::after {
  content: "";
  position: absolute;
  background: linear-gradient(to right, #d7e1f4 0%, #b4eacd 50.74%, #93dfff 100%);
}
.p-ftxt.is-rev .p-ftxt__figitem {
  position: absolute;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .p-ftxt.is-rev {
    flex-direction: row-reverse;
  }
  .p-ftxt.is-rev .p-ftxt__fig {
    position: relative;
    z-index: 2;
    width: 42%;
    height: 32.5em;
  }
  .p-ftxt.is-rev .p-ftxt__fig::after {
    left: calc(-31.25em);
    top: 0;
    width: 100vw;
    height: 100%;
  }
  .p-ftxt.is-rev .p-ftxt__figitem {
    top: -1.8333333333em;
    left: calc(51.875em);
    width: 60.8333333333em;
  }
  .p-ftxt.is-rev .p-ftxt__wtxt {
    position: relative;
    margin-top: 10em;
    padding-right: 3.125em;
    width: 58%;
  }
  .p-ftxt.is-rev .p-ftxt__wtxt::after {
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-ftxt.is-rev .p-ftxt__fig {
    margin-left: 5.3333333333vw;
    width: 94.6666666667vw;
    height: 53.3333333333vw;
  }
  .p-ftxt.is-rev .p-ftxt__fig::after {
    height: 53.3333333333vw;
    width: 100%;
  }
  .p-ftxt.is-rev .p-ftxt__figitem {
    width: 82.9333333333vw;
    top: -9.6vw;
    left: 10.6666666667vw;
  }
  .p-ftxt.is-rev .p-ftxt__wtxt {
    margin-right: 5.3333333333vw;
    padding-left: 10.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-ftxt.is-def .p-ftxt__fig {
    width: 50%;
    transform: translateX(2.5em);
  }
  .p-ftxt.is-def .p-ftxt__wtxt {
    margin-top: 17.375em;
    width: calc(50% - 5em);
  }
  .p-ftxt.is-def .p-ftxt__wtxt::after {
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-ftxt.is-def .p-ftxt__wtxt {
    padding-right: 10.6666666667vw;
    margin-left: 5.3333333333vw;
  }
}
.p-ftxt__fly {
  position: absolute !important;
  right: 0;
  top: -1.25em;
  width: 8.9375em;
  transition: 1s transform;
}
@media screen and (max-width: 767px) {
  .p-ftxt__fly {
    width: 16.2666666667vw;
  }
}
.p-ftxt__fly.is-fire {
  transform: translate(0, 0) !important;
}
@media screen and (max-width: 767px) {
  .p-ftxt__fig {
    margin-bottom: -10.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-ftxt__fig img {
    max-width: none;
    width: 69em;
  }
}
@media screen and (max-width: 767px) {
  .p-ftxt__fig img {
    width: 94.6666666667vw;
  }
}
.p-ftxt__wtxt {
  position: relative;
  z-index: 2;
  padding-top: 3.125em;
  padding-left: var(--pl);
}
@media screen and (max-width: 767px) {
  .p-ftxt__wtxt {
    padding: 10.6666666667vw 5.3333333333vw 8vw 5.3333333333vw;
  }
}
.p-ftxt__wtxt > * {
  position: relative;
  z-index: 2;
}
.p-ftxt__wtxt::after {
  content: "";
  position: absolute;
  top: 0;
  background: #F0F2F5;
  height: 100%;
  border-radius: 0.625em 0.625em 0 0;
}
@media screen and (min-width: 768px) {
  .p-ftxt__wtxt::after {
    width: 50vw;
  }
}
@media screen and (max-width: 767px) {
  .p-ftxt__wtxt::after {
    border-radius: 2.6666666667vw 2.6666666667vw 0 0;
    left: 0;
    width: 100%;
  }
}
.p-ftxt__hdr {
  font-family: var(--mix-sans);
}
.p-ftxt__sub {
  font-size: 47.8260869565%;
  display: block;
  margin-bottom: 0.6em;
}
@media screen and (max-width: 767px) {
  .p-ftxt__sub {
    margin-bottom: 0.8em;
    font-size: 4.2666666667vw;
  }
}
.p-ftxt__bg {
  display: inline-block;
  background: linear-gradient(to right, #dbeafd 0%, #dee7f5 28.08%, #eae0f2 50.74%, #ebdff2 53.69%, #dbf2db 78.82%, #dbeafd 100%);
  line-height: 1;
  margin-bottom: 0.2em;
}
.p-ftxt__ttl {
  position: relative;
  font-weight: bold;
  font-size: 287.5%;
  line-height: 1.2;
  margin-bottom: 0.5434782609em;
}
@media screen and (max-width: 767px) {
  .p-ftxt__ttl {
    font-size: 9.0666666667vw;
  }
}
.p-ftxt__ttl::after {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  left: -16px;
  width: 12px;
  height: 8px;
  background: url("/assets/img/icon/block.svg") 0 0/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .p-ftxt__ttl::after {
    width: 2.1333333333vw;
    height: 1.6vw;
    left: -2.6666666667vw;
    top: -1.6vw;
  }
}
.p-ftxt__lead {
  font-weight: bold;
  font-size: 137.5%;
  margin-top: -1.1363636364em;
  margin-bottom: 1.1363636364em;
}
@media screen and (max-width: 767px) {
  .p-ftxt__lead {
    margin-top: -2.6666666667vw;
    margin-bottom: 5.3333333333vw;
    font-size: 4.2666666667vw;
  }
}
.p-ftxt__wbtn {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-ftxt__wbtn {
    margin-top: 2.5em;
    text-align: left;
  }
  .p-ftxt__wbtn a {
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-ftxt__wbtn {
    margin-top: 9.0666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-ftxt__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .p-ftxt__list {
    font-size: 3.7333333333vw;
  }
}
.p-ftxt__list > li {
  border-bottom: 1px solid #CCC;
}
@media screen and (min-width: 768px) {
  .p-ftxt__list > li {
    width: 48%;
  }
}
.p-ftxt__list > li a {
  position: relative;
  padding: 0.8em 0.1em;
  display: block;
  font-weight: bold;
}
.p-ftxt__list > li a::before {
  content: "";
  display: block;
  width: 0%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: -1px;
  background: var(--main);
  transition: width 0.25s;
}
.p-ftxt__list > li a .p-icon-arr {
  position: absolute;
  right: 0.4375em;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.25s;
}
@media (hover: hover) {
  .p-ftxt__list > li a:hover::before {
    width: 100%;
  }
  .p-ftxt__list > li a:hover .p-icon-arr {
    transform: translate(4px, -50%);
  }
}

.p-ftxt-a {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-ftxt-a {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .p-ftxt-a.is-def .p-ftxt-a__num {
    right: 0.4166666667em;
  }
}
@media screen and (min-width: 768px) {
  .p-ftxt-a.is-rev {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 768px) {
  .p-ftxt-a.is-rev .p-ftxt-a__num {
    right: 5.25em;
  }
}
.p-ftxt-a + .p-ftxt-a {
  margin-top: 5em;
}
@media screen and (max-width: 767px) {
  .p-ftxt-a + .p-ftxt-a {
    margin-top: 13.3333333333vw;
  }
}
.p-ftxt-a__num {
  position: absolute;
  z-index: 1;
  top: -0.0833333333em;
  font-size: 750%;
  color: #fff;
  font-family: var(--en-sans);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-ftxt-a__num {
    right: 0;
    top: -2.1333333333vw;
    font-size: 24vw;
  }
}
@media screen and (max-width: 767px) {
  .p-ftxt-a__fig + .p-ftxt-a__wtxt {
    margin-top: 8vw;
  }
}
@media screen and (min-width: 768px) {
  .p-ftxt-a__fig {
    width: 49.1379310345%;
  }
}
@media screen and (min-width: 768px) {
  .p-ftxt-a__wtxt {
    width: 50%;
    padding: 0 3.125em;
  }
}
@media screen and (max-width: 767px) {
  .p-ftxt-a__wtxt {
    position: relative;
  }
}
.p-ftxt-a__wtxt--aligntop {
  margin-top: 1em;
  align-self: flex-start;
}
.p-ftxt-a__ttl {
  position: relative;
  z-index: 2;
}
.p-ftxt-a__txt {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-ftxt-a__txt {
    font-size: 93.75%;
  }
}
.p-ftxt-a__wlink {
  margin-top: 1.875em;
}
@media screen and (max-width: 767px) {
  .p-ftxt-a__wlink {
    margin-top: 5.3333333333vw;
    display: flex;
    justify-content: flex-end;
  }
}

@media screen and (min-width: 768px) {
  .p-ftxt-b:nth-child(n+3) {
    margin-top: 3.75em;
  }
}
@media screen and (max-width: 767px) {
  .p-ftxt-b {
    border-top: 2px solid #CCC;
    border-bottom: 2px solid #CCC;
  }
  .p-ftxt-b + .p-ftxt-b {
    border-top: 0;
  }
}
@media (hover: hover) {
  .p-ftxt-b a:hover .p-ftxt-b__fig {
    filter: brightness(150%);
  }
  .p-ftxt-b a:hover .p-ftxt-b__fig::before {
    opacity: 0.5;
  }
  .p-ftxt-b a:hover .c-icon {
    transform: translateX(3px);
  }
}
.p-ftxt-b__box {
  position: relative;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-ftxt-b__box {
    padding: 5.3333333333vw 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.p-ftxt-b__fig {
  overflow: hidden;
  border-radius: 0.625em;
  position: relative;
  transition: 0.25s filter;
}
@media screen and (max-width: 767px) {
  .p-ftxt-b__fig {
    border-radius: 2.6666666667vw;
    width: 29.3333333333vw;
  }
}
.p-ftxt-b__fig::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(to left top, #f73f9e 0%, #846cff 51.7%, rgba(0, 168, 247, 0) 100%);
  opacity: 0;
  transition: 0.25s opacity;
}
.p-ftxt-b__label {
  margin-top: 1em;
  line-height: 1.5;
  font-size: 112.5%;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .p-ftxt-b__label {
    width: calc(100% - 33.6vw);
    font-size: 4.2666666667vw;
  }
}
.p-ftxt-b__label .c-icon {
  top: 0.4em;
  margin-left: 0.4em;
  transition: 0.25s transform;
}
@media screen and (max-width: 767px) {
  .p-ftxt-b__label .c-icon {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}

/*========================================
  school
========================================*/
.is-tran .p-school-tran {
  transition-property: transform opacity;
  transition-duration: 0.6s;
  opacity: 0;
  transform: translateY(20px);
}
.is-tran .p-school-tran.is-fire {
  opacity: 1;
  transform: translateY(0);
}

.p-school {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
.p-school > * {
  width: 50%;
}
.p-school__item {
  background: url("/assets/img/content/eng_bg.jpg") 50% 50%/cover;
  padding: 4.375em 3.125em 6.25em 3.125em;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-school__item {
    padding: 10.6666666667vw 4.2666666667vw 13.3333333333vw 4.2666666667vw;
  }
}
.p-school__item.is-air {
  background-image: url("/assets/img/content/air_bg.jpg");
}
.p-school__wicon {
  margin-bottom: 0.7em;
}
.p-school__wicon img {
  width: 5em;
}
@media screen and (max-width: 767px) {
  .p-school__wicon img {
    width: 8vw;
  }
}
.p-school__hdr {
  text-align: center;
}
.p-school__ttl {
  font-size: 212.5%;
}
@media screen and (max-width: 767px) {
  .p-school__ttl {
    margin-bottom: 10.6666666667vw;
    font-size: 4.2666666667vw;
    min-height: 10.5vw;
  }
}
@media screen and (max-width: 767px) {
  .p-school__ttl.is-eng {
    padding-top: 2.1333333333vw;
  }
}
.p-school__ttl img {
  width: 43.0833333333em;
}
@media screen and (max-width: 767px) {
  .p-school__ttl img {
    width: 37.0666666667vw;
  }
}
.p-school__list {
  margin-left: auto;
  margin-right: auto;
  width: 36.25em;
  max-width: 100%;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-school__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 3.75em;
  }
}
@media screen and (max-width: 767px) {
  .p-school__list {
    border-top: 2px solid #fff;
  }
}
@media screen and (max-width: 767px) {
  .p-school__list.is-air > li {
    padding: 3.6266666667vw 0;
  }
}
.p-school__list > li {
  border-bottom: 2px solid #fff;
  font-size: 100%;
  padding: 1.4em 0;
}
@media screen and (min-width: 768px) {
  .p-school__list > li {
    width: 16.4705882353em;
    max-width: 46%;
  }
}
@media screen and (max-width: 767px) {
  .p-school__list > li {
    padding: 3.2vw 0;
    font-size: 2.9333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-school__list > li:nth-child(1), .p-school__list > li:nth-child(2) {
    border-top: 2px solid #fff;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .p-school__list > li:nth-child(even) {
    margin-left: 1.6666666667em;
  }
}
.p-school__list > li a {
  color: #fff;
}
@media (hover: hover) {
  .p-school__list > li a {
    transition-property: opacity;
    transition-duration: 320ms;
  }
  .p-school__list > li a:hover {
    opacity: 0.7;
  }
}
.p-school__wbtn {
  margin-top: 3.125em;
}
@media screen and (max-width: 767px) {
  .p-school__wbtn {
    margin-top: 5.3333333333vw;
  }
}

/*========================================
  link
========================================*/
.p-link__item {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
.p-link__item:not(:last-child) {
  border-bottom: 1px solid #CCC;
}
@media (hover: hover) {
  .p-link__item:hover .p-link__label::before {
    width: 100%;
  }
  .p-link__item:hover .p-icon-carr,
  .p-link__item:hover .p-icon-carr-g {
    background-color: var(--main);
  }
  .p-link__item:hover svg {
    fill: #fff;
    transform: translateX(4px);
  }
}
.p-link__label {
  position: relative;
  font-weight: bold;
  font-size: 87.5%;
  margin-right: 1em;
}
@media screen and (max-width: 767px) {
  .p-link__label {
    font-size: 3.7333333333vw;
  }
}
.p-link__label::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -0.7142857143em;
  width: 0;
  height: 1px;
  background: var(--main);
  transition: 0.3s width;
}
.p-link .p-icon-carr,
.p-link .p-icon-carr-g {
  transition: 0.25s background;
}
.p-link .p-icon-carr svg,
.p-link .p-icon-carr-g svg {
  transition-property: fill transform;
  transition-duration: 0.25s;
}

li > .p-link-a {
  height: 100%;
}
@media screen and (max-width: 767px) {
  li > .p-link-a {
    height: 16vw;
  }
}

.p-link-a {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
  border-bottom: 2px solid #CCCCCC;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .p-link-a {
    padding: 1em 0 0.875em 0;
  }
}
@media screen and (max-width: 767px) {
  .p-link-a {
    font-size: 3.7333333333vw;
  }
}
.p-link-a::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -2px;
  background: var(--main);
  width: 0;
  height: 2px;
  transition: 0.25s width;
}
.p-link-a .p-icon-arr {
  width: 1.1875em;
  height: 0.875em;
  transition: 0.25s transform;
}
@media (hover: hover) {
  .p-link-a:hover::before {
    width: 100%;
  }
  .p-link-a:hover .p-icon-arr {
    transform: translateX(4px);
  }
}

/*========================================
  news
========================================*/
.p-news {
  padding: 6.25em 0;
}
@media screen and (max-width: 767px) {
  .p-news {
    padding: 13.3333333333vw 0;
  }
}
@media screen and (min-width: 768px) {
  .p-news__inner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .p-news__hdr {
    width: 21.6216216216%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .p-news__body {
    width: 77.3214285714%;
  }
}
@media screen and (min-width: 768px) {
  .p-news .p-more {
    transform: translateY(-0.5em);
  }
}
@media screen and (max-width: 767px) {
  .p-news__more {
    margin-top: 5.3333333333vw;
    text-align: right;
  }
}

/*========================================
  unit
========================================*/
.p-unit {
  margin-top: 6.25em;
}
@media screen and (max-width: 767px) {
  .p-unit {
    margin-top: 16vw;
  }
}

/*========================================
  table
========================================*/
.p-table-a {
  width: 100%;
  line-height: 1.5;
  border-top: 1px solid #ccc;
  font-size: 93.75%;
  table-layout: fixed;
}
.p-table-a tr th:not(:last-child), .p-table-a tr td:not(:last-child) {
  border-right: 1px solid #ccc;
}
.p-table-a th, .p-table-a td {
  padding: 1.4em 2em;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .p-table-a th, .p-table-a td {
    padding: 1em 0.4em;
  }
}
.p-table-a th {
  background: #F0F2F5;
  font-weight: bold;
}
.p-table-a th.is-normal {
  font-weight: normal;
}
.p-table-a p.is-lt-1em {
  letter-spacing: 1em;
  margin-right: -1em;
}
.p-table-a__note {
  font-size: 86.6666666667%;
}
@media screen and (max-width: 767px) {
  .p-table-a__note {
    font-size: 2.6666666667vw;
  }
}

.p-table-b {
  width: 100%;
  line-height: 1.5;
  border-top: 1px solid #ccc;
  font-size: 93.75%;
  table-layout: fixed;
}
.p-table-b tr th:not(:last-child), .p-table-b tr td:not(:last-child) {
  border-right: 1px solid #ccc;
}
.p-table-b th, .p-table-b td {
  padding: 1.2em 1em;
  border-bottom: 1px solid #ccc;
}
.p-table-b th {
  background: #F0F2F5;
  font-weight: bold;
}
.p-table-b th.is-normal {
  font-weight: normal;
}
.p-table-b p.is-lt-1em {
  letter-spacing: 1em;
  margin-right: -1em;
}
.p-table-b__note {
  font-size: 86.6666666667%;
}

/*========================================
  topics
========================================*/
.p-topics {
  padding: 6.25em 0 5em 0;
}
@media screen and (max-width: 767px) {
  .p-topics {
    overflow: hidden;
    padding: 10.6666666667vw 0 13.3333333333vw 0;
  }
}
.p-topics.is-npb {
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-topics__splide {
    padding-left: 2.75em !important;
    padding-right: 5.5em !important;
  }
  .p-topics__splide .splide__track {
    overflow: visible !important;
  }
}
.p-topics__splide.is-SP-btm-arrow .p-splide-status {
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-topics__splide.is-SP-btm-arrow .p-splide-status {
    position: relative;
    margin-top: 10.6666666667vw;
    margin-left: 2.75em;
    top: inherit;
    left: 0;
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-topics__splide.is-SP-btm-arrow .splide__arrows {
    text-align: center;
    width: 100%;
    top: inherit;
    left: 50%;
    transform: translateX(-50%);
    bottom: -1.6vw;
  }
}
@media screen and (max-width: 767px) {
  .p-topics__splide.is-SP-btm-arrow .splide__arrow {
    top: 2.6666666667vw;
    width: 16vw;
    height: 16vw;
    position: relative;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-topics__splide.is-SP-btm-arrow .splide__arrow--prev {
    margin-right: 24vw;
  }
}
.p-topics__list a {
  display: block;
}
@media (hover: hover) {
  .p-topics__list a:hover .p-topics__box {
    filter: brightness(150%);
  }
  .p-topics__list a:hover .p-topics__box::before {
    opacity: 0.5;
  }
}
.p-topics__item {
  overflow: hidden;
  border-radius: 0.5em;
  width: 23em;
}
@media screen and (max-width: 991px) {
  .p-topics__item {
    width: 32%;
  }
}
@media screen and (max-width: 767px) {
  .p-topics__item {
    width: 68vw;
    margin: 0 4.2666666667vw !important;
  }
}
@media screen and (min-width: 768px) {
  .p-topics__item:not(:last-child) {
    margin-right: 1.625em;
  }
}
@media screen and (max-width: 991px) {
  .p-topics__item:not(:last-child) {
    margin-right: 1.5%;
  }
}
.p-topics__box {
  position: relative;
  transition: 0.25s filter;
  aspect-ratio: 16/9;
  border-radius: 0.625em;
  overflow: hidden;
}
.p-topics__box::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(to left top, #f73f9e 0%, #846cff 51.7%, rgba(0, 168, 247, 0) 100%);
  opacity: 0;
  transition: 0.25s opacity;
}
@media (hover: hover) {
  .p-topics__box:hover {
    filter: brightness(150%);
  }
  .p-topics__box:hover::before {
    opacity: 0.5;
  }
}
.p-topics__box img {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.p-topics__ttl {
  font-weight: bold;
  font-size: 112.5%;
  line-height: 1.5;
  margin-top: 0.9em;
}
.p-topics .splide__pagination {
  margin-top: 24em;
  font-size: 1px;
}
.p-topics .splide__pagination__page {
  width: 8px;
  height: 8px;
  background: var(--main);
  opacity: 1;
  border: 0;
  padding: 0;
  margin-left: 10px;
  line-height: 1;
}
.p-topics .splide__pagination__page[aria-selected=true] {
  background: #F73F9E;
}
@media screen and (max-width: 767px) {
  .p-topics .splide__pagination__page {
    width: 8px;
    height: 8px;
  }
}
.p-topics .p-splide-status {
  position: absolute;
  right: 15.4666666667vw;
  top: -17.3333333333vw;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  width: 16vw;
  font-family: var(--en-sans);
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-topics .p-splide-status {
    right: 4.375em;
    top: -5.9375em;
    width: 3.75em;
  }
}
.p-topics .splide__arrows {
  display: block !important;
  position: absolute;
  right: 0;
  top: 0;
}
.p-topics .splide {
  position: relative;
}
.p-topics .splide__arrows {
  position: absolute;
  top: -18.6666666667vw;
  right: var(--sp-pad);
}
@media screen and (min-width: 768px) {
  .p-topics .splide__arrows {
    top: -6.875em;
    right: 0;
  }
}
.p-topics .splide__arrow {
  position: relative;
  background: #fff;
  border-radius: 100em;
  width: 2.75em;
  height: 2.75em;
  border: 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .p-topics .splide__arrow {
    width: 3.75em;
    height: 3.75em;
  }
}
.p-topics .splide__arrow svg {
  display: none;
}
.p-topics .splide__arrow::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1em;
  height: 0.75em;
  background: url("/assets/img/icon/arr_dark.svg") 0 0/auto 100% repeat-x;
}
@media screen and (min-width: 768px) {
  .p-topics .splide__arrow--prev {
    margin-right: 5em;
  }
}
@media screen and (max-width: 767px) {
  .p-topics .splide__arrow--prev {
    margin-right: 18.6666666667vw;
  }
}
.p-topics .splide__arrow--prev::before {
  transform: translate(-50%, -50%) rotate(-180deg);
}
@media screen and (min-width: 768px) {
  .p-topics__more {
    margin-top: 2em;
  }
}
@media screen and (max-width: 767px) {
  .p-topics__more {
    padding: 0 var(--sp-pad);
    margin-top: 8vw;
    text-align: right;
  }
  .p-topics__more.is-SP-btm-arrow {
    margin-top: 16vw;
  }
}
.p-topics__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-column-gap: 1.875em;
  grid-row-gap: 1.875em;
  padding-bottom: 3.125em;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .p-topics__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 4.2666666667vw;
    grid-row-gap: 8vw;
    padding-bottom: 10.6666666667vw;
  }
}
.p-topics__grid-item:nth-of-type(1), .p-topics__grid-item:nth-of-type(2) {
  grid-column: span 2;
}
@media screen and (min-width: 768px) {
  .p-topics__grid-item:nth-of-type(1), .p-topics__grid-item:nth-of-type(2) {
    margin-bottom: 1.25em;
  }
}
.p-topics__grid-item:nth-of-type(1) .p-topics__grid-title, .p-topics__grid-item:nth-of-type(2) .p-topics__grid-title {
  font-size: 1.8rem;
  line-height: 1.5;
  max-height: 3em;
}
@media screen and (max-width: 767px) {
  .p-topics__grid-item:nth-of-type(1) .p-topics__grid-title, .p-topics__grid-item:nth-of-type(2) .p-topics__grid-title {
    font-size: 4.2666666667vw;
  }
}
@media (hover: hover) {
  .p-topics__grid-item:hover .p-topics__grid-image {
    filter: brightness(150%);
  }
  .p-topics__grid-item:hover .p-topics__grid-thumbnail::before {
    opacity: 0.5;
  }
}
.p-topics__grid-thumbnail {
  position: relative;
  overflow: hidden;
  overflow: hidden;
  border-radius: 0.625em;
  margin-bottom: 0.75em;
}
@media screen and (max-width: 767px) {
  .p-topics__grid-thumbnail {
    margin-bottom: 3.2vw;
  }
}
.p-topics__grid-thumbnail::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(to left top, #f73f9e 0%, #846cff 51.7%, rgba(0, 168, 247, 0) 100%);
  opacity: 0;
  transition: 0.25s opacity;
}
.p-topics__grid-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  border-radius: 0.625em;
  object-fit: cover;
  transition: 0.25s filter;
}
.p-topics__grid-title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.75;
  color: var(--main);
  max-height: 3.5em;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-topics__grid-title {
    font-size: 3.7333333333vw;
  }
}

/*========================================
  fade-box
========================================*/
.p-fade-box {
  width: 100%;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;
  transition-property: opacity, background-color;
  transition-duration: 800ms, 300ms;
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  pointer-events: none;
  background-color: #fff;
}
.p-fade-box.is-eng {
  background: var(--eng);
}
.p-fade-box.is-hide {
  opacity: 0;
}

/*========================================
  empty
========================================*/
.p-empty {
  font-size: 125%;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .p-news .p-empty {
    padding-top: 0.75em;
  }
}

/******************************
 * font size
 ******************************/
.u-fs-11 {
  font-size: 1.1rem;
}

.u-fs-12 {
  font-size: 1.2rem;
}

.u-fs-13 {
  font-size: 1.3rem;
}

.u-fs-14 {
  font-size: 1.4rem;
}

.u-fs-15 {
  font-size: 1.5rem;
}

.u-fs-16 {
  font-size: 1.6rem;
}

.u-fs-17 {
  font-size: 1.7rem;
}

.u-fs-18 {
  font-size: 1.8rem;
}

.u-fs-19 {
  font-size: 1.9rem;
}

.u-fs-20 {
  font-size: 2rem;
}

.u-fs-21 {
  font-size: 2.1rem;
}

.u-fs-22 {
  font-size: 2.2rem;
}

.u-fs-23 {
  font-size: 2.3rem;
}

.u-fs-24 {
  font-size: 2.4rem;
}

.u-fs-25 {
  font-size: 2.5rem;
}

.u-fs-26 {
  font-size: 2.6rem;
}

.u-fs-27 {
  font-size: 2.7rem;
}

.u-fs-28 {
  font-size: 2.8rem;
}

.u-fs-29 {
  font-size: 2.9rem;
}

.u-fs-30 {
  font-size: 3rem;
}

@media screen and (max-width: 767px) {
  .u-SP-fs-1 {
    font-size: 1vw;
  }
  .u-SP-fs-2 {
    font-size: 2vw;
  }
  .u-SP-fs-3 {
    font-size: 3vw;
  }
  .u-SP-fs-4 {
    font-size: 4vw;
  }
  .u-SP-fs-5 {
    font-size: 5vw;
  }
  .u-SP-fs-6 {
    font-size: 6vw;
  }
  .u-SP-fs-7 {
    font-size: 7vw;
  }
  .u-SP-fs-8 {
    font-size: 8vw;
  }
  .u-SP-fs-9 {
    font-size: 9vw;
  }
  .u-SP-fs-10 {
    font-size: 10vw;
  }
  .u-SP-fs-11 {
    font-size: 11vw;
  }
  .u-SP-fs-12 {
    font-size: 12vw;
  }
  .u-SP-fs-13 {
    font-size: 13vw;
  }
  .u-SP-fs-14 {
    font-size: 14vw;
  }
  .u-SP-fs-15 {
    font-size: 15vw;
  }
  .u-SP-fs-16 {
    font-size: 16vw;
  }
  .u-SP-fs-17 {
    font-size: 17vw;
  }
  .u-SP-fs-18 {
    font-size: 18vw;
  }
  .u-SP-fs-19 {
    font-size: 19vw;
  }
  .u-SP-fs-20 {
    font-size: 20vw;
  }
  .u-SP-fs-21 {
    font-size: 21vw;
  }
  .u-SP-fs-22 {
    font-size: 22vw;
  }
  .u-SP-fs-23 {
    font-size: 23vw;
  }
  .u-SP-fs-24 {
    font-size: 24vw;
  }
  .u-SP-fs-25 {
    font-size: 25vw;
  }
  .u-SP-fs-26 {
    font-size: 26vw;
  }
  .u-SP-fs-27 {
    font-size: 27vw;
  }
  .u-SP-fs-28 {
    font-size: 28vw;
  }
  .u-SP-fs-29 {
    font-size: 29vw;
  }
  .u-SP-fs-30 {
    font-size: 30vw;
  }
}
/******************************
 * font
 ******************************/
.u-font-b {
  font-weight: bold;
}

.u-font-palt {
  font-feature-settings: "palt";
  letter-spacing: 0.2em;
}

/*========================================
 * background
========================================*/
.u-bg-gray {
  background: #F0F2F5;
  padding-bottom: 4.6875em;
}
@media screen and (max-width: 767px) {
  .u-bg-gray {
    padding-bottom: 13.3333333333vw;
  }
}

.u-bg-white {
  background: #FFF;
  padding-bottom: 13.75em;
}
@media screen and (max-width: 767px) {
  .u-bg-white {
    padding-bottom: 29.3333333333vw;
  }
}

/*========================================
 * hide
 *
 * クラス : u-hide
========================================*/
.u-hide {
  display: none;
}

/*========================================
 * hidden
 *
 * クラス : u-hidden-{MQ}
========================================*/
@media screen and (max-width: 767px) {
  .u-hidden-ltSP {
    display: none;
  }
}
@media screen and (max-width: 991px) {
  .u-hidden-ltTAB {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .u-hidden-gtTAB {
    display: none;
  }
}
@media screen and (min-width: 992px) {
  .u-hidden-gtPC {
    display: none;
  }
}

/*========================================
 * padding
========================================*/
@media screen and (max-width: 1260px) and (min-width: 767px) {
  .u-PC-pad {
    padding-right: 20px;
    padding-left: 20px;
  }
}
@media screen and (max-width: 767px) {
  .u-SP-pad {
    padding-right: var(--sp-pad);
    padding-left: var(--sp-pad);
  }
}
/*========================================
 * ovflow
========================================*/
.u-ovflow-hidden {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .u-PC-ovflow-hidden {
    overflow: hidden;
  }
}

/*========================================
 * スクリーンリーダーテキスト
========================================*/
.screen-reader-text,
.u-screen-reader {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

/*========================================
 * text-align
========================================*/
.u-ta-left {
  text-align: left;
}
.u-ta-center {
  text-align: center;
}
.u-ta-right {
  text-align: right;
}

@media screen and (max-width: 767px) {
  .u-SP-ta-left {
    text-align: left;
  }
  .u-SP-ta-center {
    text-align: center;
  }
  .u-SP-ta-right {
    text-align: right;
  }
}
/*========================================
 * tran
========================================*/
.u-tran {
  transition-property: transform opacity;
  transition-duration: 0.6s;
  opacity: 0;
  transform: translateY(20px);
}
.u-tran.is-fire {
  opacity: 1;
  transform: translateY(0);
}

.u-tran-a {
  transition-property: margin opacity;
  transition-duration: 0.6s;
  opacity: 0;
  margin-top: 20px;
}
.u-tran-a.is-fire {
  opacity: 1;
  margin-top: 0;
}