:root {
  --font-size-sm: 0.875rem;
  --font-size-base: clamp(0.875rem, 0.828rem + 0.23vw, 1rem);
  --font-size-md: clamp(1rem, 0.953rem + 0.23vw, 1.125rem);
  --font-size-lg: clamp(1.125rem, 1.078rem + 0.23vw, 1.25rem);
  --font-size-xl: clamp(1.25rem, 1.203rem + 0.23vw, 1.375rem);
  --font-size-xxl: clamp(1.25rem, 1.157rem + 0.47vw, 1.5rem);
  --font-size-xxxl: clamp(1.25rem, 1.017rem + 1.16vw, 1.875rem);
}

:root {
  --font-family-gothic: var(--wp--preset--font-family--gothic-font);
  --font-family-mincho: var(--wp--preset--font-family--mincho-font);
  --font-family-english: var(--wp--preset--font-family--english-font);
}

:root {
  --root-padding-left: clamp(0.625rem, -0.428rem + 5.26vw, 3.125rem);
  --root-padding-right: clamp(0.625rem, -0.428rem + 5.26vw, 3.125rem);
  --root-padding-size: clamp(0.625rem, -0.428rem + 5.26vw, 3.125rem);
}

:root {
  --wp--style--root--padding-right: var(--root-padding-right);
  --wp--style--root--padding-left: var(--root-padding-left);
  --wp--style--root--padding-size: var(--root-padding-size);
}

:root {
  --section-padding-top: clamp(3.125rem, 1.809rem + 6.58vw, 6.25rem);
  --section-padding-bottom: clamp(3.125rem, 1.809rem + 6.58vw, 6.25rem);
}

:root {
  --color-primary-auto-light: color-mix(in oklab, var(--wp--preset--color--primary) 75%, white);
  --color-primary-auto-dark: color-mix(in oklab, var(--wp--preset--color--primary) 75%, black);
  --color-primary-auto-extra-light: color-mix(in oklab, var(--wp--preset--color--primary) 85%, white);
  --color-primary-auto-lightest: color-mix(in oklab, var(--wp--preset--color--primary) 92%, white);
}

:root {
  --section-container-padding: clamp(1.875rem, 0.712rem + 5.81vw, 5rem);
}

/* =========================================================
topHero
========================================================= */
body.admin-bar .topHero {
  height: calc(100vh - var(--header-height) - 32px);
}
@media screen and (max-width: 780px) {
  body.admin-bar .topHero {
    height: calc(100vh - var(--header-height) - 46px);
  }
}

.topHero {
  width: 100%;
  height: calc(100vh - var(--header-height));
  position: relative;
}
.topHero::before {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 65, 117, 0.4);
  background-size: 100% 100%;
  content: "";
  display: block;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.topHero__imgArea {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: rgb(0, 65, 117);
}
.topHero__imgArea img {
  opacity: 0.6;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.topHero__textArea {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  gap: 10px;
}
.topHero__textArea__text {
  word-break: auto-phrase;
  color: #fff;
  font-family: "LINE Seed JP", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(0.75rem, 0.523rem + 1.14vw, 1.375rem);
  line-height: 1.8;
  text-align: center;
}
.topHero__coverScroll {
  z-index: 3;
  text-align: center;
  opacity: 1;
  position: absolute;
  pointer-events: auto;
  left: 50%;
  height: auto;
  bottom: 20px;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  transition: opacity 1.1s cubic-bezier(0.52, 0.08, 0.1, 1) 1s;
}
.topHero__coverScroll:hover .topHero__coverScroll__icon {
  background-color: #fccc00;
  color: #0068b7;
}
.topHero__coverScroll__icon {
  margin: 0 auto;
  display: block;
  width: 30px;
  height: 48px;
  left: 50%;
  bottom: 0;
  text-align: center;
  background-color: #ffffff;
  border-radius: 15px;
  color: #0068b7;
  padding-top: 40%;
  transition: background-color 0.6s cubic-bezier(0.37, 0.16, 0.12, 1), color 0.6s cubic-bezier(0.37, 0.16, 0.12, 1);
}
.topHero__coverScroll__icon i {
  -webkit-animation-name: scroll-anime;
          animation-name: scroll-anime;
  -webkit-animation-duration: 2.5s;
          animation-duration: 2.5s;
  -webkit-animation-timing-function: cubic-bezier(0.37, 0.16, 0.12, 1);
          animation-timing-function: cubic-bezier(0.37, 0.16, 0.12, 1);
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}
.topHero__coverScroll__text {
  font-size: 10px;
  font-size: 1rem;
  line-height: 1;
  font-weight: bold;
  color: #fff;
  margin-top: 5px;
  text-align: center;
}

@-webkit-keyframes scroll-anime {
  0% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
    opacity: 0;
  }
  60% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
    opacity: 0;
  }
}

@keyframes scroll-anime {
  0% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
    opacity: 0;
  }
  60% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
    opacity: 0;
  }
}
/* secAbout section styles
 */
.secAbout {
  padding-top: var(--section-container-padding);
}

/* =========================================================
.topImportantNews
========================================================= */
.topImportantNews {
  padding-top: var(--section-container-padding);
  padding-bottom: var(--section-container-padding);
}
.topImportantNews__box {
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  box-shadow: 0 5px 40px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.3);
  background-color: #f2f2f2;
  background: rgba(255, 255, 255, 0.1);
  -webkit-backdrop-filter: blur(3px) saturate(1.8);
          backdrop-filter: blur(3px) saturate(1.8);
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
@media screen and (min-width: 768px) {
  .topImportantNews__box {
    flex-wrap: nowrap;
  }
}
.topImportantNews__box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, rgba(255, 255, 255, 0.1) 0%, transparent 50%, rgba(255, 255, 255, 0.1) 100%);
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.topImportantNews__box__head {
  background-color: var(--wp--preset--color--primary);
  color: #fff;
  font-weight: bold;
  line-height: 1.2;
  padding: 1em 1em;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .topImportantNews__box__head {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 1.5em 1em;
  }
}
.topImportantNews__box__body {
  padding: 0.5em 1em;
  flex-grow: 1;
}
.topImportantNews .newsList li {
  padding: 10px 0;
}

/*============================
topAbout
============================*/
.topAbout {
  position: relative;
  z-index: 2;
  padding-top: var(--section-container-padding);
  padding-bottom: var(--section-container-padding);
}
.topAbout__row {
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: center;
}
.topAbout__textArea {
  width: 100%;
}
.topAbout__movieArea {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .topAbout__read {
    font-size: 1.125rem;
  }
}
.topAbout__movie a {
  position: relative;
  max-width: 95vh;
  display: block;
  overflow: hidden;
  margin: 0 auto;
}
.topAbout__movie .video-caption {
  color: #333;
  text-align: center;
  line-height: 1.2;
  margin-top: 5px;
}
.topAbout__movie span {
  position: relative;
  padding-top: 56.25%;
  display: block;
  overflow: hidden;
  background-color: #fff;
}
.topAbout__movie span::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22youtube-logo%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2050%2035%22%20width%3D%2250%22%20height%3D%2235%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3B%7D.cls-2%7Bfill%3Ared%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-2%22%20d%3D%22M48.96%2C5.47c-.58-2.15-2.27-3.85-4.42-4.42-3.9-1.04-19.53-1.04-19.53-1.04%2C0%2C0-15.64%2C0-19.53%2C1.04C3.31%2C1.62%2C1.62%2C3.31%2C1.04%2C5.47c-1.04%2C3.9-1.04%2C12.03-1.04%2C12.03%2C0%2C0%2C0%2C8.14%2C1.04%2C12.03%2C.58%2C2.15%2C2.27%2C3.85%2C4.42%2C4.42%2C3.9%2C1.04%2C19.53%2C1.04%2C19.53%2C1.04%2C0%2C0%2C15.64%2C0%2C19.53-1.04%2C2.15-.58%2C3.85-2.27%2C4.42-4.42%2C1.04-3.9%2C1.04-12.03%2C1.04-12.03%2C0%2C0%2C0-8.14-1.04-12.03Z%22%2F%3E%3Cpolygon%20class%3D%22cls-1%22%20points%3D%2220%2025%2032.99%2017.5%2020%2010%2020%2025%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 50px;
  height: 35px;
  display: block;
  z-index: 2;
}
.topAbout__movie img {
  opacity: 1;
  position: absolute;
  transition: all 0.3s ease-in-out;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100% !important;
  height: 100% !important;
  width: 100%;
  max-width: 100%;
}
.topAbout__movie a:hover span {
  background-color: #000;
}
.topAbout__movie a:hover img {
  opacity: 0.8;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.topAbout__btnArea {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

/* =========================================================
.topCurriculum
========================================================= */
.topCurriculum {
  padding-top: var(--section-container-padding);
  padding-bottom: var(--section-container-padding);
  background-color: #f2f2f2;
  position: relative;
}
.topCurriculum:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  content: "";
  background-color: #fff;
  display: block;
}
.topCurriculum__title {
  margin-top: calc((var(--wp--preset--font-size--x-large) + clamp(1rem, 0.909rem + 0.45vw, 1.25rem)) * -1);
}
@media screen and (min-width: 768px) {
  .topCurriculum__read {
    font-size: 1.125rem;
  }
}
.topCurriculum__imgArea {
  margin-top: 20px;
}
.topCurriculum__btnArea {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

/* --------------------------------
  Modal
-------------------------------- */
#modal {
  display: none;
  position: fixed;
  z-index: 996;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#modal .modal_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
}
#modal .modal_inner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 90%;
  max-width: 95vh;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#modal .modal_inner .video-area {
  position: relative;
  padding-top: 56.25%;
  width: 100%;
}
#modal .modal_inner .video-area iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
#modal .modal_inner .close {
  position: absolute;
  bottom: 102%;
  right: 0;
  width: 30px;
  cursor: pointer;
}

/* =========================================================
.topVoice
========================================================= */
.topVoice {
  padding-top: var(--section-container-padding);
  padding-bottom: var(--section-container-padding);
  position: relative;
}
.topVoice__inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .topVoice__inner {
    flex-direction: row;
  }
}
@media screen and (min-width: 768px) {
  .topVoice__title {
    align-items: flex-start;
  }
}
.topVoice__imgArea {
  border-radius: clamp(0.125rem, -0.061rem + 0.93vw, 0.625rem);
  width: 100%;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .topVoice__imgArea {
    width: 50%;
    border-radius: 20px;
  }
}
.topVoice__imgArea img {
  max-width: initial;
  width: 100%;
}
.topVoice__textArea {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .topVoice__textArea {
    width: 50%;
    padding: 3vw;
  }
}
@media screen and (min-width: 768px) {
  .topVoice__read {
    font-size: 1.125rem;
  }
}
.topVoice__btnArea {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .topVoice__btnArea {
    justify-content: flex-start;
  }
}

/****************************************
.topNews
*****************************************/
.topNews {
  padding-top: var(--section-container-padding);
  padding-bottom: var(--section-container-padding);
  position: relative;
}
.topNews__wrap {
  background-color: rgba(205, 236, 255, 0.3);
  padding: clamp(0.625rem, 0.16rem + 2.33vw, 1.875rem);
  border-radius: clamp(0.313rem, 0.196rem + 0.58vw, 0.625rem);
  -webkit-backdrop-filter: blur(3px);
          backdrop-filter: blur(3px);
}
.topNews__btnArea {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

/* =========================================================
#topEntry
========================================================= */
.topEntry {
  background-image: url(../images/top/topEntry-back.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  padding-top: var(--section-container-padding);
  padding-bottom: var(--section-container-padding);
  position: relative;
  width: 100%;
}
.topEntry::before {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 65, 117, 0.4);
  background-size: 100% 100%;
  content: "";
  display: block;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.topEntry__title {
  color: #fff;
}
.topEntry__title .c-sectionTitle__en {
  background: #fff;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.topEntry__title span {
  color: #fff;
}
.topEntry__box {
  background-color: #fff;
  padding: 30px 20px;
  max-width: 800px;
  margin: 0 auto;
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.topEntry__text {
  line-height: 1.6;
  margin-bottom: 0.5em;
}
.topEntry__row {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 15px;
}
@media screen and (min-width: 768px) {
  .topEntry__row {
    flex-direction: row;
  }
}
@media screen and (min-width: 768px) {
  .topEntry__col {
    margin-bottom: 0px;
  }
}
.topEntry__col:nth-child(1) {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .topEntry__col:nth-child(1) {
    width: 45%;
  }
}
.topEntry__col:nth-child(2) {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .topEntry__col:nth-child(2) {
    width: 55%;
  }
}
.topEntry__logo {
  text-align: center;
}
.topEntry__logo img {
  display: inline-block;
}
.topEntry__requirementsBtn, .topEntry__entryBtn {
  color: #fff;
  font-weight: bold;
  line-height: 1.2;
  padding: 1em 1em;
  display: block;
  border-radius: 5px;
  margin-top: 10px;
  transition: all 0.3s ease;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .topEntry__requirementsBtn, .topEntry__entryBtn {
    font-size: 1.25rem;
  }
}
.topEntry__requirementsBtn:hover, .topEntry__entryBtn:hover {
  background-color: var(--wp--preset--color--accent);
  color: #fff;
}
.topEntry__requirementsBtn {
  background-color: var(--wp--preset--color--primary);
}
.topEntry__entryBtn {
  background-color: var(--wp--preset--color--secondary);
}

/* =========================================================
.topOrganizations
========================================================= */
.topOrganizations {
  position: relative;
  padding-top: var(--section-container-padding);
  padding-bottom: var(--section-container-padding);
}
@media screen and (min-width: 768px) {
  .topOrganizations {
    padding: 70px 0;
  }
}
.topOrganizations__area + .topOrganizations__area {
  margin-top: 30px;
}
.topOrganizations__title {
  text-align: center;
  font-size: clamp(4rem, 8vw, 5rem);
}
.topOrganizations__links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 15px 15px;
  max-width: 915px;
  text-align: center;
  margin: 0 auto;
}
.topOrganizations__links li {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.topOrganizations__links li a {
  overflow: hidden;
  border-radius: 2px;
  display: block;
  text-align: center;
  background-color: #fff;
  padding: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
}
.topOrganizations__links li a:hover {
  opacity: 0.8;
}
.topOrganizations__midashi {
  text-align: center;
  word-break: keep-all;
  line-height: 1.8;
  -webkit-margin-after: 0.8em;
          margin-block-end: 0.8em;
  overflow-wrap: anywhere;
}
.topOrganizations__midashi span {
  display: inline-block;
}

/* =========================================================
particles-js
========================================================= */
.particles-js-canvas-el {
  z-index: -1;
  position: fixed;
  widows: 100%;
  height: 100vh;
  content: "";
  display: block;
  top: 0;
}