@charset "UTF-8";
/* 使用例
@use "global" as g;
@use "sass:map";

.hoge {
z-index: map.get(g.$layer, "header");
}

相対的な順番は、共通定義したドロワーの値から
z-index: map.get($layer, "drawer") + 1;
あるいは
z-index: map.get($layer, "drawer") - 1;
などして制御。
*/
body {
  font-family: "Geologica", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #525252;
}

img {
  height: auto;
  width: 100%;
}

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
.l-inner {
  padding-inline: 25px;
}

.c-bgPcOnly {
  pointer-events: none;
  background: linear-gradient(#fff 1px, transparent 1px), linear-gradient(90deg, #fff 1px, transparent 1px), #FFF100 no-repeat center center/cover;
  background-size: 26px 26px, 26px 26px, cover;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-bgPcOnly {
    display: none;
  }
}

.c-sectionHead__ttl {
  color: #FFF100;
  font-weight: 700;
  font-size: 2.1875rem;
  background: #525252;
  display: inline-block;
  padding-inline: 0.1em;
  line-height: 0.95;
}
.c-sectionHead__subTtl {
  font-weight: 700;
  margin-top: 6px;
}
.c-sectionHead--light .c-sectionHead__ttl {
  color: #F9F9F9;
}

.c-accessCollegeContainer {
  background: linear-gradient(#fff 1px, transparent 1px), linear-gradient(90deg, #fff 1px, transparent 1px), #FFF100 no-repeat center center/cover;
  background-size: 26px 26px, 26px 26px, cover;
}

.p-totalContainer {
  position: relative;
  z-index: 1;
}
.p-totalContainer__left {
  position: fixed;
  top: 0;
  left: 0;
  width: 48.6111111111vw;
  height: 100vh;
}
@media screen and (max-width: 767px) {
  .p-totalContainer__left {
    display: none;
  }
}
.p-totalContainer__right {
  position: fixed;
  top: 0;
  right: 0;
  width: calc(100vw - (48.6111111111vw + 375px));
  height: 100vh;
}
@media screen and (max-width: 767px) {
  .p-totalContainer__right {
    display: none;
  }
}
.p-totalContainer__center {
  position: absolute;
  top: 0;
  left: 48.6111111111vw;
  width: 375px;
  background: #F9F9F9;
  z-index: 3;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
  .p-totalContainer__center {
    width: 100vw;
    position: static;
    transform: none;
    border: none;
  }
}
.p-totalContainer__center::before {
  content: "";
  background: url(../img/ico_hamburgerBg_01.svg) no-repeat center center/contain;
  width: 109.2px;
  height: 69.6px;
  position: fixed;
  top: 0;
  right: calc(100vw - (48.6111111111vw + 375px));
  z-index: 299;
  display: none;
}
@media screen and (max-width: 850px) {
  .p-totalContainer__center::before {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .p-totalContainer__center::before {
    right: 0;
  }
}

.p-pcLeft {
  display: flex;
  justify-content: center;
  background: url(../img/bg_pcLeft_01.svg) no-repeat center bottom/700px auto;
}
@media screen and (min-width: 1441px) {
  .p-pcLeft {
    background-size: cover;
  }
}
@media (min-height: 857px) {
  .p-pcLeft {
    background-size: cover;
  }
}
@media screen and (max-width: 767px) {
  .p-pcLeft {
    display: none;
  }
}
.p-pcLeft__ttlWrap {
  margin-top: 90px;
  padding-inline: 20px;
}
.p-pcLeft__ttlSub {
  color: #FFF100;
  font-size: 1.5rem;
  font-size: clamp(12px, 1.5vw, 24px);
  font-weight: 700;
  background: #525252;
  display: inline-block;
  padding: 0.1em;
}
.p-pcLeft__ttl {
  font-size: 4.375rem;
  font-size: clamp(32px, 5vw, 70px);
  font-weight: 700;
  margin-top: 10px;
}

.p-pcRight {
  display: flex;
  justify-content: center;
}
.p-pcRight::before {
  content: "";
  background: url(../img/ico_hamburgerBg_01.svg) no-repeat center center/contain;
  width: 118.3px;
  height: 75.4px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 299;
  display: none;
}
@media screen and (max-width: 1200px) {
  .p-pcRight::before {
    display: block;
  }
}
@media screen and (max-width: 850px) {
  .p-pcRight::before {
    display: none;
  }
}
.p-pcRight__nav {
  margin-top: 130px;
  padding-inline: 20px;
}
@media screen and (max-width: 1200px) {
  .p-pcRight__nav {
    display: none;
  }
}
.p-pcRight__list {
  display: flex;
  flex-direction: column;
}
.p-pcRight__item + .p-pcRight__item {
  margin-top: 25px;
}
.p-pcRight__link {
  font-weight: 700;
  display: inline-block;
  position: relative;
}
.p-pcRight__link::before {
  content: "";
  background: #fff;
  width: 0;
  transition: width 0.3s;
  height: 1.5em;
  display: inline-block;
  position: absolute;
  z-index: -1;
  top: 50%;
  transform: translateY(-50%);
  left: -10px;
}
.p-pcRight__link:hover::before {
  width: calc(100% + 20px);
}
.p-pcRight__btnWrap {
  margin-top: 40px;
}
.p-pcRight__btn {
  width: 260px;
  max-width: 100%;
  height: 50px;
  font-weight: 700;
  background: #fff;
  border: 1px solid #525252;
  display: grid;
  place-items: center;
  border-radius: 10px;
  position: relative;
  transition: opacity 0.3s;
}
.p-pcRight__btn:hover {
  opacity: 0.6;
}
@media screen and (max-width: 767px) {
  .p-pcRight__btn:hover {
    opacity: 1;
  }
}
.p-pcRight__btn::after {
  content: "";
  background: url(../img/ico_external_01.svg) no-repeat center center/contain;
  width: 12px;
  height: 12px;
  position: absolute;
  left: calc(50% + 76px);
  top: 10px;
}

.p-drawerContent {
  background: #FFF100;
  width: 360px;
  height: 100vh;
  right: 0;
  top: 0;
  position: fixed;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.16);
  z-index: 299;
  transform: translateX(105%);
  transition: transform 0.5s ease 0s;
}
@media screen and (max-width: 767px) {
  .p-drawerContent {
    width: 100%;
    display: flex;
    justify-content: center;
  }
}
.p-drawerContent.isActive {
  transform: translateX(0);
}
.p-drawerContent__nav {
  margin-top: 130px;
  padding-inline: 20px;
}
.p-drawerContent__list {
  display: flex;
  flex-direction: column;
}
.p-drawerContent__item + .p-drawerContent__item {
  margin-top: 25px;
}
.p-drawerContent__link {
  font-weight: 700;
  display: inline-block;
  position: relative;
}
.p-drawerContent__link::before {
  content: "";
  background: #fff;
  width: 0;
  transition: width 0.3s;
  height: 1.5em;
  display: inline-block;
  position: absolute;
  z-index: -1;
  top: 50%;
  transform: translateY(-50%);
  left: -10px;
}
.p-drawerContent__link:hover::before {
  width: calc(100% + 20px);
}
@media screen and (max-width: 767px) {
  .p-drawerContent__link::before {
    display: none;
  }
}
.p-drawerContent__btnWrap {
  margin-top: 40px;
}
.p-drawerContent__btn {
  width: 260px;
  max-width: 100%;
  height: 50px;
  font-weight: 700;
  background: #fff;
  border: 1px solid #525252;
  display: grid;
  place-items: center;
  border-radius: 10px;
  position: relative;
  transition: opacity 0.3s;
}
.p-drawerContent__btn:hover {
  opacity: 0.6;
}
@media screen and (max-width: 767px) {
  .p-drawerContent__btn:hover {
    opacity: 1;
  }
}
.p-drawerContent__btn::after {
  content: "";
  background: url(../img/ico_external_01.svg) no-repeat center center/contain;
  width: 12px;
  height: 12px;
  position: absolute;
  left: calc(50% + 76px);
  top: 10px;
}

.p-drawerBackground {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  z-index: 298;
  display: none;
  pointer-events: none;
}
.p-drawerBackground.isActive {
  display: block;
  pointer-events: auto;
}

.p-drawerIcon {
  position: fixed;
  width: 40px;
  height: 40px;
  top: 20px;
  right: 10px;
  z-index: 300;
  display: none;
  background: #fff;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1200px) {
  .p-drawerIcon {
    display: flex;
  }
}
@media screen and (max-width: 850px) {
  .p-drawerIcon {
    right: calc(100vw - (48.6111111111vw + 375px) + 8px);
    top: 14px;
  }
}
@media screen and (max-width: 767px) {
  .p-drawerIcon {
    right: 8px;
  }
}
.p-drawerIcon.isActive .p-drawerIcon__bar1 {
  transform: translateY(-50%) rotate(-30deg);
  top: 50%;
  background: #cbcccb;
}
.p-drawerIcon.isActive .p-drawerIcon__bar2 {
  display: none;
}
.p-drawerIcon.isActive .p-drawerIcon__bar3 {
  transform: translateY(-50%) rotate(30deg);
  top: 50%;
  background: #cbcccb;
}
.p-drawerIcon__bars {
  width: 18px;
  height: 14px;
  display: block;
  position: relative;
}
.p-drawerIcon__bar1, .p-drawerIcon__bar2, .p-drawerIcon__bar3 {
  position: absolute;
  width: 100%;
  height: 2px;
  background: #cbcccb;
  left: 0;
  transition: 0.3s;
}
.p-drawerIcon__bar1 {
  top: 0;
}
.p-drawerIcon__bar2 {
  top: 50%;
  transform: translateY(-50%);
}
.p-drawerIcon__bar3 {
  bottom: 0;
}

.p-header {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.p-header__logo {
  width: 210px;
  margin-top: 16px;
}
.p-mv {
  background: linear-gradient(#fff 1px, transparent 1px), linear-gradient(90deg, #fff 1px, transparent 1px), #FFF100 no-repeat center center/cover;
  background-size: 26px 26px, 26px 26px, cover;
  padding: 80px 0 90px 0;
}
.p-mv__ttlSub {
  font-size: 0.75rem;
  color: #FFF100;
  background: #525252;
  display: inline-block;
  padding: 0.2em;
  font-weight: 700;
}
.p-mv__ttl {
  font-size: 2.25rem;
  font-weight: 700;
  margin-top: 4px;
}
.p-scheduleLocation {
  border: 3px solid #FFF100;
  border-left: none;
  border-bottom-right-radius: 40px;
  width: calc(100% - 60px);
  position: relative;
  padding: 30px 0 20px 0;
  margin-top: -74px;
  background: #fff;
}
.p-scheduleLocation::after {
  content: "";
  background: url(../img/img_bubble_01.svg) no-repeat center center/contain;
  width: 94px;
  height: 104px;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
}
.p-scheduleLocation__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.p-scheduleLocation__item {
  display: grid;
  place-items: center;
  gap: 10px;
}
.p-scheduleLocation__itemDate {
  font-size: 1.875rem;
  font-weight: 700;
}
.p-scheduleLocation__itemDateWeekday {
  font-size: 0.875rem;
  font-weight: 900;
}
.p-scheduleLocation__itemDateWeekday--sat {
  color: #376fb5;
}
.p-scheduleLocation__itemDateWeekday--sun {
  color: #ff3100;
}
.p-scheduleLocation__itemTime {
  font-size: 0.75rem;
}
.p-scheduleLocation__place {
  font-size: 0.75rem;
  margin-top: 18px;
  display: flex;
  align-items: center;
}
.p-scheduleLocation__place::after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #666;
  margin-left: 0.5rem;
}
.p-scheduleLocation__placeList {
  margin-top: 20px;
}
.p-scheduleLocation__placeItem {
  font-size: 0.875rem;
  position: relative;
  padding-left: 1em;
}
.p-scheduleLocation__placeItem::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #ffb432;
  clip-path: path("M6 2.73352 C6.66667 3.11842 6.66667 4.08067 6 4.46557 L1.5 7.06365 C0.833334 7.44855 -0.0000004 6.96743 -0.0000003 6.19762 L-0.0000001 1.00147 C-0.00000007 0.231672 0.833333 -0.249454 1.5 0.135446 L6 2.73352 Z");
}
.p-scheduleLocation__placeItem + .p-scheduleLocation__placeItem {
  margin-top: 8px;
}

.p-about {
  margin-top: 30px;
}
.p-about__container {
  border-radius: 40px;
  background: #fff;
  box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.25);
  padding: 50px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-about__ttl {
  font-size: 1.125rem;
  text-align: center;
  font-weight: 700;
}
.p-about__subTtl {
  font-size: 0.75rem;
  text-align: center;
  margin-top: 10px;
}
.p-about__body {
  margin-top: 40px;
}
.p-about__text {
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-about__text + .p-about__text {
  margin-top: 20px;
}

.p-event {
  background: #FFF100;
  margin-top: 200px;
  position: relative;
  padding: 30px 0 70px;
}
.p-event::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 100%;
  width: 100%;
  height: 100px;
  /* SVGをCSSに埋め込み */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 375 100' preserveAspectRatio='none'%3E%3Cpath d='M -375 100 Q -281.25 100 -187.5 50 Q 0 -50 187.5 50 Q 281.25 100 375 100 Q 468.75 100 562.5 50 Q 750 -50 937.5 50 Q 1031.25 100 1125 100 L 375 100 L 0 100 Z' fill='%23fff100'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% 100%;
  pointer-events: none; /* 装飾なのでクリックを邪魔しない */
}
.p-event::after {
  content: "";
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  height: 100px;
  /* SVGをCSSに埋め込み */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 375 100' preserveAspectRatio='none'%3E%3Cpath d='M 0 0 Q 93.75 0 187.5 50 Q 375 150 562.5 50 Q 656.25 0 750 0 Q 843.75 0 937.5 50 Q 1125 150 1312.5 50 Q 1406.25 0 1500 0 L 375 0 L 0 0 Z' fill='%23fff100'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% 100%;
  pointer-events: none; /* 装飾なのでクリックを邪魔しない */
}
.p-event__list {
  margin-top: 20px;
}
.p-event__item + .p-event__item {
  margin-top: 30px;
}

.p-eventCard {
  background: #fff;
  border: 1px solid #525252;
  padding: 40px;
  position: relative;
}
.p-eventCard::before {
  content: "";
  width: 67px;
  height: 24px;
  background: #FFF100;
  border-bottom: 1px solid #525252;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: center center;
  transform: rotate(-45deg) translate(-25%, -100%);
}
.p-eventCard::after {
  content: "";
  width: 67px;
  height: 24px;
  background: #FFF100;
  border-bottom: 1px solid #525252;
  position: absolute;
  bottom: 0;
  right: 0;
  transform-origin: center center;
  transform: rotate(135deg) translate(-25%, -100%);
}
.p-eventCard__ttl {
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
}
.p-eventCard__body {
  display: flex;
  margin-top: 20px;
}
.p-eventCard__bodyLeft {
  width: 70px;
}
.p-eventCard__date {
  font-size: 0.875rem;
  font-weight: 700;
  width: 48px;
  height: 22px;
  color: #fff;
  background: #FFB432;
  display: grid;
  place-items: center;
  border-radius: 12px;
}
.p-eventCard__bodyRight {
  width: calc(100% - 70px);
}
.p-eventCard__bodyItem {
  font-size: 0.875rem;
  position: relative;
  padding-left: 1em;
  line-height: 1.5;
}
.p-eventCard__bodyItem + .p-eventCard__bodyItem {
  margin-top: 14px;
}
.p-eventCard__bodyItem::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #ffb432;
  clip-path: path("M6 2.73352 C6.66667 3.11842 6.66667 4.08067 6 4.46557 L1.5 7.06365 C0.833334 7.44855 -0.0000004 6.96743 -0.0000003 6.19762 L-0.0000001 1.00147 C-0.00000007 0.231672 0.833333 -0.249454 1.5 0.135446 L6 2.73352 Z");
}
.p-eventCard__bodyText {
  font-size: 0.75rem;
  padding-left: 1em;
  margin-top: 14px;
}

.p-floorMap {
  padding: 180px 0 0;
}
.p-floorMap__caution {
  font-size: 0.875rem;
  font-weight: 700;
  margin-top: 60px;
}
.p-floorMap__map {
  margin-top: 30px;
}
.p-floorMap__link {
  transition: opacity 0.3s;
}
.p-floorMap__link:hover {
  opacity: 0.6;
}
@media screen and (max-width: 767px) {
  .p-floorMap__link:hover {
    opacity: 1;
  }
}
.p-floorMap__slider {
  position: relative;
  overflow: hidden;
  margin-top: 90px;
  border-top: 1px solid #FFB432;
  border-bottom: 1px solid #FFB432;
}
.p-floorMap__sliderText {
  padding: 10px 0;
  width: 392px;
}
.p-floorMap__sliderText.loop {
  animation: loop 20s linear infinite;
}
.p-floorMap__sliderText.loop2 {
  position: absolute;
  top: 0;
  left: 0;
  animation: loop 20s -10s linear infinite;
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes rotateAnimation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.p-mapContent {
  background: linear-gradient(#eaeaea 1px, transparent 1px), linear-gradient(90deg, #eaeaea 1px, transparent 1px), #fff no-repeat center center/cover;
  background-size: 16px 16px, 16px 16px, cover;
  position: fixed;
  bottom: 0;
  left: 48.6111111111vw;
  width: 135px;
  z-index: 30;
  padding: 20px 24px 72px;
  width: 375px;
  display: none;
  min-height: auto; /* コンテンツ量に応じる */
  max-height: 100vh; /* 画面の高さに応じる */
  overflow: scroll;
}
@media screen and (max-width: 767px) {
  .p-mapContent {
    width: 100%;
    left: 0;
  }
}
.p-mapContent.is-active {
  transition: transform 0.3s;
  transform: translateY(-100%);
}
.p-mapContent__inner {
  overflow-y: scroll;
}
.p-mapContent__ttl::before {
  font-size: 0.875rem;
  width: 24px;
  height: 24px;
  color: #fff;
  background: #10161a;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.p-mapContent__ttl {
  font-size: 1rem;
  font-weight: 700;
  line-height: 125%;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  gap: 8px;
}
.p-mapContent__ttl--graphic::before {
  content: "1";
  background: #ffb432;
}
.p-mapContent__ttl--digicon::before {
  content: "2";
  background: #ffb432;
}
.p-mapContent__ttl--make::before {
  content: "3";
  background: #ffb432;
}
.p-mapContent__ttl--security::before {
  content: "4";
  background: #578ee0;
}
.p-mapContent__ttl--kokusai::before {
  content: "5";
  background: #8ecc09;
}
.p-mapContent__ttl--game::before {
  content: "6";
  background: #578ee0;
}
.p-mapContent__ttl--business::before {
  content: "7";
  background: #578ee0;
}
.p-mapContent__ttl--medical::before {
  content: "8";
  background: #ff79b2;
}
.p-mapContent__ttl--program::before {
  content: "9";
  background: #578ee0;
}
.p-mapContent__ttl--cad::before {
  content: "10";
  background: #ffb432;
}
.p-mapContent__ttl--mirai::before {
  content: "11";
  background: #8ecc09;
}
.p-mapContent__ttl--kodomo::before {
  content: "12";
  background: #ff79b2;
}
.p-mapContent__mediaList {
  margin-top: 20px;
}
.p-mapContent__mediaItem + .p-mapContent__mediaItem {
  margin-top: 24px;
}
.p-mapContent__mediaItemTtl {
  line-height: 125%;
  letter-spacing: 0.04em;
  font-weight: 700;
  padding: 3px 0 0;
  display: inline-block;
  font-size: 0.875rem;
  color: #fff;
  padding-inline: 0.5em;
  /* =========================================================
   * 分野モディファイア（JS側で付ける）
   * 例：p-mapContent__mediaItemTtl--make
   *
   * いまは「見た目を変えない」ままでもOKですが、
   * 将来の調整がしやすいようにフックを用意します。
   * ======================================================= */
}
.p-mapContent__mediaItemTtl--graphic {
  background: #ffb432;
}
.p-mapContent__mediaItemTtl--digicon {
  background: #ffb432;
}
.p-mapContent__mediaItemTtl--make {
  background: #ffb432;
}
.p-mapContent__mediaItemTtl--security {
  background: #578ee0;
}
.p-mapContent__mediaItemTtl--kokusai {
  background: #8ecc09;
}
.p-mapContent__mediaItemTtl--game {
  background: #578ee0;
}
.p-mapContent__mediaItemTtl--business {
  background: #578ee0;
}
.p-mapContent__mediaItemTtl--medical {
  background: #ff79b2;
}
.p-mapContent__mediaItemTtl--program {
  background: #578ee0;
}
.p-mapContent__mediaItemTtl--cad {
  background: #ffb432;
}
.p-mapContent__mediaItemTtl--mirai {
  background: #8ecc09;
}
.p-mapContent__mediaItemTtl--kodomo {
  background: #ff79b2;
}
.p-mapContent__media {
  display: flex;
  margin-top: 12px;
  flex-direction: row-reverse;
  gap: 20px;
}
.p-mapContent__mediaBody {
  width: 58.4097859327%;
  padding-right: 20px;
  font-family: "Zen Kaku Gothic Antique", serif;
}
.p-mapContent__mediaBodyText {
  font-size: 0.875rem;
  line-height: 150%;
}
.p-mapContent__mediaBodyText .bold {
  font-weight: 700;
}
.p-mapContent__mediaBodyText span {
  font-weight: 700;
  margin-top: 8px;
  display: inline-block;
}
.p-mapContent__mediaImgWrap {
  width: 41.5902140673%;
}
.p-mapContent__mediaItemText {
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 150%;
  margin-top: 12px;
}
.p-mapContent__close {
  width: 28px;
  position: absolute;
  top: 20px;
  right: 24px;
  transition: opacity 0.3s;
}
.p-mapContent__close:hover {
  opacity: 0.6;
}
@media screen and (max-width: 767px) {
  .p-mapContent__close:hover {
    opacity: 1;
  }
}

.p-stageProgram {
  padding: 90px 0 130px;
}
.p-stageProgram__accordion {
  margin-top: 60px;
}

.p-stageAccordion__item {
  border: 1px solid #525252;
  border-radius: 10px;
  background: linear-gradient(#eaeaea 1px, transparent 1px), linear-gradient(90deg, #eaeaea 1px, transparent 1px), #fff no-repeat center center/cover;
  background-size: 16px 16px, 16px 16px, cover;
  position: relative;
}
.p-stageAccordion__item + .p-stageAccordion__item {
  margin-top: 18px;
}
.p-stageAccordion__item::before {
  content: "";
  position: absolute;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background-color: #FFF100;
  border: 1px solid #525252;
  top: 12px;
  right: 12px;
}
.p-stageAccordion__ttl {
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  padding: 14px 0 10px;
  position: relative;
  cursor: pointer;
}
.p-stageAccordion__ttl .number {
  font-size: 1.25rem;
}
.p-stageAccordion__ttl .sat {
  color: #376fb5;
}
.p-stageAccordion__ttl .sun {
  color: #ff3100;
}
.p-stageAccordion__ttl::before {
  content: "";
  position: absolute;
  width: 13px;
  height: 1px;
  background-color: #525252;
  top: 24px;
  right: 18px;
}
.p-stageAccordion__ttl::after {
  content: "";
  position: absolute;
  height: 13px;
  width: 1px;
  background-color: #525252;
  top: 18px;
  right: 24px;
  transition: transform 0.3s ease;
}
.p-stageAccordion__ttl.open {
  border-bottom: 1px solid #525252;
}
.p-stageAccordion__ttl.open::after {
  transform: rotate(90deg);
  transition: transform 0.3s ease;
}
.p-stageAccordion__content {
  display: none;
  padding: 30px 18px;
}
.p-stageAccordion__contentHead {
  position: relative;
}
.p-stageAccordion__contentHead::before {
  content: "";
  width: 80%;
  height: 2px;
  background-color: #FFB432;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.p-stageAccordion__contentTtl {
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  padding-bottom: 20px;
}
.p-stageAccordion__contentTtl::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 8px 0px 8px;
  border-color: #FFB432 transparent transparent transparent;
}
.p-stageAccordion__contentTtl::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(100% - 3px);
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 8px 0px 8px;
  border-color: #fff transparent transparent transparent;
}
.p-stageAccordion__contentItem {
  display: flex;
  padding: 20px 0;
  position: relative;
}
.p-stageAccordion__contentItem::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 8px 0px 8px;
  border-color: #525252 transparent transparent transparent;
}
.p-stageAccordion__contentItem::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 8px 0px 8px;
  border-color: #fff transparent transparent transparent;
}
.p-stageAccordion__contentItem:last-of-type::before, .p-stageAccordion__contentItem:last-of-type::after {
  display: none;
}
.p-stageAccordion__contentItem:last-of-type .p-stageAccordion__contentDt::before {
  display: none;
}
.p-stageAccordion__contentDt {
  width: 70px;
  font-size: 0.875rem;
  font-weight: 400;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.p-stageAccordion__contentDt::before {
  content: "";
  width: 80%;
  height: 1px;
  background-color: #525252;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.p-stageAccordion__contentDtStart {
  position: relative;
}
.p-stageAccordion__contentDtStart::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 12px;
  background-color: #525252;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
}
.p-stageAccordion__contentDd {
  width: calc(100% - 70px);
}
.p-stageAccordion__contentDdText {
  font-size: 0.875rem;
}
.p-stageAccordion__contentDdTtl {
  font-weight: 700;
  font-size: 0.875rem;
  margin-top: 8px;
  line-height: 1.5;
}

.p-access {
  padding: 60px 0 0;
  position: relative;
  z-index: 1;
}
.p-access__container {
  margin-top: 60px;
  position: relative;
}
.p-access__container::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #FFB432;
  border: 1px solid #525252;
  transform: rotate(5deg);
  position: absolute;
  z-index: -1;
}
.p-access__list {
  background: #fff;
  border: 1px solid #525252;
  padding: 10px 16px 10px;
  position: relative;
}
.p-access__list::before {
  content: "";
  background: url(../img/ico_pin_01.svg) no-repeat center center/contain;
  width: 21px;
  height: 55px;
  position: absolute;
  right: 20px;
  top: -12px;
}
.p-access__item {
  padding: 30px 0 20px;
  border-bottom: dashed 1px #525252;
}
.p-access__item:last-child {
  border-bottom: none;
}
.p-access__itemTtl {
  font-weight: 700;
}
.p-access__itemBtnWrap {
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
}
.p-access__itemBtn {
  font-size: 0.875rem;
  width: 124px;
  height: 30px;
  background: #FFF100;
  border-radius: 14px;
  display: grid;
  place-items: center;
  border: 1px solid #525252;
  position: relative;
  transition: opacity 0.3s;
}
.p-access__itemBtn:hover {
  opacity: 0.6;
}
@media screen and (max-width: 767px) {
  .p-access__itemBtn:hover {
    opacity: 1;
  }
}
.p-access__itemBtn::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 10px;
  width: 10px;
  height: 10px;
  background-color: #525252;
  clip-path: path("M6 2.73352 C6.66667 3.11842 6.66667 4.08067 6 4.46557 L1.5 7.06365 C0.833334 7.44855 -0.0000004 6.96743 -0.0000003 6.19762 L-0.0000001 1.00147 C-0.00000007 0.231672 0.833333 -0.249454 1.5 0.135446 L6 2.73352 Z");
}
.p-access__slider {
  position: relative;
  overflow: hidden;
  margin-top: 90px;
  border-top: 1px solid #FFB432;
  border-bottom: 1px solid #FFB432;
}
.p-access__sliderText {
  padding: 10px 0;
  width: 392px;
}
.p-access__sliderText.loop {
  animation: loop 20s linear infinite;
}
.p-access__sliderText.loop2 {
  position: absolute;
  top: 0;
  left: 0;
  animation: loop 20s -10s linear infinite;
}
.p-college {
  padding: 60px 0 80px;
}
.p-college__list {
  margin-top: 40px;
}
.p-college__item + .p-college__item {
  margin-top: 40px;
}

.p-collegeItem {
  border: 3px solid #FFB432;
  border-radius: 10px;
  background: #fff;
  padding: 20px 36px;
}
.p-collegeItem__ttl {
  font-weight: 700;
  text-align: center;
  position: relative;
}
.p-collegeItem__ttl::after {
  content: "";
  background: url(../img/ico_waveOrange_01.svg) no-repeat center center/contain;
  width: 82px;
  height: 10px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(100% + 4px);
}
.p-collegeItem__list {
  margin-top: 50px;
}
.p-collegeItem__item {
  border-bottom: 1px solid #FFB432;
  padding-bottom: 20px;
}
.p-collegeItem__item + .p-collegeItem__item {
  padding-top: 20px;
}
.p-collegeItem__link {
  display: block;
  border-bottom: 1px solid #FFB432;
  font-weight: 700;
  font-size: 0.875rem;
  transition: opacity 0.3s;
  position: relative;
}
.p-collegeItem__link .small {
  font-size: 0.75rem;
}
.p-collegeItem__link::after {
  content: "";
  background: url(../img/ico_externalOrange_01.svg) no-repeat center center/contain;
  width: 25px;
  height: 25px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.p-collegeItem__link:hover {
  opacity: 0.6;
}
@media screen and (max-width: 767px) {
  .p-collegeItem__link:hover {
    opacity: 1;
  }
}
.p-collegeItem__link:last-child {
  border-bottom: none;
}
.p-collegeItem--it {
  border-color: #578ee0;
}
.p-collegeItem--it .p-collegeItem__ttl::after {
  background-image: url(../img/ico_waveBlue_01.svg);
}
.p-collegeItem--it .p-collegeItem__item {
  border-color: #578ee0;
}
.p-collegeItem--it .p-collegeItem__item .p-collegeItem__link::after {
  background-image: url(../img/ico_externalBlue_01.svg);
}
.p-collegeItem--medical {
  border-color: #FF79B2;
}
.p-collegeItem--medical .p-collegeItem__ttl::after {
  background-image: url(../img/ico_wavePink_01.svg);
}
.p-collegeItem--medical .p-collegeItem__item {
  border-color: #FF79B2;
}
.p-collegeItem--medical .p-collegeItem__item .p-collegeItem__link::after {
  background-image: url(../img/ico_externalPink_01.svg);
}
.p-collegeItem--international {
  border-color: #8ECC09;
}
.p-collegeItem--international .p-collegeItem__ttl::after {
  background-image: url(../img/ico_waveGreen_01.svg);
}
.p-collegeItem--international .p-collegeItem__item {
  border-color: #8ECC09;
}
.p-collegeItem--international .p-collegeItem__item .p-collegeItem__link::after {
  background-image: url(../img/ico_externalGreen_01.svg);
}

.p-faq {
  padding: 60px 0 0;
}
.p-faq__accordion {
  margin-top: 30px;
}

.p-faqAccordion__item {
  border-top: 1px solid #525252;
  position: relative;
}
.p-faqAccordion__item:last-of-type {
  border-bottom: 1px solid #525252;
}
.p-faqAccordion__item::before {
  content: "";
  position: absolute;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background-color: #FFF100;
  border: 1px solid #525252;
  top: 18px;
  right: 12px;
}
.p-faqAccordion__ttl {
  font-weight: 700;
  font-size: 0.875rem;
  padding: 24px 0 24px 2em;
  position: relative;
  cursor: pointer;
}
.p-faqAccordion__ttl::before {
  content: "Q";
  font-size: 1.25rem;
  font-weight: 400;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 6px;
}
.p-faqAccordion__ttl .cross {
  display: block;
}
.p-faqAccordion__ttl .cross::before {
  content: "";
  position: absolute;
  width: 13px;
  height: 1px;
  background-color: #525252;
  top: 30px;
  right: 18px;
}
.p-faqAccordion__ttl .cross::after {
  content: "";
  position: absolute;
  height: 13px;
  width: 1px;
  background-color: #525252;
  top: 24px;
  right: 24px;
  transition: transform 0.3s ease;
}
.p-faqAccordion__ttl.open .cross::after {
  transform: rotate(90deg);
}
.p-faqAccordion__content {
  padding-left: 1.7em;
  position: relative;
  padding-bottom: 20px;
  display: none;
}
.p-faqAccordion__content::before {
  content: "A";
  font-size: 1.25rem;
  font-weight: 400;
  position: absolute;
  top: 10px;
  transform: translateY(-50%);
  left: 6px;
}
.p-faqAccordion__text {
  font-size: 0.875rem;
  line-height: 1.8;
}

.p-sponsorship {
  padding: 60px 0;
}
.p-sponsorship__ttl {
  font-size: 0.875rem;
  font-weight: 700;
  position: relative;
  padding-left: 1em;
}
.p-sponsorship__ttl::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #ffb432;
  clip-path: path("M6 2.73352 C6.66667 3.11842 6.66667 4.08067 6 4.46557 L1.5 7.06365 C0.833334 7.44855 -0.0000004 6.96743 -0.0000003 6.19762 L-0.0000001 1.00147 C-0.00000007 0.231672 0.833333 -0.249454 1.5 0.135446 L6 2.73352 Z");
}
.p-sponsorship__text {
  font-size: 0.875rem;
  line-height: 1.8;
  margin-top: 20px;
}

.p-footer {
  padding: 20px 0;
  border-top: 1px solid #525252;
}
.p-footer__copy {
  text-align: center;
  font-size: 0.75rem;
}

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

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

@media screen and (max-width: 1069px) {
  .u-pcOnly {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .u-pcOnly {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .u-spNone {
    display: none;
  }
}

@media screen and (max-width: 1069px) {
  .u-tabNone {
    display: none;
  }
}

@media screen and (min-width: 1070px) {
  .u-pcNone {
    display: none;
  }
}

.u-tabFlex {
  display: none;
}
@media screen and (max-width: 1069px) {
  .u-tabFlex {
    display: flex;
  }
}

.u-spFlex {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-spFlex {
    display: flex;
  }
}

.u-linkPosition {
  display: block;
  position: relative;
  top: -50px;
}/*# sourceMappingURL=style.css.map */