@charset "UTF-8";
[data-aos=fade-up] {
  transform: translate3d(0, 30px, 0);
}

@keyframes img-wrap {
  0% {
    clip-path: circle(0 at 50% 50%);
    -webkit-clip-path: circle(0 at 50% 50%);
    filter: blur(10px);
  }
  20% {
    filter: blur(0px);
  }
  100% {
    clip-path: circle(100% at 50% 50%);
    -webkit-clip-path: circle(100% at 50% 50%);
  }
}
.kv {
  position: relative;
  overflow: hidden;
}
.kv .kv_inner {
  opacity: 0;
}
.kv.kv-animate {
  animation: img-wrap 0.6s linear 0s;
}
.kv.kv-animate .kv_inner {
  opacity: 1;
  visibility: visible;
}

.kv_ring {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vmax;
  height: 100vmax;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0);
  box-shadow: inset 0 0 190px 200px #fff;
  filter: blur(4px);
}
@media screen and (max-width: 767px) {
  .kv_ring {
    width: 100vw;
    height: auto;
    aspect-ratio: 1;
    box-shadow: inset 0 0 60px 60px #fff;
  }
}

.headline-text-main,
.headline-text,
.concept-image,
.headline-text-sub {
  opacity: 0;
}
.headline-text-main.aos-animate,
.headline-text.aos-animate,
.concept-image.aos-animate,
.headline-text-sub.aos-animate {
  opacity: 1;
}

.concept-image::before, .concept-image::after {
  transform: translateY(100%);
  opacity: 0;
  transition-duration: 1s;
}
.concept-image::before {
  transition-delay: 0.5s;
}
.concept-image::after {
  transition-delay: 0.8s;
}
.concept-image.aos-animate {
  opacity: 1;
}
.concept-image.aos-animate::before, .concept-image.aos-animate::after {
  transform: none;
  opacity: 1;
}

.sns-banner::after {
  transform: translateY(-30px);
  opacity: 0;
  transition-duration: 1s;
  transition-delay: 1s;
}
.sns-banner.aos-animate::after {
  transform: translateY(-40%);
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .sns-banner.aos-animate::after {
    transform: translateY(-50%);
  }
}

/**********************/
/* アニメーション用設定 */
/**********************/
.js-aos-preparing .headline-text > *,
.js-aos-preparing .concept-image,
.js-aos-preparing .concept-text > *,
.js-aos-preparing .sns-banner,
.js-aos-preparing .section-title,
.js-aos-preparing .section-lead,
.js-aos-preparing .access-container > *,
.js-aos-preparing .location-grid .location-card {
  opacity: 0;
}
@media print, screen and (min-width: 768px) {
  .js-aos-preparing .school-grid .school-card {
    opacity: 0;
  }
}
@media screen and (max-width: 767px) {
  .js-aos-preparing .school-grid .school-card .circle-image,
  .js-aos-preparing .school-grid .school-card .circle-label {
    opacity: 0;
  }
}

:root {
  --color-main: #233a84;
  --color-secondory: #b8e4ff;
  --color-text: #333;
  --font-main: "Zen Kaku Gothic New", sans-serif;
}

body {
  position: relative;
  font-family: var(--font-main);
  margin: 0;
  padding-top: 99px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  body {
    padding-top: 90px;
  }
}
body * {
  box-sizing: border-box;
}
body *::before, body *::after {
  box-sizing: border-box;
}
body.is-fixed {
  overflow: hidden;
}

.header {
  display: flex;
  justify-content: space-between;
  padding: 30px 40px 28px 30px;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .header {
    padding: 30px 20px 28px 25px;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .header .school-logo {
    max-width: 72%;
  }
}
.header .school-logo img {
  display: block;
  width: 100%;
}
.header .header-icons {
  margin-top: 10px;
  display: flex;
  align-items: center;
  gap: 35px;
}
@media screen and (max-width: 767px) {
  .header .header-icons {
    margin-top: 0px;
    gap: 20px;
  }
}
@media screen and (max-width: 470px) {
  .header .header-icons {
    gap: 10px;
    transform: translateX(20%);
  }
}
@media screen and (max-width: 470px) {
  .header .header-icons .insta-icon-monochrome {
    width: 27%;
  }
}
.header .header-icons .insta-icon-monochrome:hover {
  opacity: 0.7;
}
.header .header-icons .insta-icon-monochrome img {
  display: block;
  width: 100%;
}
.header .header-icons .menu-icon {
  position: relative;
  padding: 10px 0px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .header .header-icons .menu-icon {
    max-width: 36%;
  }
}
@media screen and (max-width: 470px) {
  .header .header-icons .menu-icon {
    width: 27%;
    transform: translateX(50%);
  }
}
.header .header-icons .menu-icon .close {
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.header .header-icons .menu-icon.menu_open .close {
  display: block;
}
.header .header-icons .menu-icon.menu_open .open {
  opacity: 0;
  visibility: hidden;
}
.header .header-icons .menu-icon img {
  display: block;
  width: 100%;
}

.gnavi {
  position: relative;
  z-index: 3;
}
.gnavi.menu-active .gnavi_wrap {
  visibility: visible;
  opacity: 1;
  transition: 0.3s;
}
.gnavi.menu-active .bg-layer {
  opacity: 1;
  transform: translateY(0);
}
.gnavi .gnavi_wrap {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  top: 99px;
  padding-top: 80px;
  background-color: #fff;
  width: 100%;
  height: 100vh;
  min-height: 100dvh;
  overflow-y: auto;
}
@media screen and (max-width: 767px) {
  .gnavi .gnavi_wrap {
    top: 84px;
  }
}
.gnavi .gnavi_bg-container {
  position: absolute;
  top: 10px;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .gnavi .gnavi_bg-container {
    top: 6%;
  }
}
.gnavi .bg-layer {
  height: 157px;
  background-size: auto 100%;
  background-repeat: repeat-x;
  opacity: 0;
  transform: translateY(10%);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.gnavi .bg-layer:nth-child(1) {
  background-image: url(../images/menu_bg1.svg?v=1);
  transition-delay: 0s;
  background-position: left 50% center;
}
.gnavi .bg-layer:nth-child(2) {
  background-image: url(../images/menu_bg2.svg?v=1);
  transition-delay: 0.1s;
  background-position: left 50% center;
}
.gnavi .bg-layer:nth-child(3) {
  background-image: url(../images/menu_bg3.svg?v=1);
  transition-delay: 0.2s;
  background-position: left 50% center;
}
.gnavi .bg-layer:nth-child(4) {
  background-image: url(../images/menu_bg4.svg?v=1);
  transition-delay: 0.3s;
  background-position: left 50% center;
}
.gnavi .gnavi_menu {
  position: relative;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  max-width: 420px;
}
@media screen and (max-width: 767px) {
  .gnavi .gnavi_menu {
    padding: 0 20px;
  }
}
.gnavi .gnavi_menu > li {
  background-color: #fff;
}
.gnavi .gnavi_menu > li + li {
  margin-top: 20px;
}
@media screen and (max-width: 470px) {
  .gnavi .gnavi_menu > li {
    transform: unset;
  }
}
.gnavi .gnavi_menu > li:not(.external_link):nth-child(1) a::after {
  background-color: #2caaa1;
}
@media print, screen and (min-width: 1025px) {
  .gnavi .gnavi_menu > li:not(.external_link):nth-child(1) a:hover {
    background-color: #2caaa1;
  }
  .gnavi .gnavi_menu > li:not(.external_link):nth-child(1) a:hover::before {
    opacity: 1;
  }
  .gnavi .gnavi_menu > li:not(.external_link):nth-child(1) a:hover::after {
    background: #2caaa1;
    mask: url(../images/icon_menu_arrow.svg) no-repeat center/14px 7px;
  }
}
.gnavi .gnavi_menu > li:not(.external_link):nth-child(2) a::after {
  background-color: #fc5134;
}
@media print, screen and (min-width: 1025px) {
  .gnavi .gnavi_menu > li:not(.external_link):nth-child(2) a:hover {
    background-color: #fc5134;
  }
  .gnavi .gnavi_menu > li:not(.external_link):nth-child(2) a:hover::before {
    opacity: 1;
  }
  .gnavi .gnavi_menu > li:not(.external_link):nth-child(2) a:hover::after {
    background: #fc5134;
    mask: url(../images/icon_menu_arrow.svg) no-repeat center/14px 7px;
  }
}
.gnavi .gnavi_menu > li:not(.external_link):nth-child(3) a::after {
  background-color: #8a81bc;
}
@media print, screen and (min-width: 1025px) {
  .gnavi .gnavi_menu > li:not(.external_link):nth-child(3) a:hover {
    background-color: #8a81bc;
  }
  .gnavi .gnavi_menu > li:not(.external_link):nth-child(3) a:hover::before {
    opacity: 1;
  }
  .gnavi .gnavi_menu > li:not(.external_link):nth-child(3) a:hover::after {
    background: #8a81bc;
    mask: url(../images/icon_menu_arrow.svg) no-repeat center/14px 7px;
  }
}
.gnavi .gnavi_menu > li:not(.external_link):nth-child(4) a::after {
  background-color: #5db023;
}
@media print, screen and (min-width: 1025px) {
  .gnavi .gnavi_menu > li:not(.external_link):nth-child(4) a:hover {
    background-color: #5db023;
  }
  .gnavi .gnavi_menu > li:not(.external_link):nth-child(4) a:hover::before {
    opacity: 1;
  }
  .gnavi .gnavi_menu > li:not(.external_link):nth-child(4) a:hover::after {
    background: #5db023;
    mask: url(../images/icon_menu_arrow.svg) no-repeat center/14px 7px;
  }
}
.gnavi .gnavi_menu > li a {
  position: relative;
  display: block;
  padding: 18px;
  border: 1px solid #000;
  font-size: 20px;
  text-decoration: none;
  color: #000;
}
@media print, screen and (min-width: 1025px) {
  .gnavi .gnavi_menu > li a:hover {
    color: #fff;
  }
}
.gnavi .gnavi_menu > li a:not([href^=http])::before, .gnavi .gnavi_menu > li a:not([href^=http])::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
}
.gnavi .gnavi_menu > li a:not([href^=http])::before {
  background-color: #fff;
  opacity: 0;
}
.gnavi .gnavi_menu > li a:not([href^=http])::after {
  background-color: #fff;
  background-image: url(../images/icon_menu_arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 7px;
  z-index: 3;
}
@media print, screen and (min-width: 1025px) {
  .gnavi .gnavi_menu > li a[href^=http]:hover {
    background-color: #52bbb7;
  }
  .gnavi .gnavi_menu > li a[href^=http]:hover::after {
    background-color: #fff;
  }
}
.gnavi .gnavi_menu > li a[href^=http]::after {
  content: "";
  position: absolute;
  top: 50%;
  background-color: #52bbb7;
  mask-image: url(../images/icon_ext.svg);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 30px;
  z-index: 3;
  right: 15px;
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
}

/*************/
/* 共通class */
/*************/
span.pc_wrap {
  display: block;
}
@media print, screen and (min-width: 1025px) {
  span.pc_wrap {
    display: unset;
  }
}

@media screen and (max-width: 767px) {
  span.sp_wrap {
    display: block;
  }
}

.br_pc {
  display: none;
}
@media print, screen and (min-width: 1025px) {
  .br_pc {
    display: block;
  }
}

@media print, screen and (min-width: 1025px) {
  .br_sp {
    display: none;
  }
}

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

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

.insta-box {
  position: relative;
  z-index: 2;
  background-color: #ffffff;
  text-decoration: none;
  color: #000000;
}
.insta-box:hover > * {
  opacity: 0.7;
}
.insta-box .insta-text-top {
  text-align: center;
}
.insta-box .insta-icon-color {
  width: 100%;
  margin: 0 auto;
}
.insta-box .insta-icon-color img {
  display: block;
  width: 100%;
}
.insta-box .insta-text-bottom {
  text-align: center;
}

.section-width {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1160px) {
  .section-width {
    max-width: 100%;
    padding-right: 20px;
    padding-left: 20px;
  }
}
.section-width .section-title {
  max-width: 230px;
  width: 100%;
  margin: 88px auto 30px;
  padding: 10px 15px 0;
  border: 1px solid #040404;
  border-bottom: none;
  font-weight: normal;
  font-size: 20px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .section-width .section-title {
    margin: 85px auto 27px;
  }
}
@media screen and (max-width: 767px) {
  .section-width .section-title.width_w {
    max-width: 250px;
  }
}
.section-width .section-lead {
  font-size: 18px;
  text-align: center;
  line-height: 1.8333333333;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .section-width .section-lead {
    font-size: 3.6vw;
    letter-spacing: 0.05em;
    margin: 0 -20px;
  }
}

.main .headline .headline-image .headline-image-img {
  width: 100%;
  display: block;
}
.main .headline .headline-text {
  max-width: 900px;
  width: 100%;
  padding-top: 60px;
  margin: 0 auto 80px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main .headline .headline-text {
    padding-top: 43px;
    margin-bottom: 65px;
  }
}
.main .headline .headline-text .headline-text-main {
  margin: 0;
}
.main .headline .headline-text .headline-text-main.name {
  font-weight: normal;
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .main .headline .headline-text .headline-text-main.name {
    font-size: 31px;
  }
}
@media screen and (max-width: 470px) {
  .main .headline .headline-text .headline-text-main.name {
    font-size: 20px;
  }
}
.main .headline .headline-text .headline-text-main.date {
  width: 78%;
  margin: 3% auto 0;
  padding-bottom: 1%;
}
@media screen and (max-width: 767px) {
  .main .headline .headline-text .headline-text-main.date {
    width: 62%;
    padding-bottom: 1.8%;
  }
}
.main .headline .headline-text .headline-text-main.date img {
  display: block;
  width: 100%;
}
.main .headline .headline-text .headline-text-sub {
  margin: 34px 0 0;
  font-size: 25px;
  line-height: 1.5;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 767px) {
  .main .headline .headline-text .headline-text-sub {
    margin: 34px 0 0;
    font-size: 20px;
  }
}
@media screen and (max-width: 470px) {
  .main .headline .headline-text .headline-text-sub {
    font-size: 15px;
  }
}
.main .concept {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .main .concept {
    max-width: 80%;
  }
}
@media screen and (max-width: 767px) {
  .main .concept {
    max-width: 440px;
  }
}
@media screen and (max-width: 470px) {
  .main .concept {
    max-width: 300px;
  }
}
.main .concept .concept-image {
  position: relative;
}
.main .concept .concept-image img {
  display: block;
  width: 100%;
}
.main .concept .concept-image::before, .main .concept .concept-image::after {
  content: "";
  position: absolute;
}
.main .concept .concept-image::before {
  width: 13.89%;
  aspect-ratio: 125/250;
  background: url(../images/circular_module_vertical.svg?v=1) no-repeat center/100%;
  top: -15%;
  right: -5.7%;
}
@media screen and (max-width: 767px) {
  .main .concept .concept-image::before {
    top: -37%;
    left: -16.2%;
    width: 28.2%;
  }
}
@media screen and (max-width: 470px) {
  .main .concept .concept-image::before {
    width: 27.2%;
    left: -50px;
  }
}
.main .concept .concept-image::after {
  width: 22%;
  aspect-ratio: 198/267;
  background: url(../images/semi_circular_modulel.svg?v=1) no-repeat center/100%;
  bottom: -57%;
  left: -8.1%;
}
@media screen and (max-width: 767px) {
  .main .concept .concept-image::after {
    bottom: -79.5%;
    left: auto;
    right: -2%;
    width: 27.1%;
  }
}
.main .concept .concept-text {
  margin: 78px auto 87px;
  max-width: 645px;
  width: 100%;
  transform: translateX(7%);
}
@media screen and (max-width: 1024px) {
  .main .concept .concept-text {
    max-width: unset;
    display: table;
    width: auto;
    transform: none;
  }
}
@media screen and (max-width: 767px) {
  .main .concept .concept-text {
    max-width: 100%;
    margin: 61px 0px 87px 9px;
  }
}
.main .concept .concept-text .concept-text-main {
  margin: 0 0 40px;
  font-weight: normal;
  font-size: 41px;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .main .concept .concept-text .concept-text-main {
    margin: 0 0 28px;
    font-size: 35px;
    line-height: 1.3;
  }
}
@media screen and (max-width: 470px) {
  .main .concept .concept-text .concept-text-main {
    font-size: 30px;
  }
}
.main .concept .concept-text .concept-text-sub {
  margin: 0;
  font-size: 17px;
  line-height: 1.6;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 767px) {
  .main .concept .concept-text .concept-text-sub {
    font-size: 18px;
    line-height: 1.76;
  }
}
@media screen and (max-width: 470px) {
  .main .concept .concept-text .concept-text-sub {
    font-size: 14px;
  }
}
.main .sns-banner {
  display: flex;
  justify-content: center;
  position: relative;
}
.main .sns-banner::after {
  content: "";
  width: 100%;
  height: 157px;
  background: url(../images/circular_module_horizontal.svg) repeat-x;
  z-index: -1;
  position: absolute;
  top: 50%;
}
@media screen and (max-width: 767px) {
  .main .sns-banner::after {
    background-size: cover;
  }
}
.main .sns-banner .insta-box {
  max-width: 300px;
  width: 100%;
  aspect-ratio: 1;
  border: 1px solid #040404;
  font-size: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .main .sns-banner .insta-box {
    width: 54%;
    font-size: 18px;
  }
}
@media screen and (max-width: 470px) {
  .main .sns-banner .insta-box {
    font-size: 15px;
  }
}
.main .sns-banner .insta-box .insta-text-top,
.main .sns-banner .insta-box .insta-text-bottom {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.main .sns-banner .insta-box .insta-icon-color {
  max-width: 70px;
  margin: 9% auto;
}
@media screen and (max-width: 767px) {
  .main .sns-banner .insta-box .insta-icon-color {
    max-width: 60px;
  }
}
.main .school-list .school-grid {
  margin: 55px auto 90px;
  padding: 0;
  display: flex;
  list-style: none;
  gap: 36px 3.45%;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .main .school-list .school-grid {
    margin: 44px auto 124px;
    gap: 32px;
    padding: 0 9%;
  }
}
.main .school-list .school-grid .school-card {
  flex: 0 0 17.223%;
  max-width: 187px;
}
@media screen and (max-width: 767px) {
  .main .school-list .school-grid .school-card {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }
}
.main .school-list .school-grid .school-card .school-link {
  text-decoration: none;
  color: #000000;
  font-size: 20px;
}
@media screen and (max-width: 1024px) {
  .main .school-list .school-grid .school-card .school-link {
    font-size: 1.6vw;
  }
}
@media screen and (max-width: 767px) {
  .main .school-list .school-grid .school-card .school-link {
    display: flex;
    align-items: center;
    font-size: 20px;
  }
}
@media screen and (max-width: 470px) {
  .main .school-list .school-grid .school-card .school-link {
    font-size: 15px;
  }
}
.main .school-list .school-grid .school-card .school-link .circle-image,
.main .school-list .school-grid .school-card .school-link .circle-label {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .main .school-list .school-grid .school-card .school-link .circle-image,
  .main .school-list .school-grid .school-card .school-link .circle-label {
    width: auto;
  }
}
.main .school-list .school-grid .school-card .school-link .circle-image {
  position: relative;
  z-index: 2;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .main .school-list .school-grid .school-card .school-link .circle-image {
    flex: 0 0 50%;
    margin: 0;
  }
}
.main .school-list .school-grid .school-card .school-link .circle-image img {
  display: block;
  width: 100%;
}
.main .school-list .school-grid .school-card .school-link .circle-label {
  position: relative;
  margin-top: -24%;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  aspect-ratio: 1;
}
@media screen and (max-width: 767px) {
  .main .school-list .school-grid .school-card .school-link .circle-label {
    flex: 0 0 50%;
    margin-top: unset;
  }
}
@media screen and (max-width: 470px) {
  .main .school-list .school-grid .school-card .school-link .circle-label {
    justify-content: center;
  }
}
.main .school-list .school-grid .school-card .school-link .circle-label.yellow {
  background-color: #ffff01;
}
.main .school-list .school-grid .school-card .school-link .circle-label.moss-green {
  background-color: #9cb53e;
}
.main .school-list .school-grid .school-card .school-link .circle-label.orange {
  background-color: #ffbf00;
}
.main .school-list .school-grid .school-card .school-link .circle-label.pea-green {
  background-color: #b5c922;
}
.main .school-list .school-grid .school-card .school-link .circle-label.pink {
  background-color: #e48b9d;
}
.main .school-list .school-grid .school-card .school-link .circle-label::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 20.5%;
  left: 0;
  right: 0;
  background-size: cover;
  margin: auto;
  width: 18.28%;
  aspect-ratio: 35/9;
  background: url(../images/arrow.svg) no-repeat center/100%;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .main .school-list .school-grid .school-card .school-link .circle-label::after {
    bottom: 18%;
  }
}
.main .school-list .school-grid .school-card .school-link .circle-label .school-name {
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .main .school-list .school-grid .school-card .school-link .circle-label .school-name {
    transform: translateY(-3%);
  }
}
@media screen and (max-width: 470px) {
  .main .school-list .school-grid .school-card .school-link .circle-label .school-name {
    margin-top: 0;
  }
}
.main .school-list .school-grid .school-card .school-link:hover {
  opacity: 0.7;
}
.main .school-list .school-grid .school-card .school-link:hover .circle-label::after {
  transform: translateX(15px);
}
@media screen and (max-width: 767px) {
  .main .access .section-title {
    margin-top: 75px;
  }
}
.main .access .access-container {
  margin-top: 47px;
  display: flex;
}
@media screen and (max-width: 767px) {
  .main .access .access-container {
    max-width: 420px;
    margin: 30px auto 0;
    flex-direction: column;
  }
}
.main .access .access-container.access-container_block {
  display: block;
  margin-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .main .access .access-container.access-container_block {
    margin-bottom: 60px;
  }
}
.main .access .access-container.access-container_block .access-map {
  width: 100%;
  height: 450px;
}
@media screen and (max-width: 767px) {
  .main .access .access-container.access-container_block .access-map {
    height: 273px;
  }
}
.main .access .access-container.access-container_block .access-info {
  margin: 37px 0 0;
  text-align: center;
}
.main .access .access-container.access-container_block .btn-googlemap {
  margin: 0 auto;
}
.main .access .access-container .access-map {
  width: 575px;
  height: 375px;
}
@media screen and (max-width: 1024px) {
  .main .access .access-container .access-map {
    width: 55%;
    height: auto;
    aspect-ratio: 575/375;
  }
}
@media screen and (max-width: 767px) {
  .main .access .access-container .access-map {
    width: 100%;
    height: 273px;
  }
}
.main .access .access-container .access-map .googlemap {
  display: block;
  width: 100%;
  height: 100%;
}
.main .access .access-container .access-info {
  margin-left: 25px;
}
@media screen and (max-width: 767px) {
  .main .access .access-container .access-info {
    margin: 30px 0 0;
  }
}
.main .access .access-container .access-info .main-route {
  margin: -5px 0 0 -5px;
  font-size: 20px;
  line-height: 1.5;
}
@media screen and (max-width: 470px) {
  .main .access .access-container .access-info .main-route {
    font-size: 17px;
  }
}
.main .access .access-container .access-info .info_bus_information {
  width: 100%;
  max-width: 300px;
  margin: 25px auto 43px;
}
.main .access .access-container .access-info .bus-info {
  margin: 38px 0 46px;
}
@media screen and (max-width: 767px) {
  .main .access .access-container .access-info .bus-info {
    margin: 36px 0 44px;
  }
}
.main .access .access-container .access-info .bus-info .bus-table {
  border-spacing: 0;
}
.main .access .access-container .access-info .bus-info .bus-table .bus-table-caption {
  margin-bottom: 6px;
  font-size: 17px;
  text-align: left;
}
.main .access .access-container .access-info .bus-info .bus-table .bus-table-tr .bus-table-th {
  width: 120px;
  height: 30px;
  font-size: 14px;
  font-weight: unset;
  text-align: left;
}
.main .access .access-container .access-info .bus-info .bus-table .bus-table-tr .bus-table-th:first-child {
  width: 98px;
}
.main .access .access-container .access-info .bus-info .bus-table .bus-table-tr .bus-table-td {
  height: 27px;
  font-size: 17px;
}
@media screen and (max-width: 470px) {
  .main .access .access-container .access-info .bus-info .bus-table .bus-table-tr .bus-table-td {
    font-size: 15px;
  }
}
.main .access .access-container .access-info .btn-googlemap {
  display: block;
  max-width: 320px;
  padding: 22px 0 28px;
  border-radius: 50px;
  background-color: #3797b1;
  color: #ffffff;
  text-decoration: none;
  text-align: center;
  font-size: 17px;
}
@media screen and (max-width: 767px) {
  .main .access .access-container .access-info .btn-googlemap {
    margin: 0 auto;
  }
}
.main .access .access-container .access-info .btn-googlemap:hover {
  opacity: 0.7;
}
.main .location .location-grid {
  margin: 41px 0 74px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  gap: 40px 1.85%;
}
@media screen and (max-width: 767px) {
  .main .location .location-grid {
    margin: 52px 0 62px;
    padding: 0 0.9%;
    justify-content: space-between;
    gap: 19px 0;
  }
}
.main .location .location-grid .location-card {
  flex: 0 0 23.612%;
}
@media screen and (max-width: 767px) {
  .main .location .location-grid .location-card {
    flex: 0 0 46.6%;
  }
}
.main .location .location-grid .location-card .location-image {
  border: 1px solid #707070;
}
.main .location .location-grid .location-card .location-image img {
  display: block;
  width: 100%;
}
.main .location .location-grid .location-card .location-title {
  margin: 13px 0 0;
  font-size: 17px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .main .location .location-grid .location-card .location-title {
    font-size: 14px;
  }
}
@media screen and (max-width: 1024px) {
  .main .location .location-grid .location-card .location-title {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .main .location .location-grid .location-card .location-title {
    margin: 9px 0 0;
    font-size: 18px;
    line-height: 1.6;
  }
}
@media screen and (max-width: 470px) {
  .main .location .location-grid .location-card .location-title {
    font-size: 14px;
  }
}
.main .location_image_main {
  margin-top: 30px;
  margin-bottom: 115px;
}
@media screen and (max-width: 767px) {
  .main .location_image_main {
    margin-bottom: 60px;
  }
}
.main .location_image_main img {
  display: block;
  width: 100%;
}

.footer {
  background-color: #e5ddd6;
}
.footer .footer-container {
  max-width: 1080px;
  margin: 0 auto;
  padding: 28px 0 31px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media print, screen and (max-width: 1201px) {
  .footer .footer-container {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .footer .footer-container {
    padding: 20px 20px;
    max-width: 100%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer-container {
    padding: 26px 30px;
    flex-direction: column;
    max-width: 470px;
  }
}
.footer .footer-container .footer-info .school-name {
  margin: 0 0 18px;
  font-size: 25px;
}
@media screen and (max-width: 470px) {
  .footer .footer-container .footer-info .school-name {
    font-size: 20px;
  }
}
.footer .footer-container .footer-info .address {
  font-size: 14px;
  font-style: unset;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .footer .footer-container .footer-info .address {
    font-size: 17px;
  }
}
.footer .footer-container .footer-info .address .zip {
  padding-right: 1em;
}
.footer .footer-container .insta-box {
  margin: 3px 0 0;
  width: 385px;
  display: flex;
  align-items: center;
  padding: 8px 16px 12px 16px;
}
@media screen and (max-width: 1024px) {
  .footer .footer-container .insta-box {
    width: 320px;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer-container .insta-box {
    margin: 24px 0 0;
    width: 100%;
    max-width: 440px;
    height: auto;
    padding: 25px 45px 30px 30px;
  }
}
@media screen and (max-width: 470px) {
  .footer .footer-container .insta-box {
    padding: 25px 15px 30px 15px;
  }
}
.footer .footer-container .insta-box .insta-icon-color {
  margin: 3px 15px 0px 0;
  max-width: 49px;
}
@media screen and (max-width: 767px) {
  .footer .footer-container .insta-box .insta-icon-color {
    max-width: 90px;
    flex: 0 0 27%;
  }
}
.footer .footer-container .insta-box .insta-text {
  flex: 1 1 auto;
}
.footer .footer-container .insta-box .insta-text .insta-text-top {
  margin: 0;
  font-size: 18px;
  padding: 0 0 3px;
  border-bottom: 1px solid;
  line-height: 1.5;
}
@media screen and (max-width: 470px) {
  .footer .footer-container .insta-box .insta-text .insta-text-top {
    font-size: 14px;
  }
}
.footer .footer-container .insta-box .insta-text .insta-text-bottom {
  margin: 6px 0 0px;
  font-size: 18px;
}
@media screen and (max-width: 1024px) {
  .footer .footer-container .insta-box .insta-text .insta-text-bottom {
    margin: 6px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer-container .insta-box .insta-text .insta-text-bottom {
    margin: 12px 0 0;
    font-size: 17px;
  }
}
@media screen and (max-width: 470px) {
  .footer .footer-container .insta-box .insta-text .insta-text-bottom {
    font-size: 14px;
  }
}
.footer .footer-container .copyright {
  margin: 9px 0 0;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .footer .footer-container .copyright {
    margin: 27px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer-container .copyright.pc {
    display: none;
  }
}
@media screen and (min-width: 767px) {
  .footer .footer-container .copyright.sp {
    display: none;
  }
}/*# sourceMappingURL=pre_lp.css.map */