section.area-hero {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
}
section.area-hero .box-left {
  width: 90rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
section.area-hero .box-left h1 {
  font-size: 10px;
  font-weight: bold;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}
section.area-hero .box-right {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
}
section.area-hero .box-right:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  bottom: 0;
  position: absolute;
  background: url("../images/wave.svg") no-repeat left -20rem bottom;
  background-size: 190%;
}
section.area-hero .box-right p.copy {
  position: absolute;
  bottom: 34rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
  width: 637rem;
  mix-blend-mode: difference;
  -webkit-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
  clip-path: inset(0 100% 0 0);
}
section.area-hero .box-right p.copy.show {
  webkit-clip-path: inset(0);
  clip-path: inset(0);
}
section.area-hero .splide img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: bottom center;
  object-position: bottom center;
  height: 100%;
}
section.area-hero .splide,
section.area-hero .splide__track,
section.area-hero .splide__list,
section.area-hero .splide__slide {
  height: 96vh;
  height: 96svh;
}

.splide__slide.is-active span img,
.splide__slide.is-prev span img,
.splide__slide span.is-prev img {
  -webkit-animation: scale 7s linear 0s normal both;
  animation: scale 7s linear 0s normal both;
}

@-webkit-keyframes scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.13);
            transform: scale(1.13);
  }
}
@keyframes scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.13);
            transform: scale(1.13);
  }
}
section.intro {
  margin-top: 120rem;
}
section.intro .area-top {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 3fr 60rem 6fr;
  grid-template-columns: 3fr 6fr;
  -ms-grid-rows: auto 60rem auto;
  grid-template-rows: auto auto;
  gap: 60rem;
}
section.intro .area-top > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
section.intro .area-top > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
section.intro .area-top > *:nth-child(3) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
section.intro .area-top > *:nth-child(4) {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}
section.intro .text {
  position: relative;
  z-index: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  -ms-grid-row: 1;
  grid-row: 1/1;
  margin: 0 40rem;
}
section.intro .text p {
  font-weight: bold;
  line-height: 2.2;
}
section.intro .photo-1 div {
  position: relative;
  top: 60rem;
}
section.intro .photo-2 {
  position: relative;
}
section.intro .photo-2 img.obj {
  position: absolute;
  bottom: 60rem;
  left: 30rem;
  width: 230rem;
}
section.intro .photo-2 div {
  position: relative;
  top: -150rem;
}
section.intro .area-bottom .photo-3 {
  position: relative;
}
section.intro .area-bottom .photo-3 div {
  width: 80%;
}
section.intro .area-bottom .photo-3 img.obj {
  position: absolute;
  bottom: 40rem;
  right: 40rem;
  width: 500rem;
}

section.news {
  margin-top: 180rem;
}
section.news .btn-more {
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
}
section.news .btn-more a {
  font-weight: bold;
  text-decoration: underline;
}
section.news .inner-block {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 160rem 1fr;
  grid-template-columns: 160rem 1fr;
}
section.news ul.list-news li {
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 50rem;
  margin-bottom: 60rem;
}
section.news ul.list-news .box-text {
  margin-top: 40rem;
  position: relative;
  padding-right: 60rem;
}
section.news ul.list-news a {
  display: block;
  position: relative;
}
section.news ul.list-news p.title {
  font-weight: bold;
  font-size: 32rem;
  line-height: 1.7;
}
section.news ul.list-news p.date {
  color: #666;
  line-height: 1;
  margin-top: 20rem;
  font-weight: 400;
  letter-spacing: 0.05em;
}
section.news ul.list-news .arrow {
  font-weight: 400;
  font-size: 11px;
  width: 36rem;
  height: 36rem;
  position: absolute;
  right: 0;
  bottom: 50%;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  background: url("../images/arrow.png") no-repeat center;
  background-size: contain;
}

section.about {
  margin-top: 180rem;
}
section.about .box-main-ph img.obj {
  width: 170rem;
  position: absolute;
  top: -110rem;
  right: 60rem;
  z-index: 1;
}
section.about .hstyle-secondary {
  white-space: nowrap;
  font-size: 19.2vw;
  line-height: 0.8;
  font-weight: 500;
  color: #e5ddbf;
  margin-bottom: 45rem;
}
section.about .wrap-message {
  margin-top: 80rem;
}
section.about .box-ph {
  width: 80%;
  margin: 60rem auto 0;
}
section.about .box-ph img {
  border-radius: 10px;
}
section.about .box-ph p {
  font-size: 12px;
  margin-top: 20rem;
  font-weight: bold;
}
section.about .box-desc p {
  line-height: 2.2;
}

section.phillosophy {
  margin: 180rem auto 0;
  width: 90%;
}
section.phillosophy .hstyle-primary {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
section.phillosophy .hstyle-primary span.en {
  font-weight: 500;
}
section.phillosophy .hstyle-primary::before {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: var(--color-border);
  margin-top: 20rem;
}
section.phillosophy .hstyle-primary::after {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: var(--color-border);
  margin-top: 20rem;
}
section.phillosophy .hstyle-primary span.inner {
  margin: 0 20rem;
  width: auto;
  display: -ms-grid;
  display: grid;
  gap: 25rem;
}
section.phillosophy ol.list-philosophy {
  display: -ms-grid;
  display: grid;
  gap: 40rem;
  width: 90%;
  margin: 50rem auto 0;
}
section.phillosophy ol.list-philosophy li {
  width: 80%;
  position: relative;
}
section.phillosophy ol.list-philosophy li:nth-child(2n) {
  margin-left: auto;
}
section.phillosophy ol.list-philosophy li .inner {
  width: 100%;
  padding-top: 100%;
}
section.phillosophy ol.list-philosophy li p {
  line-height: 1.7;
  white-space: nowrap;
  font-size: 43rem;
  font-weight: bold;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
section.phillosophy ol.list-philosophy li p span {
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(10%, transparent), color-stop(20%, #f1ecd9), color-stop(80%, #f1ecd9), color-stop(90%, transparent), to(transparent));
  background: linear-gradient(to bottom, transparent 0%, transparent 10%, #f1ecd9 20%, #f1ecd9 80%, transparent 90%, transparent 100%);
}
section.phillosophy ol.list-philosophy li.phill-01 {
  background: url("../images/phil-dot-01.png") no-repeat center;
  background-size: contain;
}
section.phillosophy ol.list-philosophy li.phill-02 {
  background: url("../images/phil-dot-02.png") no-repeat center;
  background-size: contain;
}
section.phillosophy ol.list-philosophy li.phill-03 {
  background: url("../images/phil-dot-03.png") no-repeat center;
  background-size: contain;
}

section.feature {
  margin-top: 180rem;
  padding-bottom: 180rem;
  position: relative;
}
section.feature::after {
  content: "";
  display: block;
  width: 80%;
  height: 500rem;
  background: #f8f6ec;
  z-index: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 0 250rem 250rem 0;
}
section.feature .inner-block {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 160rem 1fr;
  grid-template-columns: 160rem 1fr;
}
section.feature .box-content {
  z-index: 1;
  position: relative;
}
section.feature .box-content img.obj {
  position: absolute;
  top: 660rem;
  right: -30rem;
  width: 230rem;
  z-index: 0;
}
section.feature .list-feature {
  position: relative;
  z-index: 1;
  display: -ms-grid;
  display: grid;
  gap: 60rem;
}
section.feature .list-feature li {
  padding-bottom: 40rem;
  border-bottom: 1px solid var(--color-border);
}
section.feature .list-feature .box-ph img {
  border-radius: 8px;
}
section.feature .list-feature p.en {
  color: var(--color-green);
  font-weight: 600;
  font-size: 12px;
}
section.feature .list-feature .box-desc {
  margin-top: 30rem;
}
section.feature .list-feature h3 {
  font-size: 40rem;
  font-weight: bold;
  line-height: 1.7;
}
section.feature .list-feature p.desc {
  margin-top: 20rem;
}

section.access {
  padding-bottom: 180rem;
  position: relative;
}
section.access::after {
  content: "";
  display: block;
  width: 100%;
  height: 620rem;
  background: #f8f6ec;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
}
section.access .box-map {
  position: relative;
}
section.access .box-map img.obj {
  position: absolute;
  right: 0;
  bottom: -80rem;
  width: 180rem;
  z-index: 0;
}
section.access iframe {
  height: 600rem;
}
section.access .box-desc {
  position: relative;
  z-index: 1;
  margin-top: 60rem;
  display: -ms-grid;
  display: grid;
  gap: 140rem;
}
section.access p.name {
  font-weight: bold;
  margin-bottom: 10rem;
}
section.access .hstyle-primary {
  margin-bottom: 40rem;
}
section.access a.btn-primary {
  margin-top: 30rem;
  font-weight: normal;
}

section.curriculum {
  background: #f8f6ec;
}
section.curriculum .inner-block {
  margin-top: 60rem;
}
section.curriculum table.style-primary {
  margin-top: 60rem;
}
section.curriculum table.style-primary th:first-child {
  width: 40%;
}

section.schedule {
  background: #f8f6ec;
  padding-top: 150rem;
}
section.schedule .box-content {
  margin-top: 60rem;
}
section.schedule .schedule-table {
  overflow-x: scroll;
}
section.schedule .schedule-table img {
  width: 190%;
}

section.price {
  background: #f8f6ec;
  padding-top: 150rem;
  padding-bottom: 200rem;
}
section.price table.style-primary th:first-child {
  width: 21%;
}
section.price .hstyle-primary {
  margin-bottom: 60rem;
}
section.price p.table-notes {
  margin-top: 20rem;
  font-weight: bold;
  font-size: 11px;
}
section.price .price-desc {
  margin-top: 80rem;
  display: -ms-grid;
  display: grid;
  gap: 80rem;
}
section.price .price-desc h3 {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.7;
  margin-bottom: 30rem;
  position: relative;
  padding-left: 1.2em;
  border-bottom: 1px dotted var(--color-border);
  padding-bottom: 20rem;
}
section.price .price-desc h3::before {
  content: "";
  display: block;
  width: 0.8em;
  height: 0.8em;
  background: #e99125;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.4em;
}

/**********************************************************************

 * Media Query For PC

 ***********************************************************************/
@media print, screen and (min-width: 768px) {
  header .area-nav a,
  header .area-nav p,
  header .area-nav address {
    color: #fff;
  }
  header .box-tel::before {
    border-left: 1px dotted #fff;
  }
  header .box-tel::after {
    border-left: 1px dotted #fff;
  }
  header .box-tel p.tel::before {
    background: url("../images/icon_tel.svg") no-repeat center;
    background-size: contain;
  }
  section.area-hero .box-left {
    width: 10.42vw;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  section.area-hero .box-left h1 {
    font-size: 0.76vw;
    margin-right: 1.39vw;
    margin-bottom: 16.67vw;
  }
  section.area-hero .box-right:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    bottom: 0;
    position: absolute;
    background: url("../images/wave.svg") no-repeat left min(-5px, -0.35vw) bottom -2.08vw;
    background-size: 150%;
  }
  section.area-hero .box-right p.copy {
    bottom: 3.33vw;
    left: 14.58vw;
    -webkit-transform: none;
            transform: none;
    width: 42.36vw;
    mix-blend-mode: difference;
  }
  section.area-hero .splide img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: bottom center;
    object-position: bottom center;
    height: 100%;
  }
  section.area-hero .splide,
  section.area-hero .splide__track,
  section.area-hero .splide__list,
  section.area-hero .splide__slide {
    height: 96vh;
    height: 96svh;
  }
  section.intro {
    margin-top: 0;
  }
  section.intro .area-top {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: calc(10.42vw + 14.93vw) 0 1fr 0 25vw;
    grid-template-columns: calc(10.42vw + 14.93vw) 1fr 25vw;
    -ms-grid-rows: auto 0 auto;
    grid-template-rows: auto auto;
    gap: 0;
    position: relative;
    z-index: 10;
  }
  section.intro .area-top > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  section.intro .area-top > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  section.intro .area-top > *:nth-child(3) {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
  }
  section.intro .area-top > *:nth-child(4) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  section.intro .area-top > *:nth-child(5) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  section.intro .area-top > *:nth-child(6) {
    -ms-grid-row: 3;
    -ms-grid-column: 5;
  }
  section.intro .text {
    position: relative;
    z-index: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    -ms-grid-row: 1;
    grid-row: 1/1;
    margin: 0;
  }
  section.intro .text p {
    font-size: 1.11vw;
    line-height: 2.3;
  }
  section.intro .photo-1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  section.intro .photo-1 div {
    position: relative;
    top: auto;
    bottom: 6.25vw;
  }
  section.intro .photo-1 div img {
    width: 16.67vw;
  }
  section.intro .photo-2 {
    position: relative;
  }
  section.intro .photo-2 img.obj {
    position: absolute;
    bottom: 2.78vw;
    left: -1.39vw;
    width: 13.19vw;
  }
  section.intro .photo-2 div {
    position: relative;
    top: -9.44vw;
    text-align: right;
    right: 4.17vw;
  }
  section.intro .area-bottom {
    position: relative;
    z-index: 1;
    margin-left: 8.33vw;
    margin-top: -9.17vw;
    padding-bottom: 4.86vw;
  }
  section.intro .area-bottom .photo-3 {
    position: relative;
    width: 50vw;
  }
  section.intro .area-bottom .photo-3 div {
    width: 100%;
  }
  section.intro .area-bottom .photo-3 img.obj {
    position: absolute;
    bottom: min(140px, 9.72vw);
    right: -12.5vw;
    width: 26.04vw;
  }
  section.intro .area-bottom .photo-4 {
    width: 16.67vw;
    position: absolute;
    bottom: 0;
    right: 0;
  }
  section.news {
    margin-top: min(180px, 12.5vw);
  }
  section.news .inner-block {
    position: relative;
  }
  section.news .btn-more {
    grid-column: auto;
    position: absolute;
    left: 0;
    bottom: min(-4px, -0.28vw);
  }
  section.news .btn-more a {
    font-size: min(15px, 1.04vw);
  }
  section.news .btn-more a:hover {
    text-decoration: none;
  }
  section.news .inner-block {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 16.67vw 1fr;
    grid-template-columns: 16.67vw 1fr;
  }
  section.news ul.list-news li {
    -webkit-transition: 0.2s;
    transition: 0.2s;
    border-bottom: 1px solid var(--color-border);
    padding-bottom: 1.39vw;
    margin-bottom: 1.39vw;
  }
  section.news ul.list-news li:last-child {
    margin-bottom: 0;
  }
  section.news ul.list-news li:hover p.title {
    color: var(--color-green);
  }
  section.news ul.list-news li:hover .arrow {
    right: min(30px, 2.08vw);
  }
  section.news ul.list-news a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  section.news ul.list-news .box-img {
    width: 12.5vw;
  }
  section.news ul.list-news .box-text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-left: 2.78vw;
    margin-top: 0;
    padding-right: min(60px, 4.17vw);
  }
  section.news ul.list-news p.title {
    -webkit-transition: 0.2s;
    transition: 0.2s;
    font-size: min(18px, 1.25vw);
    line-height: 1.7;
  }
  section.news ul.list-news p.date {
    margin-top: min(14px, 0.97vw);
  }
  section.news ul.list-news .arrow {
    -webkit-transition: 0.2s;
    transition: 0.2s;
    width: min(20px, 1.39vw);
    height: min(20px, 1.39vw);
  }
  section.about {
    margin-top: min(250px, 17.36vw);
  }
  section.about .box-main-ph img.obj {
    width: 10.42vw;
    top: min(-80px, -5.56vw);
    right: 15.28vw;
  }
  section.about .hstyle-secondary {
    white-space: nowrap;
    font-size: 8.9vw;
    margin-bottom: min(50px, 3.47vw);
  }
  section.about .wrap-message {
    margin-top: min(60px, 4.17vw);
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 8.33vw 33.33vw;
    grid-template-columns: 1fr 33.33vw;
    gap: 8.33vw;
  }
  section.about .box-ph {
    width: 100%;
    margin: 0;
  }
  section.about .box-ph img {
    border-radius: 14px;
    position: relative;
    margin-top: min(-150px, -10.42vw);
  }
  section.about .box-ph p {
    font-size: min(14px, 0.97vw);
    margin-top: min(20px, 1.39vw);
    font-weight: bold;
  }
  section.about .box-desc p {
    line-height: 2.4;
  }
  section.phillosophy {
    margin: min(140px, 9.72vw) auto 0;
    width: 90%;
  }
  section.phillosophy .hstyle-primary {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 42.71vw;
    margin: 0 auto;
  }
  section.phillosophy .hstyle-primary::before {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    content: "";
    display: block;
    margin-top: min(20px, 1.39vw);
  }
  section.phillosophy .hstyle-primary::after {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    content: "";
    display: block;
    margin-top: min(20px, 1.39vw);
  }
  section.phillosophy .hstyle-primary span.inner {
    margin: 0 min(20px, 1.39vw);
    width: auto;
    display: -ms-grid;
    display: grid;
    gap: min(25px, 1.74vw);
  }
  section.phillosophy ol.list-philosophy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0;
    width: 90%;
    margin: min(30px, 2.08vw) auto 0;
  }
  section.phillosophy ol.list-philosophy li {
    width: 17.36vw;
    position: relative;
    margin: 0 3.47vw;
  }
  section.phillosophy ol.list-philosophy li:nth-child(2n) {
    margin-left: 3.47vw;
  }
  section.phillosophy ol.list-philosophy li .inner {
    width: 100%;
    padding-top: 100%;
  }
  section.phillosophy ol.list-philosophy li p {
    font-size: 1.39vw;
  }
  section.feature {
    margin-top: min(200px, 13.89vw);
    padding-bottom: min(180px, 12.5vw);
    position: relative;
  }
  section.feature::after {
    content: "";
    display: block;
    width: 60%;
    height: 31.11vw;
    background: #f8f6ec;
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: 0 16.67vw 16.67vw 0;
  }
  section.feature .inner-block {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: min(240px, 16.67vw) 1fr;
    grid-template-columns: min(240px, 16.67vw) 1fr;
  }
  section.feature .box-content img.obj {
    position: absolute;
    top: 9.72vw;
    right: -2.08vw;
    width: 16.67vw;
    z-index: 0;
  }
  section.feature .list-feature {
    position: relative;
    z-index: 1;
    display: -ms-grid;
    display: grid;
    gap: 1.39vw;
  }
  section.feature .list-feature li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-bottom: 1.39vw;
  }
  section.feature .list-feature .box-ph {
    width: 25vw;
  }
  section.feature .list-feature .box-ph img {
    border-radius: 8px;
  }
  section.feature .list-feature p.en {
    font-size: 10px;
    margin-bottom: min(10px, 0.69vw);
  }
  section.feature .list-feature .box-desc {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-left: 4.17vw;
    margin-top: 0;
  }
  section.feature .list-feature h3 {
    font-size: min(24px, 1.67vw);
    font-weight: bold;
    line-height: 1.7;
  }
  section.feature .list-feature p.desc {
    margin-top: min(15px, 1.04vw);
  }
  section.access {
    padding-bottom: min(180px, 12.5vw);
  }
  section.access .inner-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    z-index: 1;
    position: relative;
  }
  section.access::after {
    content: "";
    display: block;
    width: 100%;
    height: 55%;
    background: #f8f6ec;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
  }
  section.access .box-map {
    width: 54.17vw;
    margin-right: 4.17vw;
    position: relative;
  }
  section.access .box-map img.obj {
    position: absolute;
    left: min(30px, 2.08vw);
    bottom: min(-50px, -3.47vw);
    width: min(165px, 11.46vw);
    z-index: 0;
  }
  section.access iframe {
    height: min(600px, 41.67vw);
  }
  section.access .box-desc {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative;
    z-index: 1;
    margin-top: 0;
    display: -ms-grid;
    display: grid;
    gap: min(70px, 4.86vw);
  }
  section.access p.name {
    margin-bottom: min(10px, 0.69vw);
  }
  section.access .hstyle-primary {
    margin-bottom: min(30px, 2.08vw);
  }
  section.access .hstyle-primary.small span.ja {
    font-size: min(36px, 2.5vw);
  }
  section.access a.btn-primary {
    width: min(160px, 11.11vw);
    margin-top: min(30px, 2.08vw);
  }
  section.curriculum .inner-block {
    margin-top: min(60px, 4.17vw);
  }
  section.curriculum table.style-primary {
    margin-top: min(60px, 4.17vw);
    padding-left: 16.67vw;
  }
  section.curriculum table.style-primary th:first-child {
    width: 25vw;
  }
  section.schedule {
    padding-top: min(180px, 12.5vw);
  }
  section.schedule .hstyle-primary {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  section.schedule .hstyle-primary span.ja {
    text-indent: -0.1em;
  }
  section.schedule .hstyle-primary span.en {
    margin-left: 10px;
  }
  section.schedule .inner-block {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 16.67vw 1fr;
    grid-template-columns: 16.67vw 1fr;
  }
  section.schedule .box-content {
    margin-top: 0;
  }
  section.schedule .schedule-table {
    margin-left: min(-43px, -2.99vw);
    overflow-x: auto;
  }
  section.schedule .schedule-table img {
    width: 100%;
  }
  section.price {
    padding-top: min(180px, 12.5vw);
    padding-bottom: min(200px, 13.89vw);
  }
  section.price .inner-block {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 16.67vw 1fr;
    grid-template-columns: 16.67vw 1fr;
  }
  section.price .hstyle-primary {
    margin-bottom: 0;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  section.price .hstyle-primary span.ja {
    text-indent: -0.1em;
  }
  section.price .hstyle-primary span.en {
    margin-left: 10px;
  }
  section.price table.style-primary th:first-child {
    width: 11.11vw;
  }
  section.price p.table-notes {
    margin-top: min(20px, 1.39vw);
    font-size: min(14px, 0.97vw);
  }
  section.price .price-desc {
    margin-top: min(80px, 5.56vw);
    display: -ms-grid;
    display: grid;
    gap: min(80px, 5.56vw);
  }
  section.price .price-desc h3 {
    font-size: min(18px, 1.25vw);
    margin-bottom: min(30px, 2.08vw);
    padding-bottom: min(10px, 0.69vw);
  }
  section.price .price-desc h3::before {
    content: "";
    display: block;
    width: 0.8em;
    height: 0.8em;
    background: #e99125;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 0.4em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1500px) {
  section.area-hero .box-left h1 {
    margin-bottom: 11.81vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  section.area-hero {
    height: 90vh;
    height: 90svh;
  }
  section.area-hero .box-right p.copy {
    width: 58.33vw;
  }
  section.area-hero .box-left {
    width: 10.42vw;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  section.area-hero .box-left h1 {
    font-size: 1.18vw;
    margin-bottom: 23.61vw;
  }
  section.intro {
    margin-top: 0;
  }
  section.intro .text p {
    font-size: 1.32vw;
    line-height: 2.3;
  }
  section.schedule {
    padding-top: min(180px, 12.5vw);
  }
  section.schedule .schedule-table {
    margin-left: min(-23px, -1.6vw);
  }
}
/*# sourceMappingURL=top.css.map */