@charset "UTF-8";
/* font size計算用関数 */
.note {
  color: #C6C6C6;
}

/**
 * Parallax v2
 * - パララックス効果用のスタイル
 */
.js-parallax-v2-element {
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  .js-parallax-v2-element {
    transform: none !important;
  }
}

.js-parallax-v2-bg {
  position: relative;
  overflow: hidden;
}
.js-parallax-v2-bg__image {
  position: absolute;
  width: 100%;
  will-change: transform;
}
.js-parallax-v2-bg__image[src], .js-parallax-v2-bg__image[srcset] {
  height: calc(100% + 160px);
  inset: -60px 0;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.js-parallax-v2-bg__image:not([src]):not([srcset]) {
  height: calc(100% + 160px);
  inset: -60px 0;
}
.js-parallax-v2-bg__image:not([src]):not([srcset]) img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (prefers-reduced-motion: reduce) {
  .js-parallax-v2-bg__image {
    transform: none !important;
  }
  .js-parallax-v2-bg__image img {
    transform: none !important;
  }
}
.js-parallax-v2-bg--large .js-parallax-v2-bg__image[src], .js-parallax-v2-bg--large .js-parallax-v2-bg__image[srcset] {
  height: calc(100% + 320px);
  inset: -120px 0;
}
.js-parallax-v2-bg--large .js-parallax-v2-bg__image:not([src]):not([srcset]) {
  height: calc(100% + 320px);
  inset: -120px 0;
}

.js-text-blur-v2__char {
  display: inline-block;
  filter: blur(var(--tb-blur, 0px));
  will-change: filter;
  backface-visibility: hidden;
  transform: translateZ(0);
}
@media (prefers-reduced-motion: reduce) {
  .js-text-blur-v2__char {
    filter: blur(0px) !important;
  }
}

.js-text-fadein-v2__char {
  display: inline-block;
  will-change: transform, opacity, filter;
}
.js-text-fadein-v2__char--space {
  width: 0.35em;
}
.js-text-fadein-v2__char.is-animating {
  will-change: transform, opacity, filter;
}
.js-text-fadein-v2__char.is-visible {
  will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
  .js-text-fadein-v2__char {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
  }
}
html {
  scroll-behavior: smooth;
  word-break: break-all;
}

body {
  width: 100%;
  font-family: century-gothic, Helvetica, Arial, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  overflow-wrap: break-word;
  background-color: #ffffff;
  color: #2C2A25;
}
@media screen and (max-width: 519px) {
  body {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
}

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

ul li {
  list-style-type: none;
}

p:not(.main-content-v2 p) {
  color: #2C2A25;
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}

a {
  text-decoration: none;
  color: #2C2A25;
  transition: all 0.4s ease;
}
a:hover {
  cursor: pointer;
}

section {
  padding: 100px 0;
  overflow: hidden;
  background-color: #fff;
}
@media screen and (max-width: 959px) {
  section {
    padding: min(21.3333333333vw, 80px) 0;
  }
}
@media screen and (max-width: 519px) {
  section {
    padding: min(16vw, 60px) 0;
  }
}

hr {
  border: none;
  height: 1px;
  background-color: #E5E5E5;
  margin: 0;
}

.br {
  display: block;
}

.sp-br {
  display: inline;
}
@media screen and (max-width: 959px) {
  .sp-br {
    display: block;
  }
}

.pc-br {
  display: block;
}
@media screen and (max-width: 959px) {
  .pc-br {
    display: inline;
  }
}

.pc-only {
  display: block;
}
@media screen and (max-width: 959px) {
  .pc-only {
    display: block;
  }
}
@media screen and (max-width: 519px) {
  .pc-only {
    display: none;
  }
}

@media screen and (max-width: 959px) {
  .no-tab-sp {
    display: none !important;
  }
}

.tab-sp-only {
  display: none;
}
@media screen and (max-width: 959px) {
  .tab-sp-only {
    display: block;
  }
}

.sp-only {
  display: none;
}
@media screen and (max-width: 519px) {
  .sp-only {
    display: block;
  }
}

.text-align-center {
  text-align: center;
}

.main-content-v2 {
  position: relative;
  padding-top: 80px;
  overflow: clip;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  color: #333333;
  background: linear-gradient(180deg, #F9F9F2 0%, #FFF 100%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  --unit: 10px;
}
@media screen and (max-width: 1279px) {
  .main-content-v2 {
    --unit: 8.5px;
  }
}
@media screen and (max-width: 959px) {
  .main-content-v2 {
    padding-top: 64px;
  }
}
.main-content-v2::before {
  content: "";
  position: absolute;
  top: -173px;
  right: -136px;
  width: 312px;
  height: 430px;
  border-radius: 430px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
}
@media screen and (max-width: 959px) {
  .main-content-v2::before {
    display: none;
  }
}
.main-content-v2 h1, .main-content-v2 h2, .main-content-v2 h3, .main-content-v2 h4, .main-content-v2 h5, .main-content-v2 h6 {
  font-weight: 400;
}

#page-news-article .c-article::before,
#page-blog-article .c-article::before,
#page-event-article .c-article::before,
#page-campaign-article .c-article::before {
  content: "";
  position: absolute;
  top: 331px;
  left: -150px;
  width: 312px;
  height: 430px;
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
  transform: rotate(-27deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article::before,
  #page-blog-article .c-article::before,
  #page-event-article .c-article::before,
  #page-campaign-article .c-article::before {
    transform: rotate(0deg) translateY(var(--parallax-y, 0px));
    top: 205px;
    left: -45.3333333333vw;
    width: 71.4666666667vw;
    height: 98.6666666667vw;
  }
}
#page-news-article .c-article::after,
#page-blog-article .c-article::after,
#page-event-article .c-article::after,
#page-campaign-article .c-article::after {
  content: "";
  position: absolute;
  top: 770px;
  right: -138px;
  width: 312px;
  height: 596px;
  border-radius: 596px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
  transform: rotate(-70deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article::after,
  #page-blog-article .c-article::after,
  #page-event-article .c-article::after,
  #page-campaign-article .c-article::after {
    display: none;
  }
}
#page-news-article .c-article__bg,
#page-blog-article .c-article__bg,
#page-event-article .c-article__bg,
#page-campaign-article .c-article__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#page-news-article .c-article__bg::before,
#page-blog-article .c-article__bg::before,
#page-event-article .c-article__bg::before,
#page-campaign-article .c-article__bg::before {
  content: "";
  position: absolute;
  top: 2738px;
  left: -203px;
  width: 312px;
  height: 596px;
  transform: rotate(-150deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
  border-radius: 596px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__bg::before,
  #page-blog-article .c-article__bg::before,
  #page-event-article .c-article__bg::before,
  #page-campaign-article .c-article__bg::before {
    display: none;
  }
}
#page-news-article .c-article__inner,
#page-blog-article .c-article__inner,
#page-event-article .c-article__inner,
#page-campaign-article .c-article__inner {
  position: relative;
  padding-block: 80px 200px;
}
@media screen and (max-width: 1279px) {
  #page-news-article .c-article__inner,
  #page-blog-article .c-article__inner,
  #page-event-article .c-article__inner,
  #page-campaign-article .c-article__inner {
    padding-block: 80px 180px;
  }
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__inner,
  #page-blog-article .c-article__inner,
  #page-event-article .c-article__inner,
  #page-campaign-article .c-article__inner {
    padding-block: 52px 80px;
  }
}
#page-news-article .c-article__head-group,
#page-blog-article .c-article__head-group,
#page-event-article .c-article__head-group,
#page-campaign-article .c-article__head-group {
  width: 100%;
  max-width: 800px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 80px;
  padding-bottom: 48px;
  border-bottom: 1px solid #E5E5E5;
}
@media screen and (max-width: 1279px) {
  #page-news-article .c-article__head-group,
  #page-blog-article .c-article__head-group,
  #page-event-article .c-article__head-group,
  #page-campaign-article .c-article__head-group {
    width: 65.6275635767%;
  }
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__head-group,
  #page-blog-article .c-article__head-group,
  #page-event-article .c-article__head-group,
  #page-campaign-article .c-article__head-group {
    width: 100%;
    max-width: 640px;
    gap: 16px;
    padding-bottom: 40px;
  }
}
#page-news-article .c-article__head-group--narrow,
#page-blog-article .c-article__head-group--narrow,
#page-event-article .c-article__head-group--narrow,
#page-campaign-article .c-article__head-group--narrow {
  max-width: 654px;
}
@media screen and (max-width: 1279px) {
  #page-news-article .c-article__head-group--narrow,
  #page-blog-article .c-article__head-group--narrow,
  #page-event-article .c-article__head-group--narrow,
  #page-campaign-article .c-article__head-group--narrow {
    width: 100%;
    max-width: 50vw;
  }
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__head-group--narrow,
  #page-blog-article .c-article__head-group--narrow,
  #page-event-article .c-article__head-group--narrow,
  #page-campaign-article .c-article__head-group--narrow {
    width: 100%;
    max-width: 640px;
  }
}
#page-news-article .c-article__head-group--no-border,
#page-blog-article .c-article__head-group--no-border,
#page-event-article .c-article__head-group--no-border,
#page-campaign-article .c-article__head-group--no-border {
  margin-bottom: 40px;
  padding-bottom: 0;
  border-bottom: none;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__head-group--no-border,
  #page-blog-article .c-article__head-group--no-border,
  #page-event-article .c-article__head-group--no-border,
  #page-campaign-article .c-article__head-group--no-border {
    margin-bottom: 27px;
  }
}
#page-news-article .c-article__title,
#page-blog-article .c-article__title,
#page-event-article .c-article__title,
#page-campaign-article .c-article__title {
  font-feature-settings: "palt" on;
  font-size: calc(3 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__title,
  #page-blog-article .c-article__title,
  #page-event-article .c-article__title,
  #page-campaign-article .c-article__title {
    font-size: min(5.8666666667vw, 22px);
  }
}
#page-news-article .c-article__date,
#page-blog-article .c-article__date,
#page-event-article .c-article__date,
#page-campaign-article .c-article__date {
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.4 * var(--unit));
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.07em;
  color: #54ADB1;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__date,
  #page-blog-article .c-article__date,
  #page-event-article .c-article__date,
  #page-campaign-article .c-article__date {
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-news-article .c-article__date--gray,
#page-blog-article .c-article__date--gray,
#page-event-article .c-article__date--gray,
#page-campaign-article .c-article__date--gray {
  color: #999999;
  font-size: calc(1.3 * var(--unit));
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__date--gray,
  #page-blog-article .c-article__date--gray,
  #page-event-article .c-article__date--gray,
  #page-campaign-article .c-article__date--gray {
    font-size: min(3.2vw, 12px);
  }
}
#page-news-article .c-article__share,
#page-blog-article .c-article__share,
#page-event-article .c-article__share,
#page-campaign-article .c-article__share {
  display: flex;
  gap: 16px;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__share,
  #page-blog-article .c-article__share,
  #page-event-article .c-article__share,
  #page-campaign-article .c-article__share {
    gap: 14px;
  }
}
#page-news-article .c-article__sns,
#page-blog-article .c-article__sns,
#page-event-article .c-article__sns,
#page-campaign-article .c-article__sns {
  display: block;
  width: 30px;
  height: 30px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__sns,
  #page-blog-article .c-article__sns,
  #page-event-article .c-article__sns,
  #page-campaign-article .c-article__sns {
    width: 26px;
    height: 26px;
  }
}
#page-news-article .c-article__sns--twitter,
#page-blog-article .c-article__sns--twitter,
#page-event-article .c-article__sns--twitter,
#page-campaign-article .c-article__sns--twitter {
  background-image: url("../images/news/icon_twitter.png");
}
#page-news-article .c-article__sns--facebook,
#page-blog-article .c-article__sns--facebook,
#page-event-article .c-article__sns--facebook,
#page-campaign-article .c-article__sns--facebook {
  background-image: url("../images/news/icon_fb.png");
}
#page-news-article .c-article__body,
#page-blog-article .c-article__body,
#page-event-article .c-article__body,
#page-campaign-article .c-article__body {
  width: 100%;
  max-width: 800px;
}
@media screen and (max-width: 1279px) {
  #page-news-article .c-article__body,
  #page-blog-article .c-article__body,
  #page-event-article .c-article__body,
  #page-campaign-article .c-article__body {
    width: 65.6275635767%;
  }
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__body,
  #page-blog-article .c-article__body,
  #page-event-article .c-article__body,
  #page-campaign-article .c-article__body {
    width: 100%;
    max-width: 640px;
  }
}
#page-news-article .c-article__body--narrow,
#page-blog-article .c-article__body--narrow,
#page-event-article .c-article__body--narrow,
#page-campaign-article .c-article__body--narrow {
  max-width: 654px;
}
@media screen and (max-width: 1279px) {
  #page-news-article .c-article__body--narrow,
  #page-blog-article .c-article__body--narrow,
  #page-event-article .c-article__body--narrow,
  #page-campaign-article .c-article__body--narrow {
    width: 100%;
    max-width: 50vw;
  }
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__body--narrow,
  #page-blog-article .c-article__body--narrow,
  #page-event-article .c-article__body--narrow,
  #page-campaign-article .c-article__body--narrow {
    width: 100%;
    max-width: 640px;
  }
}
#page-news-article .c-article__body h2,
#page-blog-article .c-article__body h2,
#page-event-article .c-article__body h2,
#page-campaign-article .c-article__body h2 {
  margin-block: 80px 48px;
  padding-bottom: 15px;
  border-bottom: 2px solid #B4E0D4;
  font-feature-settings: "palt" on;
  font-size: calc(2.2 * var(--unit));
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__body h2,
  #page-blog-article .c-article__body h2,
  #page-event-article .c-article__body h2,
  #page-campaign-article .c-article__body h2 {
    margin-block: 64px 32px;
    padding-bottom: 12px;
    font-size: min(5.3333333333vw, 20px);
  }
}
#page-news-article .c-article__body h2:first-child,
#page-blog-article .c-article__body h2:first-child,
#page-event-article .c-article__body h2:first-child,
#page-campaign-article .c-article__body h2:first-child {
  margin-top: 0;
}
#page-news-article .c-article__body h3,
#page-blog-article .c-article__body h3,
#page-event-article .c-article__body h3,
#page-campaign-article .c-article__body h3 {
  margin-block: 80px 24px;
  font-feature-settings: "palt" on;
  font-size: calc(2 * var(--unit));
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__body h3,
  #page-blog-article .c-article__body h3,
  #page-event-article .c-article__body h3,
  #page-campaign-article .c-article__body h3 {
    margin-block: 64px 20px;
    font-size: min(4.8vw, 18px);
  }
}
#page-news-article .c-article__body h3:first-child,
#page-blog-article .c-article__body h3:first-child,
#page-event-article .c-article__body h3:first-child,
#page-campaign-article .c-article__body h3:first-child {
  margin-top: 0;
}
#page-news-article .c-article__body h4,
#page-blog-article .c-article__body h4,
#page-event-article .c-article__body h4,
#page-campaign-article .c-article__body h4 {
  margin-block: 40px 24px;
  font-feature-settings: "palt" on;
  font-size: calc(1.6 * var(--unit));
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__body h4,
  #page-blog-article .c-article__body h4,
  #page-event-article .c-article__body h4,
  #page-campaign-article .c-article__body h4 {
    margin-block: 40px 20px;
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-news-article .c-article__body h4:first-child,
#page-blog-article .c-article__body h4:first-child,
#page-event-article .c-article__body h4:first-child,
#page-campaign-article .c-article__body h4:first-child {
  margin-top: 0;
}
#page-news-article .c-article__body p,
#page-news-article .c-article__body figure,
#page-blog-article .c-article__body p,
#page-blog-article .c-article__body figure,
#page-event-article .c-article__body p,
#page-event-article .c-article__body figure,
#page-campaign-article .c-article__body p,
#page-campaign-article .c-article__body figure {
  margin-top: 24px;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__body p,
  #page-news-article .c-article__body figure,
  #page-blog-article .c-article__body p,
  #page-blog-article .c-article__body figure,
  #page-event-article .c-article__body p,
  #page-event-article .c-article__body figure,
  #page-campaign-article .c-article__body p,
  #page-campaign-article .c-article__body figure {
    margin-top: 20px;
  }
}
#page-news-article .c-article__body p:first-child,
#page-news-article .c-article__body figure:first-child,
#page-blog-article .c-article__body p:first-child,
#page-blog-article .c-article__body figure:first-child,
#page-event-article .c-article__body p:first-child,
#page-event-article .c-article__body figure:first-child,
#page-campaign-article .c-article__body p:first-child,
#page-campaign-article .c-article__body figure:first-child {
  margin-top: 0;
}
#page-news-article .c-article__body p,
#page-news-article .c-article__body th,
#page-news-article .c-article__body td,
#page-blog-article .c-article__body p,
#page-blog-article .c-article__body th,
#page-blog-article .c-article__body td,
#page-event-article .c-article__body p,
#page-event-article .c-article__body th,
#page-event-article .c-article__body td,
#page-campaign-article .c-article__body p,
#page-campaign-article .c-article__body th,
#page-campaign-article .c-article__body td {
  font-feature-settings: "palt" on;
  font-size: calc(1.6 * var(--unit));
  line-height: 2.2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__body p,
  #page-news-article .c-article__body th,
  #page-news-article .c-article__body td,
  #page-blog-article .c-article__body p,
  #page-blog-article .c-article__body th,
  #page-blog-article .c-article__body td,
  #page-event-article .c-article__body p,
  #page-event-article .c-article__body th,
  #page-event-article .c-article__body td,
  #page-campaign-article .c-article__body p,
  #page-campaign-article .c-article__body th,
  #page-campaign-article .c-article__body td {
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-news-article .c-article__body p a:not(.cvButton),
#page-news-article .c-article__body th a:not(.cvButton),
#page-news-article .c-article__body td a:not(.cvButton),
#page-blog-article .c-article__body p a:not(.cvButton),
#page-blog-article .c-article__body th a:not(.cvButton),
#page-blog-article .c-article__body td a:not(.cvButton),
#page-event-article .c-article__body p a:not(.cvButton),
#page-event-article .c-article__body th a:not(.cvButton),
#page-event-article .c-article__body td a:not(.cvButton),
#page-campaign-article .c-article__body p a:not(.cvButton),
#page-campaign-article .c-article__body th a:not(.cvButton),
#page-campaign-article .c-article__body td a:not(.cvButton) {
  font-family: "Instrument Sans", sans-serif;
  font-weight: 500;
  color: #63BFA7;
  text-decoration: underline;
}
#page-news-article .c-article__body th,
#page-blog-article .c-article__body th,
#page-event-article .c-article__body th,
#page-campaign-article .c-article__body th {
  font-weight: 700;
}
#page-news-article .c-article__body blockquote,
#page-blog-article .c-article__body blockquote,
#page-event-article .c-article__body blockquote,
#page-campaign-article .c-article__body blockquote {
  margin-block: 48px;
  padding: 40px 48px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  background: rgba(210, 229, 224, 0.5);
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__body blockquote,
  #page-blog-article .c-article__body blockquote,
  #page-event-article .c-article__body blockquote,
  #page-campaign-article .c-article__body blockquote {
    margin-block: 40px;
    padding: 40px;
  }
}
#page-news-article .c-article__body blockquote p,
#page-blog-article .c-article__body blockquote p,
#page-event-article .c-article__body blockquote p,
#page-campaign-article .c-article__body blockquote p {
  font-size: calc(1.4 * var(--unit));
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__body blockquote p,
  #page-blog-article .c-article__body blockquote p,
  #page-event-article .c-article__body blockquote p,
  #page-campaign-article .c-article__body blockquote p {
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-news-article .c-article__body ul,
#page-blog-article .c-article__body ul,
#page-event-article .c-article__body ul,
#page-campaign-article .c-article__body ul {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__body ul,
  #page-blog-article .c-article__body ul,
  #page-event-article .c-article__body ul,
  #page-campaign-article .c-article__body ul {
    gap: 16px;
  }
}
#page-news-article .c-article__body ul > li,
#page-blog-article .c-article__body ul > li,
#page-event-article .c-article__body ul > li,
#page-campaign-article .c-article__body ul > li {
  position: relative;
  padding-left: 1em;
  text-indent: -1em;
  font-feature-settings: "palt" on;
  font-size: calc(1.6 * var(--unit));
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__body ul > li,
  #page-blog-article .c-article__body ul > li,
  #page-event-article .c-article__body ul > li,
  #page-campaign-article .c-article__body ul > li {
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-news-article .c-article__body ul > li::before,
#page-blog-article .c-article__body ul > li::before,
#page-event-article .c-article__body ul > li::before,
#page-campaign-article .c-article__body ul > li::before {
  content: "・";
  color: #54ADB1;
}
#page-news-article .c-article__body ul > li ul,
#page-news-article .c-article__body ul > li ol,
#page-blog-article .c-article__body ul > li ul,
#page-blog-article .c-article__body ul > li ol,
#page-event-article .c-article__body ul > li ul,
#page-event-article .c-article__body ul > li ol,
#page-campaign-article .c-article__body ul > li ul,
#page-campaign-article .c-article__body ul > li ol {
  margin-top: 18px;
}
#page-news-article .c-article__body ol,
#page-blog-article .c-article__body ol,
#page-event-article .c-article__body ol,
#page-campaign-article .c-article__body ol {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  list-style-position: inside;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__body ol,
  #page-blog-article .c-article__body ol,
  #page-event-article .c-article__body ol,
  #page-campaign-article .c-article__body ol {
    gap: 16px;
  }
}
#page-news-article .c-article__body ol > li,
#page-blog-article .c-article__body ol > li,
#page-event-article .c-article__body ol > li,
#page-campaign-article .c-article__body ol > li {
  padding-left: 1.2em;
  text-indent: -1.2em;
  font-feature-settings: "palt" on;
  font-size: calc(1.6 * var(--unit));
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__body ol > li,
  #page-blog-article .c-article__body ol > li,
  #page-event-article .c-article__body ol > li,
  #page-campaign-article .c-article__body ol > li {
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-news-article .c-article__body ol > li ul,
#page-news-article .c-article__body ol > li ol,
#page-blog-article .c-article__body ol > li ul,
#page-blog-article .c-article__body ol > li ol,
#page-event-article .c-article__body ol > li ul,
#page-event-article .c-article__body ol > li ol,
#page-campaign-article .c-article__body ol > li ul,
#page-campaign-article .c-article__body ol > li ol {
  margin-top: 18px;
}
#page-news-article .c-article__body img:not(.c-article__thumbnail),
#page-blog-article .c-article__body img:not(.c-article__thumbnail),
#page-event-article .c-article__body img:not(.c-article__thumbnail),
#page-campaign-article .c-article__body img:not(.c-article__thumbnail) {
  margin-block: 40px;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__body img:not(.c-article__thumbnail),
  #page-blog-article .c-article__body img:not(.c-article__thumbnail),
  #page-event-article .c-article__body img:not(.c-article__thumbnail),
  #page-campaign-article .c-article__body img:not(.c-article__thumbnail) {
    margin-block: 32px;
  }
}
#page-news-article .c-article__body img:not(.c-article__thumbnail):has(+ figcaption),
#page-blog-article .c-article__body img:not(.c-article__thumbnail):has(+ figcaption),
#page-event-article .c-article__body img:not(.c-article__thumbnail):has(+ figcaption),
#page-campaign-article .c-article__body img:not(.c-article__thumbnail):has(+ figcaption) {
  margin-bottom: 18px;
}
#page-news-article .c-article__body table,
#page-blog-article .c-article__body table,
#page-event-article .c-article__body table,
#page-campaign-article .c-article__body table {
  margin-block: 40px;
  border-collapse: collapse;
  border: solid 1px #e3e3e3;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__body table,
  #page-blog-article .c-article__body table,
  #page-event-article .c-article__body table,
  #page-campaign-article .c-article__body table {
    margin-block: 32px;
  }
}
#page-news-article .c-article__body table th,
#page-news-article .c-article__body table td,
#page-blog-article .c-article__body table th,
#page-blog-article .c-article__body table td,
#page-event-article .c-article__body table th,
#page-event-article .c-article__body table td,
#page-campaign-article .c-article__body table th,
#page-campaign-article .c-article__body table td {
  padding: 6px 18px;
  border: solid 1px #e3e3e3;
}
#page-news-article .c-article__body table th,
#page-blog-article .c-article__body table th,
#page-event-article .c-article__body table th,
#page-campaign-article .c-article__body table th {
  background-color: rgba(210, 229, 224, 0.5);
}
#page-news-article .c-article__body .scroll-table,
#page-blog-article .c-article__body .scroll-table,
#page-event-article .c-article__body .scroll-table,
#page-campaign-article .c-article__body .scroll-table {
  overflow-x: auto;
}
#page-news-article .c-article__body .scroll-table table,
#page-blog-article .c-article__body .scroll-table table,
#page-event-article .c-article__body .scroll-table table,
#page-campaign-article .c-article__body .scroll-table table {
  width: 100%;
  table-layout: fixed;
}
#page-news-article .c-article__body .scroll-table table th,
#page-blog-article .c-article__body .scroll-table table th,
#page-event-article .c-article__body .scroll-table table th,
#page-campaign-article .c-article__body .scroll-table table th {
  width: 200px;
}
#page-news-article .c-article__body iframe,
#page-blog-article .c-article__body iframe,
#page-event-article .c-article__body iframe,
#page-campaign-article .c-article__body iframe {
  max-width: 100% !important;
}
#page-news-article .c-article__body .cvButton,
#page-blog-article .c-article__body .cvButton,
#page-event-article .c-article__body .cvButton,
#page-campaign-article .c-article__body .cvButton {
  max-width: 100%;
  margin-inline: auto;
  color: #ffffff;
  text-decoration: none;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__body .cvButton,
  #page-blog-article .c-article__body .cvButton,
  #page-event-article .c-article__body .cvButton,
  #page-campaign-article .c-article__body .cvButton {
    font-size: min(4.2666666667vw, 16px);
  }
}
#page-news-article .c-article__body .cvButton.--orange,
#page-blog-article .c-article__body .cvButton.--orange,
#page-event-article .c-article__body .cvButton.--orange,
#page-campaign-article .c-article__body .cvButton.--orange {
  background: linear-gradient(180deg, #e2a954 0%, #db9328 100%);
}
#page-news-article .c-article__body .cvButton.--orange .cvButton__badge,
#page-blog-article .c-article__body .cvButton.--orange .cvButton__badge,
#page-event-article .c-article__body .cvButton.--orange .cvButton__badge,
#page-campaign-article .c-article__body .cvButton.--orange .cvButton__badge {
  color: #C88521;
}
#page-news-article .c-article__body .cvButton.--blue,
#page-blog-article .c-article__body .cvButton.--blue,
#page-event-article .c-article__body .cvButton.--blue,
#page-campaign-article .c-article__body .cvButton.--blue {
  background: linear-gradient(180deg, #64bbbf 0%, #4da8ac 100%);
}
#page-news-article .c-article__body .cvButton.--blue .cvButton__badge,
#page-blog-article .c-article__body .cvButton.--blue .cvButton__badge,
#page-event-article .c-article__body .cvButton.--blue .cvButton__badge,
#page-campaign-article .c-article__body .cvButton.--blue .cvButton__badge {
  color: #4DA8AC;
}
#page-news-article .c-article__checklist,
#page-blog-article .c-article__checklist,
#page-event-article .c-article__checklist,
#page-campaign-article .c-article__checklist {
  margin-block: 24px;
  padding: 30px 40px 34px 40px;
  border-radius: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.8);
  border-left: 1px solid rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.03);
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__checklist,
  #page-blog-article .c-article__checklist,
  #page-event-article .c-article__checklist,
  #page-campaign-article .c-article__checklist {
    margin-block: 60px;
    padding: 24px 24px 24px 20px;
  }
}
#page-news-article .c-article__checklist:first-child,
#page-blog-article .c-article__checklist:first-child,
#page-event-article .c-article__checklist:first-child,
#page-campaign-article .c-article__checklist:first-child {
  margin-top: 0;
}
#page-news-article .c-article__checklist h3,
#page-blog-article .c-article__checklist h3,
#page-event-article .c-article__checklist h3,
#page-campaign-article .c-article__checklist h3 {
  margin-top: 0;
  margin-bottom: 24px;
  color: #64BBBF;
  font-size: calc(1.6 * var(--unit));
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__checklist h3,
  #page-blog-article .c-article__checklist h3,
  #page-event-article .c-article__checklist h3,
  #page-campaign-article .c-article__checklist h3 {
    margin-bottom: 20px;
    font-size: min(4vw, 15px);
  }
}
#page-news-article .c-article__checklist ul,
#page-blog-article .c-article__checklist ul,
#page-event-article .c-article__checklist ul,
#page-campaign-article .c-article__checklist ul {
  margin-block: 0;
  gap: 16px;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__checklist ul,
  #page-blog-article .c-article__checklist ul,
  #page-event-article .c-article__checklist ul,
  #page-campaign-article .c-article__checklist ul {
    gap: 14px;
  }
}
#page-news-article .c-article__checklist ul li,
#page-blog-article .c-article__checklist ul li,
#page-event-article .c-article__checklist ul li,
#page-campaign-article .c-article__checklist ul li {
  position: relative;
  padding-left: 30px;
  text-indent: 0;
  font-size: calc(1.6 * var(--unit));
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__checklist ul li,
  #page-blog-article .c-article__checklist ul li,
  #page-event-article .c-article__checklist ul li,
  #page-campaign-article .c-article__checklist ul li {
    padding-left: 26px;
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-news-article .c-article__checklist ul li::before,
#page-blog-article .c-article__checklist ul li::before,
#page-event-article .c-article__checklist ul li::before,
#page-campaign-article .c-article__checklist ul li::before {
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 0;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  background-image: url("../images/v2/common/icon_check_green.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__checklist ul li::before,
  #page-blog-article .c-article__checklist ul li::before,
  #page-event-article .c-article__checklist ul li::before,
  #page-campaign-article .c-article__checklist ul li::before {
    width: 16px;
    height: 16px;
  }
}
#page-news-article .c-article__event-detail,
#page-blog-article .c-article__event-detail,
#page-event-article .c-article__event-detail,
#page-campaign-article .c-article__event-detail {
  margin-block: 48px;
  padding: 32px;
  border-radius: 14px;
  background: rgba(210, 229, 224, 0.5);
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__event-detail,
  #page-blog-article .c-article__event-detail,
  #page-event-article .c-article__event-detail,
  #page-campaign-article .c-article__event-detail {
    margin-block: 60px;
    padding: 24px 26px 32px;
  }
}
#page-news-article .c-article__event-detail:first-child,
#page-blog-article .c-article__event-detail:first-child,
#page-event-article .c-article__event-detail:first-child,
#page-campaign-article .c-article__event-detail:first-child {
  margin-top: 0;
}
#page-news-article .c-article__event-detail:last-child,
#page-blog-article .c-article__event-detail:last-child,
#page-event-article .c-article__event-detail:last-child,
#page-campaign-article .c-article__event-detail:last-child {
  margin-bottom: 0;
}
#page-news-article .c-article__event-detail h2,
#page-blog-article .c-article__event-detail h2,
#page-event-article .c-article__event-detail h2,
#page-campaign-article .c-article__event-detail h2 {
  margin-bottom: 20px;
}
#page-news-article .c-article__event-detail h3,
#page-blog-article .c-article__event-detail h3,
#page-event-article .c-article__event-detail h3,
#page-campaign-article .c-article__event-detail h3 {
  color: #64BBBF;
  font-size: calc(1.6 * var(--unit));
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__event-detail h3,
  #page-blog-article .c-article__event-detail h3,
  #page-event-article .c-article__event-detail h3,
  #page-campaign-article .c-article__event-detail h3 {
    margin-bottom: 16px;
    font-size: min(4vw, 15px);
  }
}
#page-news-article .c-article__event-detail p,
#page-blog-article .c-article__event-detail p,
#page-event-article .c-article__event-detail p,
#page-campaign-article .c-article__event-detail p {
  font-size: calc(1.4 * var(--unit));
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__event-detail p,
  #page-blog-article .c-article__event-detail p,
  #page-event-article .c-article__event-detail p,
  #page-campaign-article .c-article__event-detail p {
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-news-article .c-article__event-detail ol,
#page-blog-article .c-article__event-detail ol,
#page-event-article .c-article__event-detail ol,
#page-campaign-article .c-article__event-detail ol {
  margin-top: 24px;
  gap: 8px;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__event-detail ol,
  #page-blog-article .c-article__event-detail ol,
  #page-event-article .c-article__event-detail ol,
  #page-campaign-article .c-article__event-detail ol {
    margin-top: 20px;
    gap: 6px;
  }
}
#page-news-article .c-article__event-detail ol li,
#page-blog-article .c-article__event-detail ol li,
#page-event-article .c-article__event-detail ol li,
#page-campaign-article .c-article__event-detail ol li {
  font-size: calc(1.4 * var(--unit));
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__event-detail ol li,
  #page-blog-article .c-article__event-detail ol li,
  #page-event-article .c-article__event-detail ol li,
  #page-campaign-article .c-article__event-detail ol li {
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-news-article .c-article__event-detail small,
#page-blog-article .c-article__event-detail small,
#page-event-article .c-article__event-detail small,
#page-campaign-article .c-article__event-detail small {
  font-size: calc(1.2 * var(--unit));
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__event-detail small,
  #page-blog-article .c-article__event-detail small,
  #page-event-article .c-article__event-detail small,
  #page-campaign-article .c-article__event-detail small {
    font-size: min(2.6666666667vw, 10px);
  }
}
#page-news-article .c-article__event-detail .date,
#page-blog-article .c-article__event-detail .date,
#page-event-article .c-article__event-detail .date,
#page-campaign-article .c-article__event-detail .date {
  margin-bottom: 40px;
  font-size: calc(1.6 * var(--unit));
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__event-detail .date,
  #page-blog-article .c-article__event-detail .date,
  #page-event-article .c-article__event-detail .date,
  #page-campaign-article .c-article__event-detail .date {
    margin-bottom: 28px;
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-news-article .c-article__event-detail .block,
#page-blog-article .c-article__event-detail .block,
#page-event-article .c-article__event-detail .block,
#page-campaign-article .c-article__event-detail .block {
  margin-top: 40px;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__event-detail .block,
  #page-blog-article .c-article__event-detail .block,
  #page-event-article .c-article__event-detail .block,
  #page-campaign-article .c-article__event-detail .block {
    margin-top: 28px;
  }
}
#page-news-article .c-article__event-detail .speaker-v2,
#page-blog-article .c-article__event-detail .speaker-v2,
#page-event-article .c-article__event-detail .speaker-v2,
#page-campaign-article .c-article__event-detail .speaker-v2 {
  margin-top: 32px;
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__event-detail .speaker-v2,
  #page-blog-article .c-article__event-detail .speaker-v2,
  #page-event-article .c-article__event-detail .speaker-v2,
  #page-campaign-article .c-article__event-detail .speaker-v2 {
    flex-direction: column;
    gap: 10px;
  }
}
#page-news-article .c-article__event-detail .speaker-v2:first-of-type,
#page-blog-article .c-article__event-detail .speaker-v2:first-of-type,
#page-event-article .c-article__event-detail .speaker-v2:first-of-type,
#page-campaign-article .c-article__event-detail .speaker-v2:first-of-type {
  margin-top: 0;
}
#page-news-article .c-article__event-detail .speaker-v2__icon,
#page-blog-article .c-article__event-detail .speaker-v2__icon,
#page-event-article .c-article__event-detail .speaker-v2__icon,
#page-campaign-article .c-article__event-detail .speaker-v2__icon {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__event-detail .speaker-v2__icon,
  #page-blog-article .c-article__event-detail .speaker-v2__icon,
  #page-event-article .c-article__event-detail .speaker-v2__icon,
  #page-campaign-article .c-article__event-detail .speaker-v2__icon {
    width: 51px;
    height: 51px;
  }
}
#page-news-article .c-article__event-detail .speaker-v2__icon img,
#page-blog-article .c-article__event-detail .speaker-v2__icon img,
#page-event-article .c-article__event-detail .speaker-v2__icon img,
#page-campaign-article .c-article__event-detail .speaker-v2__icon img {
  margin: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#page-news-article .c-article__event-detail .speaker-v2__info,
#page-blog-article .c-article__event-detail .speaker-v2__info,
#page-event-article .c-article__event-detail .speaker-v2__info,
#page-campaign-article .c-article__event-detail .speaker-v2__info {
  padding-top: 8px;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__event-detail .speaker-v2__info,
  #page-blog-article .c-article__event-detail .speaker-v2__info,
  #page-event-article .c-article__event-detail .speaker-v2__info,
  #page-campaign-article .c-article__event-detail .speaker-v2__info {
    padding-top: 0;
  }
}
#page-news-article .c-article__event-detail .speaker-v2__name,
#page-blog-article .c-article__event-detail .speaker-v2__name,
#page-event-article .c-article__event-detail .speaker-v2__name,
#page-campaign-article .c-article__event-detail .speaker-v2__name {
  font-size: calc(1.6 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__event-detail .speaker-v2__name,
  #page-blog-article .c-article__event-detail .speaker-v2__name,
  #page-event-article .c-article__event-detail .speaker-v2__name,
  #page-campaign-article .c-article__event-detail .speaker-v2__name {
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-news-article .c-article__event-detail .speaker-v2__profile,
#page-blog-article .c-article__event-detail .speaker-v2__profile,
#page-event-article .c-article__event-detail .speaker-v2__profile,
#page-campaign-article .c-article__event-detail .speaker-v2__profile {
  margin-top: 4px;
  font-size: calc(1.3 * var(--unit));
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__event-detail .speaker-v2__profile,
  #page-blog-article .c-article__event-detail .speaker-v2__profile,
  #page-event-article .c-article__event-detail .speaker-v2__profile,
  #page-campaign-article .c-article__event-detail .speaker-v2__profile {
    margin-top: 3px;
    font-size: min(3.2vw, 12px);
  }
}
#page-news-article .c-article__thumbnail,
#page-blog-article .c-article__thumbnail,
#page-event-article .c-article__thumbnail,
#page-campaign-article .c-article__thumbnail {
  width: 100%;
  height: auto;
  margin-bottom: 80px;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__thumbnail,
  #page-blog-article .c-article__thumbnail,
  #page-event-article .c-article__thumbnail,
  #page-campaign-article .c-article__thumbnail {
    margin-bottom: 60px;
  }
}
#page-news-article .c-article__sidebar,
#page-blog-article .c-article__sidebar,
#page-event-article .c-article__sidebar,
#page-campaign-article .c-article__sidebar {
  max-width: 265px;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__sidebar,
  #page-blog-article .c-article__sidebar,
  #page-event-article .c-article__sidebar,
  #page-campaign-article .c-article__sidebar {
    display: none;
  }
}
#page-news-article .c-article--blog .c-article__inner, #page-news-article .c-article--event .c-article__inner,
#page-blog-article .c-article--blog .c-article__inner,
#page-blog-article .c-article--event .c-article__inner,
#page-event-article .c-article--blog .c-article__inner,
#page-event-article .c-article--event .c-article__inner,
#page-campaign-article .c-article--blog .c-article__inner,
#page-campaign-article .c-article--event .c-article__inner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 140px;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article--blog .c-article__inner, #page-news-article .c-article--event .c-article__inner,
  #page-blog-article .c-article--blog .c-article__inner,
  #page-blog-article .c-article--event .c-article__inner,
  #page-event-article .c-article--blog .c-article__inner,
  #page-event-article .c-article--event .c-article__inner,
  #page-campaign-article .c-article--blog .c-article__inner,
  #page-campaign-article .c-article--event .c-article__inner {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
#page-news-article .c-article--blog .c-article__main, #page-news-article .c-article--event .c-article__main,
#page-blog-article .c-article--blog .c-article__main,
#page-blog-article .c-article--event .c-article__main,
#page-event-article .c-article--blog .c-article__main,
#page-event-article .c-article--event .c-article__main,
#page-campaign-article .c-article--blog .c-article__main,
#page-campaign-article .c-article--event .c-article__main {
  display: contents;
}
#page-news-article .c-article--blog .c-article__head-group, #page-news-article .c-article--event .c-article__head-group,
#page-blog-article .c-article--blog .c-article__head-group,
#page-blog-article .c-article--event .c-article__head-group,
#page-event-article .c-article--blog .c-article__head-group,
#page-event-article .c-article--event .c-article__head-group,
#page-campaign-article .c-article--blog .c-article__head-group,
#page-campaign-article .c-article--event .c-article__head-group {
  grid-area: 1/1/2/2;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article--blog .c-article__head-group, #page-news-article .c-article--event .c-article__head-group,
  #page-blog-article .c-article--blog .c-article__head-group,
  #page-blog-article .c-article--event .c-article__head-group,
  #page-event-article .c-article--blog .c-article__head-group,
  #page-event-article .c-article--event .c-article__head-group,
  #page-campaign-article .c-article--blog .c-article__head-group,
  #page-campaign-article .c-article--event .c-article__head-group {
    grid-area: auto;
  }
}
#page-news-article .c-article--blog .c-article__body, #page-news-article .c-article--event .c-article__body,
#page-blog-article .c-article--blog .c-article__body,
#page-blog-article .c-article--event .c-article__body,
#page-event-article .c-article--blog .c-article__body,
#page-event-article .c-article--event .c-article__body,
#page-campaign-article .c-article--blog .c-article__body,
#page-campaign-article .c-article--event .c-article__body {
  grid-area: 2/1/3/2;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article--blog .c-article__body, #page-news-article .c-article--event .c-article__body,
  #page-blog-article .c-article--blog .c-article__body,
  #page-blog-article .c-article--event .c-article__body,
  #page-event-article .c-article--blog .c-article__body,
  #page-event-article .c-article--event .c-article__body,
  #page-campaign-article .c-article--blog .c-article__body,
  #page-campaign-article .c-article--event .c-article__body {
    grid-area: auto;
  }
}
#page-news-article .c-article--blog .c-article__sidebar, #page-news-article .c-article--event .c-article__sidebar,
#page-blog-article .c-article--blog .c-article__sidebar,
#page-blog-article .c-article--event .c-article__sidebar,
#page-event-article .c-article--blog .c-article__sidebar,
#page-event-article .c-article--event .c-article__sidebar,
#page-campaign-article .c-article--blog .c-article__sidebar,
#page-campaign-article .c-article--event .c-article__sidebar {
  grid-area: 2/2/3/3;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article--blog .c-article__sidebar, #page-news-article .c-article--event .c-article__sidebar,
  #page-blog-article .c-article--blog .c-article__sidebar,
  #page-blog-article .c-article--event .c-article__sidebar,
  #page-event-article .c-article--blog .c-article__sidebar,
  #page-event-article .c-article--event .c-article__sidebar,
  #page-campaign-article .c-article--blog .c-article__sidebar,
  #page-campaign-article .c-article--event .c-article__sidebar {
    grid-area: auto;
  }
}
#page-news-article .c-article--blog .c-article__back-link, #page-news-article .c-article--event .c-article__back-link,
#page-blog-article .c-article--blog .c-article__back-link,
#page-blog-article .c-article--event .c-article__back-link,
#page-event-article .c-article--blog .c-article__back-link,
#page-event-article .c-article--event .c-article__back-link,
#page-campaign-article .c-article--blog .c-article__back-link,
#page-campaign-article .c-article--event .c-article__back-link {
  grid-area: 3/1/4/3;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article--blog .c-article__back-link, #page-news-article .c-article--event .c-article__back-link,
  #page-blog-article .c-article--blog .c-article__back-link,
  #page-blog-article .c-article--event .c-article__back-link,
  #page-event-article .c-article--blog .c-article__back-link,
  #page-event-article .c-article--event .c-article__back-link,
  #page-campaign-article .c-article--blog .c-article__back-link,
  #page-campaign-article .c-article--event .c-article__back-link {
    grid-area: auto;
  }
}
#page-news-article .c-article--event .c-article__inner,
#page-blog-article .c-article--event .c-article__inner,
#page-event-article .c-article--event .c-article__inner,
#page-campaign-article .c-article--event .c-article__inner {
  gap: 0 91px;
}
#page-news-article .c-article--event .c-article__title,
#page-blog-article .c-article--event .c-article__title,
#page-event-article .c-article--event .c-article__title,
#page-campaign-article .c-article--event .c-article__title {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
}
#page-news-article .c-article--event .c-article__thumbnail,
#page-blog-article .c-article--event .c-article__thumbnail,
#page-event-article .c-article--event .c-article__thumbnail,
#page-campaign-article .c-article--event .c-article__thumbnail {
  margin-bottom: 0;
  border-radius: 8px;
}
@media screen and (max-width: 519px) {
  #page-news-article .c-article--event .c-article__thumbnail,
  #page-blog-article .c-article--event .c-article__thumbnail,
  #page-event-article .c-article--event .c-article__thumbnail,
  #page-campaign-article .c-article--event .c-article__thumbnail {
    margin-inline: -27px;
    width: calc(100% + 54px);
    border-radius: 0;
  }
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article--event .c-article__head-group,
  #page-blog-article .c-article--event .c-article__head-group,
  #page-event-article .c-article--event .c-article__head-group,
  #page-campaign-article .c-article--event .c-article__head-group {
    order: 0;
    margin-bottom: 27px;
  }
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article--event .c-article__body,
  #page-blog-article .c-article--event .c-article__body,
  #page-event-article .c-article--event .c-article__body,
  #page-campaign-article .c-article--event .c-article__body {
    order: 2;
  }
}
#page-news-article .c-article--event .c-article__sidebar,
#page-blog-article .c-article--event .c-article__sidebar,
#page-event-article .c-article--event .c-article__sidebar,
#page-campaign-article .c-article--event .c-article__sidebar {
  max-width: 302px;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article--event .c-article__sidebar,
  #page-blog-article .c-article--event .c-article__sidebar,
  #page-event-article .c-article--event .c-article__sidebar,
  #page-campaign-article .c-article--event .c-article__sidebar {
    max-width: 640px;
    order: 1;
    display: block;
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article--event .c-article__back-link,
  #page-blog-article .c-article--event .c-article__back-link,
  #page-event-article .c-article--event .c-article__back-link,
  #page-campaign-article .c-article--event .c-article__back-link {
    order: 3;
  }
}
#page-news-article .c-article--campaign .c-article__title,
#page-blog-article .c-article--campaign .c-article__title,
#page-event-article .c-article--campaign .c-article__title,
#page-campaign-article .c-article--campaign .c-article__title {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article--campaign .c-article__head-group,
  #page-blog-article .c-article--campaign .c-article__head-group,
  #page-event-article .c-article--campaign .c-article__head-group,
  #page-campaign-article .c-article--campaign .c-article__head-group {
    margin-bottom: 27px;
  }
}
#page-news-article .c-article--campaign .c-article__thumbnail,
#page-blog-article .c-article--campaign .c-article__thumbnail,
#page-event-article .c-article--campaign .c-article__thumbnail,
#page-campaign-article .c-article--campaign .c-article__thumbnail {
  margin-bottom: 0;
}
@media screen and (max-width: 519px) {
  #page-news-article .c-article--campaign .c-article__thumbnail,
  #page-blog-article .c-article--campaign .c-article__thumbnail,
  #page-event-article .c-article--campaign .c-article__thumbnail,
  #page-campaign-article .c-article--campaign .c-article__thumbnail {
    margin-inline: -27px;
    width: calc(100% + 54px);
  }
}
#page-news-article .c-article__back-link,
#page-blog-article .c-article__back-link,
#page-event-article .c-article__back-link,
#page-campaign-article .c-article__back-link {
  margin-bottom: 48px;
}
@media screen and (max-width: 959px) {
  #page-news-article .c-article__back-link,
  #page-blog-article .c-article__back-link,
  #page-event-article .c-article__back-link,
  #page-campaign-article .c-article__back-link {
    margin-bottom: 40px;
  }
}

#page-blog-top .c-blog-item,
#page-blog-tag .c-blog-item,
#page-blog-category .c-blog-item,
#page-blog-search .c-blog-item,
#page-blog-recent .c-blog-item {
  width: 30.2171860246%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
}
@media screen and (max-width: 959px) {
  #page-blog-top .c-blog-item,
  #page-blog-tag .c-blog-item,
  #page-blog-category .c-blog-item,
  #page-blog-search .c-blog-item,
  #page-blog-recent .c-blog-item {
    width: 100%;
  }
}
#page-blog-top .c-blog-item__thumbnail,
#page-blog-tag .c-blog-item__thumbnail,
#page-blog-category .c-blog-item__thumbnail,
#page-blog-search .c-blog-item__thumbnail,
#page-blog-recent .c-blog-item__thumbnail {
  border-radius: 5px;
  overflow: hidden;
}
#page-blog-top .c-blog-item__thumbnail img,
#page-blog-tag .c-blog-item__thumbnail img,
#page-blog-category .c-blog-item__thumbnail img,
#page-blog-search .c-blog-item__thumbnail img,
#page-blog-recent .c-blog-item__thumbnail img {
  width: 100%;
  height: auto;
}
#page-blog-top .c-blog-item__body,
#page-blog-tag .c-blog-item__body,
#page-blog-category .c-blog-item__body,
#page-blog-search .c-blog-item__body,
#page-blog-recent .c-blog-item__body {
  flex: 1;
  display: flex;
  flex-direction: column;
}
#page-blog-top .c-blog-item__cats,
#page-blog-tag .c-blog-item__cats,
#page-blog-category .c-blog-item__cats,
#page-blog-search .c-blog-item__cats,
#page-blog-recent .c-blog-item__cats {
  margin-bottom: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media screen and (max-width: 959px) {
  #page-blog-top .c-blog-item__cats,
  #page-blog-tag .c-blog-item__cats,
  #page-blog-category .c-blog-item__cats,
  #page-blog-search .c-blog-item__cats,
  #page-blog-recent .c-blog-item__cats {
    margin-bottom: 8px;
    gap: 6px;
  }
}
#page-blog-top .c-blog-item__cats a,
#page-blog-tag .c-blog-item__cats a,
#page-blog-category .c-blog-item__cats a,
#page-blog-search .c-blog-item__cats a,
#page-blog-recent .c-blog-item__cats a {
  display: block;
  padding: 0 8px 1px;
  border-radius: 3px;
  background: #D8EBE6;
  font-size: calc(1.2 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  #page-blog-top .c-blog-item__cats a,
  #page-blog-tag .c-blog-item__cats a,
  #page-blog-category .c-blog-item__cats a,
  #page-blog-search .c-blog-item__cats a,
  #page-blog-recent .c-blog-item__cats a {
    padding: 1px 6px;
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-blog-top .c-blog-item__title,
#page-blog-tag .c-blog-item__title,
#page-blog-category .c-blog-item__title,
#page-blog-search .c-blog-item__title,
#page-blog-recent .c-blog-item__title {
  margin-bottom: 10px;
}
@media screen and (max-width: 959px) {
  #page-blog-top .c-blog-item__title,
  #page-blog-tag .c-blog-item__title,
  #page-blog-category .c-blog-item__title,
  #page-blog-search .c-blog-item__title,
  #page-blog-recent .c-blog-item__title {
    margin-bottom: 8px;
  }
}
#page-blog-top .c-blog-item__title a,
#page-blog-tag .c-blog-item__title a,
#page-blog-category .c-blog-item__title a,
#page-blog-search .c-blog-item__title a,
#page-blog-recent .c-blog-item__title a {
  display: block;
  font-size: calc(1.6 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-blog-top .c-blog-item__title a,
  #page-blog-tag .c-blog-item__title a,
  #page-blog-category .c-blog-item__title a,
  #page-blog-search .c-blog-item__title a,
  #page-blog-recent .c-blog-item__title a {
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-blog-top .c-blog-item__date,
#page-blog-tag .c-blog-item__date,
#page-blog-category .c-blog-item__date,
#page-blog-search .c-blog-item__date,
#page-blog-recent .c-blog-item__date {
  width: 100%;
  margin-top: auto;
  text-align: right;
  color: #AAA;
  font-feature-settings: "palt" on;
  font-size: calc(1.2 * var(--unit));
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 959px) {
  #page-blog-top .c-blog-item__date,
  #page-blog-tag .c-blog-item__date,
  #page-blog-category .c-blog-item__date,
  #page-blog-search .c-blog-item__date,
  #page-blog-recent .c-blog-item__date {
    font-size: min(2.9333333333vw, 11px);
  }
}

#page-blog-top .c-blog-list::before,
#page-blog-tag .c-blog-list::before,
#page-blog-category .c-blog-list::before,
#page-blog-search .c-blog-list::before,
#page-blog-recent .c-blog-list::before {
  content: "";
  position: absolute;
  top: 331px;
  left: -150px;
  width: 312px;
  height: 430px;
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
  transform: rotate(-27deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-blog-top .c-blog-list::before,
  #page-blog-tag .c-blog-list::before,
  #page-blog-category .c-blog-list::before,
  #page-blog-search .c-blog-list::before,
  #page-blog-recent .c-blog-list::before {
    transform: rotate(0deg) translateY(var(--parallax-y, 0px));
    top: 205px;
    left: -45.3333333333vw;
    width: 71.4666666667vw;
    height: 98.6666666667vw;
  }
}
#page-blog-top .c-blog-list::after,
#page-blog-tag .c-blog-list::after,
#page-blog-category .c-blog-list::after,
#page-blog-search .c-blog-list::after,
#page-blog-recent .c-blog-list::after {
  content: "";
  position: absolute;
  top: 770px;
  right: -138px;
  width: 312px;
  height: 596px;
  border-radius: 596px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
  transform: rotate(-70deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-blog-top .c-blog-list::after,
  #page-blog-tag .c-blog-list::after,
  #page-blog-category .c-blog-list::after,
  #page-blog-search .c-blog-list::after,
  #page-blog-recent .c-blog-list::after {
    top: 1121px;
    right: -20.5333333333vw;
    width: 56.8vw;
    height: 108.2666666667vw;
  }
}
#page-blog-top .c-blog-list__bg,
#page-blog-tag .c-blog-list__bg,
#page-blog-category .c-blog-list__bg,
#page-blog-search .c-blog-list__bg,
#page-blog-recent .c-blog-list__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#page-blog-top .c-blog-list__bg::before,
#page-blog-tag .c-blog-list__bg::before,
#page-blog-category .c-blog-list__bg::before,
#page-blog-search .c-blog-list__bg::before,
#page-blog-recent .c-blog-list__bg::before {
  content: "";
  position: absolute;
  top: 1523px;
  left: 0;
  width: 312px;
  height: 430px;
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
  transform: translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-blog-top .c-blog-list__bg::before,
  #page-blog-tag .c-blog-list__bg::before,
  #page-blog-category .c-blog-list__bg::before,
  #page-blog-search .c-blog-list__bg::before,
  #page-blog-recent .c-blog-list__bg::before {
    top: 2347px;
    left: auto;
    right: -53.8666666667vw;
    width: 71.4666666667vw;
    height: 72vw;
  }
}
@media screen and (max-width: 959px) {
  #page-blog-top .c-blog-list__bg::after,
  #page-blog-tag .c-blog-list__bg::after,
  #page-blog-category .c-blog-list__bg::after,
  #page-blog-search .c-blog-list__bg::after,
  #page-blog-recent .c-blog-list__bg::after {
    content: "";
    position: absolute;
    top: 3100px;
    left: -36.2666666667vw;
    width: 56.5333333333vw;
    height: 108.2666666667vw;
    border-radius: 406px;
    background: #F8E9BE;
    filter: blur(90px);
    z-index: 0;
    transform: rotate(-70deg) translateY(var(--parallax-y, 0px));
    will-change: transform;
  }
}
#page-blog-top .c-blog-list__inner,
#page-blog-tag .c-blog-list__inner,
#page-blog-category .c-blog-list__inner,
#page-blog-search .c-blog-list__inner,
#page-blog-recent .c-blog-list__inner {
  position: relative;
  padding-block: 180px 120px;
}
@media screen and (max-width: 959px) {
  #page-blog-top .c-blog-list__inner,
  #page-blog-tag .c-blog-list__inner,
  #page-blog-category .c-blog-list__inner,
  #page-blog-search .c-blog-list__inner,
  #page-blog-recent .c-blog-list__inner {
    padding-block: 100px 80px;
  }
}
#page-blog-top .c-blog-list__list,
#page-blog-tag .c-blog-list__list,
#page-blog-category .c-blog-list__list,
#page-blog-search .c-blog-list__list,
#page-blog-recent .c-blog-list__list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 80px 4.6742209632%;
}
@media screen and (max-width: 959px) {
  #page-blog-top .c-blog-list__list,
  #page-blog-tag .c-blog-list__list,
  #page-blog-category .c-blog-list__list,
  #page-blog-search .c-blog-list__list,
  #page-blog-recent .c-blog-list__list {
    max-width: 320px;
    margin-inline: auto;
    flex-direction: column;
    gap: 40px;
  }
}
@media screen and (max-width: 519px) {
  #page-blog-top .c-blog-list__list,
  #page-blog-tag .c-blog-list__list,
  #page-blog-category .c-blog-list__list,
  #page-blog-search .c-blog-list__list,
  #page-blog-recent .c-blog-list__list {
    gap: 32px;
  }
}
#page-blog-top .c-blog-list__pagination:has(.c-pagination),
#page-blog-tag .c-blog-list__pagination:has(.c-pagination),
#page-blog-category .c-blog-list__pagination:has(.c-pagination),
#page-blog-search .c-blog-list__pagination:has(.c-pagination),
#page-blog-recent .c-blog-list__pagination:has(.c-pagination) {
  margin-top: 140px;
}
@media screen and (max-width: 959px) {
  #page-blog-top .c-blog-list__pagination:has(.c-pagination),
  #page-blog-tag .c-blog-list__pagination:has(.c-pagination),
  #page-blog-category .c-blog-list__pagination:has(.c-pagination),
  #page-blog-search .c-blog-list__pagination:has(.c-pagination),
  #page-blog-recent .c-blog-list__pagination:has(.c-pagination) {
    margin-top: 80px;
  }
}
#page-blog-top .c-blog-list__back-link,
#page-blog-tag .c-blog-list__back-link,
#page-blog-category .c-blog-list__back-link,
#page-blog-search .c-blog-list__back-link,
#page-blog-recent .c-blog-list__back-link {
  margin-top: 40px;
}

.breadcrumb {
  margin-bottom: 24px;
}
@media screen and (max-width: 519px) {
  .breadcrumb {
    margin-bottom: min(4.2666666667vw, 16px);
  }
}
.breadcrumb:has(+ .pageHeader) {
  margin-top: 36px;
  margin-bottom: 12px;
}
@media screen and (max-width: 519px) {
  .breadcrumb:has(+ .pageHeader) {
    margin-top: min(8.5333333333vw, 32px);
    margin-bottom: min(4.2666666667vw, 16px);
  }
}
.breadcrumb__list {
  text-align: left !important;
}

.breadcrumb__item {
  display: inline;
  color: #C6C6C6;
  font-size: 14px;
}
@media screen and (max-width: 519px) {
  .breadcrumb__item {
    font-size: 12px;
  }
}
.breadcrumb__item.active {
  color: #2C2A25;
}
.breadcrumb__item:not(:last-child):after {
  content: "";
  display: inline-block;
  transform: rotate(45deg);
  width: 5px;
  height: 5px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  vertical-align: 3px;
  margin: 0 3px;
}
.breadcrumb__item a {
  color: #C6C6C6;
  transition: opacity 0.6s;
}
.breadcrumb__item a:hover {
  opacity: 0.6;
}

.c-breadcrumb {
  padding: 0;
}
@media screen and (max-width: 959px) {
  .c-breadcrumb {
    padding: 0;
  }
}
.c-breadcrumb__list {
  padding: 16px 30px 0;
  display: flex;
  align-items: center;
  gap: 12px;
}
@media screen and (max-width: 959px) {
  .c-breadcrumb__list {
    padding: 12px 20px 0;
  }
}
.c-breadcrumb__item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #999999;
  font-feature-settings: "palt" on;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.2 * var(--unit));
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  .c-breadcrumb__item {
    font-size: min(2.9333333333vw, 11px);
    gap: 4px;
  }
}
.c-breadcrumb__item:not(:last-child) {
  flex-shrink: 0;
}
.c-breadcrumb__item:not(:last-child)::after {
  content: "";
  display: block;
  transform: rotate(45deg);
  width: 5px;
  height: 5px;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
}
.c-breadcrumb__item:last-child {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.c-breadcrumb__item a {
  color: #C6C6C6;
  transition: opacity 0.6s;
}
.c-breadcrumb__item a:hover {
  opacity: 0.6;
}

.c-button-simple {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
@media screen and (max-width: 1279px) {
  .c-button-simple {
    gap: 16px;
  }
}
@media screen and (max-width: 959px) {
  .c-button-simple {
    gap: 20px;
  }
}
.c-button-simple span {
  font-size: calc(1.4 * var(--unit));
  line-height: 1.2;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  .c-button-simple span {
    font-size: min(3.7333333333vw, 14px);
  }
}
.c-button-simple svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}
@media screen and (max-width: 959px) {
  .c-button-simple svg {
    width: min(3.2vw, 12px);
    height: min(3.2vw, 12px);
  }
}
.c-button-simple svg path {
  stroke: #333333;
}
.c-button-simple--back svg {
  order: 0;
  transform: rotate(180deg);
}
.c-button-simple--back span {
  order: 1;
}

.c-button-small {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 180px;
  padding: 12px 24px;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  background: #FFFFFF;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 959px) {
  .c-button-small {
    padding: 12.5px 20px;
    gap: 20px;
  }
}
.c-button-small span {
  font-size: calc(1.3 * var(--unit));
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  .c-button-small span {
    font-size: min(3.2vw, 12px);
  }
}

.c-button {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  padding: 15.5px 20px;
  align-items: center;
  justify-content: center;
  gap: 20px;
  border-radius: 6px;
  background: #222F30;
  box-shadow: 0 4px 20px 0 rgba(174, 202, 214, 0.3);
}
@media screen and (max-width: 1279px) {
  .c-button {
    gap: 16px;
  }
}
@media screen and (max-width: 959px) {
  .c-button {
    padding: 12.5px 20px;
    gap: 20px;
  }
}
.c-button span {
  color: #FFFFFF;
  font-size: calc(1.4 * var(--unit));
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  .c-button span {
    font-size: min(3.7333333333vw, 14px);
  }
}
.c-button svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}
@media screen and (max-width: 959px) {
  .c-button svg {
    width: min(3.2vw, 12px);
    height: min(3.2vw, 12px);
  }
}
.c-button svg path {
  stroke: #FFFFFF;
}
.c-button--white {
  background: rgba(255, 255, 255, 0.5);
  box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.03), 0 4px 20px 0 rgba(232, 232, 232, 0.3);
}
.c-button--white span {
  color: #444;
}
.c-button--white svg path {
  stroke: #444;
}
.c-button--stretch {
  width: 100%;
  justify-content: space-between;
}
@media screen and (max-width: 959px) {
  .c-button--stretch-sp {
    width: 100%;
    height: 100%;
  }
}
.c-button--back svg {
  order: 0;
  transform: rotate(180deg);
}
.c-button--back span {
  order: 1;
}
.c-button--disabled {
  background: #D5D5D5;
  box-shadow: none;
  pointer-events: none;
}

.commonButton {
  display: inline-block;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 13px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 519px) {
  .commonButton {
    /* メイン */
    font-size: min(3.4666666667vw, 13px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
}
.commonButton:hover {
  opacity: 0.8;
}
.commonButton.--border-navy {
  border: 1px solid #324451;
  color: #324451;
}
.commonButton.--color-navy {
  background-color: #324451;
  color: #fff;
}
.commonButton.--color-orange {
  background-color: #E2A954;
  color: #fff;
}
.commonButton.--color-red {
  background-color: #C94545;
  color: #fff;
}
.commonButton.--color-gray {
  background-color: #C6C6C6;
  color: #fff;
}
.commonButton.--size-m {
  min-width: 220px;
  padding: 12px 40px;
  border-radius: 5px;
  font-size: 14px;
  text-align: center;
}
.commonButton.--size-auto {
  width: auto;
}
.commonButton.--with-text {
  position: relative;
}

.commonButton__note {
  position: absolute;
  top: -24px;
  color: #C94545;
  font-weight: normal;
  font-size: 11px;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

.cvButton {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 377px;
  height: 80px;
  border: 2px solid #fff;
  border-radius: 5px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  background: linear-gradient(180deg, #4DA8AC 0%, #0090BD 50%);
  color: #fff;
  font-weight: bold;
  font-size: 20px;
}
.cvButton.ctaButton {
  width: 346px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 519px) {
  .cvButton.ctaButton {
    font-size: min(4.5333333333vw, 17px);
    width: min(82.6666666667vw, 310px);
  }
}
.cvButton:hover {
  box-shadow: none;
}
.cvButton__badge {
  position: absolute;
  top: -16px;
  left: 10px;
  padding: 8px 16px;
  border-radius: 30px;
  background-color: #fff;
  color: #0391BD;
  font-size: 16px;
  line-height: 1;
}
.cvButton__badge::after {
  position: absolute;
  bottom: -8px;
  left: 30px;
  transform: rotate(60deg);
  width: 0;
  height: 0;
  border-width: 6px 0 6px 14px;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  content: "";
}

.formButton {
  display: flex;
  justify-content: center;
  align-content: center;
  flex-wrap: wrap;
  flex-direction: column;
  margin-top: 64px;
}
@media screen and (max-width: 519px) {
  .formButton {
    margin-top: 10.6666666667vw;
  }
}

.formButton__error {
  color: #C94545;
  text-align: center;
  margin-bottom: 16px;
}
@media screen and (max-width: 519px) {
  .formButton__error {
    font-size: min(3.2vw, 12px);
    line-height: 1.8;
    letter-spacing: 0.03em;
    margin-bottom: 4.2666666667vw;
  }
}

.formButton__button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 436px;
  height: 92px;
  background-color: #2C2A25;
  color: #ffffff;
  border-radius: 6px;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
}
.formButton__button:hover {
  opacity: 0.8;
}
@media screen and (max-width: 519px) {
  .formButton__button {
    width: 100%;
    height: 21.0666666667vw;
    font-size: 4.2666666667vw;
    letter-spacing: 0.03em;
  }
}

.formButton__button--disabled {
  background-color: #C6C6C6;
  color: #FFFFFF;
  margin-top: 0;
  pointer-events: none;
}

.formButton__button::after {
  content: "";
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  margin-right: 21px;
  border: 1px solid;
  border-color: #FFFFFF;
  background-color: #FFFFFF;
  clip-path: polygon(0 0, 50% 50%, 0 100%);
  position: absolute;
  right: 10px;
}
@media screen and (max-width: 519px) {
  .formButton__button::after {
    right: 2.6666666667vw;
  }
}

.mobileFixedButton {
  position: fixed;
  bottom: 0;
  z-index: 3;
  width: 100%;
  height: min(21.3333333333vw, 80px);
  padding: min(2.6666666667vw, 10px);
  transition: all 0.5s ease;
}
.mobileFixedButton a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 60px;
  border: 2px solid #ffffff;
  border-radius: 5px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  background: linear-gradient(180deg, #4da8ac 0%, #0090bd 50%);
  color: #FFFFFF;
  font-weight: bold;
  font-size: 18px;
}
.mobileFixedButton .mobileFixedButton__badge {
  position: absolute;
  top: -16px;
  left: calc(50% - 180px);
  padding: 8px 16px;
  border-radius: 30px;
  background-color: #FFFFFF;
  color: #0391bd;
  font-size: 12px;
  line-height: 1;
}
@media screen and (max-width: 519px) {
  .mobileFixedButton .mobileFixedButton__badge {
    left: 10px;
  }
}
.mobileFixedButton .mobileFixedButton__badge::after {
  position: absolute;
  bottom: -8px;
  left: 30px;
  transform: rotate(60deg);
  width: 0;
  height: 0;
  border-width: 6px 0 6px 14px;
  border-style: solid;
  border-color: transparent transparent transparent #FFFFFF;
  content: "";
}
.home .mobileFixedButton {
  display: none;
}
@media screen and (max-width: 519px) {
  .home .mobileFixedButton {
    display: block;
    bottom: min(-18.6666666667vw, -70px);
  }
  .home .mobileFixedButton.is-scrolled {
    bottom: 0;
  }
}
.home .mobileFixedButton .mobileFixedButton__badge {
  display: none;
}
.home .mobileFixedButton.is-scrolled .mobileFixedButton__badge {
  display: block;
}

.seminarButton {
  width: 272px;
  height: 80px;
  background-color: #324451;
  color: #ffffff;
  border-radius: 6px;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
  margin: 32px 0;
}
.seminarButton:hover {
  opacity: 0.8;
}
@media screen and (max-width: 519px) {
  .seminarButton {
    width: 100%;
    height: 21.0666666667vw;
    font-size: 4.2666666667vw;
    letter-spacing: 0.03em;
  }
}

.blogCard {
  margin-bottom: 40px;
}
.blogCard__thumbnail a:hover {
  opacity: 0.7;
}
.blogCard__thumbnail img {
  border-radius: 5px;
}
.blogCard__detail {
  display: flex;
  flex-direction: column;
  margin-top: 10px;
  gap: 10px;
}
.blogCard__category {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.blogCard__category a {
  padding: 2px 8px;
  background-color: #ECF6F6;
  font-size: 12px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
.blogCard__title {
  font-size: 17px;
  line-height: 1.65;
  letter-spacing: 0.03em;
  font-weight: bold;
}
@media screen and (max-width: 519px) {
  .blogCard__title {
    font-size: min(4vw, 15px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
}
.blogCard__title a:hover {
  opacity: 0.7;
}
.blogCard__date {
  color: #6D6D6D;
  text-align: right;
}

.cardWithThumbnail {
  width: calc((100% - 56px) / 2);
  background-color: #F5FAFA;
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 64px;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 959px) {
  .cardWithThumbnail {
    width: calc((100% - 20px) / 2);
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 768px) {
  .cardWithThumbnail {
    width: 100%;
    margin-bottom: 32px;
  }
}
@media screen and (max-width: 519px) {
  .cardWithThumbnail {
    margin-bottom: 8.5333333333vw;
  }
}

.cardWithThumbnail__thumbnail {
  transition: all 0.4s ease;
  border-bottom: 1px solid rgba(128, 195, 198, 0.22);
}
.cardWithThumbnail__thumbnail:hover {
  opacity: 0.8;
}

.cardWithThumbnail__body {
  padding: 20px 40px;
  position: relative;
}
@media screen and (max-width: 519px) {
  .cardWithThumbnail__body {
    padding: 4.2666666667vw 6.4vw 6.4vw 6.4vw;
  }
}

.cardWithThumbnail__footer {
  text-align: center;
  margin-top: auto;
  padding-bottom: 40px;
}

.cardWithThumbnail__title {
  font-size: 17px;
  line-height: 1.65;
  letter-spacing: 0.03em;
  font-weight: bold;
  margin: 8px 0;
  transition: all 0.4s ease;
}
@media screen and (max-width: 519px) {
  .cardWithThumbnail__title {
    font-size: min(4vw, 15px);
    line-height: 1.85;
    letter-spacing: 0.03em;
    margin: 2.6666666667vw 0;
    text-align: left;
    line-height: 1.5;
  }
}
.cardWithThumbnail__title:hover {
  opacity: 0.8;
}

.cardWithThumbnail__date {
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  margin-bottom: 32px;
}
@media screen and (max-width: 959px) {
  .cardWithThumbnail__date {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.85;
    letter-spacing: 0.03em;
    margin-bottom: 8.5333333333vw;
  }
}

.cardWithThumbnailBody__metas {
  display: flex;
  align-items: center;
}

.cardWithThumbnailBodyMetas__meta {
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  margin-right: min(2.1333333333vw, 8px);
}

.cardWithThumbnail__excerpt p {
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}

.cardWrapColumn2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .cardWrapColumn2 {
    display: block;
  }
}

.cardWrapColumn3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .cardWrapColumn3 {
    display: block;
  }
}
.cardWrapColumn3 .cardWithThumbnail {
  width: calc((100% - 64px) / 3);
}
@media screen and (max-width: 959px) {
  .cardWrapColumn3 .cardWithThumbnail {
    width: calc((100% - 64px) / 2);
  }
}
@media screen and (max-width: 768px) {
  .cardWrapColumn3 .cardWithThumbnail {
    width: 100%;
  }
}
.cardWrapColumn3 .blogCard {
  width: calc((100% - 50px) / 3);
}
@media screen and (max-width: 959px) {
  .cardWrapColumn3 .blogCard {
    width: calc((100% - 64px) / 2);
  }
}
@media screen and (max-width: 768px) {
  .cardWrapColumn3 .blogCard {
    width: 100%;
  }
}
.cardWrapColumn3 .cardWithThumbnail__body {
  padding: 16px 24px 20px 24px;
  position: relative;
}
@media screen and (max-width: 519px) {
  .cardWrapColumn3 .cardWithThumbnail__body {
    padding: 4.2666666667vw 6.4vw 6.4vw 6.4vw;
  }
}
.cardWrapColumn3 .cardWithThumbnail__footer {
  text-align: center;
  margin-top: auto;
  padding-bottom: min(8.5333333333vw, 32px);
}
.cardWrapColumn3 .cardWithThumbnail__title {
  font-size: 15px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  font-weight: bold;
  margin: 8px 0;
  transition: all 0.4s ease;
}
@media screen and (max-width: 519px) {
  .cardWrapColumn3 .cardWithThumbnail__title {
    font-size: min(4vw, 15px);
    line-height: 1.85;
    letter-spacing: 0.03em;
    margin: 2.6666666667vw 0;
    text-align: left;
    line-height: 1.5;
  }
}
.cardWrapColumn3 .cardWithThumbnail__title:hover {
  opacity: 0.8;
}
.cardWrapColumn3 .cardWithThumbnail__date {
  font-size: 12px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  margin-bottom: 24px;
}
@media screen and (max-width: 959px) {
  .cardWrapColumn3 .cardWithThumbnail__date {
    font-size: min(3.2vw, 12px);
    line-height: 1.8;
    letter-spacing: 0.03em;
    margin-bottom: 6.4vw;
  }
}
.cardWrapColumn3:after {
  content: "";
  display: block;
  width: calc((100% - 64px) / 3);
}
@media screen and (max-width: 959px) {
  .cardWrapColumn3:after {
    width: calc((100% - 64px) / 2);
  }
}
@media screen and (max-width: 768px) {
  .cardWrapColumn3:after {
    width: 100%;
  }
}

.c-cta-seminar {
  width: 100%;
  padding-left: 0 !important;
  background-image: url("../images/v2/common/bg_blue_pc.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 959px) {
  .c-cta-seminar {
    background-image: url("../images/v2/common/bg_blue_sp.webp");
  }
}
.c-cta-seminar__inner {
  padding-block: 122px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 959px) {
  .c-cta-seminar__inner {
    padding-block: 64px 80px;
  }
}
.c-cta-seminar__desc {
  margin-top: 53px;
  font-size: calc(1.5 * var(--unit));
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
  color: #FFFFFF;
}
@media screen and (max-width: 959px) {
  .c-cta-seminar__desc {
    margin-top: 40px;
    font-size: min(4vw, 15px);
    letter-spacing: 0.03em;
  }
}
.c-cta-seminar__link {
  margin-top: 62px;
}
@media screen and (max-width: 959px) {
  .c-cta-seminar__link {
    margin-top: 40px;
  }
}

.formItem {
  margin-top: 64px;
}
@media screen and (max-width: 519px) {
  .formItem {
    margin-top: min(14.9333333333vw, 56px);
  }
}
.formItem.--margin-small {
  margin-top: 32px;
}
@media screen and (max-width: 519px) {
  .formItem.--margin-small {
    margin-top: min(6.4vw, 24px);
  }
}

.formItem > .formItem__label {
  font-size: min(4.2666666667vw, 16px);
  font-weight: bold;
  line-height: 22px;
  letter-spacing: 0.03em;
  display: block;
}
@media screen and (max-width: 519px) {
  .formItem > .formItem__label {
    font-size: min(4vw, 15px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
}

.formItem__note {
  color: #80C3C6;
  font-size: 12px;
  margin-top: 8px;
  line-height: 1.7;
}
@media screen and (max-width: 519px) {
  .formItem__note {
    margin-top: min(2.1333333333vw, 8px);
  }
}

.formItem__require::after {
  content: "*必須";
  color: #C94545;
  font-size: 12px;
  margin-left: 15px;
}

input.formItem__require--error,
input.formItem__require--mailError,
select.formItem__require--error {
  border: 1px solid #C94545;
}

div.formItem__require--error::after {
  content: "必須項目です";
  font-style: normal;
  font-weight: normal;
  font-size: 12px;
  line-height: 180%;
  color: #C94545;
}

div.formItem__require--mailError::after {
  content: "メールアドレスの形式が正しくありません";
  font-style: normal;
  font-weight: normal;
  font-size: 12px;
  line-height: 180%;
  color: #C94545;
}

.formItem__occupation,
.formItem__position,
.academy__form__col-2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.academy__form__col-2.academy__form__md__col-1 {
  display: flex;
}
@media screen and (max-width: 519px) {
  .academy__form__col-2.academy__form__md__col-1 {
    display: block;
  }
}

.c-search {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 529px;
}
.c-search label {
  display: flex;
  flex: 1;
  align-items: center;
}
.c-search__field {
  width: 100%;
  height: 67px;
  padding: 0 40px;
  border-radius: 100px;
  background-color: #FFFFFF;
  font-size: calc(1.8 * var(--unit));
}
@media screen and (max-width: 959px) {
  .c-search__field {
    height: 48px;
    padding: 0 20px;
    font-size: min(3.7333333333vw, 14px);
  }
}
.c-search__field::-moz-placeholder {
  color: #C6C6C6;
  font-size: calc(1.8 * var(--unit));
}
.c-search__field::placeholder {
  color: #C6C6C6;
  font-size: calc(1.8 * var(--unit));
}
.c-search__field:focus {
  outline: 2px solid #54ADB1;
}
.c-search__submit {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 0;
  top: 0;
  width: 88px;
  height: 100%;
}
@media screen and (max-width: 959px) {
  .c-search__submit {
    width: 66px;
  }
}
.c-search__submit::after {
  content: "";
  width: 24px;
  height: 24px;
  background: url(../../assets/images/v2/common/icon_search_green.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 959px) {
  .c-search__submit::after {
    width: 18px;
    height: 18px;
  }
}
.c-search__submit:hover {
  opacity: 0.7;
}

/* チェックボックス */
.formCheckbox__check[type=checkbox] {
  display: none;
}

/* チェックボックスの代わりを成すラベル */
.formCheckbox__label {
  cursor: pointer;
  display: flex;
  align-items: center;
  margin-left: 20px;
}
@media screen and (max-width: 519px) {
  .formCheckbox__label {
    margin: 0;
    height: 100%;
  }
}
@media screen and (max-width: 519px) {
  .formCheckbox__label span {
    flex: 1;
    height: 100%;
    padding: 2.4vw 2.6666666667vw 2.4vw 0;
    display: flex;
    align-items: center;
    line-height: 135%;
  }
}

/* ラベルの左に表示させる正方形のボックス□ */
.formCheckbox__label::before {
  content: "";
  display: flex;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  border: 1px solid;
  margin-right: 12px;
  border-color: #E5E5E5;
}
@media screen and (max-width: 519px) {
  .formCheckbox__label::before {
    margin-left: 3.7333333333vw;
  }
}

.formCheckbox__label::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  border: 1px solid #E5E5E5;
  margin-left: -20px;
  z-index: -1;
  border-radius: 6px;
}
@media screen and (max-width: 519px) {
  .formCheckbox__label::after {
    margin: 0;
  }
}

/* チェックが入った時のレ点 */
.formCheckbox__check:checked + label::before {
  content: url("../images/done_white_18dp.svg");
  background-color: #80C3C6;
  border-color: #80C3C6;
  width: 20px;
  height: 20px;
  line-height: 20px;
}

.formCheckbox__check:checked + label::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #F5FAFA;
  border: 1px solid #80C3C6;
  z-index: -1;
}

.academy__form__col-2 .formCheckbox {
  position: relative;
  width: calc((100% - 16px) / 2);
  height: 56px;
  display: flex;
  align-items: center;
  font-size: 14px;
  margin-top: 16px;
  z-index: 1;
}
.academy__form__col-2 .formCheckbox:hover {
  cursor: pointer;
}
@media screen and (max-width: 519px) {
  .academy__form__col-2 .formCheckbox {
    width: calc((100% - 11px) / 2);
    margin-top: 2.9333333333vw;
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
}

@media screen and (max-width: 519px) {
  .academy__form__col-2.academy__form__md__col-1 .formCheckbox {
    width: 100%;
  }
}

.academy__form__col-1 .formCheckbox {
  position: relative;
  width: 100%;
  min-height: 56px;
  padding: 12px 12px 12px 0;
  display: flex;
  align-items: center;
  font-size: 14px;
  margin-top: 16px;
  z-index: 1;
}
@media screen and (max-width: 519px) {
  .academy__form__col-1 .formCheckbox {
    margin-top: 2.9333333333vw;
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
}
.academy__form__col-1 .formCheckbox:hover {
  cursor: pointer;
}
.academy__form__col-1 .formCheckbox .checkbox__label span {
  flex: 1;
}

.commonForm {
  width: 100%;
  max-width: 728px;
  margin: 0 auto;
  padding: 60px 60px 0 60px;
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  color: #2C2A25;
}
@media screen and (max-width: 959px) {
  .commonForm {
    padding: min(16vw, 60px) min(16vw, 60px) 0 min(16vw, 60px);
  }
}
@media screen and (max-width: 519px) {
  .commonForm {
    font-size: min(4vw, 15px);
    line-height: 1.85;
    letter-spacing: 0.03em;
    padding: 8vw 6.4vw 6.4vw 6.4vw;
  }
}

.commonForm__title {
  font-size: 22px;
  line-height: 1.75;
  letter-spacing: 0.03em;
  font-weight: bold;
  text-align: center;
  margin: 24px 0;
}
@media screen and (max-width: 519px) {
  .commonForm__title {
    font-size: min(4.5333333333vw, 17px);
    line-height: 1.75;
    letter-spacing: 0.03em;
  }
}

.commonForm__title--danger {
  font-size: 22px;
  line-height: 1.75;
  letter-spacing: 0.03em;
  font-weight: bold;
  text-align: center;
  margin: 24px 0;
  background-color: #FBF0F0;
  color: #C94545;
  padding: 10px;
}
@media screen and (max-width: 519px) {
  .commonForm__title--danger {
    font-size: min(4.5333333333vw, 17px);
    line-height: 1.75;
    letter-spacing: 0.03em;
    margin: 8.5333333333vw 0;
    padding: 2.6666666667vw;
  }
}

.commonForm__title--success {
  font-size: 22px;
  line-height: 1.75;
  letter-spacing: 0.03em;
  font-weight: bold;
  text-align: center;
  margin: 24px 0;
  background-color: #F5FAFA;
  color: #64BBBF;
  padding: 10px;
}
@media screen and (max-width: 519px) {
  .commonForm__title--success {
    font-size: min(4.5333333333vw, 17px);
    line-height: 1.75;
    letter-spacing: 0.03em;
    margin: 8.5333333333vw 0;
    padding: 2.6666666667vw;
  }
}

@media screen and (max-width: 519px) {
  .commonForm__description,
  .commonForm__description--center {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
}
.commonForm__description a,
.commonForm__description--center a {
  color: #64BBBF;
  text-decoration: underline;
}
.commonForm__description .red,
.commonForm__description--center .red {
  color: #C94545;
}

.commonForm__description--center {
  text-align: center;
}

.commonForm__form {
  padding-top: 30px;
}

.commonForm.event {
  padding-top: 130px;
}
@media screen and (max-width: 519px) {
  .commonForm.event {
    padding-top: 34.6666666667vw;
  }
}
.commonForm.event .qr {
  max-width: 300px;
  margin: 32px auto;
}
.commonForm.event .lineButton {
  display: block;
  margin-top: min(8.5333333333vw, 32px);
}

.formDoneIcon {
  content: url("../images/done_white_18dp.svg");
  padding: 20px;
  background-color: #80C3C6;
  width: 90px;
  height: 90px;
  text-align: center;
  border-radius: 50%;
  margin: 0 auto;
}
@media screen and (max-width: 519px) {
  .formDoneIcon {
    width: 64px;
    height: 64px;
    padding: 12px;
  }
}

.formInput {
  border: 1px solid #E5E5E5;
  width: 100%;
  height: 56px;
  margin-top: 10px;
  border-radius: 6px;
  padding: 0 20px 0 20px;
}
.formInput::-moz-placeholder {
  color: #E5E5E5;
}
.formInput::placeholder {
  color: #E5E5E5;
}
.formInput:-ms-input-placeholder {
  color: #E5E5E5;
}
.formInput::-ms-input-placeholder {
  color: #E5E5E5;
}
.formInput[type=text]:focus {
  border: 1px solid #64BBBF;
  outline: none;
}

.largeCheckboxTextarea {
  width: 100%;
  background-color: #F5FAFA;
  padding: 32px;
}

.largeCheckboxTextarea__title {
  font-size: 15px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  display: block;
  text-align: center;
}
@media screen and (max-width: 519px) {
  .largeCheckboxTextarea__title {
    font-size: min(4vw, 15px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
}
.largeCheckboxTextarea__title span {
  display: inline;
}
@media screen and (max-width: 519px) {
  .largeCheckboxTextarea__title span {
    display: block;
  }
}

.largeCheckboxTextarea__description {
  font-size: 13px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 519px) {
  .largeCheckboxTextarea__description {
    font-size: min(3.2vw, 12px);
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
}
.largeCheckboxTextarea__description a {
  color: #64BBBF;
  text-decoration: underline;
}

.largeCheckbox {
  width: 100%;
  background-color: #F5FAFA;
  padding: 20px 32px;
  display: flex;
  align-items: center;
  font-size: 13px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 519px) {
  .largeCheckbox {
    padding: 5.3333333333vw 6.4vw;
  }
}

.largeCheckbox__check {
  display: none;
}

.largeCheckbox__check + label {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 519px) {
  .largeCheckbox__check + label {
    font-size: min(3.2vw, 12px);
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
}
.largeCheckbox__check + label:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border: 1px solid #80C3C6;
  margin-right: 12px;
}
@media screen and (max-width: 519px) {
  .largeCheckbox__check + label:before {
    width: 4.8vw;
    height: 4.8vw;
  }
}
.largeCheckbox__check + label span {
  flex: 1;
}

.largeCheckbox__check:checked + label::before {
  content: url(../images/done_white_18dp.svg);
  background-color: #80C3C6;
}

.largeCheckbox__label span a {
  text-decoration: underline;
}

.formItem__ol {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
  margin-left: 20px;
  font-size: 15px;
}

.formRadio {
  width: 100%;
  min-height: 56px;
  display: flex;
  font-size: 14px;
  margin-top: 16px;
  align-items: center;
  border-radius: 6px;
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 519px) {
  .formRadio {
    margin-top: 2.9333333333vw;
  }
}

.formRadio input[type=radio] {
  display: none;
}

.formRadio label {
  margin-left: 20px;
  padding-right: 20px;
  display: flex;
  align-items: center;
  cursor: pointer;
  width: 100%;
  height: 100%;
  min-height: 56px;
}
.formRadio label span {
  flex: 1;
}

.formRadio label::before {
  content: "";
  display: flex;
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  border: 1px solid;
  margin-right: 12px;
  border-radius: 50%;
  border-color: #E5E5E5;
}

.formRadio input + label::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  border: 1px solid #E5E5E5;
  margin-left: -20px;
  z-index: -1;
  border-radius: 6px;
}

.formRadio input:checked + label::before {
  background-color: #80C3C6;
  box-shadow: inset 0 0 0 3px white;
  border-color: #80C3C6;
}

.formRadio input:checked + label::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #F5FAFA;
  border: 1px solid #80C3C6;
  margin-left: -20px;
  z-index: -1;
  border-radius: 6px;
}

.searchForm {
  display: flex;
  width: 100%;
  max-width: 500px;
  margin: 60px auto 80px;
}
.searchForm label {
  display: flex;
  flex: 1;
  align-items: center;
}
.searchForm__field {
  width: 100%;
  height: 74px;
  padding: 20px;
  border-radius: 5px 0 0 5px;
  background-color: #F5F6F6;
}
@media screen and (max-width: 959px) {
  .searchForm__field {
    height: 60px;
  }
}
.searchForm__field::-moz-placeholder {
  color: #C6C6C6;
  font-size: 18px;
}
.searchForm__field::placeholder {
  color: #C6C6C6;
  font-size: 18px;
}
.searchForm__submit {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 74px;
  padding: 10px;
  border-radius: 0 5px 5px 0;
  background-color: #80C3C6;
}
@media screen and (max-width: 959px) {
  .searchForm__submit {
    width: 60px;
  }
}
.searchForm__submit::after {
  display: inline-block;
  width: 40px;
  height: 40px;
  background: url(../../assets/images/icon-search.svg);
  content: "";
}
.searchForm__submit:hover {
  opacity: 0.7;
}

.formSelect {
  border: 1px solid #E5E5E5;
  width: 100%;
  height: 56px;
  border-radius: 6px;
  padding: 0 20px 0 20px;
}
.formSelect::-moz-placeholder {
  color: #E5E5E5;
}
.formSelect::placeholder {
  color: #E5E5E5;
}
.formSelect:-ms-input-placeholder {
  color: #E5E5E5;
}
.formSelect::-ms-input-placeholder {
  color: #E5E5E5;
}
.formSelect[type=text]:focus {
  border: 1px solid #64BBBF;
  outline: none;
}

.formItem__select {
  position: relative;
  margin-top: 10px;
}

.formItem__select:before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-right: 2px solid #ccc;
  border-bottom: 2px solid #ccc;
  position: absolute;
  top: 35%;
  right: 20px;
  z-index: 10;
  transform: rotate(45deg);
  pointer-events: none;
}

.formItem__require--error.formItem__select:before {
  top: 24%;
}

.formTextarea {
  width: 100%;
  margin-top: 16px;
  border-radius: 6px;
  border: 1px solid #E5E5E5;
  height: 117px;
  padding: 10px 20px 10px 20px;
}
.formTextarea::-moz-placeholder {
  color: #E5E5E5;
}
.formTextarea::placeholder {
  color: #E5E5E5;
}
.formTextarea:-ms-input-placeholder {
  color: #E5E5E5;
}
.formTextarea::-ms-input-placeholder {
  color: #E5E5E5;
}
@media screen and (max-width: 519px) {
  .formTextarea {
    height: 42.6666666667vw;
    margin-top: 2.6666666667vw;
  }
}
.formTextarea:focus {
  outline: none;
  border-color: #80C3C6;
}

.formTextarea--large {
  height: 260px;
}
@media screen and (max-width: 519px) {
  .formTextarea--large {
    height: 46.9333333333vw;
  }
}

/* v2版header*/
.c-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 80px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  --unit: 10px;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
@media screen and (max-width: 1279px) {
  .c-header {
    --unit: 8.2px;
  }
}
@media screen and (max-width: 959px) {
  .c-header {
    height: 64px;
  }
}
.c-header.is-scrolled {
  background-color: rgba(255, 255, 255, 0.18);
  backdrop-filter: saturate(150%) blur(20px);
  -webkit-backdrop-filter: saturate(150%) blur(20px);
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.03);
}
.c-header h1,
.c-header h2,
.c-header h3,
.c-header h4,
.c-header h5,
.c-header h6 {
  font-weight: 400;
}
.c-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  border-bottom: 1px solid rgba(51, 51, 51, 0.3);
}
.c-header__hamburger {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 61px;
  height: 100%;
  cursor: pointer;
  border-right: 1px solid rgba(51, 51, 51, 0.3);
}
@media screen and (max-width: 959px) {
  .c-header__hamburger {
    display: flex;
    width: 65px;
    order: 1;
    border-right: none;
    border-left: 1px solid rgba(51, 51, 51, 0.3);
  }
}
.c-header__hamburger span {
  width: 21px;
  height: 1px;
  display: block;
  background-color: #333333;
  transition: all 0.3s ease;
}
.c-header__logo {
  width: 130px;
  margin: 0 auto 0 80px;
}
@media screen and (max-width: 1279px) {
  .c-header__logo {
    width: 100px;
    margin: 0 auto 0 40px;
  }
}
@media screen and (max-width: 959px) {
  .c-header__logo {
    order: 0;
    margin: 0 auto 0 20px;
  }
}
.c-header__logo a {
  display: flex;
  flex-direction: column;
  gap: 5.35px;
}
@media screen and (max-width: 1279px) {
  .c-header__logo a {
    gap: 5px;
  }
}
@media screen and (max-width: 959px) {
  .c-header__logo a {
    gap: 5.35px;
  }
}
.c-header__logo svg {
  width: 100%;
}
.c-header__logo svg path {
  fill: #333333;
  transition: all 0.3s ease;
}
@media screen and (max-width: 959px) {
  .c-header__logo svg:nth-child(2) {
    display: none;
  }
}
.c-header__navigation {
  display: flex;
  align-items: center;
  gap: 36px;
  margin-right: 16px;
}
@media screen and (max-width: 1279px) {
  .c-header__navigation {
    gap: 18px;
  }
}
.c-header__navigation > ul {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 28px;
}
@media screen and (max-width: 1279px) {
  .c-header__navigation > ul {
    gap: 16px;
  }
}
.c-header__navigation li a {
  color: #333333;
  font-size: calc(1.5 * var(--unit));
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.c-header__nav-item {
  position: relative;
}
.c-header__nav-item--has-dropdown > a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.c-header__nav-item--has-dropdown > a .c-header__nav-caret {
  width: 9px;
  height: 5px;
  transition: transform 0.3s ease;
}
.c-header__nav-item--has-dropdown:hover > a .c-header__nav-caret, .c-header__nav-item--has-dropdown:focus-within > a .c-header__nav-caret {
  transform: rotate(180deg);
}
.c-header__nav-item--has-dropdown:hover .c-header__nav-dropdown, .c-header__nav-item--has-dropdown:focus-within .c-header__nav-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  pointer-events: auto;
}
.c-header__nav-dropdown {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  transform: translate(-50%, -8px);
  min-width: 200px;
  padding: 14px 0;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: saturate(150%) blur(20px);
  -webkit-backdrop-filter: saturate(150%) blur(20px);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
  z-index: 30;
}
.c-header__nav-dropdown::before {
  content: "";
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 16px;
}
.c-header__nav-dropdown > li {
  list-style: none;
}
.c-header__nav-dropdown > li > a {
  display: block;
  padding: 10px 24px;
  font-size: calc(1.4 * var(--unit));
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #333333;
  white-space: nowrap;
  transition: color 0.2s ease, background 0.2s ease;
}
.c-header__nav-dropdown > li > a:hover {
  color: #86A79E;
  background: rgba(199, 225, 218, 0.25);
}
.c-header__btn {
  display: flex;
  height: 56px;
  padding: 0 24px;
  justify-content: center;
  align-items: center;
  background-color: #222F30;
  border-radius: 6px;
  box-shadow: 0 4px 20px 0 rgba(174, 202, 214, 0.3);
}
@media screen and (max-width: 1279px) {
  .c-header__btn {
    height: 48px;
    padding: 0 20px;
  }
}
.c-header__btn a {
  color: #FFFFFF;
  font-size: calc(1.6 * var(--unit));
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}
.c-header__belt {
  position: fixed;
  top: 80px;
  left: 0;
  z-index: 11;
  height: calc(100svh - 80px);
  height: calc(100vh - 80px);
  width: 61px;
  overflow: hidden;
  pointer-events: none;
  border-right: 1px solid rgba(51, 51, 51, 0.3);
}
.c-header__belt .belt {
  position: absolute;
  bottom: calc(100vh - 80px);
  left: 0;
  height: 61px;
  width: calc(100vh - 80px);
  transform-origin: left bottom;
  transform: rotate(90deg);
  display: flex;
  align-items: center;
}
.c-header__belt .belt__inner {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  font-size: 0;
  opacity: 0;
  animation: header-belt-fadein 1.2s ease 0.4s forwards;
}
.c-header__belt .belt__item {
  white-space: nowrap;
  opacity: 0.8;
}
.c-header__belt .belt__item:nth-child(n+2) {
  display: none;
}
.c-header__belt .belt__item span {
  padding-inline: 9px;
  font-family: "Instrument Serif", serif;
  font-size: 16px;
  letter-spacing: 0.014em;
  line-height: 1;
  color: #333333;
}
@keyframes header-belt-fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* ハンバーガーメニューが開いた時のスタイル */
.is-opened .c-header__inner {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.is-opened .c-header__hamburger {
  gap: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.3);
  background: #FFFFFF;
}
@media screen and (max-width: 959px) {
  .is-opened .c-header__hamburger {
    border-right: none;
    border-left: 1px solid rgba(255, 255, 255, 0.3);
    background: none;
  }
}
@media screen and (max-width: 959px) {
  .is-opened .c-header__hamburger span {
    background: #FFFFFF;
  }
}
.is-opened .c-header__hamburger span:nth-child(1) {
  transform: translateY(1px) rotate(-45deg);
}
.is-opened .c-header__hamburger span:nth-child(2) {
  opacity: 0;
}
.is-opened .c-header__hamburger span:nth-child(3) {
  transform: translateY(-1px) rotate(45deg);
}
.is-opened .c-header__logo svg path {
  fill: #FFFFFF;
}
.is-opened .c-header__navigation ul {
  display: none;
}
.is-opened .c-header__belt {
  border-right: 1px solid rgba(255, 255, 255, 0.3);
}
.is-opened .c-header__belt .belt__item span {
  color: #FFFFFF;
}

html.is-nav-drawer-open {
  overflow: hidden;
}

.c-nav-drawer {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9;
  width: 100%;
  height: 100%;
  padding-top: 80px;
  padding-left: 61px;
  display: none;
  --unit: 10px;
}
@media screen and (max-width: 1279px) {
  .c-nav-drawer {
    --unit: 8.2px;
  }
}
@media screen and (max-width: 959px) {
  .c-nav-drawer {
    padding-top: 64px;
    padding-left: 0;
  }
}
.c-nav-drawer h1, .c-nav-drawer h2, .c-nav-drawer h3, .c-nav-drawer h4, .c-nav-drawer h5, .c-nav-drawer h6 {
  font-weight: 400;
}
.c-nav-drawer__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-image: url("../images/v2/common/bg_nav_pc.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 959px) {
  .c-nav-drawer__bg {
    background-image: url("../images/v2/common/bg_nav_sp.webp");
  }
}
.c-nav-drawer__inner {
  display: flex;
  padding: 94px 7.0549630845% 40px;
  height: 100%;
  overflow-y: scroll;
}
@media screen and (max-width: 959px) {
  .c-nav-drawer__inner {
    flex-direction: column;
    padding: 64px 30px 40px;
  }
}
.c-nav-drawer__main-menu {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.c-nav-drawer__main-menu:not(:first-child) {
  margin-left: 11.9388729704%;
}
@media screen and (max-width: 959px) {
  .c-nav-drawer__main-menu:not(:first-child) {
    margin-top: 8px;
    margin-left: 0;
  }
}
.c-nav-drawer__main-menu li a {
  color: #FFFFFF;
  font-size: calc(2.8 * var(--unit));
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  .c-nav-drawer__main-menu li a {
    font-size: min(5.3333333333vw, 20px);
  }
}
.c-nav-drawer__sub-container {
  display: flex;
  flex-direction: column;
  gap: 53px;
  margin-left: 14.3266475645%;
}
@media screen and (max-width: 959px) {
  .c-nav-drawer__sub-container {
    gap: 33px;
    margin-top: 72px;
    margin-left: 0;
  }
}
.c-nav-drawer__sub-menu {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (max-width: 959px) {
  .c-nav-drawer__sub-menu {
    gap: 10px;
  }
}
.c-nav-drawer__sub-menu li a {
  color: #FFFFFF;
  font-size: calc(1.4 * var(--unit));
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 959px) {
  .c-nav-drawer__sub-menu li a {
    font-size: min(3.4666666667vw, 13px);
  }
}
.c-nav-drawer__sns-menu {
  display: flex;
  align-items: center;
  gap: 20px;
}
.c-nav-drawer__sns-menu h4 {
  margin-right: 4px;
  color: #FFFFFF;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.3 * var(--unit));
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 959px) {
  .c-nav-drawer__sns-menu h4 {
    font-size: min(3.4666666667vw, 13px);
  }
}
.c-nav-drawer__sns-menu a {
  display: block;
  width: 20px;
}

.c-page-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 959px) {
  .c-page-header {
    padding: 0;
  }
}
.c-page-header__inner {
  width: 100%;
  max-width: 1219px;
  padding-inline: 80px;
  padding-top: 70px;
}
@media screen and (max-width: 1279px) {
  .c-page-header__inner {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 959px) {
  .c-page-header__inner {
    padding-top: 44px;
  }
}
@media screen and (max-width: 519px) {
  .c-page-header__inner {
    padding-inline: 27px;
  }
}
.c-page-header__content {
  display: flex;
  flex-direction: column;
  gap: 67px;
}
@media screen and (max-width: 959px) {
  .c-page-header__content {
    gap: 64px;
  }
}
.c-page-header__ja {
  display: block;
  font-feature-settings: "palt" on, "pkna" on;
  font-size: calc(4.5 * var(--unit));
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 519px) {
  .c-page-header__ja {
    font-size: min(8.5333333333vw, 32px);
  }
}
.c-page-header__en {
  display: block;
  margin-top: 8px;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.3 * var(--unit));
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  .c-page-header__en {
    margin-top: 10px;
  }
}
@media screen and (max-width: 519px) {
  .c-page-header__en {
    font-size: min(2.9333333333vw, 11px);
  }
}
.c-page-header__desc {
  width: 50.0472143532%;
  font-feature-settings: "palt" on;
  font-size: calc(1.6 * var(--unit));
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.12em;
  align-self: flex-end;
}
@media screen and (max-width: 959px) {
  .c-page-header__desc {
    width: 100%;
    font-size: min(3.7333333333vw, 14px);
    align-self: flex-start;
  }
}
.c-page-header--border .c-page-header__content {
  padding-bottom: 64px;
  border-bottom: 1px solid rgba(215, 215, 215, 0.84);
}
@media screen and (max-width: 959px) {
  .c-page-header--border .c-page-header__content {
    padding-bottom: 56px;
  }
}
.c-page-header--tall .c-page-header__content {
  gap: 87px;
}
@media screen and (max-width: 959px) {
  .c-page-header--tall .c-page-header__content {
    gap: 64px;
  }
}

#navigation {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 70px;
  box-shadow: 0 0 13px 7px rgba(204, 204, 204, 0.1);
  background-color: #ffffff;
}
@media screen and (max-width: 519px) {
  #navigation {
    height: 16vw;
    max-height: 60px;
    box-shadow: none;
    background-color: transparent;
  }
}

.navigation__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}

.lab #navigation.academy .navigation__logo {
  background-image: url("../images/logo/lab/black.svg");
}

#navigation .navigation__logo {
  position: relative;
  top: 2px;
  width: 136px;
  height: 36px;
  margin-left: 24px;
  background-image: url("../images/logo-ICP.svg");
  background-size: contain;
}
@media screen and (max-width: 519px) {
  #navigation .navigation__logo {
    width: 116px;
    height: 30px;
    margin-left: 15px;
  }
}

body.lab #navigation.academy .navigation__logo {
  display: block;
}

#navigation.is-transparent {
  box-shadow: none;
  background-color: transparent;
}
#navigation.is-transparent .navigation__logo {
  display: none;
}
#navigation.is-transparent .navigationfunction__button {
  border: 1px solid #ffffff;
  background: none;
}
#navigation.is-transparent .navigationfunction__button span {
  background: none;
  color: #ffffff;
}
#navigation.is-transparent .navigationfunction__button:before {
  background: none;
}
#navigation.is-transparent .navigationfunction__button:hover {
  opacity: 0.5;
}

.seminar #navigation .navigationfunction__button,
.thanks #navigation .navigationfunction__button,
.event #navigation .navigationfunction__button {
  display: none;
}

.pageHeader {
  padding: 0;
  height: 350px;
  background-image: url("../images/form-head-bg-pc.jpg");
  background-size: cover;
  background-position: center;
  margin-top: 70px;
}
@media screen and (max-width: 519px) {
  .pageHeader {
    height: 200px;
    margin-top: 60px;
    background-image: url("../images/form-head-bg-sp.png");
  }
}
.pageHeader.apply-now {
  background-image: url("../images/form/apply-head-bg-pc.png");
}
@media screen and (max-width: 519px) {
  .pageHeader.apply-now {
    background-image: url("../images/form/apply-head-bg-sp.png");
  }
}
.pageHeader.apply-now .pageHeader__inner h1 {
  color: #324451;
}
.pageHeader.seminar {
  position: relative;
  height: auto !important;
  margin-top: 12px;
  background-image: none;
}
.pageHeader.seminar .pageHeader__inner h1 {
  background-color: #FFFFFF;
  color: #324451;
  font-size: 20px;
  padding: 12px;
  border-radius: 6px;
}
@media screen and (max-width: 519px) {
  .pageHeader.seminar .pageHeader__inner h1 {
    padding: 6px;
    font-size: 14px;
  }
}
.pageHeader.seminar .pageHeader__inner {
  position: absolute;
  justify-content: flex-start;
  padding-left: 22px;
}
@media screen and (max-width: 519px) {
  .pageHeader.seminar .pageHeader__inner {
    padding-left: 11px;
  }
}

.pageHeader__inner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pageHeader__inner h1 {
  color: #fff;
  font-size: 4vw;
  font-size: min(4.0vw, 36px);
  line-height: 1.6;
  letter-spacing: 0.03em;
  text-align: center;
}
@media screen and (max-width: 519px) {
  .pageHeader__inner h1 {
    font-size: 4.8vw;
  }
}

.pageHeader__inner span {
  display: flex;
  justify-content: center;
  font-family: century-gothic, sans-serif;
}

.pageHeader__banner {
  display: block;
  margin-top: min(6.4vw, 24px);
}

.basicPageHeader {
  margin-bottom: 64px;
  text-align: center;
}
@media screen and (max-width: 959px) {
  .basicPageHeader {
    margin-bottom: min(17.0666666667vw, 64px);
  }
}
@media screen and (max-width: 519px) {
  .basicPageHeader {
    margin-bottom: min(10.6666666667vw, 40px);
  }
}
.basicPageHeader .basicPageHeader__title {
  margin-bottom: 16px;
}
@media screen and (max-width: 959px) {
  .basicPageHeader .basicPageHeader__title {
    margin-bottom: min(4.2666666667vw, 16px);
  }
}
.basicPageHeader .basicPageHeader__title .basicPageHeader__title--en {
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #80C3C6;
  font-family: century-gothic, sans-serif;
  font-style: normal;
  font-weight: normal;
  margin-bottom: 24px;
  display: block;
}
@media screen and (max-width: 767px) {
  .basicPageHeader .basicPageHeader__title .basicPageHeader__title--en {
    font-size: min(5.3333333333vw, 20px);
  }
}
@media screen and (max-width: 519px) {
  .basicPageHeader .basicPageHeader__title .basicPageHeader__title--en {
    margin-bottom: min(4.2666666667vw, 16px);
  }
}
.basicPageHeader .basicPageHeader__title .basicPageHeader__title--ja {
  font-size: 36px;
  line-height: 1.6;
  letter-spacing: 0.03em;
  font-weight: bold;
}
@media screen and (max-width: 519px) {
  .basicPageHeader .basicPageHeader__title .basicPageHeader__title--ja {
    font-size: min(6.4vw, 24px);
  }
}

.hamburgerMenu {
  display: none;
}
@media screen and (max-width: 519px) {
  .hamburgerMenu {
    display: block;
  }
}

.hamburgerMenu__button {
  width: min(16vw, 60px);
  height: min(16vw, 60px);
  padding: min(5.0666666667vw, 19px) min(4.5333333333vw, 17px);
  position: relative;
  z-index: 110;
}

.hamburgerMenuButton__inner {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
.hamburgerMenuButton__inner span {
  position: absolute;
  display: block;
  height: 2px;
  width: 100%;
  background-color: #2C2A25;
  left: 0;
  right: 0;
  margin: auto;
  transition: all 0.5s ease;
}

.hamburgerMenu.is-opened .hamburgerMenuButton__inner span:nth-child(1) {
  transform: translateY(10px) rotate(-45deg);
}
.hamburgerMenu.is-opened .hamburgerMenuButton__inner span:nth-child(2) {
  opacity: 0;
}
.hamburgerMenu.is-opened .hamburgerMenuButton__inner span:nth-child(3) {
  transform: translateY(-10px) rotate(45deg);
}

#navigation.is-transparent .hamburgerMenuButton__inner span {
  background-color: #FFFFFF;
}

#mobileMenu {
  display: none;
  opacity: 0;
  position: fixed;
  top: 0;
  z-index: 20;
  width: 100vw;
  height: 100vh;
  padding: min(10.6666666667vw, 40px);
  background: linear-gradient(0deg, rgb(226, 169, 84) 0%, rgb(128, 195, 198) 100%);
  transition: all 0.5s ease;
}
#mobileMenu .mobileMenu__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
#mobileMenu .mobileMenu__list_item {
  margin-bottom: min(4.2666666667vw, 16px);
}
#mobileMenu .mobileMenu__text--en {
  font-size: min(5.3333333333vw, 20px);
  display: block;
  color: #ffffff;
  line-height: 1;
}
#mobileMenu .mobileMenu__text--ja {
  font-size: min(2.6666666667vw, 10px);
  opacity: 0.8;
  color: #ffffff;
}
#mobileMenu.is-opened {
  opacity: 1;
}

.navigationfunction {
  display: block;
  width: 100%;
}
@media screen and (max-width: 519px) {
  .navigationfunction {
    display: none;
  }
}

.navigationFunction__inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #2C2A25;
}
@media screen and (max-width: 1227px) {
  .navigationFunction__inner {
    /* ロゴ + ボタン */
    justify-self: end;
  }
}
.navigationFunction__inner ul {
  display: flex;
  margin-right: 40px;
}
@media screen and (max-width: 1227px) {
  .navigationFunction__inner ul {
    display: none;
  }
}
.navigationFunction__inner ul li {
  margin-left: 32px;
}
@media screen and (min-width: 1228px) and (max-width: 1413px) {
  .navigationFunction__inner ul li {
    margin-left: 1.5vw;
  }
}
.navigationFunction__inner ul li a {
  display: block;
  color: #2C2A25;
}
.navigationFunction__inner ul li a:hover {
  opacity: 1;
  color: #E2A954;
}
.navigationFunction__inner ul li span {
  display: block;
}

body.lab .navigationFunction__inner {
  justify-content: end;
}

.navigationFunction__text--en {
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.16em;
}

.navigationFunction__text--ja {
  opacity: 0.5;
  font-size: 10px;
}

.navigationfunction__button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 220px;
  height: 48px;
  margin-right: 24px;
  border-radius: 5px;
  background: linear-gradient(180deg, #4da8ac 0%, #0090bd 50%);
  font-weight: bold;
  font-size: 20px;
}
@media screen and (max-width: 525px) {
  .navigationfunction__button {
    display: none;
  }
}
.navigationfunction__button span {
  color: #FFFFFF;
  font-size: 14px;
}
.navigationfunction__button:hover {
  opacity: 0.9;
  cursor: pointer;
}

#navigation.is-transparent .navigationFunction__inner .navigationFunction__logo {
  display: none;
}
#navigation.is-transparent .navigationFunction__inner ul li a {
  color: #ffffff;
}
#navigation.is-transparent .navigationFunction__inner ul li a:hover {
  opacity: 0.5;
  color: #ffffff;
}

.c-h2 {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (max-width: 959px) {
  .c-h2 {
    gap: 10px;
  }
}
.c-h2__en {
  font-family: "Instrument Sans", sans-serif;
  color: #86A79E;
  font-size: calc(1.3 * var(--unit));
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
@media screen and (max-width: 959px) {
  .c-h2__en {
    font-size: min(3.4666666667vw, 13px);
  }
}
.c-h2__en--white {
  color: #FFFFFF;
}
.c-h2__ja {
  font-feature-settings: "palt" on, "pkna" on;
  font-size: calc(3.2 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  .c-h2__ja {
    font-size: min(5.6vw, 21px);
    letter-spacing: 0.03em;
  }
}
.c-h2__ja--s {
  font-size: calc(3 * var(--unit));
}
@media screen and (max-width: 959px) {
  .c-h2__ja--s {
    font-size: min(5.6vw, 21px);
  }
}
.c-h2__ja--l {
  font-size: calc(4 * var(--unit));
}
@media screen and (max-width: 959px) {
  .c-h2__ja--l {
    font-size: min(7.4666666667vw, 28px);
  }
}
.c-h2__ja--xl {
  font-size: calc(4.5 * var(--unit));
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 959px) {
  .c-h2__ja--xl {
    font-size: min(6.9333333333vw, 26px);
    line-height: 1.5;
  }
}
.c-h2__ja--white {
  color: #FFFFFF;
}
.c-h2--ja-first {
  gap: 17px;
}
@media screen and (max-width: 959px) {
  .c-h2--ja-first {
    gap: 10px;
  }
}
.c-h2--center {
  align-items: center;
  text-align: center;
}
.c-h2--center-pc {
  align-items: center;
  text-align: center;
}
@media screen and (max-width: 959px) {
  .c-h2--center-pc {
    text-align: left;
    align-items: flex-start;
  }
}
.c-h2--gap-l {
  gap: 32px;
}

.youtube-iframe-wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  margin-bottom: 50px;
}
.youtube-iframe-wrapper iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.textLink {
  text-decoration: underline;
}
.textLink.--color-white {
  color: #fff;
}

.listBox {
  border: 1px solid #ECF6F6;
  padding: 24px;
  margin-bottom: 24px;
}
@media screen and (max-width: 519px) {
  .listBox {
    padding: 6.4vw;
    margin-bottom: 6.4vw;
  }
}

p.listBox__title {
  color: #64BBBF;
  font-weight: bold;
  margin-bottom: 10px;
}
@media screen and (max-width: 519px) {
  p.listBox__title {
    margin-bottom: 2.6666666667vw;
  }
}

ul.listBox__list li {
  padding-left: 1em;
  text-indent: -1em;
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  font-weight: bold;
  margin-bottom: 8px;
}
ul.listBox__list li:before {
  content: "";
  display: inline-block;
  background-color: #80C3C6;
  border-radius: 50%;
  margin-right: 5px;
  width: 10px;
  height: 10px;
}
@media screen and (max-width: 519px) {
  ul.listBox__list li {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
  ul.listBox__list li:before {
    width: min(2.6666666667vw, 10px);
    height: min(2.6666666667vw, 10px);
  }
}
@media screen and (max-width: 519px) {
  ul.listBox__list li {
    margin-bottom: 2.1333333333vw;
  }
}
ul.listBox__list li:last-child {
  margin-bottom: 0;
}

.overlay-container {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  text-align: center;
  background: rgba(0, 0, 0, 0.7);
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s ease-out;
  z-index: 15;
}

.overlay-container::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}

.overlay-container.active {
  opacity: 1;
  visibility: visible;
}

.overlay-body {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 500px;
  width: 90%;
}

.overlay-close {
  display: block;
  position: relative;
  width: min(8vw, 30px);
  height: min(8vw, 30px);
  margin: 0 0 2px auto;
  cursor: pointer;
}
.overlay-close::before, .overlay-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: min(8vw, 30px);
  background: #fff;
}
.overlay-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.overlay-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.overlay-content {
  background: #fff;
  text-align: left;
  font-weight: bold;
}

.c-pagination {
  margin-top: 76px;
  display: flex;
  justify-content: center;
  gap: 18px;
}
@media screen and (max-width: 959px) {
  .c-pagination {
    position: relative;
    margin-top: 60px;
    flex-wrap: wrap;
    padding-inline: 48px;
    gap: 8px;
  }
}
.c-pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 36px;
  border-radius: 220px;
  background-image: url("../images/v2/common/pagination_btn_bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.3 * var(--unit));
  text-align: center;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 959px) {
  .c-pagination .page-numbers {
    width: 32px;
    height: 24px;
    font-size: min(3.2vw, 12px);
  }
}
.c-pagination .page-numbers.dots {
  background: none;
  width: 1.5em;
}
.c-pagination .page-numbers.current {
  background-image: none;
  background-color: #222F30;
  color: #DFDFDF;
}
.c-pagination .page-numbers.prev, .c-pagination .page-numbers.next {
  background: none;
  font-size: calc(1.2 * var(--unit));
}
.c-pagination .page-numbers.prev {
  margin-right: 30px;
}
@media screen and (max-width: 959px) {
  .c-pagination .page-numbers.prev {
    position: absolute;
    left: 0;
    margin-right: 0;
  }
}
.c-pagination .page-numbers.next {
  margin-left: 30px;
}
@media screen and (max-width: 959px) {
  .c-pagination .page-numbers.next {
    position: absolute;
    right: 0;
    margin-right: 0;
  }
}

.pagination {
  display: flex;
  justify-content: center;
  margin-top: 80px;
}
.pagination .page-numbers {
  display: block;
  width: 40px;
  height: 40px;
  border: 1px solid #E5E5E5;
  border-radius: 6px;
  font-size: 16px;
  text-align: center;
  line-height: 40px;
  color: #C6C6C6;
  margin-right: 20px;
}
.pagination .page-numbers:hover {
  border: 1px solid #80C3C6;
  color: #80C3C6;
}
.pagination .page-numbers.current {
  background-color: #F5FAFA;
  color: #80C3C6;
  border: 1px solid #F5FAFA;
}

.c-section {
  position: relative;
  overflow-y: visible;
  overflow-x: clip;
  padding: 0;
  background-color: transparent;
  display: flex;
  flex-direction: column;
  align-items: center;
  /* コンテンツがブログ系のページと同じ横幅の場合、__innerの中で使用してください */
}
@media screen and (max-width: 959px) {
  .c-section {
    padding: 0;
  }
}
.c-section--image-bg {
  margin-left: 0;
  padding: 0;
}
@media screen and (max-width: 959px) {
  .c-section--image-bg {
    margin-left: 0;
  }
}
.c-section__inner {
  width: 100%;
  max-width: 1219px;
  padding-inline: 80px;
  z-index: 1;
}
@media screen and (max-width: 1279px) {
  .c-section__inner {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 519px) {
  .c-section__inner {
    padding-inline: 27px;
  }
}
.c-section__inner--wide {
  max-width: 100%;
}
.c-section__narrow {
  max-width: 654px;
}

.main-content-v2 .c-blog-sidebar__unit:not(:first-child) {
  margin-top: 60px;
  padding-top: 60px;
  border-top: 1px solid #E5E5E5;
}
.main-content-v2 .c-blog-sidebar__title {
  color: #FFF;
  text-align: center;
  font-feature-settings: "palt" on;
  font-size: calc(1.4 * var(--unit));
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
  border-radius: 2px;
  background: #73807C;
  padding: 3px 16px;
}
.main-content-v2 .c-blog-sidebar__list {
  margin-top: 28px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.main-content-v2 .c-blog-sidebar__item a {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.main-content-v2 .c-blog-sidebar__item .item__thumbnail {
  border-radius: 5px;
  overflow: hidden;
}
.main-content-v2 .c-blog-sidebar__item .item__thumbnail img {
  width: 100%;
  height: auto;
}
.main-content-v2 .c-blog-sidebar__item .item__cats {
  margin-bottom: 7px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.main-content-v2 .c-blog-sidebar__item .item__cats li {
  padding: 0 8px 1px;
  border-radius: 3px;
  background: #D8EBE6;
  font-size: calc(1.1 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.08em;
}
.main-content-v2 .c-blog-sidebar__item .item__title {
  font-size: calc(1.2 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
}

.main-content-v2 .c-event-sidebar {
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.6);
  position: sticky;
  top: 120px;
  left: 0;
}
@media screen and (max-width: 959px) {
  .main-content-v2 .c-event-sidebar {
    position: static;
  }
}
.main-content-v2 .c-event-sidebar__item {
  padding: 15px 20px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
@media screen and (max-width: 959px) {
  .main-content-v2 .c-event-sidebar__item {
    padding: 13px 16px;
    gap: 2px;
  }
}
.main-content-v2 .c-event-sidebar__item:not(:first-child) {
  border-top: 1px solid rgba(128, 195, 198, 0.3);
}
.main-content-v2 .c-event-sidebar__item--tall {
  padding: 20px;
}
.main-content-v2 .c-event-sidebar__item h4 {
  color: #54ADB1;
  font-size: calc(1.3 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  .main-content-v2 .c-event-sidebar__item h4 {
    font-size: min(3.2vw, 12px);
  }
}
.main-content-v2 .c-event-sidebar__item ul li,
.main-content-v2 .c-event-sidebar__item p {
  color: #666;
  font-size: calc(1.3 * var(--unit));
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  .main-content-v2 .c-event-sidebar__item ul li,
  .main-content-v2 .c-event-sidebar__item p {
    font-size: min(3.2vw, 12px);
  }
}
.main-content-v2 .c-event-sidebar__item .note {
  color: #C94545;
  font-size: calc(1.2 * var(--unit));
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
  .main-content-v2 .c-event-sidebar__item .note {
    font-size: min(2.9333333333vw, 11px);
  }
}
.main-content-v2 .c-event-sidebar__item .c-button {
  width: 100%;
}

.sidebar__title {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 16px;
}
@media screen and (max-width: 959px) {
  .sidebar__title {
    font-size: 28px;
  }
}
@media screen and (max-width: 519px) {
  .sidebar__title {
    font-size: min(5.8666666667vw, 22px);
    margin-bottom: min(4.2666666667vw, 16px);
  }
}

:not(.home).blog .news__list {
  margin-bottom: min(10.6666666667vw, 40px);
  counter-reset: rank 0;
}
:not(.home).blog .news__list .newsItem {
  position: relative;
  width: 100%;
  height: auto !important;
  border-bottom: 1px solid #F4F4F4;
  padding: min(3.2vw, 12px) 0;
}
:not(.home).blog .news__list .newsItem a {
  display: flex;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  margin-right: 0;
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 519px) {
  :not(.home).blog .news__list .newsItem a {
    align-items: center;
  }
}
:not(.home).blog .news__list .newsItem:before {
  content: counter(rank);
  counter-increment: rank 1;
  font-size: 13px;
  color: #fff;
  text-align: center;
  display: block;
  width: 24px;
  height: 24px;
  line-height: 24px;
  position: absolute;
  top: min(3.2vw, 12px);
  left: 0;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 5;
}
:not(.home).blog .news__list .newsItem:after {
  content: none;
}
:not(.home).blog .news__list .newsItem:hover {
  opacity: 0.7;
  cursor: pointer;
}
:not(.home).blog .news__list .newsItem__logo {
  position: relative;
  width: 50%;
  margin-right: 20px;
}
@media screen and (max-width: 959px) {
  :not(.home).blog .news__list .newsItem__logo {
    width: 220px;
    margin-right: 40px;
  }
}
@media screen and (max-width: 519px) {
  :not(.home).blog .news__list .newsItem__logo {
    width: min(32vw, 120px);
    margin-right: 20px;
  }
}
:not(.home).blog .news__list .newsItem__body {
  flex: 1;
  padding-right: 0;
}
:not(.home).blog .news__list .newsItemBody__title {
  font-size: 12px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  line-height: 1.5;
  font-weight: 500;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  overflow: hidden;
}
@media screen and (max-width: 959px) {
  :not(.home).blog .news__list .newsItemBody__title {
    font-size: 18.72px;
    line-height: 1.85;
  }
}
@media screen and (max-width: 519px) {
  :not(.home).blog .news__list .newsItemBody__title {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
}
:not(.home).blog .news__list .newsItemBodyHeader__date {
  margin-right: 12px;
  color: #C6C6C6;
  font-style: normal;
  font-weight: normal;
  font-size: 14px;
  line-height: 1;
  font-family: century-gothic, sans-serif;
}
@media screen and (max-width: 519px) {
  :not(.home).blog .news__list .newsItemBodyHeader__date {
    /* メイン */
    font-size: min(3.4666666667vw, 13px);
    line-height: 1.85;
    letter-spacing: 0.03em;
    margin-right: min(2.6666666667vw, 10px);
  }
}
:not(.home).blog .news__list .newsItemBody__header {
  display: flex;
  align-items: center;
  margin-bottom: 6px;
}
@media screen and (max-width: 519px) {
  :not(.home).blog .news__list .newsItemBody__header {
    margin-bottom: min(1.0666666667vw, 4px);
  }
}
:not(.home).blog .news__list .newsItemBodyHeader__category ul {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
:not(.home).blog .news__list .newsItemBodyHeader__category ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: -moz-max-content;
  width: max-content;
  height: 20px;
  padding: 0 10px;
  border: 1px solid #80C3C6;
  border-radius: 2px;
  color: #80C3C6;
  font-size: 11px;
  line-height: 20px;
}
@media screen and (max-width: 959px) {
  :not(.home).blog .news__list .newsItemBodyHeader__category ul li {
    font-size: 12px;
    padding: 1px 10px;
    height: auto;
  }
}
@media screen and (max-width: 519px) {
  :not(.home).blog .news__list .newsItemBodyHeader__category ul li {
    font-size: 10px;
    padding: 0 10px;
    height: 20px;
  }
}

.speaker {
  display: flex;
  justify-content: space-between;
  margin-bottom: 24px;
}
.speaker:last-child {
  margin-bottom: 0;
}

.speaker__icon {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  margin-right: 20px;
}
@media screen and (max-width: 519px) {
  .speaker__icon {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    border-radius: 1.0666666667vw;
    margin-right: 2.6666666667vw;
  }
}

.speaker__info {
  flex: 1;
}

.speaker__name {
  font-size: 15px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  font-weight: bold;
  font-weight: bold;
  margin-bottom: 4px;
}
@media screen and (max-width: 519px) {
  .speaker__name {
    font-size: min(4vw, 15px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
}

.speaker__profile {
  font-size: 13px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 519px) {
  .speaker__profile {
    /* メイン */
    font-size: min(3.4666666667vw, 13px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
}

.speakerLarge {
  display: flex;
}
@media screen and (max-width: 519px) {
  .speakerLarge {
    display: block;
  }
}

.speakerLarge__icon {
  width: 168px;
  margin-right: 32px;
}
@media screen and (max-width: 519px) {
  .speakerLarge__icon {
    width: 32vw;
    margin-right: 0;
    margin-bottom: 2.1333333333vw;
  }
}

.speakerLarge__info {
  flex: 1;
}

.speakerLarge__name {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 16px;
}

.studentVoiceThanks {
  margin-top: 120px;
  background-color: #F5FAFA;
}

.studentVoiceThanks__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 64px;
}
@media screen and (max-width: 959px) {
  .studentVoiceThanks__inner {
    padding: 64px;
  }
}
@media screen and (max-width: 519px) {
  .studentVoiceThanks__inner {
    padding: 6.4vw;
  }
}

.voice {
  font-size: 22px;
  display: flex;
  justify-content: center;
  margin-bottom: 32px;
  color: #64BBBF;
  font-style: normal;
  font-weight: bold;
  line-height: 173%;
  letter-spacing: 0.03em;
}

.categoryTag {
  display: inline-block;
  height: 22px;
  padding: 0 12px;
  font-size: 10px;
  line-height: 20px;
  background-color: #fff;
  margin-right: 4px;
}
@media screen and (max-width: 519px) {
  .categoryTag {
    font-size: min(2.6666666667vw, 10px);
    line-height: 1.8;
    letter-spacing: 0.03em;
    height: 5.8666666667vw;
    line-height: 5.6vw;
    padding: 0 2.6666666667vw;
  }
}
.categoryTag.--type-free {
  border: 1px solid rgba(128, 195, 198, 0.3);
  color: #64BBBF;
}
.categoryTag.--type-online {
  border: 1px solid rgba(226, 148, 57, 0.23);
  color: #DDA24A;
}

#page-about .chapter-bridge {
  background: rgba(199, 225, 218, 0.55);
  position: relative;
  overflow: hidden;
}
#page-about .chapter-bridge::before {
  content: "";
  position: absolute;
  top: -120px;
  right: -180px;
  width: 360px;
  height: 480px;
  transform: rotate(-12deg);
  border-radius: 480px;
  background: #F8E9BE;
  filter: blur(120px);
  opacity: 0.55;
  z-index: 0;
  pointer-events: none;
}
@media screen and (max-width: 959px) {
  #page-about .chapter-bridge::before {
    display: none;
  }
}
#page-about .chapter-bridge__inner {
  position: relative;
  z-index: 1;
  padding-block: 120px;
  max-width: 1219px;
  margin-inline: auto;
  padding-inline: 80px;
}
@media screen and (max-width: 1279px) {
  #page-about .chapter-bridge__inner {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 959px) {
  #page-about .chapter-bridge__inner {
    padding-block: 80px;
  }
}
@media screen and (max-width: 519px) {
  #page-about .chapter-bridge__inner {
    padding-inline: 27px;
  }
}
#page-about .chapter-bridge__head {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
@media screen and (max-width: 959px) {
  #page-about .chapter-bridge__head {
    gap: 10px;
  }
}
#page-about .chapter-bridge__en {
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.2 * var(--unit));
  font-weight: 700;
  color: #86A79E;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  line-height: 1;
}
#page-about .chapter-bridge__title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-feature-settings: "palt" on, "pkna" on;
  font-size: calc(2.8 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.08em;
  color: #333333;
}
@media screen and (max-width: 959px) {
  #page-about .chapter-bridge__title {
    font-size: min(5.8666666667vw, 22px);
    line-height: 1.65;
  }
}
#page-about .chapter-bridge__lead {
  margin-top: 6px;
  font-size: calc(1.5 * var(--unit));
  line-height: 2;
  letter-spacing: 0.05em;
  color: #333333;
}
@media screen and (max-width: 959px) {
  #page-about .chapter-bridge__lead {
    font-size: min(3.4666666667vw, 13px);
    text-align: left;
  }
}
#page-about .chapter-bridge__steps {
  margin-top: 48px;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 12px;
  flex-wrap: nowrap;
}
@media screen and (max-width: 959px) {
  #page-about .chapter-bridge__steps {
    margin-top: 36px;
    flex-wrap: wrap;
    gap: 10px;
  }
}
@media screen and (max-width: 519px) {
  #page-about .chapter-bridge__steps {
    flex-direction: column;
    gap: 8px;
  }
}
#page-about .chapter-bridge__steps .step {
  flex: 1 1 0;
  min-width: 140px;
  padding: 32px 20px 28px;
  background: rgba(255, 255, 255, 0.45);
  border-radius: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.8);
  border-left: 1px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.03);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  transition: transform 0.4s ease, background 0.4s ease;
}
@media screen and (max-width: 959px) {
  #page-about .chapter-bridge__steps .step {
    flex: 1 1 calc(50% - 6px);
    padding: 26px 16px 22px;
  }
}
@media screen and (max-width: 519px) {
  #page-about .chapter-bridge__steps .step {
    flex: 1 1 100%;
    padding: 20px 22px;
    flex-direction: row;
    align-items: center;
    gap: 18px;
    text-align: left;
  }
}
#page-about .chapter-bridge__steps .step__num {
  font-family: "Instrument Serif", serif;
  color: #DD9731;
  font-size: calc(2.6 * var(--unit));
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  opacity: 0.85;
}
@media screen and (max-width: 519px) {
  #page-about .chapter-bridge__steps .step__num {
    font-size: min(6.4vw, 24px);
    flex-shrink: 0;
    min-width: 38px;
  }
}
#page-about .chapter-bridge__steps .step__en {
  font-family: "Instrument Sans", sans-serif;
  color: #86A79E;
  font-size: calc(1.1 * var(--unit));
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  line-height: 1.4;
  opacity: 0.85;
}
@media screen and (max-width: 519px) {
  #page-about .chapter-bridge__steps .step__en {
    display: none;
  }
}
#page-about .chapter-bridge__steps .step__ja {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: rgba(51, 51, 51, 0.78);
  font-feature-settings: "palt" on, "pkna" on;
  font-size: calc(1.4 * var(--unit));
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 959px) {
  #page-about .chapter-bridge__steps .step__ja {
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-about .chapter-bridge__steps .step__arrow {
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 16px;
  color: rgba(134, 167, 158, 0.4);
  flex-shrink: 0;
  opacity: 0.8;
}
#page-about .chapter-bridge__steps .step__arrow svg {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 959px) {
  #page-about .chapter-bridge__steps .step__arrow {
    display: none;
  }
}
#page-about .chapter-bridge__cta {
  margin-top: 48px;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 959px) {
  #page-about .chapter-bridge__cta {
    margin-top: 36px;
  }
}

#page-about .p-section-h2 {
  font-feature-settings: "palt" on, "pkna" on;
  font-size: calc(3 * var(--unit));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-about .p-section-h2 {
    font-size: min(6.9333333333vw, 26px);
    line-height: 1.65;
    letter-spacing: 0.1em;
  }
}
#page-about .p-section-h2--center {
  text-align: center;
}
@media screen and (max-width: 959px) {
  #page-about .p-section-h2--center-sp {
    text-align: center;
  }
}
#page-about .p-section-h2--white {
  color: #FFFFFF;
}
#page-about .p-body {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 959px) {
  #page-about .p-body {
    gap: 30px;
  }
}
#page-about .p-body p {
  font-feature-settings: "palt" on;
  font-size: calc(1.6 * var(--unit));
  line-height: 2.2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
  #page-about .p-body p {
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-about .p-body--white p {
  color: #FFFFFF;
}
#page-about .chapter-01::before {
  content: "";
  position: absolute;
  top: 177px;
  left: -150px;
  width: 312px;
  height: 430px;
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
  transform: translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-about .chapter-01::before {
    display: none;
  }
}
#page-about .chapter-01__inner {
  position: relative;
  padding-top: 180px;
  padding-bottom: 200px;
}
@media screen and (max-width: 959px) {
  #page-about .chapter-01__inner {
    padding-top: 171px;
    padding-bottom: 140px;
  }
}
@media screen and (max-width: 519px) {
  #page-about .chapter-01__inner {
    padding-bottom: 100px;
  }
}
#page-about .chapter-01__article {
  width: 54.8518896834%;
}
@media screen and (max-width: 959px) {
  #page-about .chapter-01__article {
    width: 100%;
  }
}
#page-about .chapter-01 .p-body {
  margin-top: 90px;
}
@media screen and (max-width: 959px) {
  #page-about .chapter-01 .p-body {
    margin-top: 60px;
  }
}
#page-about .chapter-01__visual {
  position: absolute;
  top: 72px;
  right: 80px;
  width: 29.614438064%;
  aspect-ratio: 3/4;
}
@media screen and (max-width: 959px) {
  #page-about .chapter-01__visual {
    top: 39px;
    right: 0;
    width: 40.2666666667%;
  }
}
#page-about .chapter-03::after {
  content: "";
  position: absolute;
  bottom: -208px;
  left: -55px;
  width: 312px;
  height: 430px;
  transform: rotate(75deg) translateY(var(--parallax-y, 0px));
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-about .chapter-03::after {
    display: none;
  }
}
#page-about .chapter-03__visual {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  min-height: 800px;
  z-index: 1;
}
#page-about .chapter-03__inner {
  margin-top: -30vh;
  padding-block: 0 70vh;
  padding-inline: 120px;
}
@media screen and (max-width: 1279px) {
  #page-about .chapter-03__inner {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 959px) {
  #page-about .chapter-03__inner {
    padding-block: 0 100vh;
  }
}
@media screen and (max-width: 519px) {
  #page-about .chapter-03__inner {
    padding-inline: 27px;
  }
}
#page-about .chapter-03 .p-body {
  margin-top: 161px;
  margin-left: auto;
  width: 63.2277834525%;
}
@media screen and (max-width: 959px) {
  #page-about .chapter-03 .p-body {
    margin-top: 60px;
    width: 100%;
  }
}

#page-apply .entry::before {
  content: "";
  position: absolute;
  top: 180px;
  left: -150px;
  width: 312px;
  height: 430px;
  transform: rotate(-27deg);
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
}
@media screen and (max-width: 959px) {
  #page-apply .entry::before {
    transform: rotate(0deg);
    top: 0;
    left: -45.3333333333vw;
    width: 71.4666666667vw;
    height: 98.6666666667vw;
  }
}
#page-apply .entry__inner {
  padding-block: 100px 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 959px) {
  #page-apply .entry__inner {
    padding-block: 80px 100px;
  }
}
#page-apply .entry__contents {
  max-width: 654px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#page-apply .entry__lead {
  font-size: calc(1.6 * var(--unit));
  line-height: 2.2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-apply .entry__lead {
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-apply .entry__links {
  margin-top: 40px;
  display: flex;
  width: 100%;
  height: 78px;
  gap: 24px;
}
@media screen and (max-width: 519px) {
  #page-apply .entry__links {
    margin-top: 24px;
    flex-direction: column;
    gap: 16px;
    height: auto;
  }
}

.archivePageHeader {
  margin-bottom: 64px;
  text-align: center;
}
@media screen and (max-width: 959px) {
  .archivePageHeader {
    margin-bottom: min(17.0666666667vw, 64px);
  }
}
@media screen and (max-width: 519px) {
  .archivePageHeader {
    margin-bottom: min(10.6666666667vw, 40px);
  }
}
.archivePageHeader .archivePageHeader__h1 {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
}
.archivePageHeader .archivePageHeader__title {
  margin-bottom: 16px;
}
@media screen and (max-width: 959px) {
  .archivePageHeader .archivePageHeader__title {
    margin-bottom: min(4.2666666667vw, 16px);
  }
}
.archivePageHeader .archivePageHeader__title .archivePageHeader__title--en {
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #80C3C6;
  font-family: century-gothic, sans-serif;
  font-style: normal;
  font-weight: normal;
  margin-bottom: 24px;
  display: block;
}
@media screen and (max-width: 767px) {
  .archivePageHeader .archivePageHeader__title .archivePageHeader__title--en {
    font-size: min(5.3333333333vw, 20px);
  }
}
@media screen and (max-width: 519px) {
  .archivePageHeader .archivePageHeader__title .archivePageHeader__title--en {
    margin-bottom: min(4.2666666667vw, 16px);
  }
}
.archivePageHeader .archivePageHeader__title .archivePageHeader__title--ja {
  font-size: 36px;
  line-height: 1.6;
  letter-spacing: 0.03em;
  font-weight: bold;
}
@media screen and (max-width: 519px) {
  .archivePageHeader .archivePageHeader__title .archivePageHeader__title--ja {
    font-size: min(6.4vw, 24px);
  }
}

.articleCategoryTag {
  color: #64BBBF;
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}

/*
本文のスタイルは.article__bodyに下記のクラスを適応することで切り替える
1. --type-lab
2. --type-news
*/
/* --------------------------------------
  1. --type-lab
-------------------------------------- */
/* --------------------------------------
  2. --type-news
-------------------------------------- */
.article__body.--type-news {
  padding-bottom: 40px;
}
.article__body.--type-news section {
  padding: 0;
  margin: 20px 0 0 0;
  padding-bottom: 20px;
}
.article__body.--type-news p {
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  margin-bottom: 24px;
}
@media screen and (max-width: 519px) {
  .article__body.--type-news p {
    margin-bottom: 8.5333333333vw;
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
}
.article__body.--type-news img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 519px) {
  .article__body.--type-news img {
    margin-bottom: 8.5333333333vw;
  }
}
.article__body.--type-news a {
  color: #64BBBF;
  text-decoration: underline;
}
.article__body.--type-news h2 {
  font-size: 22px;
  line-height: 1.75;
  letter-spacing: 0.03em;
  font-weight: bold;
  margin-bottom: 20px;
  margin-top: 56px;
  border-bottom: 1px solid #ECF6F6;
  padding-bottom: 8px;
}
@media screen and (max-width: 519px) {
  .article__body.--type-news h2 {
    font-size: min(5.3333333333vw, 20px);
    line-height: 1.6;
    letter-spacing: 0.03em;
  }
}
.article__body.--type-news h3 {
  font-size: 20px;
  line-height: 1.75;
  letter-spacing: 0.03em;
  font-weight: bold;
  font-size: 17px;
  margin-bottom: 16px;
}
.article__body.--type-news ul {
  margin-bottom: 24px;
}
.article__body.--type-news ul li {
  padding-left: 1em;
  text-indent: -1em;
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  font-size: 14px;
  margin-bottom: 8px;
}
.article__body.--type-news ul li:before {
  content: "";
  display: inline-block;
  background-color: #80C3C6;
  border-radius: 50%;
  margin-right: 5px;
  width: 10px;
  height: 10px;
}
@media screen and (max-width: 519px) {
  .article__body.--type-news ul li {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
  .article__body.--type-news ul li:before {
    width: min(2.6666666667vw, 10px);
    height: min(2.6666666667vw, 10px);
  }
}
@media screen and (max-width: 519px) {
  .article__body.--type-news ul li {
    margin-bottom: min(2.1333333333vw, 8px);
  }
}
.article__body.--type-news blockquote {
  background-color: #F4F4F4;
  margin-bottom: 24px;
  font-size: 11px;
  padding: 16px 20px;
}
.article__body.--type-news blockquote p {
  font-size: 11px;
  margin-bottom: 10px;
}
.article__body.--type-news blockquote p:last-child {
  margin-bottom: 0;
}
.article__body.--type-news blockquote p a {
  color: #64BBBF;
  text-decoration: underline;
}
.article__body.--type-news blockquote ul {
  margin-bottom: 0;
}
.article__body.--type-news blockquote ul li {
  font-size: 11px;
}
.article__body.--type-news blockquote ul li:before {
  display: none;
}
.article__body.--type-news blockquote ul li a {
  color: #64BBBF;
  text-decoration: underline;
}
.article__body.--type-news img {
  border: 1px solid #F4F4F4;
  margin-bottom: 24px;
}
@media screen and (max-width: 519px) {
  .article__body.--type-news {
    padding-bottom: 10.6666666667vw;
  }
}
.article__body.--type-news blockquote + h3 {
  margin-top: 40px;
}
@media screen and (max-width: 519px) {
  .article__body.--type-news blockquote + h3 {
    margin-top: min(10.6666666667vw, 40px);
  }
}

.article {
  justify-content: space-between;
  width: 100%;
  max-width: 1128px;
  margin: 128px auto 160px auto;
  padding: 0 64px;
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 959px) {
  .article {
    padding: 0 40px;
  }
}
@media screen and (max-width: 768px) {
  .article {
    margin-top: min(29.8666666667vw, 112px);
    display: block;
  }
}
@media screen and (max-width: 519px) {
  .article {
    padding: 0 min(6.4vw, 24px);
  }
}
.article.--type-blog {
  max-width: 1328px;
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 0 40px;
}
@media screen and (max-width: 959px) {
  .article.--type-blog {
    display: contents;
  }
}
.article.--type-blog .article__inner {
  display: contents;
}
@media screen and (max-width: 959px) {
  .article.--type-blog .article__inner {
    display: block;
  }
}
.article.--type-blog .article__head {
  grid-area: 1/1/2/2;
  max-width: 800px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 959px) {
  .article.--type-blog .article__head {
    max-width: none;
    margin-right: 0;
    margin-left: 0;
  }
}
.article.--type-blog .article__body {
  grid-area: 2/1/3/2;
  max-width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 959px) {
  .article.--type-blog .article__body {
    max-width: none;
  }
}
.article.--type-blog .article__sidebar {
  grid-area: 2/2/3/3;
  margin-top: -30px;
}
@media screen and (max-width: 959px) {
  .article.--type-blog .article__sidebar {
    margin-top: 0;
  }
}

.article__inner {
  width: 800px;
  max-width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 959px) {
  .article__inner {
    width: auto;
  }
}

@media screen and (max-width: 959px) {
  .wrap-article.--type-blog {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0 40px;
    margin: 128px auto 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .wrap-article.--type-blog {
    margin-top: min(29.8666666667vw, 112px);
  }
}
@media screen and (max-width: 519px) {
  .wrap-article.--type-blog {
    padding: 0 min(6.4vw, 24px);
  }
}

.wrap-article.--type-blog .article__sidebar {
  max-width: 300px;
  flex: 0 0 auto;
}
@media screen and (max-width: 959px) {
  .wrap-article.--type-blog .article__sidebar {
    max-width: 800px;
    padding: 0 40px;
    margin: 0 auto;
    order: 3;
  }
}
@media screen and (max-width: 519px) {
  .wrap-article.--type-blog .article__sidebar {
    padding: 0 min(6.4vw, 24px);
  }
}
@media screen and (max-width: 959px) {
  .wrap-article.--type-blog .article__inner {
    width: 100%;
    margin-bottom: 64px;
  }
}
@media screen and (max-width: 959px) {
  .wrap-article.--type-blog .relatedPost {
    order: 2;
    margin-bottom: min(10.6666666667vw, 40px);
  }
}
@media screen and (max-width: 959px) {
  .wrap-article.--type-blog .relatedPost__btn {
    order: 4;
  }
}

.article__main {
  flex: 1;
  margin-right: 40px;
}
@media screen and (max-width: 959px) {
  .article__main {
    margin-right: 24px;
  }
}
@media screen and (max-width: 768px) {
  .article__main {
    width: 100%;
  }
}

.article__side {
  width: calc((100% - 40px) / 3);
  max-width: 300px;
}
@media screen and (max-width: 768px) {
  .article__side {
    width: 100%;
    max-width: none;
  }
}
.article__side .siteLink {
  margin-bottom: min(8.5333333333vw, 32px);
}

.articleSide__inner {
  position: sticky;
  top: 94px;
}
@media screen and (max-width: 959px) {
  .articleSide__inner {
    position: relative;
    top: auto;
  }
}

.article__head {
  padding-bottom: min(10.6666666667vw, 40px);
  margin-bottom: min(10.6666666667vw, 40px);
  border-bottom: 1px solid #E5E5E5;
}
@media screen and (max-width: 519px) {
  .article__head {
    padding-bottom: 10.6666666667vw;
    margin-bottom: 10.6666666667vw;
    border-bottom: 1px solid #E5E5E5;
  }
}
.article__head .meta__category {
  color: #64BBBF;
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
.article__head .articleHead__title {
  font-size: 36px;
  line-height: 1.6;
  letter-spacing: 0.03em;
  font-weight: bold;
  margin-bottom: min(6.4vw, 24px);
}
@media screen and (max-width: 519px) {
  .article__head .articleHead__title {
    font-size: min(6.4vw, 24px);
    line-height: 1.6;
    letter-spacing: 0.03em;
    margin-bottom: 4.2666666667vw;
  }
}

.articleHead__metas {
  display: flex;
  align-items: center;
  margin-bottom: min(4.2666666667vw, 16px);
}

.articleHeadMetas__meta {
  margin-right: 16px;
}

.meta__date {
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #80C3C6;
  font-family: century-gothic, sans-serif;
  font-style: normal;
  font-weight: normal;
  color: #C6C6C6;
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .meta__date {
    font-size: min(5.3333333333vw, 20px);
  }
}
@media screen and (max-width: 519px) {
  .meta__date {
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #80C3C6;
    font-family: century-gothic, sans-serif;
    font-style: normal;
    font-weight: normal;
    color: #C6C6C6;
  }
}
@media screen and (max-width: 519px) and (max-width: 767px) {
  .meta__date {
    font-size: min(5.3333333333vw, 20px);
  }
}

.article__inner {
  max-width: 800px;
  margin: 0 auto;
}

span.marker {
  display: inline;
  padding: 2px;
  background: linear-gradient(transparent 64%, #ffeed4 0%);
}

.single .article .scroll-table,
.single .article .is-style-scroll {
  overflow-x: auto;
}
.single .article .scroll-table table,
.single .article .is-style-scroll table {
  table-layout: fixed;
  width: 100%;
}
.single .article .scroll-table table th,
.single .article .is-style-scroll table th {
  width: 200px;
}
.single .article table {
  border-collapse: collapse;
  border: solid 1px #e3e3e3;
}
.single .article table th,
.single .article table td {
  padding: 6px 18px;
  border: solid 1px #e3e3e3;
}
.single .article table th {
  background-color: #ecf6f6;
}
.single .article .cvButton {
  color: #ffffff;
  text-decoration: none;
}
.single .article .cvButton.--orange {
  background: linear-gradient(180deg, #e2a954 0%, #db9328 100%);
}
.single .article .cvButton.--orange .cvButton__badge {
  color: #C88521;
}
.single .article .cvButton.--blue {
  background: linear-gradient(180deg, #64bbbf 0%, #4da8ac 100%);
}
.single .article .cvButton.--blue .cvButton__badge {
  color: #4DA8AC;
}

/* 記事横に固定で追従するSHAREボタン */
.sideFixedShare {
  position: fixed;
  width: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  left: 40px;
  top: 136px;
}
@media screen and (max-width: 959px) {
  .sideFixedShare {
    position: relative;
    left: auto;
    top: auto;
    display: flex;
    width: 100%;
    flex-direction: initial;
    padding: 8.5333333333vw 0;
    justify-content: center;
  }
}
.sideFixedShare:before {
  content: "SHARE";
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 10px;
}
@media screen and (max-width: 959px) {
  .sideFixedShare:before {
    margin-bottom: 0;
    margin-right: min(4.2666666667vw, 16px);
  }
}
.sideFixedShare .sideFixedShare__twitter,
.sideFixedShare .sideFixedShare__facebook {
  width: 36px;
  height: 36px;
  background-position: center;
  background-size: contain;
}
.sideFixedShare .sideFixedShare__twitter a,
.sideFixedShare .sideFixedShare__facebook a {
  display: block;
  width: 100%;
  height: 100%;
}
.sideFixedShare .sideFixedShare__twitter {
  background-image: url("../images/news/icon_twitter.png");
  margin-right: 0;
  margin-bottom: 16px;
}
@media screen and (max-width: 959px) {
  .sideFixedShare .sideFixedShare__twitter {
    margin-bottom: 0;
    margin-right: min(4.2666666667vw, 16px);
  }
}
.sideFixedShare .sideFixedShare__facebook {
  background-image: url("../images/news/icon_fb.png");
}
@media screen and (max-width: 959px) {
  .sideFixedShare .sideFixedShare__facebook {
    margin-right: min(4.2666666667vw, 16px);
  }
}

/* 記事タイトル下に配置するSHAREボタン */
.articleHeadShare {
  display: flex;
}

.articleHeadShare__twitter,
.articleHeadShare__facebook {
  width: 30px;
  height: 30px;
  background-position: center;
  background-size: contain;
}
.articleHeadShare__twitter a,
.articleHeadShare__facebook a {
  display: block;
  width: 100%;
  height: 100%;
}

.articleHeadShare__twitter {
  background-image: url("../images/news/icon_twitter.png");
  margin-right: 16px;
}
@media screen and (max-width: 519px) {
  .articleHeadShare__twitter {
    margin-right: 4.2666666667vw;
  }
}

.articleHeadShare__facebook {
  background-image: url("../images/news/icon_fb.png");
}

@media screen and (max-width: 519px) {
  .articleHeadShare__twitter,
  .articleHeadShare__facebook {
    width: 8vw;
    height: 8vw;
    background-position: center;
    background-size: contain;
  }
}

#blog .blog__block:not(:first-child) {
  margin-top: 80px;
}
#blog .blog__heading {
  font-size: 30px;
}
@media screen and (max-width: 519px) {
  #blog .blog__heading {
    font-size: 22px;
  }
}
#blog .blog__heading span {
  margin-right: 5px;
  color: #80C3C6;
}
#blog .blog__more {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
#blog .blogCategory {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 20px;
}
@media screen and (max-width: 519px) {
  #blog .blogCategory {
    justify-content: flex-start;
  }
}
#blog .blogCategory__item {
  width: calc((100% - 75px) / 4);
  margin-bottom: 25px;
}
@media screen and (max-width: 959px) {
  #blog .blogCategory__item {
    width: calc((100% - 40px) / 3);
    margin-bottom: 15px;
    font-size: 14px;
  }
}
@media screen and (max-width: 519px) {
  #blog .blogCategory__item {
    width: auto;
    margin-right: 15px;
  }
}
#blog .blogCategory__item a {
  display: inline-block;
  width: 100%;
  padding: 10px;
  background-color: #ECF6F6;
}
#blog .blogCategory__item a:hover {
  opacity: 0.7;
}
#blog .archivePageHeader__title {
  font-size: 34px;
}
#blog .cardWrapColumn3 {
  margin-top: 20px;
}

#page-blog-top .p-section {
  padding-top: 48px;
  border-top: 1px solid #D7D7D7;
}
@media screen and (max-width: 959px) {
  #page-blog-top .p-section {
    padding-top: 0;
    border-top: none;
  }
}
#page-blog-top .p-section:not(:last-of-type) {
  margin-bottom: 80px;
}
#page-blog-top .p-h2 {
  font-size: calc(2.6 * var(--unit));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-blog-top .p-h2 {
    font-size: min(5.6vw, 21px);
  }
}
#page-blog-top .p-h2--hashtag::before {
  content: "#";
  margin-right: 0.5em;
  color: #54ADB1;
}
#page-blog-top .p-blog-list {
  margin-top: 55px;
  display: flex;
  align-items: stretch;
  gap: 4.6742209632%;
}
@media screen and (max-width: 959px) {
  #page-blog-top .p-blog-list {
    max-width: 320px;
    margin-top: 32px;
    margin-inline: auto;
    flex-direction: column;
    gap: 40px;
  }
}
@media screen and (max-width: 519px) {
  #page-blog-top .p-blog-list {
    gap: 32px;
  }
}
#page-blog-top .p-viewall {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#page-blog-top .archive::before {
  content: "";
  position: absolute;
  top: 331px;
  left: -150px;
  width: 312px;
  height: 430px;
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
  transform: rotate(-27deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-blog-top .archive::before {
    transform: rotate(0deg) translateY(var(--parallax-y, 0px));
    top: 205px;
    left: -45.3333333333vw;
    width: 71.4666666667vw;
    height: 98.6666666667vw;
  }
}
#page-blog-top .archive::after {
  content: "";
  position: absolute;
  top: 770px;
  right: -138px;
  width: 312px;
  height: 596px;
  border-radius: 596px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
  transform: rotate(-70deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-blog-top .archive::after {
    top: 1121px;
    right: -20.5333333333vw;
    width: 56.8vw;
    height: 108.2666666667vw;
  }
}
#page-blog-top .archive__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#page-blog-top .archive__bg::before {
  content: "";
  position: absolute;
  top: 1523px;
  left: 0;
  width: 312px;
  height: 430px;
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
  transform: translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-blog-top .archive__bg::before {
    top: 2347px;
    left: auto;
    right: -53.8666666667vw;
    width: 71.4666666667vw;
    height: 72vw;
  }
}
@media screen and (max-width: 959px) {
  #page-blog-top .archive__bg::after {
    content: "";
    position: absolute;
    top: 3100px;
    left: -36.2666666667vw;
    width: 56.5333333333vw;
    height: 108.2666666667vw;
    border-radius: 406px;
    background: #F8E9BE;
    filter: blur(90px);
    z-index: 0;
    transform: rotate(-70deg) translateY(var(--parallax-y, 0px));
    will-change: transform;
  }
}
#page-blog-top .archive__inner {
  padding-block: 68px 160px;
}
@media screen and (max-width: 959px) {
  #page-blog-top .archive__inner {
    padding-block: 100px 80px;
  }
}
#page-blog-top .archive__search {
  margin-bottom: 46px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media screen and (max-width: 959px) {
  #page-blog-top .archive__search {
    margin-bottom: 64px;
    align-items: flex-start;
  }
}
#page-blog-top .tags {
  background: #F9F9F2;
}
#page-blog-top .tags__inner {
  padding-block: 155px 123px;
}
@media screen and (max-width: 959px) {
  #page-blog-top .tags__inner {
    padding-block: 60px;
  }
}
#page-blog-top .tags__list {
  margin-top: 55px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
@media screen and (max-width: 959px) {
  #page-blog-top .tags__list {
    margin-top: 50px;
    gap: 16px 8px;
  }
}
#page-blog-top .tags__item {
  position: relative;
  width: calc((100% - 20px) / 3);
}
@media screen and (max-width: 959px) {
  #page-blog-top .tags__item {
    width: calc((100% - 16px) / 2);
  }
}
#page-blog-top .tags__item a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 15px 20px;
  border-radius: 100px;
  font-size: calc(1.6 * var(--unit));
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  background-color: rgba(255, 255, 255, 0.004);
}
@media screen and (max-width: 959px) {
  #page-blog-top .tags__item a {
    justify-content: space-between;
    gap: 4px;
    padding: 12px 16px;
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-blog-top .tags__item a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/v2/blog/tag_bg_pc.png") no-repeat center/100% 100%;
  z-index: -1;
}
@media screen and (max-width: 959px) {
  #page-blog-top .tags__item a::before {
    background: url("../images/v2/blog/tag_bg_sp.png") no-repeat center/100% 100%;
  }
}
#page-blog-top .tags__item a span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: #FFFFFF;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.2 * var(--unit));
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  background: #54ADB1;
  border-radius: 90px;
  flex-shrink: 0;
}
@media screen and (max-width: 959px) {
  #page-blog-top .tags__item a span {
    font-size: min(3.2vw, 12px);
  }
}
@media (hover: hover) {
  #page-blog-top .tags__item a:hover {
    opacity: 0.7;
  }
}

.relatedPost {
  max-width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 959px) {
  .relatedPost {
    padding: 0 40px;
  }
}
@media screen and (max-width: 519px) {
  .relatedPost {
    padding: 0 min(6.4vw, 24px);
  }
}
.relatedPost__heading {
  font-size: 28px;
}
@media screen and (max-width: 519px) {
  .relatedPost__heading {
    font-size: 22px;
  }
}
.relatedPost__list {
  margin-top: 20px;
}
@media screen and (max-width: 959px) {
  .relatedPost__item {
    border-bottom: 1px solid #F4F4F4;
  }
}
@media screen and (max-width: 519px) {
  .relatedPost__item {
    padding: 15px 0;
  }
}
@media screen and (max-width: 519px) {
  .relatedPost__item:first-child {
    padding-top: 0;
  }
}
.relatedPost__item:not(:first-child) {
  margin-top: 20px;
}
@media screen and (max-width: 519px) {
  .relatedPost__item:not(:first-child) {
    margin-top: 0;
  }
}
.relatedPost__item a {
  display: flex;
}
.relatedPost__item a:hover {
  opacity: 0.7;
}
.relatedPost__thumbnail {
  width: 220px;
}
@media screen and (max-width: 519px) {
  .relatedPost__thumbnail {
    width: min(32vw, 120px);
  }
}
.relatedPost__content {
  flex: 1;
  margin-left: 40px;
}
@media screen and (max-width: 519px) {
  .relatedPost__content {
    margin-left: 20px;
  }
}
.relatedPost__category {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  font-size: min(3.2vw, 12px);
}
@media screen and (max-width: 519px) {
  .relatedPost__category {
    gap: 3px;
  }
}
.relatedPost__category span {
  padding: 2px 8px;
  color: #80C3C6;
  background-color: #fff;
  border: 1px solid #80C3C6;
}
@media screen and (max-width: 519px) {
  .relatedPost__category span {
    font-size: 10px;
  }
}
.relatedPost__title {
  margin-top: 5px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  overflow: hidden;
  font-weight: 500;
}
@media screen and (max-width: 519px) {
  .relatedPost__title {
    font-size: 14px;
  }
}
.relatedPost__btn {
  display: flex;
  justify-content: center;
  margin: 40px auto 160px;
}

#page-briefing .p-content {
  max-width: 720px;
}
@media screen and (max-width: 959px) {
  #page-briefing .p-content {
    max-width: 100%;
  }
}
#page-briefing .p-h2 {
  margin-bottom: 60px;
  font-feature-settings: "palt" on, "pkna" on;
  font-size: calc(3.2 * var(--unit));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-briefing .p-h2 {
    margin-bottom: 40px;
    font-size: min(6.4vw, 24px);
    text-align: center;
  }
}
#page-briefing .p-text-block {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#page-briefing .p-text {
  font-size: calc(1.8 * var(--unit));
  font-weight: 400;
  line-height: 2.2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-briefing .p-text {
    font-size: min(4vw, 15px);
  }
}
#page-briefing .intro__inner {
  padding-block: 127px 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 959px) {
  #page-briefing .intro__inner {
    padding-block: 64px 80px;
  }
}
#page-briefing .outcomes__content {
  padding-block: 54px 60px;
  padding-inline: 80px;
  border-radius: 24px;
  border: 1px solid var(--pannel-border, rgba(255, 255, 255, 0.8));
  background: rgba(210, 229, 224, 0.5);
}
@media screen and (max-width: 959px) {
  #page-briefing .outcomes__content {
    padding-block: 48px 40px;
    padding-inline: 16px;
  }
}
#page-briefing .outcomes__title {
  text-align: center;
  font-feature-settings: "palt" on, "pkna" on;
  font-size: calc(2.6 * var(--unit));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-briefing .outcomes__title {
    font-size: min(5.6vw, 21px);
  }
}
#page-briefing .outcomes__lead {
  margin-top: 24px;
  text-align: center;
  font-size: calc(1.6 * var(--unit));
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-briefing .outcomes__lead {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.9;
  }
}
#page-briefing .outcomes__list {
  margin-top: 60px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 16px 0;
}
@media screen and (max-width: 959px) {
  #page-briefing .outcomes__list {
    margin-top: 48px;
    flex-direction: column;
    gap: 10px;
  }
}
#page-briefing .outcomes__list li {
  width: 32.1468298109%;
  padding: 28px 32px 24px 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  border-radius: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.8);
  border-left: 1px solid rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.03);
}
@media screen and (max-width: 959px) {
  #page-briefing .outcomes__list li {
    width: 100%;
    padding: 20px 24px 22px;
    justify-content: flex-start;
    gap: 10px;
  }
}
#page-briefing .outcomes__list li:not(:nth-child(3n)) {
  margin-right: 1.7797552836%;
}
@media screen and (max-width: 959px) {
  #page-briefing .outcomes__list li:not(:nth-child(3n)) {
    margin-right: 0;
  }
}
#page-briefing .outcomes__list li h3 {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: calc(1.7 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 959px) {
  #page-briefing .outcomes__list li h3 {
    display: block;
    font-size: min(4vw, 15px);
  }
}
#page-briefing .outcomes__list li p {
  color: #555;
  font-size: calc(1.3 * var(--unit));
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-briefing .outcomes__list li p {
    font-size: min(3.2vw, 12px);
  }
}
#page-briefing .message__inner {
  padding-block: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 959px) {
  #page-briefing .message__inner {
    padding-block: 80px;
  }
}
#page-briefing .message__list {
  margin-bottom: 40px;
  display: flex;
  padding: 34px 40px;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  border-radius: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.8);
  border-left: 1px solid rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.03);
}
@media screen and (max-width: 959px) {
  #page-briefing .message__list {
    margin-bottom: 20px;
    padding: 30px 24px;
    gap: 12px;
  }
}
#page-briefing .message__list li {
  position: relative;
  padding-left: 30px;
  font-size: calc(1.6 * var(--unit));
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-briefing .message__list li {
    padding-left: 26px;
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-briefing .message__list li::before {
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 0;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  background-image: url("../images/v2/common/icon_check_green.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 959px) {
  #page-briefing .message__list li::before {
    width: 16px;
    height: 16px;
  }
}

#page-campaign .campaigns::before {
  content: "";
  position: absolute;
  top: 17px;
  left: -150px;
  width: 312px;
  height: 430px;
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
  transform: rotate(-27deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-campaign .campaigns::before {
    transform: rotate(0deg) translateY(var(--parallax-y, 0px));
    top: 0;
    left: -45.3333333333vw;
    width: 71.4666666667vw;
    height: 98.6666666667vw;
  }
}
#page-campaign .campaigns::after {
  content: "";
  position: absolute;
  top: 596px;
  right: -254px;
  width: 312px;
  height: 596px;
  border-radius: 596px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
  transform: rotate(-70deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-campaign .campaigns::after {
    top: 531px;
    right: -27.7333333333vw;
    width: 56.8vw;
    height: 108.2666666667vw;
  }
}
#page-campaign .campaigns__inner {
  position: relative;
  padding-block: 80px 196px;
}
@media screen and (max-width: 959px) {
  #page-campaign .campaigns__inner {
    padding-block: 60px 120px;
  }
}
#page-campaign .campaigns__list {
  display: flex;
  flex-wrap: wrap;
  gap: 80px 4.62700661%;
}
@media screen and (max-width: 959px) {
  #page-campaign .campaigns__list {
    max-width: 505px;
    gap: 48px;
  }
}
#page-campaign .campaigns__list .item {
  width: 47.686496695%;
}
@media screen and (max-width: 959px) {
  #page-campaign .campaigns__list .item {
    width: 100%;
  }
}
#page-campaign .campaigns__list .item__body {
  margin-top: 20px;
  padding-inline: 20px;
}
@media screen and (max-width: 959px) {
  #page-campaign .campaigns__list .item__body {
    margin-top: 16px;
    padding-inline: 16px;
  }
}
#page-campaign .campaigns__list .item__title {
  font-size: calc(1.8 * var(--unit));
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  #page-campaign .campaigns__list .item__title {
    font-size: min(4vw, 15px);
  }
}
#page-campaign .campaigns__list .item__detail {
  width: 100%;
  margin-top: 10px;
  padding-top: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border-top: 1px solid #D7D7D7;
}
@media screen and (max-width: 1279px) {
  #page-campaign .campaigns__list .item__detail {
    gap: 12px;
  }
}
@media screen and (max-width: 959px) {
  #page-campaign .campaigns__list .item__detail {
    margin-top: 8px;
    padding-top: 9px;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
}
#page-campaign .campaigns__list .item__schedule {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
#page-campaign .campaigns__list .item__date ul li {
  color: #54ADB1;
  font-size: calc(1.4 * var(--unit));
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 959px) {
  #page-campaign .campaigns__list .item__date ul li {
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-campaign .campaigns__list .item__copy {
  color: #54ADB1;
  font-size: calc(1.4 * var(--unit));
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 959px) {
  #page-campaign .campaigns__list .item__copy {
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-campaign .campaigns__list .item__status {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 2px 9px;
  border-radius: 20px;
  border: 1px solid #DD9731;
  color: #DD9731;
  font-size: calc(1.2 * var(--unit));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 959px) {
  #page-campaign .campaigns__list .item__status {
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-campaign .campaigns__list .item__status::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #DD9731;
}
#page-campaign .campaigns__list .item__status.disabled {
  border: 0;
  background: #EEE;
  color: #AAA;
}
#page-campaign .campaigns__list .item__status.disabled::before {
  display: none;
}
#page-campaign .campaigns__list .item__link {
  flex-shrink: 0;
  padding: 12px;
  width: 180px;
  background: #FFFFFF;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.05);
  font-size: calc(1.3 * var(--unit));
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  border-radius: 50px;
  text-align: center;
}
@media screen and (max-width: 1279px) {
  #page-campaign .campaigns__list .item__link {
    width: 170px;
  }
}
@media screen and (max-width: 959px) {
  #page-campaign .campaigns__list .item__link {
    font-size: min(3.2vw, 12px);
    padding: 10px 24px;
  }
}

#page-course .bundle {
  position: relative;
  z-index: 1;
}
#page-course .bundle__table {
  margin-top: 60px;
  display: grid;
  grid-template-columns: minmax(180px, 1.6fr) 0.9fr 0.9fr 0.9fr 0.9fr;
  grid-template-rows: auto repeat(4, minmax(88px, auto));
  border: 1px solid rgba(51, 51, 51, 0.08);
  border-radius: 8px;
  overflow: hidden;
  background: #FFFFFF;
}
@media screen and (max-width: 959px) {
  #page-course .bundle__table {
    display: none;
  }
}
#page-course .bundle__table-img {
  display: none;
}
@media screen and (max-width: 959px) {
  #page-course .bundle__table-img {
    display: block;
    width: 100%;
    max-width: 560px;
    height: auto;
    margin: 36px auto 0;
    border-radius: 8px;
  }
}
#page-course .bundle__h {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 8px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: calc(1.5 * var(--unit));
  letter-spacing: 0.06em;
  text-align: center;
}
#page-course .bundle__h--single {
  grid-column: 2;
  grid-row: 1;
  background: #B7BFC4;
  color: #FFFFFF;
}
@media screen and (max-width: 959px) {
  #page-course .bundle__h--single {
    display: none;
  }
}
#page-course .bundle__h--bundle {
  grid-column: 3/span 3;
  grid-row: 1;
  background: #222F30;
  color: #FFFFFF;
}
@media screen and (max-width: 959px) {
  #page-course .bundle__h--bundle {
    display: none;
  }
}
#page-course .bundle__course {
  grid-column: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 16px 18px;
  border-top: 1px solid rgba(51, 51, 51, 0.06);
}
#page-course .bundle__course h3 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: calc(1.5 * var(--unit));
  letter-spacing: 0.04em;
  color: #86A79E;
  line-height: 1.4;
}
#page-course .bundle__course p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(1.1 * var(--unit));
  line-height: 1.6;
  color: #333333;
}
#page-course .bundle__course--basic {
  grid-row: 2;
  background: #FBF4EA;
}
#page-course .bundle__course--advA {
  grid-row: 3;
  background: #F5F0E6;
}
#page-course .bundle__course--advB {
  grid-row: 4;
  background: #EFEDE8;
}
#page-course .bundle__course--integ {
  grid-row: 5;
  background: #ECEDEE;
}
#page-course .bundle__course--integ h3 {
  color: #222F30;
}
@media screen and (max-width: 959px) {
  #page-course .bundle__course {
    padding: 16px 20px;
    border-top: none;
  }
  #page-course .bundle__course h3 {
    font-size: min(4.2666666667vw, 16px);
  }
  #page-course .bundle__course p {
    font-size: min(3.2vw, 12px);
  }
}
#page-course .bundle__price {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  padding: 16px 8px;
  background: #FFFFFF;
  border-top: 1px solid rgba(51, 51, 51, 0.06);
  text-align: center;
}
#page-course .bundle__price-num {
  font-family: "Instrument Sans", sans-serif;
  font-weight: 700;
  font-size: calc(1.8 * var(--unit));
  color: #333333;
  letter-spacing: 0.02em;
}
#page-course .bundle__price-num small {
  font-size: calc(1.1 * var(--unit));
  margin-left: 2px;
  font-weight: 700;
}
#page-course .bundle__price-tax {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(1 * var(--unit));
  color: #999999;
}
@media screen and (max-width: 959px) {
  #page-course .bundle__price {
    flex-direction: row;
    justify-content: center;
    gap: 10px;
    padding: 12px 20px 16px;
    border-top: none;
  }
  #page-course .bundle__price-num {
    font-size: min(4.8vw, 18px);
  }
  #page-course .bundle__price-tax {
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-course .bundle__deal {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 16px 8px;
  background: #ECF1F2;
  border-top: 1px solid rgba(51, 51, 51, 0.06);
  border-left: 1px solid rgba(51, 51, 51, 0.06);
  text-align: center;
}
#page-course .bundle__deal-title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: calc(1.3 * var(--unit));
  line-height: 1.5;
  color: #222F30;
  letter-spacing: 0.04em;
}
#page-course .bundle__deal-price {
  margin-top: 2px;
  font-family: "Instrument Sans", sans-serif;
  font-weight: 700;
  font-size: calc(2 * var(--unit));
  color: #333333;
  letter-spacing: 0.02em;
}
#page-course .bundle__deal-price small {
  font-size: calc(1.1 * var(--unit));
  margin-left: 2px;
  font-weight: 700;
}
#page-course .bundle__deal-tax {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(1 * var(--unit));
  color: #999999;
}
#page-course .bundle__deal-chip {
  margin-top: 4px;
  display: inline-flex;
  align-items: center;
  padding: 5px 11px;
  border-radius: 999px;
  background: #54ADB1;
  color: #FFFFFF;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: calc(1.1 * var(--unit));
  letter-spacing: 0.04em;
}
#page-course .bundle__deal--1 {
  grid-column: 3;
  grid-row: 2/span 2;
}
#page-course .bundle__deal--2 {
  grid-column: 4;
  grid-row: 2/span 3;
}
#page-course .bundle__deal--3 {
  grid-column: 5;
  grid-row: 2/span 4;
}
@media screen and (max-width: 959px) {
  #page-course .bundle__deal {
    margin-top: 16px;
    padding: 24px 20px;
    border-radius: 12px;
    border-top: none;
    border-left: none;
  }
  #page-course .bundle__deal-title {
    font-size: min(4vw, 15px);
  }
  #page-course .bundle__deal-price {
    font-size: min(6.4vw, 24px);
  }
  #page-course .bundle__deal-tax {
    font-size: min(2.9333333333vw, 11px);
  }
  #page-course .bundle__deal-chip {
    font-size: min(3.2vw, 12px);
    padding: 5px 12px;
  }
  #page-course .bundle__deal--1, #page-course .bundle__deal--2, #page-course .bundle__deal--3 {
    grid-column: auto;
    grid-row: auto;
  }
}
#page-course .bundle__note {
  margin-top: 20px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(1.1 * var(--unit));
  color: #999999;
  line-height: 1.7;
}
@media screen and (max-width: 959px) {
  #page-course .bundle__note {
    margin-top: 16px;
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-course .bundle__info {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media screen and (max-width: 959px) {
  #page-course .bundle__info {
    margin-top: 36px;
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
#page-course .bundle__info-block h3 {
  padding-bottom: 12px;
  margin-bottom: 16px;
  border-bottom: 1px solid rgba(51, 51, 51, 0.12);
  font-size: calc(1.6 * var(--unit));
  font-weight: 700;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  #page-course .bundle__info-block h3 {
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-course .bundle__info-block p {
  font-size: calc(1.4 * var(--unit));
  line-height: 1.9;
  letter-spacing: 0.05em;
  color: rgba(51, 51, 51, 0.82);
}
@media screen and (max-width: 959px) {
  #page-course .bundle__info-block p {
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-course .bundle__info-block ul {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
#page-course .bundle__info-block ul li {
  position: relative;
  padding-left: 1.2em;
  font-size: calc(1.4 * var(--unit));
  line-height: 1.7;
  letter-spacing: 0.05em;
  color: rgba(51, 51, 51, 0.82);
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
#page-course .bundle__info-block ul li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 0.65em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #54ADB1;
}
@media screen and (max-width: 959px) {
  #page-course .bundle__info-block ul li {
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-course .bundle__info-block--included {
  grid-column: 1/-1;
}
#page-course .bundle__info-block--included ul {
  display: block;
  -moz-column-count: 2;
       column-count: 2;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
#page-course .bundle__info-block--included ul li {
  margin-bottom: 8px;
}
@media screen and (max-width: 519px) {
  #page-course .bundle__info-block--included ul {
    -moz-column-count: 1;
         column-count: 1;
  }
}
#page-course .bundle__info-sub {
  margin-top: 20px;
  margin-bottom: 10px;
  color: #86A79E !important;
  font-size: calc(1.3 * var(--unit)) !important;
  font-weight: 700;
  letter-spacing: 0.06em;
}
#page-course .bundle__info-guarantee {
  margin-top: 14px;
  padding: 12px 16px;
  border-radius: 10px;
  background: rgba(199, 225, 218, 0.4);
  font-weight: 700 !important;
}
#page-course .bundle__info-guarantee small {
  display: inline-block;
  margin-left: 6px;
  font-size: calc(1.1 * var(--unit));
  font-weight: 500;
  opacity: 0.8;
}

#page-course .courses::before {
  content: "";
  position: absolute;
  top: 12px;
  left: -150px;
  width: 312px;
  height: 430px;
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
  transform: translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-course .courses::before {
    transform: rotate(0deg) translateY(var(--parallax-y, 0px));
    top: 0;
    left: -45.3333333333vw;
    width: 71.4666666667vw;
    height: 98.6666666667vw;
  }
}
#page-course .courses::after {
  content: "";
  position: absolute;
  top: 400px;
  right: -254px;
  width: 312px;
  height: 596px;
  border-radius: 596px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
  transform: rotate(-70deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-course .courses::after {
    top: 1010px;
    right: -27.7333333333vw;
    width: 56.8vw;
    height: 108.2666666667vw;
  }
}
#page-course .courses__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#page-course .courses__bg::before {
  content: "";
  position: absolute;
  top: 1400px;
  right: 158px;
  width: 312px;
  height: 430px;
  transform: translateY(var(--parallax-y, 0px));
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
}
@media screen and (max-width: 959px) {
  #page-course .courses__bg::before {
    top: 2187px;
    right: -53.8666666667vw;
    width: 71.4666666667vw;
    height: 98.6666666667vw;
  }
}
#page-course .courses__bg::after {
  content: "";
  position: absolute;
  top: 2421px;
  left: -203px;
  width: 312px;
  height: 596px;
  transform: rotate(-150deg) translateY(var(--parallax-y, 0px));
  border-radius: 596px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
}
@media screen and (max-width: 959px) {
  #page-course .courses__bg::after {
    top: 3150px;
    left: -36.2666666667vw;
    width: 56.8vw;
    height: 108.2666666667vw;
    transform: rotate(-70deg) translateY(var(--parallax-y, 0px));
  }
}
#page-course .courses__bg2 {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media screen and (max-width: 959px) {
  #page-course .courses__bg2::before {
    content: "";
    position: absolute;
    bottom: -45px;
    left: -18.9333333333vw;
    width: 71.4666666667vw;
    height: 98.6666666667vw;
    transform: translateY(var(--parallax-y, 0px));
    border-radius: 430px;
    background: #C7E1DA;
    filter: blur(90px);
    z-index: 0;
  }
}
#page-course .courses__inner {
  padding-block: 129px 110px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 959px) {
  #page-course .courses__inner {
    padding-block: 40px 80px;
    flex-direction: column;
  }
}
#page-course .courses__nav {
  width: 12.5590179415%;
  position: sticky;
  top: 120px;
  left: 100px;
  margin-top: -210px;
  z-index: 1;
}
@media screen and (max-width: 959px) {
  #page-course .courses__nav {
    width: calc(100% + 15px + 15px);
    top: 72px;
    margin-top: 0;
    margin-inline: -15px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.8);
    background: rgba(255, 255, 255, 0.6);
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
  }
}
#page-course .courses__nav ul {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 959px) {
  #page-course .courses__nav ul {
    padding: 15px 26px 18px;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px 22px;
  }
}
#page-course .courses__nav ul li {
  position: relative;
}
#page-course .courses__nav ul li a {
  color: #ABABAB;
  display: block;
  font-size: calc(1.2 * var(--unit));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-course .courses__nav ul li a {
    font-size: min(3.2vw, 12px);
    color: #333333;
    padding-right: 13px;
    padding-bottom: 1px;
    border-bottom: 1px dashed #333333;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 959px) {
  #page-course .courses__nav ul li a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 3px solid transparent;
    border-left: 3px solid transparent;
    border-top: 5px solid #333333;
    border-bottom: 0;
  }
}
#page-course .courses__nav ul li.is-active::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -20px;
  transform: translateY(-50%);
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #8AC6B6;
}
@media screen and (max-width: 1279px) {
  #page-course .courses__nav ul li.is-active::before {
    left: -13px;
  }
}
@media screen and (max-width: 959px) {
  #page-course .courses__nav ul li.is-active::before {
    display: none;
  }
}
#page-course .courses__nav ul li.is-active a {
  color: #333;
}
@media screen and (max-width: 959px) {
  #page-course .courses__nav ul li.is-active a {
    color: #54ADB1;
  }
}
#page-course .courses__list {
  width: 80.4532577904%;
  display: flex;
  flex-direction: column;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list {
    width: 100%;
    margin-top: 100px;
    gap: 80px;
  }
}
#page-course .courses__list .item {
  scroll-margin-top: 120px;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item {
    scroll-margin-top: 200px;
  }
}
#page-course .courses__list .item__copy {
  padding-bottom: 16px;
  border-bottom: 1px solid #D7D7D7;
  color: #86A79E;
  font-feature-settings: "palt" on, "pkna" on;
  font-size: calc(1.5 * var(--unit));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__copy {
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-course .courses__list .item__head-group {
  margin-top: 36px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__head-group {
    margin-top: 32px;
    flex-direction: column;
    gap: 36px;
  }
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__head {
    width: 100%;
  }
}
#page-course .courses__list .item__title {
  font-size: calc(2.6 * var(--unit));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__title {
    font-size: min(5.6vw, 21px);
  }
}
#page-course .courses__list .item__link {
  margin-top: 22px;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding: 12px 34px;
  font-size: calc(1.3 * var(--unit));
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0;
  border-radius: 28px;
  background: #FFFFFF;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__link {
    margin-top: 18px;
    font-size: min(3.2vw, 12px);
    padding: 10px 26px;
  }
}
#page-course .courses__list .item__desc {
  max-width: 47.1830985915%;
  font-size: calc(1.4 * var(--unit));
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__desc {
    font-size: min(3.4666666667vw, 13px);
    width: 100%;
    max-width: 100%;
  }
}
#page-course .courses__list .item__body {
  margin-top: 100px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__body {
    margin-top: 48px;
    flex-direction: column;
    gap: 28px;
  }
}
#page-course .courses__list .item__details {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__details {
    gap: 16px;
  }
}
#page-course .courses__list .item__details h5 {
  margin-bottom: 8px;
  font-size: calc(1.3 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__details h5 {
    margin-bottom: 6px;
    font-size: min(3.2vw, 12px);
  }
}
#page-course .courses__list .item__details ul li {
  position: relative;
  padding-left: 1em;
  text-indent: -1em;
  font-size: calc(1.3 * var(--unit));
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__details ul li {
    font-size: min(3.2vw, 12px);
  }
}
#page-course .courses__list .item__details ul li::before {
  content: "・";
  color: #54ADB1;
}
#page-course .courses__list .item__info {
  width: 47.1830985915%;
  flex-shrink: 0;
  padding: 36px 40px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 28px;
  border-radius: 18px;
  border-top: 2px solid rgba(255, 255, 255, 0.8);
  border-left: 2px solid rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.6);
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__info {
    width: 100%;
    padding: 24px 26px;
    gap: 24px;
    border-radius: 12px;
  }
}
#page-course .courses__list .item__info li {
  width: 100%;
}
#page-course .courses__list .item__info li:last-child p {
  font-weight: 500;
  line-height: 1.7;
}
#page-course .courses__list .item__info li h5 {
  color: #86A79E;
  font-size: calc(1.3 * var(--unit));
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__info li h5 {
    font-size: min(3.2vw, 12px);
  }
}
#page-course .courses__list .item__info li p {
  margin-top: 8px;
  font-size: calc(1.5 * var(--unit));
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__info li p {
    margin-top: 4px;
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-course .courses__list .item__info li small {
  margin-top: 4px;
  display: block;
  color: #656565;
  font-size: calc(1.2 * var(--unit));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__info li small {
    margin-top: 3px;
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-course .courses__list .item__en {
  display: block;
  margin-top: 6px;
  color: #86A79E;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.3 * var(--unit));
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__en {
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-course .courses__list .item__theme-lead {
  margin-bottom: 8px;
  font-size: calc(1.3 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__theme-lead {
    font-size: min(3.2vw, 12px);
  }
}
#page-course .courses__list .item__effect {
  margin-top: 16px;
  padding: 16px 18px;
  border-radius: 12px;
  background: rgba(199, 225, 218, 0.4);
  font-size: calc(1.3 * var(--unit));
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__effect {
    font-size: min(3.2vw, 12px);
    padding: 14px 16px;
  }
}
#page-course .courses__list .item__schedule {
  margin-top: 48px;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__schedule {
    margin-top: 32px;
  }
}
#page-course .courses__list .item__schedule-head {
  margin-bottom: 16px;
  font-size: calc(1.5 * var(--unit));
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__schedule-head {
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-course .courses__list .item__schedule-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#page-course .courses__list .item__schedule-item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 24px;
  padding: 20px 24px;
  border-radius: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.8);
  border-left: 1px solid rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__schedule-item {
    padding: 16px 18px;
    gap: 8px 16px;
  }
}
#page-course .courses__list .item__schedule-when {
  display: flex;
  align-items: center;
  gap: 14px;
}
#page-course .courses__list .item__schedule-date {
  font-size: calc(1.6 * var(--unit));
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__schedule-date {
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-course .courses__list .item__schedule-status {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border: 1px solid;
  border-radius: 999px;
  font-size: calc(1.2 * var(--unit));
  font-weight: 700;
  white-space: nowrap;
}
#page-course .courses__list .item__schedule-status--accepting {
  color: #54ADB1;
  border-color: #54ADB1;
}
#page-course .courses__list .item__schedule-status--few-remaining {
  color: #DD9731;
  border-color: #DD9731;
}
#page-course .courses__list .item__schedule-status--full {
  color: #FFFFFF;
  border-color: #333333;
  background: #333333;
}
#page-course .courses__list .item__schedule-status--unknown {
  color: #888;
  border-color: #ccc;
}
#page-course .courses__list .item__schedule-detail {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  font-size: calc(1.3 * var(--unit));
  color: rgba(51, 51, 51, 0.8);
  letter-spacing: 0.04em;
}
@media screen and (max-width: 959px) {
  #page-course .courses__list .item__schedule-detail {
    font-size: min(3.2vw, 12px);
  }
}
#page-course .courses__list .item__schedule-cta {
  margin-left: auto;
}
@media screen and (max-width: 519px) {
  #page-course .courses__list .item__schedule-cta {
    margin-left: 0;
    width: 100%;
  }
}
#page-course .courses__list .item__schedule-apply {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  border-radius: 999px;
  background: #333333;
  color: #FFFFFF;
  font-size: calc(1.3 * var(--unit));
  font-weight: 700;
  transition: opacity 0.3s ease;
}
#page-course .courses__list .item__schedule-apply:hover {
  opacity: 0.85;
}
#page-course .courses__list .item__schedule-apply.is-disabled {
  background: #cfcfcf;
  color: #FFFFFF;
  pointer-events: none;
}
@media screen and (max-width: 519px) {
  #page-course .courses__list .item__schedule-apply {
    width: 100%;
  }
}
#page-course .courses__list .item__schedule-empty {
  padding: 20px 24px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.5);
  font-size: calc(1.3 * var(--unit));
  line-height: 1.8;
  color: rgba(51, 51, 51, 0.7);
}
#page-course .courses__list .item__link--schedule {
  margin-top: 20px;
}
#page-course .guidance {
  width: 100%;
  background-color: #F5F5F5;
}
@media screen and (max-width: 959px) {
  #page-course .guidance {
    padding-inline: 13px;
    padding-bottom: 80px;
    background-color: transparent;
  }
}
#page-course .guidance__inner {
  padding-block: 94px 122px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  background-color: #F5F5F5;
}
@media screen and (max-width: 959px) {
  #page-course .guidance__inner {
    padding-block: 55px 40px;
  }
}
#page-course .guidance__content {
  width: 80.4532577904%;
}
@media screen and (max-width: 959px) {
  #page-course .guidance__content {
    width: 100%;
  }
}
#page-course .guidance h2 {
  margin-bottom: 40px;
  font-feature-settings: "palt" on, "pkna" on;
  font-size: calc(2.6 * var(--unit));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 959px) {
  #page-course .guidance h2 {
    margin-bottom: 30px;
    font-size: min(5.6vw, 21px);
    text-align: center;
  }
}
#page-course .guidance h3 {
  margin-top: 29px;
  font-size: calc(1.3 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-course .guidance h3 {
    margin-top: 24px;
    font-size: min(3.2vw, 12px);
  }
}
#page-course .guidance p {
  margin-top: 10px;
  font-size: calc(1.4 * var(--unit));
  line-height: 1.9;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 959px) {
  #page-course .guidance p {
    margin-top: 8px;
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-course .guidance ul {
  margin-top: 8px;
}
@media screen and (max-width: 959px) {
  #page-course .guidance ul {
    margin-top: 6px;
  }
}
#page-course .guidance ul li {
  position: relative;
  padding-left: 1em;
  text-indent: -1em;
  font-size: calc(1.3 * var(--unit));
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 959px) {
  #page-course .guidance ul li {
    font-size: min(3.2vw, 12px);
  }
}
#page-course .guidance ul li::before {
  content: "・";
  color: #54ADB1;
}

#document #gnav .gnav__function {
  display: none;
}

.document__wrap {
  margin-top: 128px;
}

.document__head {
  padding-bottom: 40px;
  margin-bottom: 56px;
  border-bottom: 1px solid #E5E5E5;
}
.document__head .documentHead__date {
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #80C3C6;
  font-family: century-gothic, sans-serif;
  font-style: normal;
  font-weight: normal;
  color: #C6C6C6;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .document__head .documentHead__date {
    font-size: min(5.3333333333vw, 20px);
  }
}
.document__head .documentHead__title {
  font-size: 36px;
  line-height: 1.6;
  letter-spacing: 0.03em;
  font-weight: bold;
  margin-bottom: 16px;
}
.document__head .documentHead__title.center {
  text-align: center;
}

.document__inner {
  max-width: 800px;
  margin: 0 auto;
}

.document__body {
  padding-bottom: 40px;
}
.document__body section {
  padding: 0;
  margin: 20px 0 0 0;
  padding-bottom: 20px;
  overflow: visible;
}
.document__body p {
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  margin-bottom: 24px;
}
.document__body a {
  color: #64BBBF;
  text-decoration: underline;
}
.document__body h2 {
  font-size: 20px;
  line-height: 1.75;
  letter-spacing: 0.03em;
  font-weight: bold;
  font-size: 17px;
  margin-bottom: 16px;
}
.document__body ul {
  margin-bottom: 24px;
}
.document__body ul li {
  padding-left: 1em;
  text-indent: -1em;
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  font-size: 14px;
}
.document__body ul li:before {
  content: "";
  display: inline-block;
  background-color: #80C3C6;
  border-radius: 50%;
  margin-right: 5px;
  width: 10px;
  height: 10px;
}
@media screen and (max-width: 519px) {
  .document__body ul li {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
  .document__body ul li:before {
    width: min(2.6666666667vw, 10px);
    height: min(2.6666666667vw, 10px);
  }
}
.document__body ol {
  padding-left: 16px;
  margin-bottom: 24px;
}
.document__body ol li {
  margin-bottom: 8px;
}
.document__body ol li ol {
  padding-left: 56px;
}
.document__body ol li ol h4 {
  margin-top: 16px;
  margin-bottom: 4px;
}
.document__body ol li ol li {
  list-style: lower-alpha;
  margin-bottom: 4px;
}
.document__body ol li ol li:first-child {
  margin-top: 8px;
}
.document__body ol li ol.parentheses-num {
  margin-left: -30px;
}
.document__body ol li ol.parentheses-num li {
  list-style-type: none;
  counter-increment: cnt;
  text-indent: -2.7em;
  padding-left: 2.7em;
}
.document__body ol li ol.parentheses-num li:before {
  content: "（" counter(cnt) "）";
}
.document__body ol li ol.parentheses-num li ol li {
  list-style: lower-alpha;
  counter-increment: none;
}
.document__body ol li ol.parentheses-num li ol li:before {
  content: "";
}
.document__body dt {
  float: left;
}
.document__body dd {
  margin-left: 140px;
}
.document__body .annotation {
  background-color: #F4F4F4;
  margin-bottom: 24px;
  font-size: 11px;
  padding: 16px 20px;
}
.document__body .annotation ul {
  margin-bottom: 0;
}
.document__body .annotation ul li {
  font-size: 11px;
}
.document__body .annotation ul li:before {
  display: none;
}
.document__body .annotation ul li a {
  color: #64BBBF;
  text-decoration: underline;
}
.document__body img {
  border: 1px solid #F4F4F4;
  margin-bottom: 24px;
}

@media screen and (max-width: 767px) {
  .document__wrap {
    padding: 6.4vw;
    margin-top: 32vw;
  }
  .document__head {
    padding-bottom: 10.6666666667vw;
    margin-bottom: 14.9333333333vw;
    border-bottom: 1px solid #E5E5E5;
  }
  .document__head .documentHead__date {
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #80C3C6;
    font-family: century-gothic, sans-serif;
    font-style: normal;
    font-weight: normal;
    color: #C6C6C6;
    margin-bottom: 4.2666666667vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .document__head .documentHead__date {
    font-size: min(5.3333333333vw, 20px);
  }
}
@media screen and (max-width: 767px) {
  .document__head .documentHead__title {
    font-size: 36px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    font-weight: bold;
    margin-bottom: 4.2666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .sns__share {
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  .snsShare__twitter,
  .snsShare__facebook {
    width: 8vw;
    height: 8vw;
    background-position: center;
    background-size: contain;
  }
}
@media screen and (max-width: 767px) {
  .snsShare__twitter {
    margin-right: 4.2666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .document__inner {
    max-width: auto;
  }
}
@media screen and (max-width: 767px) {
  .document__body {
    padding-bottom: 10.6666666667vw;
    padding-bottom: 40px;
  }
  .document__body p {
    margin-bottom: 8.5333333333vw;
  }
  .document__body img {
    margin-bottom: 8.5333333333vw;
  }
  .document__body section {
    margin: 4.2666666667vw 0 0 0;
    padding-bottom: 4.2666666667vw;
  }
  .document__body p {
    font-size: min(3.2vw, 12px);
    line-height: 1.8;
    letter-spacing: 0.03em;
    margin-bottom: 5.3333333333vw;
  }
  .document__body h2 {
    font-size: min(6.4vw, 24px);
    line-height: 1.6;
    letter-spacing: 0.03em;
    margin-bottom: 5.3333333333vw;
    margin-top: 14.9333333333vw;
    padding-bottom: 2.1333333333vw;
  }
  .document__body h3 {
    font-size: min(4vw, 15px);
    line-height: 1.85;
    letter-spacing: 0.03em;
    margin-bottom: 4.2666666667vw;
  }
  .document__body ul {
    margin-bottom: 6.4vw;
  }
  .document__body ul li {
    font-size: min(3.2vw, 12px);
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
  .document__body ol {
    padding-left: 4.2666666667vw;
    margin-bottom: 6.4vw;
  }
  .document__body ol li {
    margin-bottom: 2.1333333333vw;
    font-size: min(3.2vw, 12px);
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
  .document__body ol li ol {
    padding-left: 14.9333333333vw;
  }
  .document__body ol li ol h4 {
    margin-top: 4.2666666667vw;
    margin-bottom: 1.0666666667vw;
  }
  .document__body ol li ol li {
    margin-bottom: 1.0666666667vw;
  }
  .document__body ol li ol li:first-child {
    margin-top: 2.1333333333vw;
  }
  .document__body ol li ol.parentheses-num {
    margin-left: -8vw;
  }
  .document__body ol li ol.parentheses-num li {
    text-indent: -2.7em;
    padding-left: 2.7em;
  }
  .document__body ol li ol.parentheses-num li ol li {
    padding-left: 0;
    text-indent: 0;
  }
  .document__body dl {
    font-size: min(3.2vw, 12px);
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
  .document__body dd {
    margin-left: 37.3333333333vw;
  }
  .document__body .annotation {
    background-color: #F4F4F4;
    margin-bottom: 24px;
    font-size: 11px;
    padding: 16px 20px;
  }
  .document__body .annotation ul {
    margin-bottom: 0;
  }
  .document__body .annotation ul li {
    font-size: 11px;
  }
  .document__body .annotation ul li:before {
    display: none;
  }
  .document__body .annotation ul li a {
    color: #64BBBF;
    text-decoration: underline;
  }
  .document__body img {
    border: 1px solid #F4F4F4;
    margin-bottom: 24px;
  }
}
.eventPage {
  margin-top: 134px;
  margin-bottom: 112px;
}
@media screen and (max-width: 768px) {
  .eventPage {
    margin: 70px 0 64px 0;
  }
}
@media screen and (max-width: 519px) {
  .eventPage {
    margin: 60px 0 0 0;
  }
}

.eventPage__inner {
  width: 100%;
  max-width: 1128px;
  margin: 0 auto;
  padding: 0 64px;
}
@media screen and (max-width: 959px) {
  .eventPage__inner {
    max-width: auto;
    padding: 0;
  }
}

.eventPage__title {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
}

.eventPage__thumbnail {
  margin-bottom: 64px;
}
@media screen and (max-width: 959px) {
  .eventPage__thumbnail {
    margin-bottom: 0;
  }
}

.eventPage__body {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
}
@media screen and (max-width: 959px) {
  .eventPage__body {
    padding: 6.4vw;
    flex-direction: column-reverse;
  }
}

.eventPage__main {
  width: calc((100% - 32px) / 3 * 2);
}
@media screen and (max-width: 959px) {
  .eventPage__main {
    width: 100%;
  }
}

.eventPage__form {
  background-color: #F5FAFA;
  padding: 72px 0 88px 0;
}
@media screen and (max-width: 519px) {
  .eventPage__form {
    padding: 19.2vw 0 23.4666666667vw 0;
  }
}
.eventPage__form h2 {
  font-size: 36px;
  line-height: 1.6;
  letter-spacing: 0.03em;
  font-weight: bold;
  color: #64BBBF;
  text-align: center;
  margin-bottom: 48px;
}
@media screen and (max-width: 519px) {
  .eventPage__form h2 {
    font-size: min(6.4vw, 24px);
    line-height: 1.6;
    letter-spacing: 0.03em;
    margin-bottom: 12.8vw;
  }
}

.eventPageForm__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  background-color: #fff;
  padding-bottom: 100px;
}
.eventPageForm__inner .commonForm {
  padding-top: 0;
  position: relative;
  z-index: 0;
}

#timeLimitedScript + #footer {
  margin-top: 0;
}

.eventDetail {
  background-color: #F5FAFA;
  padding: 32px;
  margin-top: 32px;
}
@media screen and (max-width: 519px) {
  .eventDetail {
    padding: 6.4vw;
    margin-top: 6.4vw;
  }
}

.eventDetail__title {
  line-height: 1.65;
  margin-bottom: 8px;
  font-size: 17px;
  line-height: 1.65;
  letter-spacing: 0.03em;
  font-weight: bold;
  font-weight: bold;
}
@media screen and (max-width: 519px) {
  .eventDetail__title {
    font-size: min(4.5333333333vw, 17px);
    line-height: 1.75;
    letter-spacing: 0.03em;
    line-height: 1.65;
    margin-bottom: 2.1333333333vw;
  }
}

.eventDetail__date {
  color: #64BBBF;
  font-size: 17px;
  line-height: 1.65;
  letter-spacing: 0.03em;
  font-weight: bold;
  font-weight: bold;
}
@media screen and (max-width: 519px) {
  .eventDetail__date {
    font-size: min(4vw, 15px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
}

.eventDetail__description {
  margin-top: 8px;
}
@media screen and (max-width: 519px) {
  .eventDetail__description {
    margin-top: 2.1333333333vw;
  }
}

.eventDetailItem {
  margin-top: 32px;
}
.eventDetailItem ol {
  margin-left: 1.5em;
  margin-bottom: 24px;
}
@media screen and (max-width: 519px) {
  .eventDetailItem ol {
    margin-left: 1.5em;
    margin-bottom: 6.4vw;
  }
}
.eventDetailItem ol li {
  margin-bottom: 4px;
}
@media screen and (max-width: 519px) {
  .eventDetailItem ol li {
    margin-bottom: 2.6666666667vw;
  }
}
.eventDetailItem ol li ol {
  padding-left: 0;
  margin-left: 2em;
  margin-bottom: 0;
}
.eventDetailItem ol li ol li {
  list-style: disc;
  margin-bottom: 0;
}

.eventDetailItem__heading {
  color: #64BBBF;
  font-weight: bold;
  font-size: 13px;
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  font-size: 15px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  font-weight: bold;
}
@media screen and (max-width: 519px) {
  .eventDetailItem__heading {
    font-size: min(4vw, 15px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
}
.eventDetailItem__heading:after {
  content: "";
  display: inline-block;
  border-top: 1px solid #80C3C6;
  flex: 1;
  margin-left: 10px;
}

.eventPageShare__list {
  display: flex;
}

.eventPageShare__item {
  width: 16px;
  height: 16px;
  margin-right: 16px;
}
.eventPageShare__item--inner {
  width: 16px;
  height: 16px;
}
.eventPageShare__item--inner > img {
  width: 16px;
  height: 16px;
}
#page-event .events::before {
  content: "";
  position: absolute;
  top: 180px;
  left: -150px;
  width: 312px;
  height: 430px;
  transform: rotate(-27deg);
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
}
@media screen and (max-width: 959px) {
  #page-event .events::before {
    transform: rotate(0deg);
    top: 0;
    left: -45.3333333333vw;
    width: 71.4666666667vw;
    height: 98.6666666667vw;
  }
}
#page-event .events::after {
  content: "";
  position: absolute;
  top: 596px;
  right: -254px;
  width: 312px;
  height: 596px;
  transform: rotate(-70deg);
  border-radius: 596px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
}
@media screen and (max-width: 959px) {
  #page-event .events::after {
    top: 531px;
    right: -27.7333333333vw;
    width: 56.8vw;
    height: 108.2666666667vw;
  }
}
#page-event .events__inner {
  position: relative;
  padding-block: 80px 196px;
}
@media screen and (max-width: 959px) {
  #page-event .events__inner {
    padding-block: 60px 120px;
  }
}
#page-event .events__list {
  display: flex;
  flex-wrap: wrap;
  gap: 80px 4.62700661%;
}
@media screen and (max-width: 959px) {
  #page-event .events__list {
    max-width: 505px;
    gap: 48px;
  }
}
#page-event .events__list .item {
  width: 47.686496695%;
}
@media screen and (max-width: 959px) {
  #page-event .events__list .item {
    width: 100%;
  }
}
#page-event .events__list .item__thumbnail {
  border-radius: 8px;
  overflow: hidden;
}
#page-event .events__list .item__body {
  margin-top: 20px;
  padding-inline: 20px;
}
@media screen and (max-width: 959px) {
  #page-event .events__list .item__body {
    margin-top: 16px;
    padding-inline: 16px;
  }
}
#page-event .events__list .item__cats {
  margin-bottom: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media screen and (max-width: 959px) {
  #page-event .events__list .item__cats {
    margin-bottom: 8px;
    gap: 5px;
  }
}
#page-event .events__list .item__cat {
  position: relative;
  padding: 1px 8px;
  border-radius: 3px;
  background: #999999;
  color: #FFFFFF;
  font-size: calc(1.2 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.08em;
  overflow: hidden;
}
@media screen and (max-width: 959px) {
  #page-event .events__list .item__cat {
    padding: 0 6px;
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-event .events__list .item__cat--type-free {
  background: #DD9731;
}
#page-event .events__list .item__cat--type-online {
  background: #54ADB1;
}
#page-event .events__list .item__cat::before {
  content: "";
  display: block;
  width: 43px;
  height: 11px;
  position: absolute;
  right: -20px;
  top: -6px;
  background-color: rgba(255, 255, 255, 0.6);
  filter: blur(8px);
}
#page-event .events__list .item__title {
  font-size: calc(1.8 * var(--unit));
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  #page-event .events__list .item__title {
    font-size: min(4vw, 15px);
  }
}
#page-event .events__list .item__detail {
  width: 100%;
  margin-top: 10px;
  padding-top: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border-top: 1px solid #D7D7D7;
}
@media screen and (max-width: 1279px) {
  #page-event .events__list .item__detail {
    gap: 12px;
  }
}
@media screen and (max-width: 959px) {
  #page-event .events__list .item__detail {
    margin-top: 8px;
    padding-top: 9px;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
}
#page-event .events__list .item__schedule {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
#page-event .events__list .item__date ul li {
  color: #54ADB1;
  font-size: calc(1.4 * var(--unit));
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 959px) {
  #page-event .events__list .item__date ul li {
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-event .events__list .item__status {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 2px 9px;
  border-radius: 20px;
  border: 1px solid #DD9731;
  color: #DD9731;
  font-size: calc(1.2 * var(--unit));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 959px) {
  #page-event .events__list .item__status {
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-event .events__list .item__status::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #DD9731;
}
#page-event .events__list .item__status.disabled {
  border: 0;
  background: #EEE;
  color: #AAA;
}
#page-event .events__list .item__status.disabled::before {
  display: none;
}
#page-event .events__list .item__link {
  flex-shrink: 0;
  padding: 12px 25px;
  background: #FFFFFF;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.05);
  font-size: calc(1.3 * var(--unit));
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  border-radius: 50px;
}
@media screen and (max-width: 959px) {
  #page-event .events__list .item__link {
    font-size: min(3.2vw, 12px);
    padding: 10px 24px;
  }
}

.eventPageMainSection {
  margin-top: 64px;
}
.eventPageMainSection:first-child {
  margin-top: 0;
}
.eventPageMainSection > p {
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  margin-bottom: 24px;
}
@media screen and (max-width: 519px) {
  .eventPageMainSection > p {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.85;
    letter-spacing: 0.03em;
    margin-bottom: 6.4vw;
  }
}
.eventPageMainSection > p .red {
  color: #C94545;
}
.eventPageMainSection a {
  color: #80C3C6;
  text-decoration: underline;
}

.eventPageMainSection__title {
  font-size: 22px;
  line-height: 1.75;
  letter-spacing: 0.03em;
  font-weight: bold;
  color: #64BBBF;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
}
.eventPageMainSection__title:after {
  content: "";
  display: inline-block;
  border-top: 1px solid #80C3C6;
  flex: 1;
  margin-left: 10px;
}

.sideInfoBlock {
  width: calc((100% - 32px) / 3);
  background-color: #F5FAFA;
  border-radius: 8px;
}
@media screen and (max-width: 959px) {
  .sideInfoBlock {
    width: 100%;
    margin-bottom: min(17.0666666667vw, 64px);
  }
}

.sideInfoBlockButton {
  background-color: #64BBBF;
  height: 60px;
  border-radius: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  margin: 24px;
}

.sideInfoBlockItem {
  padding: 24px;
  border-bottom: 1px solid rgba(128, 195, 198, 0.3);
}
.sideInfoBlockItem .note {
  color: #C94545;
}
@media screen and (max-width: 519px) {
  .sideInfoBlockItem {
    padding: 6.4vw;
  }
}

.sideInfoBlockItem__title {
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  font-weight: bold;
  margin-bottom: 8px;
}

#page-faq .faq::before {
  content: "";
  position: absolute;
  top: 60px;
  left: -150px;
  width: 312px;
  height: 430px;
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
  transform: rotate(-27deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-faq .faq::before {
    transform: rotate(0deg) translateY(var(--parallax-y, 0px));
    top: 0;
    left: -45.3333333333vw;
    width: 71.4666666667vw;
    height: 98.6666666667vw;
  }
}
#page-faq .faq::after {
  content: "";
  position: absolute;
  top: 550px;
  right: -254px;
  width: 312px;
  height: 596px;
  border-radius: 596px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
  transform: rotate(-70deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-faq .faq::after {
    top: 531px;
    right: -27.7333333333vw;
    width: 56.8vw;
    height: 108.2666666667vw;
  }
}
#page-faq .faq__inner {
  padding-block: 80px 180px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 959px) {
  #page-faq .faq__inner {
    padding-block: 60px 80px;
  }
}
#page-faq .faq__content {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 64px;
}
@media screen and (max-width: 959px) {
  #page-faq .faq__content {
    gap: 60px;
  }
}
#page-faq .faq__cat {
  margin-bottom: 32px;
  font-size: calc(2.2 * var(--unit));
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-faq .faq__cat {
    margin-bottom: 24px;
    font-size: min(5.3333333333vw, 20px);
  }
}
#page-faq .faq__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
#page-faq .faq__list .item {
  background: #FFFFFF;
  border-radius: 14px;
}
#page-faq .faq__list .item__q {
  position: relative;
  padding: 32px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
@media screen and (max-width: 959px) {
  #page-faq .faq__list .item__q {
    padding: 22px;
    align-items: flex-start;
    gap: 16px;
  }
}
#page-faq .faq__list .item__q::after {
  content: "";
  flex-shrink: 0;
  transform: rotate(180deg);
  width: 40px;
  height: 40px;
  background-image: url(../images/v2/common/icon_arrow.svg);
  background-size: 10px 10px;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 959px) {
  #page-faq .faq__list .item__q::after {
    background-size: 8px 8px;
  }
}
#page-faq .faq__list .item__q.is-opened::after {
  transform: rotate(0deg);
}
#page-faq .faq__list .item__q p {
  font-size: calc(1.8 * var(--unit));
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-faq .faq__list .item__q p {
    font-size: min(4.2666666667vw, 16px);
  }
}
#page-faq .faq__list .item__a {
  display: none;
  padding: 0 32px 32px 32px;
}
@media screen and (max-width: 959px) {
  #page-faq .faq__list .item__a {
    padding: 0 22px 22px 22px;
  }
}
#page-faq .faq__list .item__a p {
  padding-top: 24px;
  border-top: 1px solid rgb(215, 215, 215);
  font-size: calc(1.6 * var(--unit));
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-faq .faq__list .item__a p {
    padding-top: 16px;
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-faq .faq__list .item__a a {
  display: block;
  font-size: calc(1.6 * var(--unit));
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: #63BFA7;
  text-decoration: underline;
}
@media screen and (max-width: 959px) {
  #page-faq .faq__list .item__a a {
    font-size: min(3.7333333333vw, 14px);
  }
}

#about {
  position: relative;
  padding: 0;
}
#about .section__header {
  margin: 0;
  padding: 100px 0 9.7vw;
  background-image: url("../images/about-bg-pc.png");
  background-size: cover;
}
@media screen and (max-width: 959px) {
  #about .section__header {
    padding: 100px 0 140px;
  }
}
@media screen and (max-width: 519px) {
  #about .section__header {
    padding: 60px 0 29.3vw;
    background-image: url("../images/about-bg-sp.png");
  }
}
#about .section__inner {
  position: relative;
  padding-top: 15.3vw;
}
@media screen and (max-width: 959px) {
  #about .section__inner {
    padding-top: 160px;
  }
}
@media screen and (max-width: 519px) {
  #about .section__inner {
    padding-top: 29.3vw;
  }
}
#about .sectionHeading--en {
  opacity: 0.5;
  color: #FFFFFF;
}
#about .sectionHeading--ja {
  display: inline;
  padding: 4px 10px;
  background-color: #FFFFFF;
  color: #64BBBF;
  line-height: 1.8;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
#about .sectionHeading--ja br {
  display: none;
}
@media screen and (max-width: 959px) {
  #about .sectionHeading--ja br {
    display: block;
  }
}
#about .about__subtitle {
  color: #FFFFFF;
  font-weight: normal;
  font-size: 20px;
}
#about .about__content {
  padding-bottom: 100px;
  background-color: #ECF6F6;
}
@media screen and (max-width: 519px) {
  #about .about__content {
    padding-bottom: 60px;
  }
}
#about .about__img {
  position: absolute;
  top: -6.9vw;
  left: 50%;
  transform: translateX(-50%);
  width: 47.5vw;
}
@media screen and (max-width: 959px) {
  #about .about__img {
    top: -120px;
    min-width: 600px;
  }
}
@media screen and (max-width: 519px) {
  #about .about__img {
    top: -24vw;
    width: 89.3%;
    min-width: auto;
  }
}
#about .about__txt:not(:first-child) {
  margin-top: 20px;
}
#about .about__description {
  width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 959px) {
  #about .about__description {
    width: 100%;
  }
}
#about .about__description img {
  width: 72%;
  margin: 10px auto 0;
}

#page-top .briefing-v2__inner {
  position: relative;
  z-index: 1;
  padding-block: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 53px;
}
@media screen and (max-width: 959px) {
  #page-top .briefing-v2__inner {
    padding-block: 56px 46px;
    gap: 17px;
  }
}
#page-top .briefing-v2__inner .c-h2__en {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-top .briefing-v2__inner .c-h2--gap-l {
    gap: 32px;
  }
}
#page-top .briefing-v2__body {
  max-width: 720px;
}
#page-top .briefing-v2__body p {
  text-align: center;
  font-size: calc(1.5 * var(--unit));
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-top .briefing-v2__body p {
    font-size: min(3.7333333333vw, 14px);
    line-height: 2;
    letter-spacing: 0.06em;
    text-align: left;
  }
}
@media screen and (max-width: 959px) {
  #page-top .briefing-v2__body .pc-br {
    display: none;
  }
}
#page-top .briefing-v2__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 62px;
}
@media screen and (max-width: 959px) {
  #page-top .briefing-v2__content {
    gap: 41px;
    width: 100%;
  }
}
#page-top .whatis-v2 {
  position: relative;
}
#page-top .whatis-v2::before {
  content: "";
  position: absolute;
  top: -62px;
  right: -136px;
  width: 312px;
  height: 430px;
  border-radius: 50%;
  background: #F8E9BE;
  filter: blur(180px);
  z-index: 0;
  pointer-events: none;
}
@media screen and (max-width: 959px) {
  #page-top .whatis-v2::before {
    top: 9.533333vw;
    right: -21.3333333333vw;
    width: 56.8vw;
    height: 108.2666666667vw;
    filter: blur(90px);
  }
}
#page-top .whatis-v2__inner {
  position: relative;
  z-index: 1;
  padding-block: 72px 120px;
}
@media screen and (max-width: 959px) {
  #page-top .whatis-v2__inner {
    padding-block: 68px 160px;
  }
}
#page-top .whatis-v2__head {
  max-width: 537px;
}
#page-top .whatis-v2__head .c-h2__en {
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-top .whatis-v2__head .c-h2__en {
    font-size: min(2.9333333333vw, 11px);
    font-weight: 600;
  }
}
@media screen and (max-width: 959px) {
  #page-top .whatis-v2__head .c-h2__ja--xl {
    line-height: 1.35;
  }
}
#page-top .whatis-v2__body {
  margin-top: 100px;
  display: grid;
  grid-template-columns: minmax(0, 537px) minmax(0, 1fr);
  -moz-column-gap: 6%;
       column-gap: 6%;
  align-items: start;
}
@media screen and (max-width: 959px) {
  #page-top .whatis-v2__body {
    margin-top: 82px;
    grid-template-columns: 1fr;
  }
}
#page-top .whatis-v2__content {
  display: flex;
  flex-direction: column;
  gap: 90px;
}
@media screen and (max-width: 959px) {
  #page-top .whatis-v2__content {
    display: contents;
  }
}
#page-top .whatis-v2__lead {
  margin-top: 0;
  font-size: calc(3.2 * var(--unit));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-top .whatis-v2__lead {
    order: 1;
    font-size: min(5.3333333333vw, 20px);
    letter-spacing: 0.1em;
  }
}
#page-top .whatis-v2__image {
  margin-top: 14px;
  justify-self: end;
  width: 100%;
  max-width: 361px;
}
@media screen and (max-width: 959px) {
  #page-top .whatis-v2__image {
    order: 2;
    margin-top: 60px;
    width: 45.8204334365%;
    max-width: none;
    justify-self: end;
  }
}
#page-top .whatis-v2__photo {
  position: relative;
  width: 100%;
  aspect-ratio: 361/496;
  overflow: hidden;
}
@media screen and (max-width: 959px) {
  #page-top .whatis-v2__photo {
    aspect-ratio: 148/203;
  }
}
#page-top .whatis-v2__photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#page-top .whatis-v2__text {
  max-width: 537px;
}
@media screen and (max-width: 959px) {
  #page-top .whatis-v2__text {
    order: 3;
    margin-top: 60px;
    max-width: none;
  }
}
#page-top .whatis-v2__text p {
  margin-top: 0;
  font-size: calc(1.6 * var(--unit));
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 959px) {
  #page-top .whatis-v2__text p {
    font-size: min(3.7333333333vw, 14px);
    letter-spacing: 0.12em;
    line-height: 2.2;
  }
}
#page-top .manabu-v2::after {
  content: "";
  position: absolute;
  bottom: -208px;
  left: -55px;
  width: 312px;
  height: 430px;
  transform: rotate(75deg) translateY(var(--parallax-y, 0px));
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-top .manabu-v2::after {
    display: none;
  }
}
#page-top .manabu-v2__visual {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  min-height: 800px;
  z-index: 1;
}
#page-top .manabu-v2__visual img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#page-top .manabu-v2__inner {
  position: relative;
  z-index: 2;
  margin-top: -30vh;
  padding-block: 0 70vh;
  padding-inline: 120px;
}
@media screen and (max-width: 1279px) {
  #page-top .manabu-v2__inner {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 959px) {
  #page-top .manabu-v2__inner {
    margin-top: -20vh;
    padding-block: 0 100vh;
    padding-inline: min(10.6666666667vw, 40px);
  }
}
@media screen and (max-width: 519px) {
  #page-top .manabu-v2__inner {
    padding-inline: 5.3333333333vw;
  }
}
#page-top .manabu-v2__lead {
  margin-top: 24px;
  color: #FFFFFF;
  font-size: calc(2.2 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  #page-top .manabu-v2__lead {
    margin-top: 20px;
    font-size: min(4.5333333333vw, 17px);
  }
}
#page-top .manabu-v2__body {
  margin-top: 161px;
  margin-left: auto;
  width: 63.2277834525%;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 959px) {
  #page-top .manabu-v2__body {
    margin-top: 60px;
    width: 100%;
    gap: 30px;
  }
}
#page-top .manabu-v2__body p {
  color: #FFFFFF;
  font-feature-settings: "palt" on;
  font-size: calc(1.6 * var(--unit));
  line-height: 2.2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
  #page-top .manabu-v2__body p {
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-top .briefing-v2 {
  position: relative;
  overflow: hidden;
  background-image: url("../images/v2/common/bg_blue_pc.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 959px) {
  #page-top .briefing-v2 {
    background-image: url("../images/v2/common/bg_blue_sp.webp");
  }
}
#page-top .briefing-v2__shizuku {
  position: absolute;
  right: -40px;
  bottom: -160px;
  width: 715px;
  height: 687px;
  z-index: 0;
  pointer-events: none;
  opacity: 1;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 959px) {
  #page-top .briefing-v2__shizuku {
    right: -30vw;
    bottom: -20vw;
    width: 120vw;
    height: auto;
    opacity: 1;
  }
}
#page-top .briefing-v2__shizuku img {
  display: block;
  width: 100%;
  height: auto;
}
#page-top .briefing-v2__body p {
  color: #FFFFFF;
}
#page-top .briefing-v2__actions {
  display: flex;
  gap: 21px;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 519px) {
  #page-top .briefing-v2__actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 16px;
  }
}
#page-top .environment-v2__inner {
  padding-block: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 74px;
}
@media screen and (max-width: 959px) {
  #page-top .environment-v2__inner {
    padding-block: 80px;
    align-items: stretch;
    gap: 82px;
  }
}
#page-top .environment-v2__intro {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
#page-top .environment-v2__intro p {
  margin-top: 0;
  font-size: calc(1.6 * var(--unit));
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 959px) {
  #page-top .environment-v2__intro p {
    font-size: min(3.7333333333vw, 14px);
    letter-spacing: 0.12em;
  }
}
@media screen and (max-width: 959px) {
  #page-top .environment-v2__intro {
    align-items: flex-start;
    text-align: left;
    width: 100%;
    gap: 82px;
  }
}
@media screen and (max-width: 959px) {
  #page-top .environment-v2__intro .c-h2--center {
    align-items: flex-start;
    text-align: left;
  }
}
#page-top .environment-v2__heading .c-h2__en {
  letter-spacing: 0.22em;
}
@media screen and (max-width: 959px) {
  #page-top .environment-v2__heading .c-h2__en {
    order: 2;
  }
  #page-top .environment-v2__heading .c-h2__ja {
    order: 1;
  }
}
#page-top .environment-v2__title-en {
  font-family: "Instrument Sans", sans-serif;
  font-weight: 600;
  font-size: calc(3.4 * var(--unit));
  letter-spacing: 0.06em;
  line-height: 1;
}
@media screen and (max-width: 959px) {
  #page-top .environment-v2__title-en {
    display: block;
    font-size: min(7.4666666667vw, 28px);
    letter-spacing: 0.06em;
    margin-bottom: 10px;
  }
}
#page-top .environment-v2__list {
  max-width: 1000px;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 959px) {
  #page-top .environment-v2__list {
    display: flex;
    flex-direction: column;
    gap: 82px;
  }
}
#page-top .environment-v2__item {
  display: flex;
  align-items: flex-start;
  gap: 80px;
  padding-block: 56px;
}
#page-top .environment-v2__item + #page-top .environment-v2__item {
  border-top: 1px solid rgba(134, 167, 158, 0.25);
}
@media screen and (max-width: 959px) {
  #page-top .environment-v2__item {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 32px;
    padding-block: 0;
  }
  #page-top .environment-v2__item + #page-top .environment-v2__item {
    border-top: none;
  }
}
#page-top .environment-v2__item-visual {
  flex-shrink: 0;
  width: 420px;
  max-width: 42%;
  aspect-ratio: 420/258;
  border-radius: 16px;
  overflow: hidden;
  background: transparent;
}
@media screen and (max-width: 959px) {
  #page-top .environment-v2__item-visual {
    width: 75.2321981424%;
    max-width: none;
    aspect-ratio: 243/149;
  }
}
#page-top .environment-v2__item-visual img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#page-top .environment-v2__item-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media screen and (max-width: 959px) {
  #page-top .environment-v2__item-body {
    width: 100%;
    gap: 24px;
  }
}
#page-top .environment-v2__item-body p {
  margin-top: 0;
  font-size: calc(1.6 * var(--unit));
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.12em;
  color: #333333;
}
@media screen and (max-width: 959px) {
  #page-top .environment-v2__item-body p {
    font-size: min(3.7333333333vw, 14px);
    letter-spacing: 0.12em;
  }
}
#page-top .environment-v2__item-head {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (max-width: 959px) {
  #page-top .environment-v2__item-head {
    flex-direction: row;
    align-items: flex-start;
    gap: 25px;
  }
}
#page-top .environment-v2__item-head h3 {
  margin-top: 0;
  font-size: calc(2.2 * var(--unit));
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.055em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 959px) {
  #page-top .environment-v2__item-head h3 {
    flex: 1;
    min-width: 0;
    font-size: min(4.8vw, 18px);
    line-height: 1.65;
    letter-spacing: 0.1em;
  }
}
#page-top .environment-v2__item-num {
  display: inline-block;
  font-family: "Instrument Serif", serif;
  color: #DD9731;
  font-size: calc(2.8 * var(--unit));
  line-height: 1;
  letter-spacing: 0.017em;
  opacity: 0.85;
}
@media screen and (max-width: 959px) {
  #page-top .environment-v2__item-num {
    flex-shrink: 0;
    width: 40px;
    padding-top: 7px;
    font-size: min(11.4666666667vw, 43px);
    letter-spacing: 0.01em;
    text-align: center;
  }
}
#page-top .moreinfo-v2 {
  background: rgba(199, 225, 218, 0.28);
}
#page-top .moreinfo-v2__inner {
  padding-block: 150px;
  display: flex;
  flex-direction: column;
  gap: 56px;
}
@media screen and (max-width: 959px) {
  #page-top .moreinfo-v2__inner {
    padding-block: 80px;
    gap: 0;
  }
}
#page-top .moreinfo-v2__intro {
  text-align: center;
  font-feature-settings: "palt";
}
#page-top .moreinfo-v2__intro .c-h2__en {
  letter-spacing: 0.22em;
}
#page-top .moreinfo-v2__intro .c-h2__ja {
  font-feature-settings: "palt";
}
@media screen and (max-width: 959px) {
  #page-top .moreinfo-v2__intro {
    order: 1;
  }
}
#page-top .moreinfo-v2__lead {
  margin-top: 0;
  text-align: center;
  font-size: calc(1.6 * var(--unit));
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.06em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 959px) {
  #page-top .moreinfo-v2__lead {
    order: 2;
    margin-top: 20px;
    text-align: left;
    font-size: min(3.7333333333vw, 14px);
    letter-spacing: 0.03em;
  }
  #page-top .moreinfo-v2__lead br {
    display: none;
  }
}
#page-top .moreinfo-v2__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media screen and (max-width: 959px) {
  #page-top .moreinfo-v2__list {
    order: 3;
    margin-top: 32px;
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
#page-top .moreinfo-v2__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  height: 100%;
  padding: 32px 24px 32px 25px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.55);
  border-top: 1px solid rgba(255, 255, 255, 0.8);
  border-left: 1px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.03);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  list-style: none;
  font-feature-settings: "palt";
}
@media screen and (max-width: 959px) {
  #page-top .moreinfo-v2__card {
    gap: 0;
    height: auto;
    padding: 33px 24px 32px 25px;
  }
}
#page-top .moreinfo-v2__card h3 {
  margin-top: 10px;
  font-size: calc(1.8 * var(--unit));
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.85;
}
@media screen and (max-width: 959px) {
  #page-top .moreinfo-v2__card h3 {
    font-size: min(4vw, 15px);
    letter-spacing: 0.06em;
    line-height: 1.85;
  }
}
#page-top .moreinfo-v2__card p {
  margin-top: 0;
  padding-top: 11px;
  font-size: calc(1.4 * var(--unit));
  line-height: 1.9;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 959px) {
  #page-top .moreinfo-v2__card p {
    margin-top: 12px;
    padding-top: 0;
    font-size: min(3.2vw, 12px);
    line-height: 1.9;
    letter-spacing: 0.04em;
  }
}
#page-top .moreinfo-v2__card-head {
  width: 100%;
}
#page-top .moreinfo-v2__label {
  display: inline-block;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.2 * var(--unit));
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #86A79E;
}
@media screen and (max-width: 959px) {
  #page-top .moreinfo-v2__label {
    font-size: min(2.6666666667vw, 10px);
    font-weight: 400;
    letter-spacing: 0.18em;
  }
}
#page-top .moreinfo-v2__cta {
  margin-top: auto;
  padding-top: 26px;
  display: flex;
  align-items: flex-end;
  width: 100%;
}
@media screen and (max-width: 959px) {
  #page-top .moreinfo-v2__cta {
    margin-top: 0;
    padding-top: 20px;
  }
}
#page-top .moreinfo-v2__btn {
  width: auto;
}
@media screen and (max-width: 959px) {
  #page-top .moreinfo-v2__btn {
    width: 100%;
    justify-content: space-between;
  }
}
#page-top .moreinfo-v2__sns {
  margin-top: auto;
  padding-top: 26px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  width: 100%;
}
@media screen and (max-width: 959px) {
  #page-top .moreinfo-v2__sns {
    margin-top: 0;
    padding-top: 20px;
  }
}
#page-top .moreinfo-v2__sns li {
  list-style: none;
}
#page-top .moreinfo-v2__sns a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #333333;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
#page-top .moreinfo-v2__sns a img {
  width: 17px;
  height: 17px;
}
#page-top .moreinfo-v2__sns a:hover {
  transform: translateY(-2px);
  opacity: 0.85;
}
#page-top .is-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: repeating-linear-gradient(-45deg, #ededed, #ededed 10px, #f6f6f6 10px, #f6f6f6 20px);
  color: #b7b7b7;
  font-family: "Noto Serif JP", serif;
  font-size: calc(1.2 * var(--unit));
  letter-spacing: 0.15em;
}
#page-top .journey-v2 {
  background: #f9f9f2;
  overflow: visible;
}
#page-top .journey-v2__inner {
  padding-block: 140px 0;
  overflow: visible;
}
@media screen and (max-width: 959px) {
  #page-top .journey-v2__inner {
    padding-block: 80px 0;
  }
}
#page-top .journey-v2__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
  margin-bottom: 72px;
}
@media screen and (max-width: 959px) {
  #page-top .journey-v2__intro {
    gap: 82px;
    margin-bottom: 61px;
  }
}
#page-top .journey-v2__intro .c-h2 {
  max-width: 480px;
}
#page-top .journey-v2__intro p {
  align-self: flex-end;
  max-width: 530px;
  margin-top: 0;
  font-size: calc(1.6 * var(--unit));
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 959px) {
  #page-top .journey-v2__intro p {
    align-self: stretch;
    max-width: none;
    width: 100%;
    font-size: min(3.7333333333vw, 14px);
    letter-spacing: 0.06em;
  }
}
#page-top .journey-v2__heading .c-h2__en {
  letter-spacing: 0.22em;
}
@media screen and (max-width: 959px) {
  #page-top .journey-v2__heading .c-h2__en {
    order: 2;
  }
  #page-top .journey-v2__heading .c-h2__ja {
    order: 1;
  }
}
#page-top .journey-v2__title-en {
  font-family: "Instrument Sans", sans-serif;
  font-weight: 600;
  font-size: calc(3.4 * var(--unit));
  letter-spacing: 0.06em;
  line-height: 1;
}
@media screen and (max-width: 959px) {
  #page-top .journey-v2__title-en {
    font-size: min(5.8666666667vw, 22px);
  }
}
#page-top .journey-v2__slider-wrap {
  width: 100%;
  padding-bottom: 120px;
  overflow: visible;
}
@media screen and (max-width: 959px) {
  #page-top .journey-v2__slider-wrap {
    padding-bottom: 80px;
  }
}
#page-top .journey-v2__swiper {
  overflow: visible;
}
#page-top .journey-v2__swiper .swiper-wrapper {
  position: relative;
  padding-top: 72px;
}
@media screen and (max-width: 959px) {
  #page-top .journey-v2__swiper .swiper-wrapper {
    padding-top: 40px;
  }
}
#page-top .journey-v2__rail {
  position: absolute;
  top: 0;
  left: 0;
  height: 1px;
  background: #d7d7d7;
  pointer-events: none;
}
#page-top .journey-v2__slide {
  width: 321px;
  height: auto;
}
@media screen and (max-width: 519px) {
  #page-top .journey-v2__slide {
    width: 78vw;
  }
}
#page-top .journey-v2__slide a {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 16px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
#page-top .journey-v2__slide a:hover .journey-v2__thumb {
  opacity: 0.85;
}
#page-top .journey-v2__thumb {
  width: 100%;
  aspect-ratio: 317/166;
  border-radius: 5px;
  overflow: hidden;
  transition: opacity 0.3s ease;
}
#page-top .journey-v2__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  pointer-events: none;
}
#page-top .journey-v2 h3 {
  margin-top: 0;
  font-size: calc(1.6 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.12em;
}
#page-top .journey-v2__date {
  display: block;
  margin-top: auto;
  padding-top: 10px;
  text-align: right;
  font-size: calc(1.2 * var(--unit));
  font-weight: 700;
  letter-spacing: 0.07em;
  color: #aaa;
  line-height: 1.5;
}
#page-top .courselead-v2__inner {
  padding-block: 120px;
}
@media screen and (max-width: 959px) {
  #page-top .courselead-v2__inner {
    padding-block: 80px;
  }
}
#page-top .courselead-v2__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
  margin-bottom: 72px;
}
@media screen and (max-width: 959px) {
  #page-top .courselead-v2__intro {
    gap: 82px;
    margin-bottom: 82px;
  }
}
#page-top .courselead-v2__heading {
  max-width: 420px;
}
#page-top .courselead-v2__heading .c-h2__en {
  letter-spacing: 0.22em;
}
#page-top .courselead-v2__heading .c-h2__ja {
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 959px) {
  #page-top .courselead-v2__heading .c-h2__en {
    order: 2;
  }
  #page-top .courselead-v2__heading .c-h2__ja {
    order: 1;
  }
}
#page-top .courselead-v2__intro p {
  align-self: flex-end;
  max-width: 530px;
  margin-top: 0;
  font-size: calc(1.6 * var(--unit));
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.12em;
  color: #333333;
}
@media screen and (max-width: 959px) {
  #page-top .courselead-v2__intro p {
    align-self: stretch;
    max-width: none;
    width: 100%;
    font-size: min(3.7333333333vw, 14px);
    letter-spacing: 0.06em;
  }
}
#page-top .courselead-v2__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media screen and (max-width: 959px) {
  #page-top .courselead-v2__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 9px;
  }
}
#page-top .courselead-v2__list li {
  list-style: none;
}
#page-top .courselead-v2__list li:last-child:nth-child(3n+1) {
  grid-column: 2;
}
@media screen and (max-width: 959px) {
  #page-top .courselead-v2__list li:last-child:nth-child(3n+1) {
    grid-column: auto;
  }
}
#page-top .courselead-v2__card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 50px 40px 40px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, 0.8);
  overflow: hidden;
}
@media screen and (max-width: 959px) {
  #page-top .courselead-v2__card {
    gap: 20px;
    padding: 16px;
    border-radius: 12px;
  }
}
#page-top .courselead-v2__bg {
  position: absolute;
  inset: -40px -69px -38px -61px;
  z-index: 0;
  pointer-events: none;
  filter: blur(75px);
}
#page-top .courselead-v2__bg img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.2;
}
#page-top .courselead-v2__profile {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  text-align: center;
}
@media screen and (max-width: 959px) {
  #page-top .courselead-v2__profile {
    gap: 16px;
  }
}
#page-top .courselead-v2__photo {
  width: 168px;
  height: 168px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}
@media screen and (max-width: 959px) {
  #page-top .courselead-v2__photo {
    width: 64px;
    height: 64px;
  }
}
#page-top .courselead-v2__photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#page-top .courselead-v2__identity {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
#page-top .courselead-v2__profile h3 {
  margin: 0;
  font-size: calc(1.8 * var(--unit));
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.6;
  font-feature-settings: "palt";
}
@media screen and (max-width: 959px) {
  #page-top .courselead-v2__profile h3 {
    font-size: min(4.2666666667vw, 16px);
    letter-spacing: 0.08em;
  }
}
#page-top .courselead-v2__yomi {
  margin: 0;
  font-size: calc(1.3 * var(--unit));
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.12em;
  color: rgba(0, 0, 0, 0.5);
  font-feature-settings: "palt";
}
@media screen and (max-width: 959px) {
  #page-top .courselead-v2__yomi {
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-top .courselead-v2__meta {
  position: relative;
  z-index: 1;
  width: 100%;
  text-align: left;
}
#page-top .courselead-v2__meta dt {
  margin-bottom: 6px;
  font-size: calc(1.2 * var(--unit));
  font-weight: 500;
  line-height: 1.33;
  color: #54adb1;
}
@media screen and (max-width: 959px) {
  #page-top .courselead-v2__meta dt {
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-top .courselead-v2__meta dd {
  position: relative;
  margin: 0;
  padding-left: 1em;
  font-size: calc(1.3 * var(--unit));
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.06em;
  color: #333333;
  font-feature-settings: "palt";
}
@media screen and (max-width: 959px) {
  #page-top .courselead-v2__meta dd {
    font-size: min(2.6666666667vw, 10px);
    letter-spacing: 0.06em;
  }
}
#page-top .courselead-v2__meta dd::before {
  content: "・";
  position: absolute;
  left: 0;
  color: #54adb1;
  font-weight: 700;
}
#page-top .courselead-v2__meta dd + dd {
  margin-top: 2px;
}
#page-top .courses-v2__intro-block {
  position: relative;
  z-index: 1;
  overflow: visible;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__intro-block {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
#page-top .courses-v2__article {
  position: relative;
  z-index: 1;
  width: calc(100% - 495px + 36px - 63px);
  max-width: 537px;
}
@media screen and (max-width: 1279px) {
  #page-top .courses-v2__article {
    width: calc(100% - min(440px, 46vw) + 20px - 63px);
    max-width: none;
  }
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__article {
    display: contents;
    width: 100%;
    max-width: none;
  }
}
#page-top .courses-v2__article .c-h2__en {
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__article .c-h2 {
    order: 1;
  }
}
#page-top .courses-v2__desc {
  margin-top: 100px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__desc {
    order: 3;
    margin-top: 60px;
    gap: 28px;
  }
}
#page-top .courses-v2__desc p {
  font-size: calc(1.6 * var(--unit));
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.12em;
  color: #333333;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__desc p {
    font-size: min(3.7333333333vw, 14px);
    letter-spacing: 0.06em;
  }
}
#page-top .courses-v2__visual {
  position: absolute;
  top: 207px;
  right: -36px;
  width: 495px;
  max-width: none;
  overflow: hidden;
  z-index: 0;
}
@media screen and (max-width: 1279px) {
  #page-top .courses-v2__visual {
    right: -20px;
    width: min(440px, 46vw);
  }
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__visual {
    position: static;
    order: 2;
    top: auto;
    right: auto;
    width: 100%;
    margin-top: 82px;
    z-index: auto;
  }
}
#page-top .courses-v2__visual img {
  width: 100%;
  height: auto;
  display: block;
}
#page-top .courses-v2__diagram-label {
  font-family: "Noto Serif JP", serif;
  font-size: calc(1.4 * var(--unit));
  letter-spacing: 0.15em;
  color: #b7b7b7;
}
#page-top .courses-v2__slider-wrap {
  position: relative;
  z-index: 1;
  margin-top: 80px;
  width: 100%;
  overflow: visible;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__slider-wrap {
    margin-top: 56px;
  }
}
#page-top .courses-v2__swiper {
  overflow: visible;
}
#page-top .courses-v2__cards {
  position: relative;
}
@media (min-width: 960px) {
  #page-top .courses-v2__cards {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    transform: none !important;
  }
}
@media (min-width: 960px) and (max-width: 1279px) {
  #page-top .courses-v2__cards {
    gap: 16px;
  }
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__cards {
    padding-top: 40px;
  }
}
#page-top .courses-v2__rail {
  display: none;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__rail {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 1px;
    background: #d7d7d7;
    pointer-events: none;
  }
}
#page-top .courses-v2__swiper .swiper-slide {
  height: auto;
  box-sizing: border-box;
  min-width: 0;
}
@media (min-width: 960px) {
  #page-top .courses-v2__swiper .swiper-slide {
    width: auto !important;
    max-width: 100%;
  }
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__swiper .swiper-slide {
    width: 250px;
  }
}
#page-top .courses-v2__card {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 100%;
  box-sizing: border-box;
  padding: 32px 24px 28px 25px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.55);
  border-top: 1px solid rgba(255, 255, 255, 0.8);
  border-left: 1px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.03);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: transform 0.4s ease, background 0.4s ease;
}
#page-top .courses-v2__card:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.68);
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__card {
    padding: 24px 20px;
  }
}
#page-top .courses-v2__card-en {
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.2 * var(--unit));
  letter-spacing: 0.18em;
  color: #86A79E;
  text-transform: uppercase;
}
#page-top .courses-v2__card-name {
  margin-top: 8px;
  font-size: calc(2 * var(--unit));
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
#page-top .courses-v2__card-meta {
  margin-top: 20px;
}
#page-top .courses-v2__card-meta dt {
  font-size: calc(1.1 * var(--unit));
  letter-spacing: 0.1em;
  color: #86A79E;
  font-weight: 700;
}
#page-top .courses-v2__card-meta dd {
  margin: 3px 0 13px;
  font-size: calc(1.3 * var(--unit));
  line-height: 1.8;
  letter-spacing: 0.04em;
}
#page-top .courses-v2__card-meta dd:last-child {
  margin-bottom: 0;
}
#page-top .courses-v2__card-actions {
  margin-top: auto;
  padding-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  min-width: 0;
}
#page-top .courses-v2__card-actions .c-button {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 12px 16px;
  font-size: calc(1.4 * var(--unit));
  justify-content: space-between;
  gap: 12px;
}
#page-top .courses-v2__card-actions .c-button span {
  min-width: 0;
}
#page-top .courses-v2__compare {
  margin-top: 64px;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__compare {
    margin-top: 40px;
  }
}
#page-top .courses-v2__compare-title {
  text-align: center;
  font-size: calc(2 * var(--unit));
  letter-spacing: 0.08em;
  margin-bottom: 24px;
  color: #fff;
}
#page-top .courses-v2__compare-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
#page-top .courses-v2__compare-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 680px;
  color: #fff;
}
#page-top .courses-v2__compare-table th,
#page-top .courses-v2__compare-table td {
  padding: 16px 18px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  font-size: calc(1.4 * var(--unit));
  line-height: 1.8;
  letter-spacing: 0.04em;
}
#page-top .courses-v2__compare-table thead th {
  font-weight: 600;
  white-space: nowrap;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
#page-top .courses-v2__compare-table tbody th {
  font-weight: 600;
  white-space: nowrap;
}

.adviser {
  display: flex;
}
@media screen and (max-width: 519px) {
  .adviser {
    display: block;
  }
}

.adviser__head {
  width: calc((100% - 168px) / 3);
  margin: 0 auto;
}
@media screen and (max-width: 959px) {
  .adviser__head {
    width: 30%;
    align-items: center;
    margin: 0 min(5.3333333333vw, 20px) 0 0;
  }
}
@media screen and (max-width: 519px) {
  .adviser__head {
    display: flex;
    width: 100%;
    margin-bottom: min(4.2666666667vw, 16px);
  }
}

@media screen and (max-width: 519px) {
  .adviserHead__inner {
    display: block;
  }
}

@media screen and (max-width: 519px) {
  .adviserHead__image {
    width: 100%;
    display: flex;
    align-items: center;
  }
}

.adviserHead__image img {
  width: 168px;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (max-width: 959px) {
  .adviserHead__image img {
    width: min(34.1333333333vw, 128px);
  }
}
@media screen and (max-width: 519px) {
  .adviserHead__image img {
    width: min(21.3333333333vw, 80px);
    margin: 0 min(4.2666666667vw, 16px) 0 0;
  }
}

.adviserHead__title {
  font-size: 12px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  color: #C6C6C6;
  text-align: center;
  margin-top: 12px;
}
@media screen and (max-width: 519px) {
  .adviserHead__title {
    text-align: left;
    margin-top: 0;
  }
}

.adviserHead__name {
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 519px) {
  .adviserHead__name {
    text-align: left;
  }
}

.adviser__body {
  flex: 1;
}

.adviserBody__description {
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}

.adviserBody__details {
  margin-top: 20px;
  padding: 24px 32px;
  background-color: #F4F4F4;
  font-size: 10px;
  display: none;
}

.adviserBodyDetails__inner {
  display: flex;
}
@media screen and (max-width: 959px) {
  .adviserBodyDetails__inner {
    display: block;
  }
}

.adviserBodyDetails__left,
.adviserBodyDetails__right {
  width: 100%;
}
.adviserBodyDetails__left ul,
.adviserBodyDetails__right ul {
  margin-bottom: 10px;
}
.adviserBodyDetails__left ul li.title,
.adviserBodyDetails__right ul li.title {
  color: #80C3C6;
  margin-bottom: 4px;
}
.adviserBodyDetails__left ul li a,
.adviserBodyDetails__right ul li a {
  text-decoration: underline;
}
.adviserBodyDetails__left ul li a:hover,
.adviserBodyDetails__right ul li a:hover {
  opacity: 0.5;
}

.teacherItemDetails__left .teacherItem__name {
  margin-top: 16px;
}

.teacherItemDetails__right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.annotation {
  border-top: 1px solid #F4F4F4;
  margin-top: 72px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 959px) {
  .annotation {
    margin-top: min(10.6666666667vw, 40px);
  }
}
@media screen and (max-width: 519px) {
  .annotation {
    margin-top: min(10.6666666667vw, 40px);
    padding-top: min(6.4vw, 24px);
    display: block;
  }
}
.annotation.--width-half .annotationItem {
  width: calc((100% - 40px) / 2);
}
@media screen and (max-width: 768px) {
  .annotation.--width-half .annotationItem {
    width: 100%;
  }
}
.annotation.--width-full .annotationItem {
  width: 100%;
}

.annotationItem {
  width: 100%;
  padding-top: 40px;
}
@media screen and (max-width: 519px) {
  .annotationItem {
    width: 100%;
    display: block;
    margin-bottom: min(8.5333333333vw, 32px);
    padding-top: 0;
  }
}
.annotationItem .annotationItem__title {
  font-size: 12px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  font-weight: bold;
  display: block;
  margin-bottom: 4px;
}
@media screen and (max-width: 768px) {
  .annotationItem .annotationItem__title {
    margin-bottom: min(2.1333333333vw, 8px);
  }
}
.annotationItem .annotationItem__description {
  font-size: 12px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  flex: 1;
}
@media screen and (max-width: 519px) {
  .annotationItem .annotationItem__description {
    font-size: min(2.6666666667vw, 10px);
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
}
.annotationItem .annotationItem__description a {
  color: #64BBBF;
  text-decoration: underline;
}
.annotationItem.--column-2 {
  display: flex;
}
@media screen and (max-width: 768px) {
  .annotationItem.--column-2 {
    display: block;
  }
}
.annotationItem.--column-2 .annotationItem__title {
  margin-right: 24px;
}
@media screen and (max-width: 768px) {
  .annotationItem.--column-2 .annotationItem__title {
    margin-right: 0;
  }
}

.smallInfo__line.smallInfo__line--wide .smallInfo__item {
  width: 100%;
  display: flex;
}
.smallInfo__line.smallInfo__line--wide .smallInfo__item ul {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .smallInfo__line.smallInfo__line--wide .smallInfo__item {
    display: block;
  }
}

#application .section__header {
  margin: 0;
}
#application .sectionHeader__heading {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
}
@media screen and (max-width: 519px) {
  #application .sectionHeader__heading {
    font-size: 24px;
  }
}
#application .sectionHeader__heading img {
  width: 123px;
  margin-right: 20px;
}
#application .application__description {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
  background-color: #F5FAFA;
  color: #6D6D6D;
}
@media screen and (max-width: 959px) {
  #application .application__description {
    font-size: 14px;
  }
}
@media screen and (max-width: 519px) {
  #application .application__description {
    font-size: 12px;
  }
}
#application .application__dots {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  position: relative;
  width: 5px;
  height: 25px;
  margin: 40px auto;
}
#application .application__dots::before, #application .application__dots::after,
#application .application__dots span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #80C3C6;
  content: "";
}
#application .application__content h3 {
  font-size: 24px;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 519px) {
  #application .application__content h3 {
    font-size: 16px;
  }
}
#application .application__big {
  font-size: 34px;
}
@media screen and (max-width: 519px) {
  #application .application__big {
    font-size: 24px;
  }
}
#application .application__deco {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  color: #6D6D6D;
  font-size: 20px;
  text-align: center;
  gap: 6px;
}
@media screen and (max-width: 519px) {
  #application .application__deco {
    font-size: 14px;
  }
}
#application .application__deco::before, #application .application__deco::after {
  width: 20px;
  height: 1px;
  box-sizing: border-box;
  background-color: #6D6D6D;
  content: "";
}
#application .application__deco::before {
  transform: rotate(60deg);
}
#application .application__deco::after {
  transform: rotate(-60deg);
}
#application .application__anchor {
  justify-content: space-between;
  margin-top: 10px;
}
@media screen and (max-width: 519px) {
  #application .application__anchor {
    display: flex;
  }
}
#application .application__anchor a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc((100% - 15px) / 2);
  padding: 13px 10px;
  font-size: 14px;
  line-height: 1;
}
#application .application__anchor a:first-child {
  background-color: #FBF2E5;
  color: #C88521;
}
#application .application__anchor a:first-child::after {
  filter: invert(64%) sepia(42%) saturate(4129%) hue-rotate(3deg) brightness(92%) contrast(74%);
}
#application .application__anchor a:last-child {
  background-color: #ECF6F6;
  color: #4DA8AC;
}
#application .application__anchor a:last-child::after {
  filter: invert(46%) sepia(62%) saturate(348%) hue-rotate(134deg) brightness(92%) contrast(87%);
}
#application .application__anchor a::after {
  width: 20px;
  height: 20px;
  background-image: url(../images/icon-expand-more.svg);
  content: "";
}
#application .applicationCard {
  display: flex;
  flex-direction: column;
  position: relative;
  width: calc((100% - 40px) / 2);
  margin-top: 30px;
  padding: 40px;
  border-radius: 20px 5px 5px 5px;
  gap: 20px;
}
@media screen and (max-width: 959px) {
  #application .applicationCard {
    width: 100%;
    padding: 20px;
  }
}
@media screen and (max-width: 519px) {
  #application .applicationCard {
    margin-top: 40px;
  }
}
#application .applicationCard::before {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -10px;
  left: -10px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  font-size: 24px;
  content: "無料";
}
@media screen and (max-width: 519px) {
  #application .applicationCard::before {
    width: 54px;
    height: 54px;
    font-size: 16px;
  }
}
#application .applicationCard:first-child {
  background-color: #FBF2E5;
}
#application .applicationCard:first-child h4 {
  color: #DDA24A;
}
#application .applicationCard:last-child {
  background-color: #ECF6F6;
}
#application .applicationCard:last-child h4 {
  color: #64BBBF;
}
#application .applicationCard h4 {
  font-size: 28px;
  text-align: center;
}
@media screen and (max-width: 519px) {
  #application .applicationCard h4 {
    font-size: 24px;
  }
}
#application .applicationCard img {
  max-width: 500px;
  margin: 0 auto;
}
#application .applicationCard__txt {
  flex: 1;
}
@media screen and (max-width: 519px) {
  #application .applicationCard__txt {
    font-size: 14px;
  }
}
#application .applicationCard__satisfaction {
  border-radius: 50px;
  background-color: #FFFFFF;
  text-align: center;
}
#application .applicationCard__satisfaction p {
  display: inline-block;
  position: relative;
  padding-right: 8px;
  color: #C88521;
}
#application .applicationCard__satisfaction p::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  font-size: 10px;
  content: "※";
}
#application .applicationCard__satisfaction p span {
  margin-left: 3px;
  font-size: 26px;
}
#application .applicationCard__comment {
  font-size: 14px;
}
#application .applicationCard__comment ul li {
  position: relative;
  margin-top: 5px;
  padding-left: 1em;
  font-size: 14px;
  line-height: 1.6;
}
#application .applicationCard__comment ul li::before {
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #E2A954;
  content: "";
}
@media screen and (max-width: 519px) {
  #application .applicationCard__comment ul li {
    font-size: 12px;
  }
}
#application .applicationCard__comment .applicationCard__note {
  margin-top: 10px;
}
#application .applicationCard__heading {
  font-weight: bold;
}
#application .applicationCard__note {
  color: #6D6D6D;
  font-size: 12px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 519px) {
  #application .applicationCard__note {
    font-size: 10px;
  }
}
#application .applicationCard .cvButton {
  width: 100%;
  height: 60px;
  font-size: 16px;
}
#application .applicationCard .cvButton.--orange {
  background: linear-gradient(180deg, #E2A954 0%, #DB9328 100%);
}
#application .applicationCard .cvButton.--orange .cvButton__badge {
  color: #C88521;
}
#application .applicationCard .cvButton.--blue {
  background: linear-gradient(180deg, #64BBBF 0%, #4DA8AC 100%);
}
#application .applicationCard .cvButton.--blue .cvButton__badge {
  color: #4DA8AC;
}
#application .applicationCard .cvButton__badge {
  padding: 6px 12px;
  font-size: 12px;
}
#application #online-session.applicationCard::before {
  border: 1px solid #C88521;
  background-color: #FDF9F3;
  color: #C88521;
}
#application #trial-lesson.applicationCard::before {
  border: 1px solid #4DA8AC;
  background-color: #F5FAFA;
  color: #4DA8AC;
}

.banner {
  padding-bottom: 0;
}
@media screen and (max-width: 959px) {
  .banner {
    padding: min(13.8666666667vw, 52px) 0 0 0;
  }
}
@media screen and (max-width: 519px) {
  .banner {
    padding: min(12.8vw, 48px) 0 0 0;
  }
}
.banner .image {
  display: block;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.banner .js-accordion {
  margin: 8px auto 0;
  max-width: 800px;
}
.banner .summary {
  display: block;
  cursor: pointer;
  text-align: center;
  text-decoration: underline;
}
.banner .summary::-webkit-details-marker {
  display: none;
}
.banner .panel {
  display: grid;
  transition: grid-template-rows 0.5s;
}
.banner .inner {
  overflow: hidden;
  padding-top: 8px;
}
.banner .inner ul li {
  text-align: left;
  padding-left: 1em;
  text-indent: -1em;
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
.banner .inner ul li:before {
  content: "";
  display: inline-block;
  background-color: #C6C6C6;
  border-radius: 50%;
  margin-right: 5px;
  width: 10px;
  height: 10px;
}
@media screen and (max-width: 519px) {
  .banner .inner ul li {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
  .banner .inner ul li:before {
    width: min(2.6666666667vw, 10px);
    height: min(2.6666666667vw, 10px);
  }
}
.banner .banner__wrapper {
  display: block;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.banner .campaign-group-item + .campaign-group-item {
  margin-top: 72px;
}
@media screen and (max-width: 519px) {
  .banner .campaign-group-item + .campaign-group-item {
    margin-top: min(12.8vw, 48px);
  }
}
.banner .large {
  font-size: 24px;
  text-align: center;
  margin-bottom: 16px;
  font-weight: bold;
}
@media screen and (max-width: 959px) {
  .banner .large {
    line-height: 1.5;
    margin-bottom: min(6.4vw, 24px);
  }
}
@media screen and (max-width: 519px) {
  .banner .large {
    font-size: min(5.3333333333vw, 20px);
    font-weight: bold;
  }
}
.banner .large span.num {
  font-size: 40px;
  color: #E2A954;
  font-weight: bold;
}
@media screen and (max-width: 519px) {
  .banner .large span.num {
    font-size: min(7.4666666667vw, 28px);
  }
}
.banner .large span.txt {
  color: #E2A954;
}

#casestudy img {
  width: calc(100% + 38px);
  margin: 0 -19px;
}
@media screen and (max-width: 519px) {
  #casestudy img {
    width: 100%;
    margin: 0;
  }
}

#coach .cardHorizontal {
  align-items: center;
}
#coach .cardHorizontalItem__description {
  margin-top: 20px;
}

#coaching .section__header {
  color: #C88521;
}
@media screen and (max-width: 959px) {
  #coaching .cardHorizontal__item:not(:first-child) {
    margin-top: 20px;
  }
}
#coaching .coaching__subtitle {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3px;
}
#coaching .coaching__subtitle::before, #coaching .coaching__subtitle::after {
  width: 20px;
  height: 1px;
  box-sizing: border-box;
  background-color: #C88521;
  content: "";
}
#coaching .coaching__subtitle::before {
  transform: rotate(60deg);
}
#coaching .coaching__subtitle::after {
  transform: rotate(-60deg);
}
#coaching .coaching__subtitle p {
  color: #DDA24A;
}
@media screen and (max-width: 519px) {
  #coaching .coaching__txt {
    margin-top: 20px;
  }
}
#coaching .coaching__txt span {
  padding: 2px;
  background-color: #FBF2E5;
  color: #DDA24A;
  font-weight: bold;
}
@media screen and (max-width: 519px) {
  #coaching .coaching__txt img {
    margin-top: 20px;
  }
}
#coaching .coaching__note {
  font-size: 10px;
}
#coaching .coaching__img {
  width: 80%;
  margin: 80px auto 0;
}
@media screen and (max-width: 959px) {
  #coaching .coaching__img {
    width: 100%;
  }
}
#coaching .coaching__business {
  margin-top: 80px;
}
#coaching .coaching__business .cardHorizontalItem__title {
  padding-left: 8px;
  border-left: 5px solid #E2A954;
  font-size: 24px;
}
@media screen and (max-width: 519px) {
  #coaching .coaching__business .cardHorizontalItem__title {
    font-size: 18px;
  }
}
#coaching .coaching__business .cardHorizontalItem__description {
  color: #6D6D6D;
}
@media screen and (max-width: 959px) {
  #coaching .coaching__business .cardHorizontalItem__description {
    margin-top: 20px;
    font-size: 14px;
  }
}

#page-top .courses-v2 {
  position: relative;
  overflow: visible;
}
#page-top .courses-v2::before {
  content: "";
  position: absolute;
  top: 0;
  left: -320px;
  width: 312px;
  height: 430px;
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  transform: rotate(75deg);
  z-index: 2;
  pointer-events: none;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2::before {
    top: 19px;
    left: -390px;
  }
}
#page-top .courses-v2__inner {
  position: relative;
  padding-block: 120px;
  z-index: 1;
  overflow: visible;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__inner {
    padding-block: 80px;
  }
}
#page-top .courses-v2__intro {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__intro {
    margin-top: 30px;
    flex-direction: column;
  }
}
#page-top .courses-v2__intro p {
  flex: 1;
  font-size: calc(1.5 * var(--unit));
  line-height: 2;
  letter-spacing: 0.1em;
  color: rgba(51, 51, 51, 0.8);
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__intro p {
    font-size: min(4vw, 15px);
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__link {
    display: flex;
    justify-content: center;
    margin-top: 35px;
  }
}
#page-top .courses-v2__bundle {
  position: relative;
  z-index: 1;
  margin-top: 40px;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__bundle {
    margin-top: 28px;
  }
}
#page-top .courses-v2__bundle-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 28px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.65);
  border: 1px solid rgba(134, 167, 158, 0.18);
  color: inherit;
  transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
#page-top .courses-v2__bundle-link:hover {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(134, 167, 158, 0.4);
  transform: translateY(-2px);
}
#page-top .courses-v2__bundle-link:hover .courses-v2__bundle-cta svg {
  transform: translateX(4px);
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__bundle-link {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 20px;
    border-radius: 12px;
  }
}
#page-top .courses-v2__bundle-body {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__bundle-body {
    gap: 12px;
    align-items: flex-start;
  }
}
#page-top .courses-v2__bundle-tag {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: #86A79E;
  color: #FFFFFF;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.1 * var(--unit));
  font-weight: 700;
  letter-spacing: 0.16em;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__bundle-tag {
    font-size: min(2.6666666667vw, 10px);
    padding: 3px 9px;
  }
}
#page-top .courses-v2__bundle-title {
  display: flex;
  flex-direction: column;
  gap: 4px;
  line-height: 1.5;
}
#page-top .courses-v2__bundle-title-main {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(1.5 * var(--unit));
  font-weight: 700;
  color: #333333;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__bundle-title-main {
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-top .courses-v2__bundle-title-sub {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(1.2 * var(--unit));
  color: rgba(51, 51, 51, 0.65);
  letter-spacing: 0.04em;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__bundle-title-sub {
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-top .courses-v2__bundle-cta {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(1.3 * var(--unit));
  font-weight: 700;
  color: #86A79E;
  letter-spacing: 0.04em;
}
#page-top .courses-v2__bundle-cta svg {
  width: 14px;
  height: 14px;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__bundle-cta {
    align-self: flex-end;
    font-size: min(3.2vw, 12px);
  }
}
#page-top .courses-v2__hero {
  position: relative;
  margin-top: 40px;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__hero {
    margin-top: 35px;
  }
}
#page-top .courses-v2__hero-badge {
  position: absolute;
  top: -14px;
  left: 32px;
  z-index: 2;
  padding: 6px 18px;
  background: #DD9731;
  color: #FFFFFF;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.2 * var(--unit));
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  border-radius: 100px;
  box-shadow: 0 6px 18px rgba(221, 151, 49, 0.3);
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__hero-badge {
    left: 18px;
    padding: 5px 14px;
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-top .courses-v2__follow-up {
  margin-top: 56px;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__follow-up {
    margin-top: 40px;
  }
}
#page-top .courses-v2__follow-up-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin-bottom: 28px;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__follow-up-head {
    gap: 10px;
    margin-bottom: 20px;
  }
}
#page-top .courses-v2__follow-up-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 38px;
  color: rgba(51, 51, 51, 0.45);
}
#page-top .courses-v2__follow-up-arrow svg {
  width: 100%;
  height: 100%;
}
#page-top .courses-v2__follow-up-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
}
#page-top .courses-v2__follow-up-title .en {
  font-family: "Instrument Sans", sans-serif;
  color: #86A79E;
  font-size: calc(1.2 * var(--unit));
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
#page-top .courses-v2__follow-up-title .ja {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #333333;
  font-size: calc(1.5 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2__follow-up-title .ja {
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-top .courses-v2__sub-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media screen and (max-width: 519px) {
  #page-top .courses-v2__sub-list {
    grid-template-columns: 1fr;
  }
}
#page-top .courses-v2 .item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 40px;
  border-radius: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.8);
  border-left: 1px solid rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.03);
}
@media screen and (max-width: 1279px) {
  #page-top .courses-v2 .item {
    padding: 30px;
  }
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2 .item {
    padding: 25px;
  }
}
#page-top .courses-v2 .item--hero {
  width: 100%;
  padding: 56px 56px;
  background: rgba(255, 255, 255, 0.85);
  border-top-color: rgba(221, 151, 49, 0.45);
  border-left-color: rgba(221, 151, 49, 0.45);
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.06);
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(300px, 1.4fr);
  gap: 48px;
  align-items: start;
}
@media screen and (max-width: 1279px) {
  #page-top .courses-v2 .item--hero {
    padding: 44px 40px;
  }
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2 .item--hero {
    padding: 36px 28px;
  }
}
@media screen and (max-width: 519px) {
  #page-top .courses-v2 .item--hero {
    padding: 28px 24px;
  }
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2 .item--hero {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
#page-top .courses-v2 .item--hero h4 {
  color: #DD9731;
  font-size: calc(1.5 * var(--unit));
}
#page-top .courses-v2 .item--hero h3 {
  font-size: calc(3.4 * var(--unit));
  margin-top: 12px;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2 .item--hero h3 {
    font-size: min(7.4666666667vw, 28px);
  }
}
#page-top .courses-v2 .item--hero__labels {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
#page-top .courses-v2 .item--hero__step {
  padding: 4px 12px;
  background: rgba(221, 151, 49, 0.1);
  color: #DD9731;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.1 * var(--unit));
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.2em;
  border-radius: 100px;
  text-transform: uppercase;
}
#page-top .courses-v2 .item--hero .item__copy {
  margin-top: 14px;
  font-size: calc(1.6 * var(--unit));
  line-height: 1.8;
  color: #333333;
}
#page-top .courses-v2 .item--hero .item__info {
  margin-top: 24px;
}
#page-top .courses-v2 .item--hero .item__info div p {
  font-size: calc(2 * var(--unit));
}
#page-top .courses-v2 .item--hero .item__button {
  margin-top: 32px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
#page-top .courses-v2 .item--hero .item__button .c-button {
  padding: 16px 28px;
  font-size: calc(1.5 * var(--unit));
}
#page-top .courses-v2 .item--sub {
  width: 100%;
  background: rgba(255, 255, 255, 0.45);
}
#page-top .courses-v2 .item__step-label {
  align-self: flex-start;
  padding: 4px 12px;
  margin-bottom: 14px;
  background: rgba(51, 51, 51, 0.06);
  color: rgba(51, 51, 51, 0.65);
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.1 * var(--unit));
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.22em;
  border-radius: 100px;
  text-transform: uppercase;
}
#page-top .courses-v2 .item h4 {
  font-family: "Instrument Sans", sans-serif;
  color: #86A79E;
  font-size: calc(1.3 * var(--unit));
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2 .item h4 {
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-top .courses-v2 .item h3 {
  margin-top: 6px;
  font-feature-settings: "palt" on, "pkna" on;
  font-size: calc(2.3 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2 .item h3 {
    font-size: min(5.3333333333vw, 20px);
  }
}
#page-top .courses-v2 .item__copy {
  margin-top: 1px;
  color: #555;
  font-size: calc(1.4 * var(--unit));
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2 .item__copy {
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-top .courses-v2 .item__target {
  margin-top: 24px;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2 .item__target {
    margin-top: 18px;
  }
}
#page-top .courses-v2 .item__target h5 {
  color: #666;
  font-size: calc(1.2 * var(--unit));
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2 .item__target h5 {
    font-size: min(3.2vw, 12px);
  }
}
#page-top .courses-v2 .item__target ul {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#page-top .courses-v2 .item__target ul li {
  color: #ABABAB;
  font-feature-settings: "palt" on, "pkna" on;
  font-size: calc(1.4 * var(--unit));
  line-height: 1.14;
  letter-spacing: 0;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2 .item__target ul li {
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-top .courses-v2 .item__info {
  margin-top: 24px;
  margin-bottom: auto;
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2 .item__info {
    margin-top: 18px;
  }
}
#page-top .courses-v2 .item__info div:not(:first-child) {
  padding-left: 24px;
  border-left: 1px solid rgba(85, 85, 85, 0.03);
}
#page-top .courses-v2 .item__info div h5 {
  color: #666;
  font-size: calc(1 * var(--unit));
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2 .item__info div h5 {
    font-size: min(2.6666666667vw, 10px);
  }
}
#page-top .courses-v2 .item__info div p {
  margin-top: 4px;
  font-family: "Noto Serif JP", serif;
  font-size: calc(1.6 * var(--unit));
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2 .item__info div p {
    font-size: min(4.2666666667vw, 16px);
  }
}
#page-top .courses-v2 .item__info div p span {
  padding-left: 4px;
  color: #666;
  font-size: calc(1.1 * var(--unit));
}
@media screen and (max-width: 959px) {
  #page-top .courses-v2 .item__info div p span {
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-top .courses-v2 .item__button {
  margin-top: 40px;
}

#effect {
  background-color: #FDF9F3;
}
#effect .section__inner {
  padding: 0 164px;
}
@media screen and (max-width: 959px) {
  #effect .section__inner {
    padding: 0 min(17.0666666667vw, 64px);
  }
}
@media screen and (max-width: 519px) {
  #effect .section__inner {
    padding: 0 5.3333333333vw;
  }
}
#effect .sectionHeading--ja {
  color: #C88521;
}
#effect .effect__content:not(:first-child) {
  margin-top: 60px;
}
@media screen and (max-width: 519px) {
  #effect .effect__content:not(:first-child) {
    margin-top: 30px;
  }
}
#effect .effect__heading {
  margin-bottom: 20px;
  padding-left: 8px;
  border-left: 5px solid #E2A954;
  font-size: 24px;
}
@media screen and (max-width: 519px) {
  #effect .effect__heading {
    font-size: 18px;
  }
}
#effect .effect__txt {
  margin-top: 10px;
}
@media screen and (max-width: 519px) {
  #effect .effect__txt {
    font-size: 14px;
  }
}
#effect .effect__theme-list {
  position: relative;
  width: 600px;
  margin: 20px auto 0;
  padding: 40px 80px;
  border-radius: 5px;
  background-color: #FFFFFF;
}
@media screen and (max-width: 519px) {
  #effect .effect__theme-list {
    width: 100%;
    padding: 15px 15px;
  }
}
#effect .effect__theme-list::after {
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 144px;
  height: 171px;
  background: url(../images/effect-person.png) no-repeat;
  background-size: contain;
  content: "";
}
@media screen and (max-width: 519px) {
  #effect .effect__theme-list::after {
    width: 120px;
    height: 142.5px;
  }
}
#effect .effect__theme-item {
  position: relative;
  padding-left: 18px;
  font-weight: bold;
  line-height: 1.6;
}
@media screen and (max-width: 519px) {
  #effect .effect__theme-item {
    font-size: 14px;
  }
}
#effect .effect__theme-item::before {
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #E2A954;
  content: "";
}
#effect .effect__theme-item:not(:first-child) {
  margin-top: 5px;
}
#effect .effect__theme-item br {
  display: none;
}
@media screen and (max-width: 519px) {
  #effect .effect__theme-item br {
    display: block;
  }
}
#effect .effect__merit-item {
  display: flex;
  align-items: center;
  padding: 30px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(151, 99, 21, 0.2);
  background-color: #FFFFFF;
}
@media screen and (max-width: 959px) {
  #effect .effect__merit-item {
    flex-direction: column;
    align-items: center;
    padding: 20px;
    gap: 20px;
  }
}
#effect .effect__merit-item:not(:first-child) {
  margin-top: 20px;
}
#effect .effect__merit-content:first-child {
  flex: 1;
}
#effect .effect__point {
  position: relative;
  padding-left: 34px;
  color: #C88521;
  font-size: 20px;
  line-height: 1.6;
}
@media screen and (max-width: 959px) {
  #effect .effect__point {
    font-size: 18px;
  }
}
#effect .effect__point::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 26px;
  background: url(../images/check-icon.png) no-repeat;
  background-size: contain;
  content: "";
}
#effect .effect__img {
  width: 295px;
  height: 151px;
}
@media screen and (max-width: 959px) {
  #effect .effect__img {
    width: 80%;
    height: auto;
  }
}
@media screen and (max-width: 519px) {
  #effect .effect__img {
    width: 100%;
  }
}

#event .eventWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0;
}
@media screen and (max-width: 959px) {
  #event .eventWrap {
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  #event .eventWrap {
    padding: 0;
  }
}
@media screen and (max-width: 519px) {
  #event .eventWrap {
    display: block;
    padding: 0;
  }
}
#event .cardWithThumbnail {
  width: calc((100% - 40px) / 2);
}
@media screen and (max-width: 959px) {
  #event .cardWithThumbnail {
    width: calc((100% - 20px) / 2);
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 768px) {
  #event .cardWithThumbnail {
    width: 100%;
    margin-bottom: 32px;
  }
}
@media screen and (max-width: 519px) {
  #event .cardWithThumbnail {
    margin-bottom: 8.5333333333vw;
  }
}

#page-top .events-v2 {
  background: #FFFFFF;
}
#page-top .events-v2__inner {
  padding-block: 88px 96px;
}
@media screen and (max-width: 959px) {
  #page-top .events-v2__inner {
    padding-block: 56px;
  }
}
#page-top .events-v2__head-group {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#page-top .events-v2__list {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media screen and (max-width: 959px) {
  #page-top .events-v2__list {
    margin-top: 28px;
    gap: 10px;
  }
}
#page-top .events-v2__list .item {
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(51, 51, 51, 0.06);
  border-radius: 12px;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
#page-top .events-v2__list .item:hover {
  border-color: rgba(134, 167, 158, 0.3);
  transform: translateX(4px);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
}
#page-top .events-v2__list .item:hover .item__arrow {
  color: #86A79E;
  transform: translateX(4px);
}
#page-top .events-v2__list .item__link {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: 24px;
  padding: 16px 24px 16px 16px;
  color: inherit;
}
@media screen and (max-width: 959px) {
  #page-top .events-v2__list .item__link {
    grid-template-columns: auto auto 1fr;
    grid-template-rows: auto auto;
    gap: 6px 14px;
    padding: 14px 18px 14px 14px;
  }
}
#page-top .events-v2__list .item__thumb {
  position: relative;
  width: 132px;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(134, 167, 158, 0.1), rgba(134, 167, 158, 0.04));
  flex-shrink: 0;
}
@media screen and (max-width: 959px) {
  #page-top .events-v2__list .item__thumb {
    width: 88px;
    grid-row: span 2;
    border-radius: 6px;
  }
}
#page-top .events-v2__list .item__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#page-top .events-v2__list .item__thumb-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(1.1 * var(--unit));
  font-weight: 700;
  color: #86A79E;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  #page-top .events-v2__list .item__thumb-placeholder {
    font-size: min(2.6666666667vw, 10px);
  }
}
#page-top .events-v2__list .item__date {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
  min-width: 80px;
}
@media screen and (max-width: 959px) {
  #page-top .events-v2__list .item__date {
    min-width: 56px;
    grid-row: span 2;
  }
}
#page-top .events-v2__list .item__date-num {
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(3.2 * var(--unit));
  font-weight: 700;
  color: #222F30;
  letter-spacing: -0.01em;
}
@media screen and (max-width: 959px) {
  #page-top .events-v2__list .item__date-num {
    font-size: min(6.4vw, 24px);
  }
}
#page-top .events-v2__list .item__date-weekday {
  margin-top: 4px;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.1 * var(--unit));
  font-weight: 600;
  color: #86A79E;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
@media screen and (max-width: 959px) {
  #page-top .events-v2__list .item__date-weekday {
    font-size: min(2.6666666667vw, 10px);
  }
}
#page-top .events-v2__list .item__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
#page-top .events-v2__list .item__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.2 * var(--unit));
  line-height: 1.3;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
  #page-top .events-v2__list .item__meta {
    font-size: min(2.9333333333vw, 11px);
    gap: 8px;
  }
}
#page-top .events-v2__list .item__category {
  color: #86A79E;
  font-weight: 700;
}
#page-top .events-v2__list .item__time, #page-top .events-v2__list .item__location {
  color: #999;
  letter-spacing: 0;
  position: relative;
  padding-left: 16px;
}
#page-top .events-v2__list .item__time::before, #page-top .events-v2__list .item__location::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 4px;
  background: #D1D5DC;
  border-radius: 4px;
}
@media screen and (max-width: 959px) {
  #page-top .events-v2__list .item__time, #page-top .events-v2__list .item__location {
    padding-left: 10px;
  }
}
#page-top .events-v2__list .item__title {
  margin-top: 4px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(1.6 * var(--unit));
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #333333;
}
@media screen and (max-width: 959px) {
  #page-top .events-v2__list .item__title {
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-top .events-v2__list .item__arrow {
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(51, 51, 51, 0.35);
  transition: color 0.3s ease, transform 0.3s ease;
}
#page-top .events-v2__list .item__arrow svg {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 959px) {
  #page-top .events-v2__list .item__arrow {
    display: none;
  }
}
@media screen and (max-width: 959px) {
  #page-top .events-v2__link {
    margin-top: 24px;
    display: flex;
    justify-content: center;
  }
}

#page-top .experience-v2 {
  margin-top: -80px;
}
@media screen and (max-width: 959px) {
  #page-top .experience-v2 {
    margin-top: 0;
  }
}
#page-top .experience-v2::before {
  content: "";
  position: absolute;
  top: 107px;
  left: -189px;
  width: 312px;
  height: 430px;
  transform: translateY(var(--parallax-y, 0px));
  border-radius: 430px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
}
@media screen and (max-width: 959px) {
  #page-top .experience-v2::before {
    display: none;
  }
}
#page-top .experience-v2__inner {
  position: relative;
  z-index: 1;
}
#page-top .experience-v2__inner:last-child {
  padding-block: 0 80px;
}
@media screen and (max-width: 959px) {
  #page-top .experience-v2__inner:last-child {
    padding-block: 40px;
  }
}
#page-top .experience-v2__visual {
  margin-right: -80px;
}
@media screen and (max-width: 959px) {
  #page-top .experience-v2__visual {
    margin-inline: -40px;
  }
}
@media screen and (max-width: 959px) {
  #page-top .experience-v2__visual:after {
    display: none;
  }
}
@media screen and (max-width: 519px) {
  #page-top .experience-v2__visual {
    margin-inline: -27px;
  }
}
#page-top .experience-v2__content {
  margin-top: 147px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
}
@media screen and (max-width: 959px) {
  #page-top .experience-v2__content {
    margin-top: 24px;
    flex-direction: column;
    gap: 30px;
  }
}
#page-top .experience-v2__intro {
  width: 34%;
}
@media screen and (max-width: 959px) {
  #page-top .experience-v2__intro {
    width: 100%;
  }
}
#page-top .experience-v2__intro p {
  margin-top: 40px;
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-top .experience-v2__intro p {
    margin-top: 30px;
    font-size: min(4vw, 15px);
    letter-spacing: 0.03em;
  }
}
#page-top .experience-v2__body {
  width: 58.5%;
}
@media screen and (max-width: 959px) {
  #page-top .experience-v2__body {
    width: 100%;
  }
}
#page-top .experience-v2__body ul {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (max-width: 959px) {
  #page-top .experience-v2__body ul {
    gap: 30px;
  }
}
#page-top .experience-v2__body ul li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 24px;
  align-self: stretch;
  border-radius: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.8);
  border-left: 1px solid rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.03);
}
#page-top .experience-v2__body ul li span {
  display: flex;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  justify-content: center;
  align-items: center;
  font-family: "Noto Serif JP", serif;
  border-radius: 40px;
  background: rgba(174, 202, 214, 0.2);
}
@media screen and (max-width: 959px) {
  #page-top .experience-v2__body ul li span {
    width: min(9.6vw, 36px);
    height: min(9.6vw, 36px);
  }
}
#page-top .experience-v2__body ul li h3 {
  font-size: 18px;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-top .experience-v2__body ul li h3 {
    line-height: 1.45;
    font-size: min(4.2666666667vw, 16px);
  }
}
#page-top .experience-v2__body ul li p {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
  #page-top .experience-v2__body ul li p {
    font-size: min(3.4666666667vw, 13px);
    line-height: 1.8;
  }
}

#faq {
  background-color: #ffffff;
}
#faq .faq__heading {
  margin: 50px 0 10px;
  font-size: 24px;
}
@media screen and (max-width: 959px) {
  #faq .faq__heading {
    margin: 40px 0 10px;
    font-size: 20px;
  }
}
#faq .faqItem {
  border-bottom: 1px solid #F4F4F4;
}
#faq .faqItem:last-child {
  margin-bottom: 0;
}
#faq .faqItem .faqItem__head {
  display: flex;
  align-items: center;
  position: relative;
  padding: 24px 32px 24px 0;
  font-weight: bold;
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 959px) {
  #faq .faqItem .faqItem__head {
    padding: 24px 0;
  }
}
@media screen and (max-width: 519px) {
  #faq .faqItem .faqItem__head {
    display: flex;
    padding: min(6.4vw, 24px) 0;
  }
}
@media screen and (max-width: 959px) {
  #faq .faqItem .faqItem__head p {
    flex: 1;
  }
}
#faq .faqItem .faqItem__head:hover {
  opacity: 0.7;
  cursor: pointer;
}
#faq .faqItem .faqItem__head.is-opened:after {
  transform: rotate(180deg);
}
#faq .faqItem .faqItem__head:before {
  display: inline-block;
  width: 36px;
  height: 36px;
  margin-right: 16px;
  border: 1px solid #80C3C6;
  border-radius: 100px;
  color: #80C3C6;
  font-weight: normal;
  line-height: 33px;
  text-align: center;
  content: "Q";
}
#faq .faqItem .faqItem__head.is-opened:after {
  transform: rotate(180deg);
}
#faq .faqItem .faqItem__body {
  display: flex;
  display: none;
  align-items: center;
  padding: 8px 0 32px 0;
}
#faq .faqItem .faqItem__body .faqItemBody__inner {
  display: flex;
  align-items: baseline;
}
#faq .faqItem .faqItem__body .faqItemBody__inner:before {
  display: inline-block;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  margin-right: 16px;
  border: 1px solid #E2A954;
  border-radius: 100px;
  color: #E2A954;
  font-weight: normal;
  line-height: 33px;
  text-align: center;
  content: "A";
}
#faq .faqItem .faqItem__body .faqItemBody__inner p {
  flex: 1;
}
#faq .faqItem .faqItem__body .faqItemBody__inner p a {
  color: #E2A954;
  text-decoration: underline;
}
#faq .faqItem .faqItem__body .faqItemBody__inner ul {
  margin-top: 16px;
}
#faq .faqItem .faqItem__body .faqItemBody__inner ul li {
  padding-left: 1em;
  text-indent: -1em;
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
#faq .faqItem .faqItem__body .faqItemBody__inner ul li:before {
  content: "";
  display: inline-block;
  background-color: #64BBBF;
  border-radius: 50%;
  margin-right: 5px;
  width: 10px;
  height: 10px;
}
@media screen and (max-width: 519px) {
  #faq .faqItem .faqItem__body .faqItemBody__inner ul li {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
  #faq .faqItem .faqItem__body .faqItemBody__inner ul li:before {
    width: min(2.6666666667vw, 10px);
    height: min(2.6666666667vw, 10px);
  }
}
@media screen and (max-width: 519px) {
  #faq .faqItem .faqItem__body .faqItemBody__inner ul li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 13px;
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
  #faq .faqItem .faqItem__body .faqItemBody__inner ul li:before {
    content: "";
    display: inline-block;
    background-color: #64BBBF;
    border-radius: 50%;
    margin-right: 5px;
    width: 10px;
    height: 10px;
  }
}
@media screen and (max-width: 519px) and (max-width: 519px) {
  #faq .faqItem .faqItem__body .faqItemBody__inner ul li {
    /* メイン */
    font-size: min(3.4666666667vw, 13px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
  #faq .faqItem .faqItem__body .faqItemBody__inner ul li:before {
    width: min(2.6666666667vw, 10px);
    height: min(2.6666666667vw, 10px);
  }
}
#faq .faqItem .faqItem__body .faqItemBody__inner img {
  margin-top: 20px;
}
#faq .faq__more {
  margin-top: 32px;
}
#faq .faq__more a {
  color: #80C3C6;
  text-decoration: underline;
}

#features {
  padding-bottom: 40px;
}
@media screen and (max-width: 519px) {
  #features {
    padding-bottom: 20px;
  }
}
#features .section__header {
  margin-bottom: 0;
}
#features .cardHorizontal {
  max-width: 1128px;
  margin: 0 auto;
  padding: 60px 64px;
}
@media screen and (max-width: 959px) {
  #features .cardHorizontal {
    padding: 40px min(17.0666666667vw, 64px);
  }
}
@media screen and (max-width: 519px) {
  #features .cardHorizontal {
    padding: 40px 5.3333333333vw;
  }
}
@media screen and (max-width: 959px) {
  #features .cardHorizontal__item:nth-of-type(2) {
    margin-top: 30px;
  }
}
#features .cardHorizontalItem__title {
  display: inline;
  position: relative;
  margin-left: 70px;
  padding: 4px 6px;
  background: linear-gradient(220deg, #64BBBF 10%, #4DA8AC 90%);
  color: #fff;
  font-size: 24px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
@media screen and (max-width: 959px) {
  #features .cardHorizontalItem__title {
    margin: 0;
    font-size: 22px;
  }
}
#features .cardHorizontalItem__title::before {
  display: inline-block;
  position: absolute;
  top: 0;
  left: -70px;
  width: 60px;
  height: 40px;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media screen and (max-width: 959px) {
  #features .cardHorizontalItem__title::before {
    top: -30px;
    left: 0;
  }
}
#features .cardHorizontalItem__description {
  margin-top: 20px;
}
#features .feature__item:nth-of-type(even) {
  background: linear-gradient(0deg, rgb(219, 238, 238) 0%, rgb(236, 246, 246) 100%);
}
#features .feature__item:nth-of-type(1) .cardHorizontalItem__title::before {
  background-image: url("../images/num/num-1.png");
}
#features .feature__item:nth-child(2) .cardHorizontalItem__title::before {
  background-image: url("../images/num/num-2.png");
}
#features .feature__item:nth-child(3) .cardHorizontalItem__title::before {
  background-image: url("../images/num/num-3.png");
}
#features .feature__item:nth-child(4) .cardHorizontalItem__title::before {
  background-image: url("../images/num/num-4.png");
}
#features .feature__item:nth-child(5) .cardHorizontalItem__title::before {
  background-image: url("../images/num/num-5.png");
}

#flow .flow__item {
  display: flex;
  margin-top: 10px;
}
@media screen and (max-width: 959px) {
  #flow .flow__item {
    display: block;
  }
}
@media screen and (max-width: 519px) {
  #flow .flow__item {
    margin-top: min(2.6666666667vw, 10px);
  }
}
#flow .flow__item .left {
  width: 400px;
  overflow: hidden;
}
@media screen and (max-width: 959px) {
  #flow .flow__item .left {
    width: 100%;
    position: relative;
  }
}
@media screen and (max-width: 519px) {
  #flow .flow__item .left {
    left: min(-1.8666666667vw, -7px);
  }
}
#flow .flow__item .left h3 {
  display: flex;
  align-items: center;
}
#flow .flow__item .left span.num {
  font-weight: normal;
  text-align: center;
  display: inline-block;
  width: 36px;
  height: 36px;
  border-radius: 100px;
  line-height: 1;
  color: #80C3C6;
  border: 1px solid #80C3C6;
  margin-right: 10px;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 519px) {
  #flow .flow__item .left span.num {
    width: min(9.6vw, 36px);
    height: min(9.6vw, 36px);
    line-height: min(9.6vw, 36px);
    margin-right: min(2.6666666667vw, 10px);
  }
}
#flow .flow__item .left .heading {
  color: #80C3C6;
  display: inline;
}
#flow .flow__item .left .line {
  border-left: 1px dashed #80C3C6;
  display: block;
  height: 100%;
  margin: 10px 0 10px 18px;
}
#flow .flow__item .right {
  flex: 1;
  margin-bottom: 46px;
}
@media screen and (max-width: 959px) {
  #flow .flow__item .right {
    margin: 0 0 0 18px;
    padding: 0 0 40px 27px;
    border-left: 1px dashed #80C3C6;
  }
}
@media screen and (max-width: 519px) {
  #flow .flow__item .right {
    margin: 0 0 0 min(2.4vw, 9px);
    padding: 0 0 min(10.6666666667vw, 40px) min(9.0666666667vw, 34px);
  }
}
#flow .flow__item .right p {
  margin-bottom: min(2.6666666667vw, 10px);
}
#flow .flow__item .right .textBox__note {
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  color: #C6C6C6;
}
#flow .flow__item .right .textBox__note li {
  margin-bottom: min(1.0666666667vw, 4px);
}
@media screen and (max-width: 519px) {
  #flow .flow__item .right .textBox__note {
    font-size: min(3.2vw, 12px);
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
}
#flow .flow__item:last-child .line {
  display: none;
}
@media screen and (max-width: 959px) {
  #flow .flow__item:last-child .right {
    border-left: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
}

/* フッターの基本的なスタイルは親テーマで定義 */
@media screen and (max-width: 519px) {
  body.home #footer {
    margin-bottom: min(21.3333333333vw, 80px);
  }
}

section + #footer,
.commonForm + #footer,
.singleArticle + #footer,
.document__wrap + #footer,
#app + #footer {
  margin-top: 160px;
}
@media screen and (max-width: 959px) {
  section + #footer,
  .commonForm + #footer,
  .singleArticle + #footer,
  .document__wrap + #footer,
  #app + #footer {
    margin-top: min(36.2666666667vw, 136px);
  }
}
@media screen and (max-width: 519px) {
  section + #footer,
  .commonForm + #footer,
  .singleArticle + #footer,
  .document__wrap + #footer,
  #app + #footer {
    margin-top: min(33.0666666667vw, 124px);
  }
}

#interview .section__body {
  padding: 0 100px;
}
@media screen and (max-width: 959px) {
  #interview .section__body {
    padding: 0;
  }
}
@media screen and (max-width: 519px) {
  #interview .section__body {
    margin: 0 -8.5333333333vw;
  }
}
#interview .interview__img {
  margin-bottom: 56px;
}
@media screen and (max-width: 768px) {
  #interview .interview__img {
    margin-bottom: min(8.5333333333vw, 32px);
  }
}
#interview .interview__img .interview__img--pc {
  display: block;
}
@media screen and (max-width: 768px) {
  #interview .interview__img .interview__img--pc {
    display: none;
  }
}
#interview .interview__img .interview__img--sp {
  display: none;
}
@media screen and (max-width: 768px) {
  #interview .interview__img .interview__img--sp {
    display: block;
  }
}
#interview .interview__block {
  margin-bottom: 64px;
  position: relative;
}
@media screen and (max-width: 768px) {
  #interview .interview__block {
    margin-bottom: min(10.6666666667vw, 40px);
  }
}
#interview .interview__block .interview__question {
  font-size: 20px;
  line-height: 1.75;
  letter-spacing: 0.03em;
  font-weight: bold;
  color: #E2A954;
  margin-bottom: 16px;
}
@media screen and (max-width: 519px) {
  #interview .interview__block .interview__question {
    font-size: min(4.5333333333vw, 17px);
    line-height: 1.75;
    letter-spacing: 0.03em;
    margin-bottom: min(4.2666666667vw, 16px);
  }
}
#interview .interview__block .interview__question:before {
  content: "";
  display: inline-block;
  height: 1px;
  width: 100px;
  background-color: #E2A954;
  position: relative;
  top: -7px;
  margin-right: 40px;
}
@media screen and (max-width: 519px) {
  #interview .interview__block .interview__question:before {
    width: min(8.5333333333vw, 32px);
    margin-right: min(4.2666666667vw, 16px);
  }
}
#interview .interview__block .interview__answer {
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  padding-left: 140px;
}
@media screen and (max-width: 519px) {
  #interview .interview__block .interview__answer {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.85;
    letter-spacing: 0.03em;
    padding: 0 min(8.5333333333vw, 32px) 0 min(12.8vw, 48px);
  }
}
#interview .interview__block .interview__answer + p {
  margin-top: 24px;
}
@media screen and (max-width: 519px) {
  #interview .interview__block .interview__answer + p {
    margin-top: min(6.4vw, 24px);
  }
}
#interview .interview__block span {
  color: #E2A954;
  opacity: 0.1;
  font-size: 85px;
  position: absolute;
  right: 0;
  bottom: 0;
  line-height: 1;
}
@media screen and (max-width: 519px) {
  #interview .interview__block span {
    font-size: min(20.5333333333vw, 77px);
  }
}
#interview .interview__block:last-child {
  margin-bottom: 0;
}

#intro {
  padding: 0;
}
#intro .intro__inner {
  padding: 100px 0;
  background-image: url(../images/intro-bg-pc.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 959px) {
  #intro .intro__inner {
    padding: 60px 0;
    background-image: url(../images/intro-bg-sp.png);
  }
}
#intro .intro__heading {
  font-weight: bold;
  font-size: 30px;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 959px) {
  #intro .intro__heading {
    font-size: 20px;
  }
}
#intro .intro__heading span {
  display: inline;
  padding: 4px 10px;
  background: linear-gradient(170deg, #E2A954 10%, #DB9328 90%);
  color: #fff;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
#intro .intro__description {
  margin-top: 40px;
  text-align: center;
}
#intro .intro__txt:first-child br:first-child {
  display: block;
}
#intro .intro__txt:nth-child(2) {
  margin-top: 20px;
}
#intro .intro__txt br {
  display: none;
}
@media screen and (max-width: 959px) {
  #intro .intro__txt br {
    display: block;
  }
}
#intro .intro__photo.pc-only {
  display: flex;
}
#intro .intro__photo.pc-only .intro__img {
  width: 50%;
}
@media screen and (max-width: 519px) {
  #intro .intro__photo.pc-only {
    display: none;
  }
}

#page-top .introduction-v2 {
  position: relative;
  z-index: 1;
}
#page-top .introduction-v2::before {
  content: "";
  position: absolute;
  top: -65px;
  left: -189px;
  width: 312px;
  height: 430px;
  transform: translateY(var(--parallax-y, 0px));
  border-radius: 430px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
  pointer-events: none;
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-top .introduction-v2::before {
    top: 332px;
    left: -74.6666666667vw;
    width: 56.8vw;
    height: 108.2666666667vw;
    transform: rotate(70deg) translateY(var(--parallax-y, 0px));
    filter: blur(90px);
  }
}
#page-top .introduction-v2__inner {
  position: relative;
  z-index: 1;
  padding-block: 120px 120px;
}
@media screen and (max-width: 959px) {
  #page-top .introduction-v2__inner {
    padding-block: 80px 66px;
  }
}
#page-top .introduction-v2__head {
  max-width: 537px;
}
#page-top .introduction-v2__head .c-h2__en {
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-top .introduction-v2__head .c-h2__en {
    font-size: min(2.9333333333vw, 11px);
    font-weight: 600;
  }
}
#page-top .introduction-v2__title-en {
  font-family: "Instrument Sans", sans-serif;
  font-weight: 600;
  font-size: calc(4.8 * var(--unit));
  letter-spacing: 0.06em;
  line-height: 1;
}
@media screen and (max-width: 959px) {
  #page-top .introduction-v2__title-en {
    font-size: min(7.4666666667vw, 28px);
  }
}
#page-top .introduction-v2__body {
  margin-top: 100px;
  display: grid;
  grid-template-columns: minmax(0, 537px) minmax(0, 1fr);
  -moz-column-gap: 6%;
       column-gap: 6%;
  align-items: start;
}
@media screen and (max-width: 959px) {
  #page-top .introduction-v2__body {
    margin-top: 82px;
    grid-template-columns: 1fr;
  }
}
#page-top .introduction-v2__content {
  display: flex;
  flex-direction: column;
  gap: 90px;
}
@media screen and (max-width: 959px) {
  #page-top .introduction-v2__content {
    display: contents;
  }
}
#page-top .introduction-v2__lead {
  margin-top: 0;
  font-size: calc(3.2 * var(--unit));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-top .introduction-v2__lead {
    order: 1;
    font-size: min(5.3333333333vw, 20px);
    letter-spacing: 0.1em;
  }
}
#page-top .introduction-v2__image {
  margin-top: 14px;
  justify-self: end;
  width: 100%;
  max-width: 361px;
}
@media screen and (max-width: 959px) {
  #page-top .introduction-v2__image {
    order: 2;
    margin-top: 60px;
    width: 59.7523219814%;
    max-width: none;
    justify-self: end;
  }
}
#page-top .introduction-v2__photo {
  position: relative;
  width: 100%;
  aspect-ratio: 361/496;
  overflow: hidden;
}
@media screen and (max-width: 959px) {
  #page-top .introduction-v2__photo {
    aspect-ratio: 193/265;
  }
}
#page-top .introduction-v2__photo > img:first-child {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#page-top .introduction-v2__badge {
  position: absolute;
  left: 16px;
  bottom: 10px;
  width: 115px;
  height: auto;
}
@media screen and (max-width: 959px) {
  #page-top .introduction-v2__badge {
    width: 88px;
    left: 12px;
    bottom: 10px;
  }
}
#page-top .introduction-v2__text {
  max-width: 537px;
}
@media screen and (max-width: 959px) {
  #page-top .introduction-v2__text {
    order: 3;
    margin-top: 60px;
    max-width: none;
  }
}
#page-top .introduction-v2__desc {
  margin-top: 0;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 959px) {
  #page-top .introduction-v2__desc {
    gap: 30px;
  }
}
#page-top .introduction-v2__desc p {
  margin-top: 0;
  font-size: calc(1.6 * var(--unit));
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 959px) {
  #page-top .introduction-v2__desc p {
    font-size: min(3.7333333333vw, 14px);
    letter-spacing: 0.12em;
    line-height: 2.2;
  }
}
#page-top .introduction-v2__links {
  margin-top: 90px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 20px;
}
@media screen and (max-width: 959px) {
  #page-top .introduction-v2__links {
    margin-top: 40px;
    flex-direction: column;
    gap: 16px;
  }
}

.webp #kv {
  background-image: url("../images/kv/KV-pc.webp");
}
@media screen and (max-width: 519px) {
  .webp #kv {
    background-image: url("../images/kv/KV-sp.webp");
  }
}

.no-webp #kv {
  background-image: url("../images/kv/KV-pc.jpg");
}
@media screen and (max-width: 519px) {
  .no-webp #kv {
    background-image: url("../images/kv/KV-sp.jpg");
  }
}

.kv {
  display: flex;
  justify-content: center;
  height: 56vw;
  padding: 0;
  background-size: cover;
}
@media screen and (max-width: 519px) {
  .kv {
    height: 193vw;
  }
}
.kv .kv__contents {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 519px) {
  .kv .kv__contents {
    display: block;
  }
}
.kv .kv__contents .kvContents__inner {
  width: 100%;
  padding-left: 11vw;
}
@media screen and (max-width: 519px) {
  .kv .kv__contents .kvContents__inner {
    padding: 18.7vw min(5.3333333333vw, 20px) 0;
  }
}
.kv .kv__contents h1,
.kv .kv__contents p {
  color: #FFFFFF;
}
.kv .kv__contents .kvContents__wrap {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-bottom: 10px;
}
@media screen and (max-width: 519px) {
  .kv .kv__contents .kvContents__wrap {
    flex-direction: column-reverse;
    align-items: flex-start;
    margin-bottom: 20px;
  }
}
.kv .kv__contents .guaranteeBadge {
  display: flex;
  width: 100px;
  align-items: center;
  gap: 10px;
}
.kv .kv__contents .guaranteeBadge img {
  display: inline-block;
}
.kv .kv__contents .guaranteeBadge img:first-child {
  width: 6.9vw;
  height: auto;
}
@media screen and (max-width: 519px) {
  .kv .kv__contents .guaranteeBadge img:first-child {
    width: 16vw;
  }
}
.kv .kv__contents .guaranteeBadge img:nth-child(2) {
  width: 8.3vw;
  height: 8.3vw;
}
@media screen and (max-width: 519px) {
  .kv .kv__contents .guaranteeBadge img:nth-child(2) {
    width: 21.3vw;
    height: 21.3vw;
  }
}
.kv .kv__contents .kvContents__service-name {
  display: inline-block;
  position: relative;
  font-weight: bold;
  font-size: 3.3vw;
  line-height: 0.8;
}
@media screen and (max-width: 519px) {
  .kv .kv__contents .kvContents__service-name {
    font-size: 6.4vw;
  }
}
.kv .kv__contents .kvContents__service-name span {
  font-weight: normal;
  font-size: 1.55vw;
}
@media screen and (max-width: 519px) {
  .kv .kv__contents .kvContents__service-name span {
    font-size: 3vw;
  }
}
.kv .kv__contents .kvContents__copy p {
  display: inline;
  padding: 12px 16px;
  background-color: #FFFFFF;
  color: #64BBBF;
  font-size: 3.8vw;
  line-height: 2;
  letter-spacing: 0.1em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
@media screen and (max-width: 959px) {
  .kv .kv__contents .kvContents__copy p {
    font-size: min(10.6666666667vw, 40px);
  }
}
@media screen and (max-width: 768px) {
  .kv .kv__contents .kvContents__copy p {
    padding: 5px 10px;
    font-size: 3.8vw;
    line-height: 1.8;
  }
}
@media screen and (max-width: 519px) {
  .kv .kv__contents .kvContents__copy p {
    font-size: 7.5vw;
  }
}
@media screen and (max-width: 375px) {
  .kv .kv__contents .kvContents__copy p {
    position: relative;
    margin-bottom: min(8.5333333333vw, 32px);
    margin-bottom: min(8.53vw, 32px);
  }
}
.kv .kv__contents .kvContents__copy p span {
  display: block;
}
.kv .kv__contents .cvButton {
  margin-top: 30px;
}
@media screen and (max-width: 959px) {
  .kv .kv__contents .cvButton {
    width: 300px;
    height: 50px;
    margin-top: 20px;
    font-size: 18px;
  }
}
@media screen and (max-width: 519px) {
  .kv .kv__contents .cvButton {
    width: 100%;
    height: 60px;
    margin-top: 52vw;
  }
}
@media screen and (max-width: 959px) {
  .kv .kv__contents .cvButton__badge {
    padding: 6px 12px;
    font-size: 12px;
  }
}
.kv .kv__contents .kvContents__note {
  margin: 20px 0 60px;
  font-size: 11px;
}
@media screen and (max-width: 959px) {
  .kv .kv__contents .kvContents__note {
    margin: 10px 0 40px;
    font-size: 10px;
    line-height: 1.4;
  }
}
@media screen and (max-width: 519px) {
  .kv .kv__contents .kvContents__note {
    margin: 15px 0 0;
  }
}
.kv .kv__contents .kvContents__note br {
  display: none;
}
@media screen and (max-width: 519px) {
  .kv .kv__contents .kvContents__note br {
    display: block;
  }
}
.kv .kv__contents .textLink {
  display: inline-block;
  margin: 32px auto 0 auto;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 519px) {
  .kv .kv__contents .textLink {
    margin: min(5.3333333333vw, 20px) auto 0 auto;
  }
}

#page-top.main-content-v2 {
  padding-top: 0;
}
#page-top .kv-v2 {
  position: relative;
}
#page-top .kv-v2::before {
  content: "";
  position: absolute;
  top: 372px;
  left: -150px;
  width: 312px;
  height: 430px;
  transform: translateY(var(--parallax-y, 0px));
  border-radius: 50%;
  background: #C7E1DA;
  filter: blur(180px);
  z-index: 0;
  pointer-events: none;
}
@media screen and (max-width: 959px) {
  #page-top .kv-v2::before {
    top: 279px;
    left: -24vw;
    width: 58.9333333333vw;
    height: 81.3333333333vw;
    filter: blur(90px);
  }
}
#page-top .kv-v2::after {
  content: "";
  position: absolute;
  top: -253px;
  right: -136px;
  width: 312px;
  height: 430px;
  border-radius: 50%;
  background: #F8E9BE;
  filter: blur(180px);
  z-index: 0;
  pointer-events: none;
}
@media screen and (max-width: 959px) {
  #page-top .kv-v2::after {
    top: -46.1333333333vw;
    right: -37.3333333333vw;
    width: 83.2vw;
    height: 114.6666666667vw;
    filter: blur(90px);
  }
}
#page-top .kv-v2__shizuku {
  position: absolute;
  top: -180px;
  right: 0;
  left: auto;
  width: 715px;
  height: 687px;
  z-index: 0;
  pointer-events: none;
  opacity: 1;
}
@media screen and (max-width: 1279px) {
  #page-top .kv-v2__shizuku {
    width: 520px;
    height: auto;
  }
}
@media screen and (max-width: 959px) {
  #page-top .kv-v2__shizuku {
    top: -16vw;
    left: auto;
    right: -48vw;
    width: 120vw;
    height: auto;
  }
}
#page-top .kv-v2__shizuku img {
  display: block;
  width: 100%;
  height: auto;
}
#page-top .kv-v2__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  padding-block: 158px 88px;
  padding-inline: 70px 50px;
}
@media screen and (max-width: 1279px) {
  #page-top .kv-v2__inner {
    padding-inline: 40px 30px;
  }
}
@media screen and (max-width: 959px) {
  #page-top .kv-v2__inner {
    padding-block: 104px 48px;
    padding-inline: 27px;
  }
}
#page-top .kv-v2__head {
  position: relative;
  z-index: 1;
  max-width: 760px;
  order: 1;
}
#page-top .kv-v2__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 22px;
}
@media screen and (max-width: 959px) {
  #page-top .kv-v2__title {
    gap: min(4.2666666667vw, 16px);
  }
}
#page-top .kv-v2__logo-thecoach {
  width: 122px;
  height: auto;
}
@media screen and (max-width: 959px) {
  #page-top .kv-v2__logo-thecoach {
    width: min(16.2666666667vw, 61px);
  }
}
#page-top .kv-v2__program {
  display: block;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(7.2 * var(--unit));
  font-weight: 600;
  line-height: 1.17;
  letter-spacing: 0;
  color: #333333;
}
@media screen and (max-width: 1279px) {
  #page-top .kv-v2__program {
    font-size: calc(6 * var(--unit));
  }
}
@media screen and (max-width: 959px) {
  #page-top .kv-v2__program {
    font-size: min(10.6666666667vw, 40px);
    line-height: 1.1;
  }
}
#page-top .kv-v2__br-sp {
  display: none;
}
@media screen and (max-width: 959px) {
  #page-top .kv-v2__br-sp {
    display: block;
  }
}
#page-top .kv-v2__actions {
  order: 2;
  margin-top: 61px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
@media screen and (max-width: 959px) {
  #page-top .kv-v2__actions {
    order: 3;
    margin-top: min(7.4666666667vw, 28px);
    gap: min(3.2vw, 12px);
    width: 100%;
  }
}
#page-top .kv-v2__actions .c-button {
  min-width: 177px;
}
@media screen and (max-width: 959px) {
  #page-top .kv-v2__actions .c-button {
    flex: 1;
    min-width: 0;
    justify-content: space-between;
    padding: min(3.7333333333vw, 14px) min(5.3333333333vw, 20px);
  }
}
#page-top .kv-v2__label-sp {
  display: none;
}
@media screen and (max-width: 959px) {
  #page-top .kv-v2__label-sp {
    display: inline;
  }
}
@media screen and (max-width: 959px) {
  #page-top .kv-v2__label-pc {
    display: none;
  }
}
#page-top .kv-v2__visual {
  position: relative;
  z-index: 1;
  order: 3;
  margin-top: 70px;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1145/531;
}
@media screen and (max-width: 959px) {
  #page-top .kv-v2__visual {
    order: 2;
    margin-top: min(10.6666666667vw, 40px);
    margin-right: -27px;
    width: calc(100% + 27px);
    aspect-ratio: 348/193;
    -webkit-mask-image: linear-gradient(to bottom, #000 55%, rgba(0, 0, 0, 0.8) 69%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 55%, rgba(0, 0, 0, 0.8) 69%, transparent 100%);
  }
}
#page-top .kv-v2__image {
  position: absolute;
  inset: -80px 0;
  width: 100%;
  height: calc(100% + 160px);
}
#page-top .kv-v2__image picture,
#page-top .kv-v2__image img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.flex-col2 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .flex-col2 {
    display: block;
  }
}
.flex-col2 .flex-item, .flex-col2 .cardVertical {
  width: calc((100% - 56px) / 2);
}
@media screen and (max-width: 768px) {
  .flex-col2 .flex-item, .flex-col2 .cardVertical {
    width: 100%;
  }
}

.flex-col3 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 959px) {
  .flex-col3 {
    display: block;
  }
}
.flex-col3 .flex-item {
  width: calc((100% - 112px) / 3);
}
@media screen and (max-width: 959px) {
  .flex-col3 .flex-item {
    width: 100%;
    margin-bottom: min(12.8vw, 48px);
  }
}

#loading {
  padding: 0;
  display: fixed;
  width: 100vw;
  height: 100vh;
  background-color: #000;
  color: #FFF;
  position: absolute;
  background: #FFFFFF;
  z-index: 1000;
}
@media screen and (max-width: 519px) {
  #loading {
    padding: 14.9333333333vw;
  }
}
#loading .section__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 0;
}
#loading .loading__logo {
  display: none;
  width: 450px;
  height: auto;
}

#merit .merit__header {
  position: relative;
  margin-bottom: 45px;
  padding-top: 60px;
  text-align: center;
}
@media screen and (max-width: 959px) {
  #merit .merit__header {
    margin-bottom: 15px;
  }
}
#merit .merit__header::before {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 40px;
  background-image: url("../images/merit-icon.png");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
#merit .merit__subtitle {
  font-size: 20px;
}
#merit .merit__title {
  font-size: 34px;
}
@media screen and (max-width: 959px) {
  #merit .merit__title {
    font-size: 24px;
  }
}
#merit .merit__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#merit .merit__item {
  width: calc((100% - 50px) / 3);
  margin-top: 25px;
  padding: 10px 8px 20px;
  border-radius: 5px;
  background-color: #FDF9F3;
}
@media screen and (max-width: 519px) {
  #merit .merit__item:last-child br {
    display: none;
  }
}
@media screen and (max-width: 959px) {
  #merit .merit__item {
    width: calc((100% - 15px) / 2);
    margin-top: 15px;
    padding: 10px 4px 20px;
  }
}
#merit .merit__icon {
  width: 24%;
  margin: 0 auto;
}
@media screen and (max-width: 519px) {
  #merit .merit__icon {
    width: 48%;
  }
}
#merit .merit__txt {
  font-weight: 600;
  font-size: 18px;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 959px) {
  #merit .merit__txt {
    font-size: 16px;
  }
}

#page-top .message-v2__inner {
  padding-block: 180px 180px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
@media screen and (max-width: 959px) {
  #page-top .message-v2__inner {
    padding-block: 100px 100px;
    gap: 26px;
  }
}
@media screen and (max-width: 959px) {
  #page-top .message-v2__inner .c-h2 {
    gap: 20px;
  }
}
#page-top .message-v2__inner .c-h2__en {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-top .message-v2__inner .c-h2__ja {
    font-size: min(5.0666666667vw, 19px);
    letter-spacing: 0.03em;
  }
}
#page-top .message-v2__inner p {
  text-align: center;
  font-size: calc(1.8 * var(--unit));
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-top .message-v2__inner p {
    font-size: min(4vw, 15px);
    letter-spacing: 0;
  }
}

#modalBg {
  width: 100vw;
  height: 100vh;
  background-color: rgba(44, 42, 37, 0.6);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
  display: none;
}

#modalContent {
  display: none;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 300;
}

.modalCard {
  width: 498px;
  height: 628px;
  background-image: url("../images/modal_bg.jpg");
  background-size: cover;
  padding: 80px 56px 64px 56px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 2;
  border-radius: 24px;
  overflow: hidden;
}
@media screen and (max-width: 519px) {
  .modalCard {
    width: min(84.8vw, 318px);
    height: min(106.6666666667vw, 400px);
    padding: min(10.6666666667vw, 40px) min(8.5333333333vw, 32px);
    border-radius: min(6.4vw, 24px);
  }
}
@media screen and (max-width: 519px) {
  .modalCard .lineButton {
    display: block;
    margin-bottom: min(14.9333333333vw, 56px);
  }
}
.modalCard .qrCodeImage {
  margin: 0 auto;
  width: 260px;
  height: 260px;
  margin-bottom: 40px;
}
@media screen and (max-width: 519px) {
  .modalCard .qrCodeImage {
    margin-bottom: min(10.6666666667vw, 40px);
  }
}
.modalCard.--type-qr {
  display: block;
}
@media screen and (max-width: 519px) {
  .modalCard.--type-qr {
    display: none;
  }
}
.modalCard.--type-button {
  display: none;
}
@media screen and (max-width: 519px) {
  .modalCard.--type-button {
    display: block;
  }
}

.modalCard__title {
  font-size: 22px;
  line-height: 1.75;
  letter-spacing: 0.03em;
  font-weight: bold;
  text-align: center;
  margin-bottom: 24px;
}
@media screen and (max-width: 519px) {
  .modalCard__title {
    font-size: min(4.5333333333vw, 17px);
    line-height: 1.75;
    letter-spacing: 0.03em;
    margin-bottom: min(4.2666666667vw, 16px);
  }
}
.modalCard__title .line {
  color: #1EB85D;
}

.modalCard__description {
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  margin-bottom: 24px;
  text-align: center;
}
@media screen and (max-width: 519px) {
  .modalCard__description {
    margin-bottom: min(10.6666666667vw, 40px);
  }
}

.modalCard__close {
  width: 168px;
  height: 50px;
  border-radius: 50px;
  margin: 0 auto;
  background-color: #fff;
  color: #2C2A25;
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease;
}
.modalCard__close:hover {
  cursor: pointer;
  opacity: 0.5;
}

.movie {
  padding: 72px 0 0;
}
@media screen and (max-width: 519px) {
  .movie {
    padding-top: min(12.8vw, 48px);
  }
}
.movie .movie__wrapper {
  display: block;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.movie .movie__wrapper iframe {
  width: 100%;
  aspect-ratio: 16/9;
}
.movie .movie__caption {
  text-align: center;
}
.movie .movie__caption span {
  font-weight: bold;
}

.news__list {
  margin-bottom: min(10.6666666667vw, 40px);
}
.news__list .newsItem {
  position: relative;
  width: 100%;
  height: 96px;
  border-bottom: 1px solid #F4F4F4;
}
@media screen and (max-width: 519px) {
  .news__list .newsItem {
    height: auto;
    padding: min(3.2vw, 12px) 0;
  }
}
.news__list .newsItem a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 519px) {
  .news__list .newsItem a {
    margin-right: min(4.2666666667vw, 16px);
  }
}
.news__list .newsItem:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  transform: rotate(45deg);
  width: 8px;
  height: 8px;
  margin: auto;
  border-top: 2px solid #80C3C6;
  border-right: 2px solid #80C3C6;
  vertical-align: middle;
  content: "";
}
.news__list .newsItem:hover {
  opacity: 0.7;
  cursor: pointer;
}
.news__list .newsItem__logo {
  width: 100px;
  margin-right: 24px;
}
@media screen and (max-width: 519px) {
  .news__list .newsItem__logo {
    width: min(17.0666666667vw, 64px);
  }
}
.news__list .newsItem__body {
  flex: 1;
  padding-right: 16px;
}
.news__list .newsItemBody__title {
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 519px) {
  .news__list .newsItemBody__title {
    /* メイン */
    font-size: min(3.4666666667vw, 13px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
}
.news__list .newsItemBodyHeader__date {
  margin-right: 12px;
  color: #C6C6C6;
  font-style: normal;
  font-weight: normal;
  font-size: 14px;
  line-height: 1;
  font-family: century-gothic, sans-serif;
}
@media screen and (max-width: 519px) {
  .news__list .newsItemBodyHeader__date {
    /* メイン */
    font-size: min(3.4666666667vw, 13px);
    line-height: 1.85;
    letter-spacing: 0.03em;
    margin-right: min(2.6666666667vw, 10px);
  }
}
.news__list .newsItemBody__header {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
}
@media screen and (max-width: 519px) {
  .news__list .newsItemBody__header {
    margin-bottom: min(1.0666666667vw, 4px);
  }
}
.news__list .newsItemBodyHeader__category ul {
  display: flex;
  gap: 5px;
}
.news__list .newsItemBodyHeader__category ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 20px;
  padding: 0 10px;
  border: 1px solid #80C3C6;
  border-radius: 2px;
  color: #80C3C6;
  font-size: 11px;
  line-height: 20px;
}
@media screen and (max-width: 519px) {
  .news__list .newsItemBodyHeader__category ul li {
    font-size: 10px;
  }
}

#page-top .news-v2 {
  background: #F9F9F2;
}
#page-top .news-v2__inner {
  padding-block: 82px 112px;
}
@media screen and (max-width: 959px) {
  #page-top .news-v2__inner {
    padding-block: 64px;
  }
}
#page-top .news-v2__head-group {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#page-top .news-v2__list {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (max-width: 959px) {
  #page-top .news-v2__list {
    margin-top: 37px;
    gap: 19px;
  }
}
#page-top .news-v2__list .item {
  width: 100%;
  border-radius: 14px;
  background: #FFFFFF;
}
#page-top .news-v2__list .item__link {
  display: block;
  padding: 33px 33px 49px;
}
@media screen and (max-width: 959px) {
  #page-top .news-v2__list .item__link {
    padding: 22px 22px 36px;
  }
}
#page-top .news-v2__list .item__info {
  display: flex;
  justify-content: space-between;
  gap: 32px;
}
@media screen and (max-width: 959px) {
  #page-top .news-v2__list .item__info {
    flex-direction: column;
    gap: 6px;
  }
}
#page-top .news-v2__list .item__cats {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 8px;
}
@media screen and (max-width: 959px) {
  #page-top .news-v2__list .item__cats {
    gap: 12px 4px;
  }
}
#page-top .news-v2__list .item__cats span {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #666;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.2 * var(--unit));
  line-height: 1.3;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
  #page-top .news-v2__list .item__cats span {
    font-size: min(3.2vw, 12px);
  }
}
#page-top .news-v2__list .item__cats span:first-child {
  color: #AECAD6;
  font-weight: 700;
}
#page-top .news-v2__list .item__cats span:not(:first-child)::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  background: #D1D5DC;
  border-radius: 4px;
}
#page-top .news-v2__list .item__date {
  flex-shrink: 0;
  font-family: "Instrument Sans", sans-serif;
  color: #1A1A1A;
  font-size: calc(1.2 * var(--unit));
  line-height: 1.3;
  letter-spacing: 0;
}
@media screen and (max-width: 959px) {
  #page-top .news-v2__list .item__date {
    font-size: min(3.2vw, 12px);
  }
}
#page-top .news-v2__list .item__title {
  margin-top: 16px;
  font-size: calc(2 * var(--unit));
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 959px) {
  #page-top .news-v2__list .item__title {
    margin-top: 17px;
    font-size: min(4.2666666667vw, 16px);
    line-height: 1.6;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 959px) {
  #page-top .news-v2__link {
    margin-top: 37px;
  }
}

#page-top .notes-v2 {
  background: #FFFFFF;
}
#page-top .notes-v2__inner {
  padding-block: 96px 120px;
}
@media screen and (max-width: 959px) {
  #page-top .notes-v2__inner {
    padding-block: 64px;
  }
}
#page-top .notes-v2__head-group {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#page-top .notes-v2__list {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px 28px;
}
@media screen and (max-width: 1279px) {
  #page-top .notes-v2__list {
    gap: 28px 20px;
  }
}
@media screen and (max-width: 959px) {
  #page-top .notes-v2__list {
    margin-top: 37px;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 16px;
  }
}
@media screen and (max-width: 519px) {
  #page-top .notes-v2__list {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
#page-top .notes-v2__list .item {
  background: #FFFFFF;
  border-radius: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.8);
  border-left: 1px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.03);
  overflow: hidden;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
#page-top .notes-v2__list .item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 36px 0 rgba(0, 0, 0, 0.06);
}
#page-top .notes-v2__list .item__link {
  display: block;
  height: 100%;
  color: inherit;
}
#page-top .notes-v2__list .item__thumb {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #F5F5F5;
}
#page-top .notes-v2__list .item__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s ease;
}
#page-top .notes-v2__list .item__link:hover #page-top .notes-v2__list .item__thumb img {
  transform: scale(1.04);
}
#page-top .notes-v2__list .item__body {
  padding: 20px 24px 28px;
}
@media screen and (max-width: 959px) {
  #page-top .notes-v2__list .item__body {
    padding: 16px 18px 22px;
  }
}
#page-top .notes-v2__list .item__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.2 * var(--unit));
  line-height: 1.3;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
  #page-top .notes-v2__list .item__meta {
    font-size: min(2.9333333333vw, 11px);
    gap: 8px;
  }
}
#page-top .notes-v2__list .item__category {
  color: #86A79E;
  font-weight: 700;
}
#page-top .notes-v2__list .item__date {
  color: #999;
  letter-spacing: 0;
}
#page-top .notes-v2__list .item__date::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  background: #D1D5DC;
  border-radius: 4px;
  margin-right: 12px;
  vertical-align: middle;
}
@media screen and (max-width: 959px) {
  #page-top .notes-v2__list .item__date::before {
    margin-right: 8px;
  }
}
#page-top .notes-v2__list .item__title {
  margin-top: 12px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: calc(1.6 * var(--unit));
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: #333333;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 959px) {
  #page-top .notes-v2__list .item__title {
    margin-top: 10px;
    font-size: min(4vw, 15px);
    line-height: 1.6;
    letter-spacing: 0.02em;
  }
}
@media screen and (max-width: 959px) {
  #page-top .notes-v2__link {
    margin-top: 32px;
    display: flex;
    justify-content: center;
  }
}

#plan .plan__wrap {
  margin-bottom: 40px;
}
#plan .plan__wrap .note {
  margin-top: 30px;
  color: #6D6D6D;
  font-size: 12px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
#plan .plan__detail {
  padding: 40px 60px;
  border-radius: 5px;
  background-color: #F4F4F4;
}
@media screen and (max-width: 519px) {
  #plan .plan__detail {
    padding: 20px 14px;
  }
}
#plan .plan__detail h3 {
  margin-bottom: 20px;
  text-align: center;
  font-size: 20px;
  line-height: 1.75;
  letter-spacing: 0.03em;
  font-weight: bold;
}
@media screen and (max-width: 519px) {
  #plan .plan__detail h3 {
    margin-bottom: min(4.2666666667vw, 16px);
    font-size: 16px;
  }
}
#plan .plan__list {
  display: flex;
}
@media screen and (max-width: 959px) {
  #plan .plan__list {
    display: block;
  }
}
#plan .plan__list ul {
  display: flex;
  flex-direction: column;
}
#plan .plan__list ul:first-child {
  margin-right: 40px;
}
@media screen and (max-width: 959px) {
  #plan .plan__list ul:first-child {
    margin-right: 0;
  }
}
#plan .plan__list ul li {
  position: relative;
  margin-top: 10px;
  padding-left: 1em;
  font-size: 16px;
  line-height: 1.6;
}
@media screen and (max-width: 959px) {
  #plan .plan__list ul li {
    font-size: 14px;
  }
}
@media screen and (max-width: 519px) {
  #plan .plan__list ul li {
    font-size: 11px;
  }
}
#plan .plan__list ul li::before {
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #80C3C6;
  content: "";
}
#plan .plan__list ul li ul {
  margin-top: 5px;
}
#plan .plan__list ul li ul li {
  margin-top: 0;
  font-size: 12px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 519px) {
  #plan .plan__list ul li ul li {
    font-size: 11px;
  }
}
#plan .plan__list ul li ul li::before {
  border: 1px solid #80C3C6;
  background-color: transparent;
}
#plan .annotation {
  margin-top: 0;
  border-top: none;
}
#plan .annotationItem__title {
  font-size: 16px;
}
#plan .annotationItem__description {
  font-size: 14px;
}

#precaution .contentItem__head {
  display: flex;
  align-items: center;
  margin-bottom: min(5.3333333333vw, 20px);
}
#precaution .contentItem__head .contentItem__title {
  font-size: 18px;
}
@media screen and (max-width: 519px) {
  #precaution .contentItem__head .contentItem__title {
    font-size: min(4.5333333333vw, 17px);
    line-height: 1.75;
    letter-spacing: 0.03em;
  }
}
#precaution .contentItem__head .contentItem__title span {
  display: block;
}
@media screen and (max-width: 959px) {
  #precaution .contentItem__description {
    font-size: 14px;
  }
}
#precaution .contentItem__description a {
  color: #80C3C6;
  text-decoration: underline;
}
#precaution .contentItem__img {
  height: 65px;
  margin-right: 20px;
}
@media screen and (max-width: 959px) {
  #precaution .contentItem__img {
    margin: 0 min(6.4vw, 24px) 0 0;
  }
}
#precaution .contentItem__img img {
  width: auto;
  height: 100%;
}

.reason .cardHorizontal {
  margin-bottom: 88px;
}
@media screen and (max-width: 959px) {
  .reason .cardHorizontal {
    margin-bottom: min(14.9333333333vw, 56px);
  }
}
.reason .cardHorizontal p {
  margin-bottom: min(6.4vw, 24px);
}

.reason__header {
  margin-bottom: min(14.9333333333vw, 56px);
}
.reason__header .reasonHeader__heading .reasonHeading__num .reasonHeadingNum__text {
  color: #80C3C6;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  margin-bottom: min(2.1333333333vw, 8px);
  line-height: 1;
  display: block;
}
.reason__header .reasonHeader__heading .reasonHeading__num .reasonHeadingNum__num {
  display: block;
  width: min(14.9333333333vw, 56px);
  height: min(14.9333333333vw, 56px);
  border-radius: min(14.9333333333vw, 56px);
  border: 2px solid #80C3C6;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #80C3C6;
  margin: 0 auto;
}
.reason__header .reasonHeader__heading .reasonHeading__text {
  font-size: 36px;
  line-height: 1.6;
  letter-spacing: 0.03em;
  font-weight: bold;
  text-align: center;
  margin-top: min(2.6666666667vw, 10px);
}
@media screen and (max-width: 519px) {
  .reason__header .reasonHeader__heading .reasonHeading__text {
    font-size: min(6.4vw, 24px);
  }
}
@media screen and (max-width: 519px) {
  .reason__header {
    margin-bottom: min(8.5333333333vw, 32px);
  }
}

#reasonNavigation {
  position: fixed;
  left: -100px;
  top: 30%;
  width: 100px;
  transition: all 0.3s ease;
}
#reasonNavigation.is-show {
  left: 0;
}
@media screen and (max-width: 1240px) {
  #reasonNavigation {
    display: none;
  }
}

.reasonNavigation__list {
  background-color: #F5FAFA;
  width: 100px;
  border-radius: 0 8px 8px 0;
}

.reasonNavigationList__item {
  height: 72px;
  border-bottom: 1px solid rgba(128, 195, 198, 0.3);
}
.reasonNavigationList__item:last-child {
  border-bottom: none;
}
.reasonNavigationList__item a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.reasonNavigationList__item a:hover .reasonNavigationListItem__num {
  background-color: #80C3C6;
  color: #FFFFFF;
}
.reasonNavigationList__item.is-active .reasonNavigationListItem__num {
  background-color: #80C3C6;
  color: #FFFFFF;
}

.reasonNavigation__title {
  font-size: 10px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
}
.reasonNavigation__title img {
  margin-bottom: -8px;
}

.reasonNavigationListItem__num {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  border-radius: 36px;
  border: 1px solid #80C3C6;
  color: #80C3C6;
  font-size: 17px;
  font-weight: bold;
  transition: all 0.3s ease;
}

#reasons .cardVertical {
  margin-bottom: 88px;
  text-align: center;
}
#reasons .cardVertical .commonButton {
  margin-top: min(4.2666666667vw, 16px);
}
@media screen and (max-width: 959px) {
  #reasons .cardVertical {
    margin-bottom: min(14.9333333333vw, 56px);
  }
}

/**
 * 波紋アニメーション用のスタイル
 * Three.jsで描画されるcanvas要素のコンテナ
 */
#page-top .c-ripple-animation {
  position: absolute;
  top: 0;
  right: 0;
  width: 800px;
  height: 800px;
  pointer-events: none;
  z-index: 2;
}
@media screen and (max-width: 959px) {
  #page-top .c-ripple-animation {
    height: 100vh;
  }
}
#page-top .c-ripple-animation canvas {
  display: block;
  width: 100%;
  height: 100%;
}

#satisfaction img {
  max-width: 284px;
  margin: 0 auto;
}
#satisfaction .section__description {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
  margin-bottom: 40px;
}
#satisfaction .section__description span {
  display: block;
}
@media screen and (max-width: 959px) {
  #satisfaction .section__description span {
    display: inline;
  }
}
#satisfaction .large {
  font-size: 24px;
  text-align: center;
  margin-bottom: 16px;
  font-weight: bold;
}
@media screen and (max-width: 959px) {
  #satisfaction .large {
    line-height: 1.5;
    margin-bottom: min(6.4vw, 24px);
  }
}
@media screen and (max-width: 519px) {
  #satisfaction .large {
    font-size: min(5.3333333333vw, 20px);
    font-weight: bold;
  }
}
#satisfaction .large span.num {
  font-size: 40px;
  color: #E2A954;
  font-weight: bold;
}
@media screen and (max-width: 519px) {
  #satisfaction .large span.num {
    font-size: min(7.4666666667vw, 28px);
  }
}
#satisfaction .large span.txt {
  color: #E2A954;
}

.schedule__note li {
  color: #6D6D6D;
  font-size: 12px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}

.scheduleSection:first-child {
  margin-bottom: 60px;
}

.scheduleSection__item:not(:first-child) {
  margin-top: 20px;
}

.scheduleSection__input {
  display: none;
}

.scheduleSection__head {
  display: block;
  position: relative;
  cursor: pointer;
}
.scheduleSection__head:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.scheduleSection__head::after {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-image: url(../images/icon-expand-more.svg);
  content: "";
  filter: invert(60%) sepia(18%) saturate(0%) hue-rotate(305deg) brightness(94%) contrast(90%);
}
@media screen and (max-width: 519px) {
  .scheduleSection__head::after {
    right: 10px;
  }
}
.scheduleSection__input:checked + .scheduleSection__head::after {
  transform: translateY(-50%) rotateX(180deg);
}

.scheduleSection__title {
  padding: 18px 80px;
  border-radius: 5px;
  background: #F5F6F6;
  font-size: 22px;
  line-height: 1.75;
  letter-spacing: 0.03em;
  font-weight: bold;
}
@media screen and (max-width: 519px) {
  .scheduleSection__title {
    font-size: min(5.3333333333vw, 20px);
    line-height: 1.6;
    letter-spacing: 0.03em;
    padding: 20px 24px 20px 10px;
  }
}
.scheduleSection__title span {
  margin-right: 5px;
  padding: 4px 10px;
}
.scheduleSection__title .orange {
  background-color: #DDA24A;
  color: #FFFFFF;
}
.scheduleSection__title .blue {
  background-color: #64BBBF;
  color: #FFFFFF;
}
.scheduleSection__title .navy {
  background-color: #324451;
  color: #FFFFFF;
}
.scheduleSection__title #integration_sp_none {
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 519px) {
  .scheduleSection__title #integration_sp_none {
    display: none;
  }
}

.scheduleSection__description {
  margin: min(10.6666666667vw, 40px) 0;
}
.scheduleSection__description p {
  margin-bottom: min(6.4vw, 24px);
}
.scheduleSection__description p .red {
  color: #C94545;
}
.scheduleSection__description p a {
  color: #64BBBF;
  text-decoration: underline;
}

.scheduleSection__body {
  width: 100%;
  height: 0;
  padding: 0;
  overflow: hidden;
  transition: 0.3s ease;
}
.scheduleSection__input:checked + .scheduleSection__head + .scheduleSection__body {
  height: auto;
  padding-bottom: 40px;
}
.scheduleSection__body img {
  margin-top: 20px;
}

.scheduleSection__heading {
  margin-bottom: min(6.4vw, 24px);
  font-size: 22px;
  line-height: 1.75;
  letter-spacing: 0.03em;
  font-weight: bold;
}
@media screen and (max-width: 519px) {
  .scheduleSection__heading {
    font-size: min(5.3333333333vw, 20px);
    line-height: 1.6;
    letter-spacing: 0.03em;
  }
}

.scheduleSectionBox {
  margin-bottom: min(5.3333333333vw, 20px);
  padding: min(10.6666666667vw, 40px) 0;
  background-color: #F5FAFA;
  text-align: center;
}
@media screen and (max-width: 519px) {
  .scheduleSectionBox {
    padding: min(10.6666666667vw, 40px) 30px;
  }
}
.scheduleSectionBox .scheduleSectionBox__maintext {
  margin-bottom: min(4.2666666667vw, 16px);
}
.scheduleSectionBox .scheduleSectionBox__subtext {
  margin-bottom: min(5.3333333333vw, 20px);
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 519px) {
  .scheduleSectionBox .scheduleSectionBox__subtext {
    font-size: min(3.2vw, 12px);
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
}

.section__inner {
  max-width: 1128px;
  margin: 0 auto;
  padding: 0 64px;
}
@media screen and (max-width: 959px) {
  .section__inner {
    padding: 0 min(17.0666666667vw, 64px);
  }
}
@media screen and (max-width: 519px) {
  .section__inner {
    padding: 0 5.3333333333vw;
  }
}

.section__header {
  margin-bottom: 64px;
  text-align: center;
}
@media screen and (max-width: 959px) {
  .section__header {
    margin-bottom: min(17.0666666667vw, 64px);
  }
}
@media screen and (max-width: 519px) {
  .section__header {
    margin-bottom: min(10.6666666667vw, 40px);
  }
}

.sectionHeader__heading {
  margin-bottom: 16px;
}
@media screen and (max-width: 959px) {
  .sectionHeader__heading {
    margin-bottom: min(4.2666666667vw, 16px);
  }
}

.sectionHeading--en {
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #80C3C6;
  font-family: century-gothic, sans-serif;
  font-style: normal;
  font-weight: normal;
  margin-bottom: 24px;
  display: block;
}
@media screen and (max-width: 767px) {
  .sectionHeading--en {
    font-size: min(5.3333333333vw, 20px);
  }
}

.sectionHeading--ja {
  font-size: 34px;
  line-height: 1.6;
  letter-spacing: 0.03em;
  font-weight: bold;
}
@media screen and (max-width: 519px) {
  .sectionHeading--ja {
    font-size: min(6.4vw, 24px);
  }
}

.sectionBodyItem {
  margin-top: min(17.0666666667vw, 64px);
}
.sectionBodyItem .sectionBodyItem__title {
  font-size: 22px;
  line-height: 1.75;
  letter-spacing: 0.03em;
  font-weight: bold;
  margin-bottom: min(6.4vw, 24px);
}
.sectionBodyItem .sectionBodyItem__description {
  margin-bottom: min(10.6666666667vw, 40px);
}

#self-coaching {
  position: relative;
  padding: 0;
}
#self-coaching .section__header {
  position: relative;
  margin: 0;
  padding: 54px 0 40px;
  background-image: url("../images/self-coaching-bg-1-pc.png");
  background-size: cover;
}
@media screen and (max-width: 519px) {
  #self-coaching .section__header {
    padding: 40px 0 20px;
    background-image: url("../images/self-coaching-bg-1-sp.png");
  }
}
#self-coaching .section__header::before {
  position: absolute;
  top: -1px;
  left: 50%;
  transform: rotate(90deg) translateX(-50%);
  width: 0;
  height: 0;
  border-width: 16px 0 16px 20px;
  border-style: solid;
  border-color: transparent transparent transparent #FDF9F3;
  content: "";
}
#self-coaching .section__inner {
  padding-top: 40px;
  padding-bottom: 100px;
}
@media screen and (max-width: 519px) {
  #self-coaching .section__inner {
    padding-top: 20px;
    padding-bottom: 60px;
  }
}
#self-coaching .sectionHeading--ja {
  color: #FFFFFF;
}
#self-coaching .sectionHeading--ja span {
  display: inline;
  margin: 0 5px;
  padding: 4px 10px;
  background-color: #FFFFFF;
  color: #E2A954;
  line-height: 1.8;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
@media screen and (max-width: 519px) {
  #self-coaching .sectionHeading--ja span {
    margin: 0;
  }
}
#self-coaching .self-coaching__content {
  background-image: url("../images/self-coaching-bg-2-pc.png");
  background-size: cover;
}
@media screen and (max-width: 959px) {
  #self-coaching .self-coaching__content {
    background-image: url("../images/self-coaching-bg-2-sp.png");
  }
}
#self-coaching .self-coaching__txt {
  width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 959px) {
  #self-coaching .self-coaching__txt {
    width: 100%;
  }
}
#self-coaching .self-coaching__list {
  position: relative;
  width: 600px;
  margin: 20px auto 0;
  padding: 30px 60px;
  border-radius: 5px;
}
@media screen and (max-width: 519px) {
  #self-coaching .self-coaching__list {
    width: 100%;
    padding: 20px;
  }
}
#self-coaching .self-coaching__list::before, #self-coaching .self-coaching__list::after {
  position: absolute;
  content: "";
}
#self-coaching .self-coaching__list::before {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 3px;
  background-color: #FFFFFF;
}
#self-coaching .self-coaching__list::after {
  clip-path: polygon(100% 0, 0 100%, 0 0);
  right: 0%;
  bottom: 0%;
  width: 20px;
  height: 20px;
  background-color: #F4DCB9;
}
#self-coaching .self-coaching__item {
  position: relative;
  padding-left: 18px;
  line-height: 1.6;
}
@media screen and (max-width: 519px) {
  #self-coaching .self-coaching__item {
    font-size: 14px;
  }
}
#self-coaching .self-coaching__item::before {
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #E2A954;
  content: "";
}
#self-coaching .self-coaching__item:not(:first-child) {
  margin-top: 5px;
}

@media screen and (max-width: 768px) {
  #session .flex-col2 {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  #session .flex-item {
    width: 100%;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  #session .flex-item img {
    margin-bottom: min(6.4vw, 24px);
  }
}
#session .flex-item p {
  text-align: left;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  #session .flex-item p {
    margin-bottom: min(6.4vw, 24px);
  }
}

#special-offer {
  padding: 0 0 100px;
  background: linear-gradient(0deg, rgb(253, 249, 244) 0%, rgb(249, 238, 221) 100%);
}
@media screen and (max-width: 519px) {
  #special-offer {
    padding: 0;
  }
}
#special-offer .section__inner {
  max-width: 800px;
  padding: 100px 0 60px;
}
@media screen and (max-width: 959px) {
  #special-offer .section__inner {
    padding: 80px min(17.0666666667vw, 64px) 60px;
  }
}
@media screen and (max-width: 519px) {
  #special-offer .section__inner {
    padding: 60px 5.3333333333vw 60px;
  }
}
#special-offer .special-offer__wrap {
  background-image: url(../images/confetti.png);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 519px) {
  #special-offer .special-offer__wrap {
    background-image: url(../images/confetti-sp.png);
  }
}
#special-offer .special-offer__title {
  font-size: 30px;
  text-align: center;
}
@media screen and (max-width: 519px) {
  #special-offer .special-offer__title {
    font-size: 24px;
  }
}
#special-offer .special-offer__title img {
  width: 345px;
  margin: 0 auto;
}
@media screen and (max-width: 519px) {
  #special-offer .special-offer__title img {
    width: 269px;
  }
}
#special-offer .special-offer__voice {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
@media screen and (max-width: 519px) {
  #special-offer .special-offer__voice {
    flex-direction: column-reverse;
  }
}
#special-offer .special-offer__voice-item {
  position: relative;
  width: calc((100% - 156px) / 2);
  padding: 20px;
  border-radius: 5px;
  background: #FFFFFF;
}
@media screen and (max-width: 519px) {
  #special-offer .special-offer__voice-item {
    width: auto;
  }
}
#special-offer .special-offer__voice-item::before {
  display: inline-block;
  position: absolute;
  bottom: 0;
  width: 80px;
  height: 84px;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
#special-offer .special-offer__voice-item:first-child {
  margin-left: 58px;
}
@media screen and (max-width: 519px) {
  #special-offer .special-offer__voice-item:first-child {
    margin-top: 20px;
  }
}
#special-offer .special-offer__voice-item:first-child::before {
  left: -58px;
  background-image: url("../images/woman-2.png");
}
#special-offer .special-offer__voice-item:nth-child(2) {
  margin-right: 58px;
}
#special-offer .special-offer__voice-item:nth-child(2)::before {
  right: -58px;
  background-image: url("../images/woman-1.png");
}
#special-offer .special-offer__txt {
  font-weight: bold;
  font-size: 14px;
}
#special-offer .special-offer__name {
  margin-top: 10px;
  color: #6D6D6D;
  font-size: 12px;
}
#special-offer .special-offer__guarantee {
  margin-top: 40px;
}
#special-offer .special-offer__guarantee p {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  text-align: center;
  gap: 6px;
}
#special-offer .special-offer__guarantee p::before, #special-offer .special-offer__guarantee p::after {
  width: 20px;
  height: 1px;
  box-sizing: border-box;
  background-color: #6D6D6D;
  content: "";
}
#special-offer .special-offer__guarantee p::before {
  transform: rotate(60deg);
}
#special-offer .special-offer__guarantee p::after {
  transform: rotate(-60deg);
}
#special-offer .special-offer__guarantee img {
  width: 326px;
  margin: 10px auto 0;
}
#special-offer .special-offer__img {
  width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 959px) {
  #special-offer .special-offer__img {
    width: 100%;
    padding: 0 min(17.0666666667vw, 64px);
  }
}
@media screen and (max-width: 519px) {
  #special-offer .special-offer__img {
    padding: 0;
  }
}

#voice .voice__header {
  position: relative;
  margin-bottom: 20px;
  padding-top: 60px;
  text-align: center;
}
@media screen and (max-width: 959px) {
  #voice .voice__header {
    margin-bottom: 29px;
  }
}
#voice .voice__header::before {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 40px;
  background-image: url("../images/voice-icon.png");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
#voice .voice__subtitle {
  font-size: 20px;
}
#voice .voice__title {
  font-size: 34px;
}
@media screen and (max-width: 959px) {
  #voice .voice__title {
    font-size: 24px;
  }
}
#voice .voice__title span {
  display: inline;
  padding: 4px 10px;
  background: linear-gradient(220deg, #64bbbf 10%, #4da8ac 90%);
  color: #fff;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
#voice .voice__title br {
  display: none;
}
@media screen and (max-width: 959px) {
  #voice .voice__title br {
    display: block;
  }
}
#voice .voice__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1128px;
  margin: 0 auto 64px;
  padding: 0 64px;
}
@media screen and (max-width: 959px) {
  #voice .voice__list {
    display: block;
    padding: 0 min(17.0666666667vw, 64px);
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 768px) {
  #voice .voice__list {
    margin-bottom: 32px;
  }
}
@media screen and (max-width: 519px) {
  #voice .voice__list {
    margin: 0 0 8.5333333333vw 0;
    padding: 0;
  }
}
#voice .voice__item {
  width: calc((100% - 40px) / 2);
  margin-top: 40px;
}
@media screen and (max-width: 959px) {
  #voice .voice__item {
    width: 100%;
    margin-top: 1px;
  }
}
#voice .voice__item:nth-child(3) {
  order: 4;
}
#voice .voice__item:nth-child(4) {
  order: 3;
}

#page-top .voice-v2::before {
  content: "";
  position: absolute;
  top: 0;
  right: -190px;
  width: 312px;
  height: 430px;
  transform: translateY(var(--parallax-y, 0px));
  border-radius: 430px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
}
@media screen and (max-width: 959px) {
  #page-top .voice-v2::before {
    display: none;
  }
}
#page-top .voice-v2__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: 146px 115px;
}
@media screen and (max-width: 959px) {
  #page-top .voice-v2__inner {
    padding-block: 64px;
    align-items: flex-start;
  }
}
#page-top .voice-v2__list {
  max-width: 930px;
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  gap: 64px;
}
@media screen and (max-width: 959px) {
  #page-top .voice-v2__list {
    align-self: center;
    max-width: 560px;
    margin-top: 50px;
    gap: 50px;
    padding-inline: 9.5px;
  }
}
#page-top .voice-v2__item {
  display: flex;
  align-items: center;
  gap: 6.8817204301%;
}
@media screen and (max-width: 959px) {
  #page-top .voice-v2__item {
    flex-direction: column;
    gap: 20px;
  }
}
#page-top .voice-v2__item:nth-of-type(even) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 959px) {
  #page-top .voice-v2__item:nth-of-type(even) {
    flex-direction: column;
  }
}
#page-top .voice-v2__item:nth-of-type(even) .voice-v2__body {
  border-radius: 32px 0 32px 32px;
}
@media screen and (max-width: 959px) {
  #page-top .voice-v2__item:nth-of-type(even) .voice-v2__body {
    border-radius: 0 32px 32px 32px;
  }
}
#page-top .voice-v2__body {
  padding: 40px;
  width: 75.4838709677%;
  border-radius: 0 32px 32px 32px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(199, 225, 218, 0.2);
  box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.03);
}
@media screen and (max-width: 959px) {
  #page-top .voice-v2__body {
    width: 100%;
    padding: 24px;
  }
}
#page-top .voice-v2__body p {
  font-size: calc(2 * var(--unit));
  line-height: 1.7;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
  #page-top .voice-v2__body p {
    font-size: min(4.5333333333vw, 17px);
    line-height: 1.6;
    letter-spacing: 0.03em;
  }
}
#page-top .voice-v2__body small {
  display: block;
  text-align: right;
  margin-top: 16px;
  color: #2C3E50;
  font-size: calc(1.4 * var(--unit));
  line-height: 1.14;
  letter-spacing: 0;
}
@media screen and (max-width: 959px) {
  #page-top .voice-v2__body small {
    font-size: min(3.2vw, 12px);
    line-height: 1.5;
  }
}
#page-top .voice-v2__picture {
  width: 17.6344086022%;
}
@media screen and (max-width: 959px) {
  #page-top .voice-v2__picture {
    max-width: 164px;
    width: 35.3333333333%;
  }
}
#page-top .voice-v2__link {
  margin-top: 64px;
}
@media screen and (max-width: 959px) {
  #page-top .voice-v2__link {
    margin-top: 50px;
    align-self: center;
  }
}

.cardHorizontal {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .cardHorizontal {
    display: block;
  }
}

.cardHorizontal__item {
  width: calc((100% - 40px) / 2);
}
@media screen and (max-width: 768px) {
  .cardHorizontal__item {
    width: 100%;
  }
}

.cardHorizontalItem__title {
  font-size: 22px;
  line-height: 1.75;
  letter-spacing: 0.03em;
  font-weight: bold;
  margin-bottom: min(6.4vw, 24px);
  text-align: left;
}
@media screen and (max-width: 519px) {
  .cardHorizontalItem__title {
    margin: min(6.4vw, 24px) 0;
    font-size: min(4.5333333333vw, 17px);
    line-height: 1.75;
    letter-spacing: 0.03em;
  }
}

.cardHorizontalItem__description {
  text-align: left;
}
.cardHorizontalItem__description a {
  color: #80C3C6;
  text-decoration: underline;
}
.cardHorizontalItem__description p:not(:first-child) {
  margin-bottom: min(5.3333333333vw, 20px);
}

.cardVerticalText__title {
  padding: 32px 0 24px 0;
  display: flex;
  align-items: center;
  text-align: left;
}
@media screen and (max-width: 959px) {
  .cardVerticalText__title {
    padding: min(6.4vw, 24px) 0 min(4.2666666667vw, 16px) 0;
  }
}

.cardVerticalText__description {
  text-align: left;
}

.cardVerticalTextTitle__num {
  font-weight: normal;
  text-align: center;
  font-size: 17px;
  color: #80C3C6;
  display: inline-block;
  width: 36px;
  height: 36px;
  border-radius: 100px;
  border: 1px solid #80C3C6;
  margin-right: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
}
@media screen and (max-width: 519px) {
  .cardVerticalTextTitle__num {
    font-size: min(4.5333333333vw, 17px);
    width: min(9.6vw, 36px);
    height: min(9.6vw, 36px);
    margin-right: min(2.6666666667vw, 10px);
  }
}

.cardVerticalTextTitle__text {
  flex: 1;
  font-size: 22px;
  line-height: 1.75;
  letter-spacing: 0.03em;
  font-weight: bold;
}
@media screen and (max-width: 519px) {
  .cardVerticalTextTitle__text {
    font-size: min(4.5333333333vw, 17px);
    line-height: 1.75;
    letter-spacing: 0.03em;
  }
}

#course .course__input {
  display: none;
}
#course .course__label:hover {
  opacity: 0.7;
  cursor: pointer;
}
@media screen and (max-width: 519px) {
  #course .course__wrap {
    margin: 0 -8.5333333333vw;
  }
}
#course .courseCard__body {
  display: flex;
  width: 100%;
  height: 0;
  margin-bottom: 1px;
  padding: 0 60px;
  overflow: hidden;
  transition: 0.3s ease;
}
@media screen and (max-width: 959px) {
  #course .courseCard__body {
    display: block;
    padding: 0 min(8.5333333333vw, 32px);
  }
}
#course .courseCard__wrap {
  position: relative;
  width: 50%;
}
@media screen and (max-width: 959px) {
  #course .courseCard__wrap {
    width: 100%;
  }
}
#course .courseCard__wrap:first-child {
  padding-right: 40px;
}
@media screen and (max-width: 959px) {
  #course .courseCard__wrap:first-child {
    padding-right: 0;
  }
}
#course .courseCard__wrap:nth-child(2) {
  padding-left: 40px;
}
@media screen and (max-width: 959px) {
  #course .courseCard__wrap:nth-child(2) {
    padding-left: 0;
  }
}

#course .course__input:checked + .course__label + .courseCard__body {
  height: auto;
  margin-bottom: 40px;
  padding: 20px 60px 40px;
}
@media screen and (max-width: 519px) {
  #course .course__input:checked + .course__label + .courseCard__body {
    padding: min(5.3333333333vw, 20px) min(8.5333333333vw, 32px) min(8.5333333333vw, 32px) min(8.5333333333vw, 32px);
  }
}

.courseCard__head {
  display: flex;
  align-items: center;
  padding: 21px 32px;
}
@media screen and (max-width: 519px) {
  .courseCard__head {
    padding: min(4.2666666667vw, 16px) min(8.5333333333vw, 32px);
  }
}
.courseCard__head .courseCardHead__text {
  flex: 1;
}
.courseCard__head .courseCardHead__text .courseCardHeadText__name--en {
  color: rgba(255, 255, 255, 0.4);
  font-size: 15px;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 519px) {
  .courseCard__head .courseCardHead__text .courseCardHeadText__name--en {
    /* メイン */
    font-size: min(3.4666666667vw, 13px);
    line-height: 1.85;
    letter-spacing: 0.03em;
    letter-spacing: 0.03em;
  }
}
.courseCard__head .courseCardHead__text .courseCardHeadText__name--ja {
  color: #ffffff;
  font-weight: bold;
  font-size: 23px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 519px) {
  .courseCard__head .courseCardHead__text .courseCardHeadText__name--ja {
    font-size: min(5.3333333333vw, 20px);
  }
}
.courseCard__head .courseCardHead__text .courseCardHeadText__outline {
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  color: #FFFFFF;
}
@media screen and (max-width: 519px) {
  .courseCard__head .courseCardHead__text .courseCardHeadText__outline {
    font-size: min(3.2vw, 12px);
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
}

.courseCard__more {
  width: 100%;
  padding: 2px;
  text-align: center;
}
.courseCard__more p {
  display: inline-block;
  position: relative;
  padding-right: 20px;
  color: #FFFFFF;
  font-size: 12px;
  line-height: 1;
}
.courseCard__more p::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url(../images/icon-expand-more.svg) no-repeat;
  background-size: contain;
  content: "";
  filter: invert(100%) sepia(0%) saturate(7466%) hue-rotate(351deg) brightness(107%) contrast(111%);
}

.courseCardBody__description {
  font-size: 12px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 519px) {
  .courseCardBody__description {
    font-size: min(3.2vw, 12px);
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
}
.courseCardBody__description img {
  display: inline-block;
  margin-top: 20px;
}

.courseCardBody__description,
.courseCardBody__detail {
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid rgba(226, 169, 84, 0.3);
}
@media screen and (max-width: 519px) {
  .courseCardBody__description,
  .courseCardBody__detail {
    margin-top: min(4.2666666667vw, 16px);
    padding-top: min(6.4vw, 24px);
  }
}

.courseCardBody__detail:first-of-type {
  margin-top: 0px;
  padding-top: 0px;
  border-top: 0;
}
@media screen and (max-width: 519px) {
  .courseCardBody__detail:first-of-type {
    margin-top: min(4.2666666667vw, 16px);
    padding-top: min(6.4vw, 24px);
    border-top: 1px solid rgba(226, 169, 84, 0.3);
  }
}

.courseCardBodyContents__title {
  margin-bottom: 10px;
  font-weight: normal;
  font-size: 11px;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 519px) {
  .courseCardBodyContents__title {
    font-size: min(2.9333333333vw, 11px);
    margin-bottom: min(2.6666666667vw, 10px);
  }
}

.courseCardBodyContents__list {
  display: flex;
  justify-content: space-between;
}
.courseCardBodyContents__list_inner {
  width: 50%;
}
.courseCardBodyContents__list ul li {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 12px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  line-height: 2.1 !important;
}
.courseCardBodyContents__list ul li:before {
  content: "";
  display: inline-block;
  background-color: #E2A954;
  border-radius: 50%;
  margin-right: 5px;
  width: 10px;
  height: 10px;
}
@media screen and (max-width: 519px) {
  .courseCardBodyContents__list ul li {
    font-size: min(2.6666666667vw, 10px);
  }
  .courseCardBodyContents__list ul li:before {
    width: min(2.4vw, 9px);
    height: min(2.4vw, 9px);
  }
}
@media screen and (max-width: 959px) {
  .courseCardBodyContents__list ul li {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.85;
    letter-spacing: 0.03em;
    padding-left: 1em;
    text-indent: -1em;
    /* メイン */
    font-size: 14px;
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
  .courseCardBodyContents__list ul li:before {
    content: "";
    display: inline-block;
    background-color: #E2A954;
    border-radius: 50%;
    margin-right: 5px;
    width: 10px;
    height: 10px;
  }
}
@media screen and (max-width: 959px) and (max-width: 519px) {
  .courseCardBodyContents__list ul li {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
  .courseCardBodyContents__list ul li:before {
    width: min(2.6666666667vw, 10px);
    height: min(2.6666666667vw, 10px);
  }
}
@media screen and (max-width: 768px) {
  .courseCardBodyContents__list ul li {
    /* メイン */
    font-size: min(3.4666666667vw, 13px);
    line-height: 1.85;
    letter-spacing: 0.03em;
    padding-left: 1em;
    text-indent: -1em;
    font-size: 13px;
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
  .courseCardBodyContents__list ul li:before {
    content: "";
    display: inline-block;
    background-color: #E2A954;
    border-radius: 50%;
    margin-right: 5px;
    width: 10px;
    height: 10px;
  }
}
@media screen and (max-width: 768px) and (max-width: 519px) {
  .courseCardBodyContents__list ul li {
    /* メイン */
    font-size: min(3.4666666667vw, 13px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
  .courseCardBodyContents__list ul li:before {
    width: min(2.6666666667vw, 10px);
    height: min(2.6666666667vw, 10px);
  }
}
@media screen and (max-width: 519px) {
  .courseCardBodyContents__list ul li {
    font-size: min(2.6666666667vw, 10px);
    line-height: 1.8;
    letter-spacing: 0.03em;
    padding-left: 1em;
    text-indent: -1em;
    font-size: 12px;
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
  .courseCardBodyContents__list ul li:before {
    content: "";
    display: inline-block;
    background-color: #E2A954;
    border-radius: 50%;
    margin-right: 5px;
    width: 10px;
    height: 10px;
  }
}
@media screen and (max-width: 519px) and (max-width: 519px) {
  .courseCardBodyContents__list ul li {
    font-size: min(2.6666666667vw, 10px);
  }
  .courseCardBodyContents__list ul li:before {
    width: min(2.4vw, 9px);
    height: min(2.4vw, 9px);
  }
}

.courseCardBodyDetail__title {
  margin-bottom: 10px;
  color: #C88521;
}
.courseCardBodyDetail__list ul li {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 12px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
.courseCardBodyDetail__list ul li:before {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 5px;
  border-radius: 50%;
  background-color: #E2A954;
  content: "";
}
@media screen and (max-width: 519px) {
  .courseCardBodyDetail__list ul li {
    font-size: min(3.2vw, 12px);
  }
  .courseCardBodyDetail__list ul li:before {
    width: min(2.4vw, 9px);
    height: min(2.4vw, 9px);
  }
}
.courseCardBodyDetail__list ul li ul li::before {
  width: 8px;
  height: 8px;
  border: 1px solid #E2A954;
  background-color: transparent;
}
.courseCardBodyDetail__txt {
  font-size: 12px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  position: relative;
  margin-top: 20px;
}
.courseCardBodyDetail__txt::before {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: rotate(90deg) translateX(-50%);
  width: 0;
  height: 0;
  border-width: 8px 0 8px 10px;
  border-style: solid;
  border-color: transparent transparent transparent #E2A954;
  content: "";
}
@media screen and (max-width: 519px) {
  .courseCardBodyDetail__txt {
    font-size: min(3.2vw, 12px);
  }
}

.courseCard.--color-orange {
  background-color: #FDF9F3;
}
.courseCard.--color-orange .courseCard__head {
  background-color: #E2A954;
}
.courseCard.--color-orange .courseCard__more {
  background-color: #C88521;
}
.courseCard.--color-orange .courseCard__wrap:first-child {
  border-right: 1px solid rgba(226, 169, 84, 0.3);
}
@media screen and (max-width: 959px) {
  .courseCard.--color-orange .courseCard__wrap:first-child {
    border: none;
  }
}
.courseCard.--color-orange .courseCardBody__description,
.courseCard.--color-orange .courseCardBody__detail {
  border-color: rgba(226, 169, 84, 0.3);
}
.courseCard.--color-orange .courseCardBodyContents__title,
.courseCard.--color-orange .courseCardBodyDetail__title {
  color: #E2A954;
}
.courseCard.--color-orange .courseCardBodyContents__list ul li:before,
.courseCard.--color-orange .courseCardBodyDetail__list ul li:before {
  background-color: #E2A954;
}
.courseCard.--color-blue {
  background-color: #F5FAFA;
}
.courseCard.--color-blue .courseCard__head {
  background-color: #80C3C6;
}
.courseCard.--color-blue .courseCard__more {
  background-color: #4DA8AC;
}
.courseCard.--color-blue .courseCard__wrap:first-child {
  border-right: 1px solid rgba(128, 195, 198, 0.3);
}
@media screen and (max-width: 959px) {
  .courseCard.--color-blue .courseCard__wrap:first-child {
    border: none;
  }
}
.courseCard.--color-blue .courseCardBody__description,
.courseCard.--color-blue .courseCardBody__detail {
  border-color: rgba(128, 195, 198, 0.3);
}
.courseCard.--color-blue .courseCardBodyContents__title {
  color: #80C3C6;
}
.courseCard.--color-blue .courseCardBodyDetail__title {
  color: #4DA8AC;
}
.courseCard.--color-blue .courseCardBodyContents__list ul li:before,
.courseCard.--color-blue .courseCardBodyDetail__list ul li:before {
  background-color: #80C3C6;
}
.courseCard.--color-blue .courseCardBodyContents__list ul li ul li:before,
.courseCard.--color-blue .courseCardBodyDetail__list ul li ul li:before {
  border: 1px solid #80C3C6;
  background-color: transparent;
}
.courseCard.--color-blue .courseCardBodyDetail__txt:before {
  border-color: transparent transparent transparent #80C3C6;
}
.courseCard.--color-navy {
  background-color: #F5F6F6;
}
.courseCard.--color-navy .courseCard__head {
  background-color: #324451;
}
.courseCard.--color-navy .courseCard__more {
  background-color: #4F6C80;
}
.courseCard.--color-navy .courseCard__wrap:first-child {
  border-right: 1px solid rgba(50, 68, 81, 0.3);
}
@media screen and (max-width: 959px) {
  .courseCard.--color-navy .courseCard__wrap:first-child {
    border: none;
  }
}
.courseCard.--color-navy .courseCardBody__description,
.courseCard.--color-navy .courseCardBody__detail {
  border-color: rgba(50, 68, 81, 0.3);
}
.courseCard.--color-navy .courseCardBodyContents__title,
.courseCard.--color-navy .courseCardBodyDetail__title {
  color: #324451;
}
.courseCard.--color-navy .courseCardBodyContents__list_item:before {
  background-color: #324451;
}
.courseCard.--color-navy .courseCardBodyContents__list ul li:before,
.courseCard.--color-navy .courseCardBodyDetail__list ul li:before {
  background-color: #324451;
}
.courseCard.--color-navy .courseCardBodyContents__list ul li ul li:before,
.courseCard.--color-navy .courseCardBodyDetail__list ul li ul li:before {
  border: 1px solid #324451;
  background-color: transparent;
}
.courseCard.--color-navy .courseCardBodyDetail__txt:before {
  border-color: transparent transparent transparent #324451;
}

.termBadge {
  width: 74px;
  height: 74px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 37px;
  font-size: 14px;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 519px) {
  .termBadge {
    width: min(16vw, 60px);
    height: min(16vw, 60px);
    border-radius: 8vw;
    font-size: min(3.2vw, 12px);
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
}
.termBadge .termBadge__yaku {
  font-size: 10px;
  text-align: center;
  color: #fff;
  padding-top: 13px;
  margin-bottom: -10px;
}
@media screen and (max-width: 519px) {
  .termBadge .termBadge__yaku {
    font-size: min(2.1333333333vw, 8px);
    padding-top: min(3.4666666667vw, 13px);
    margin-bottom: min(-2.6666666667vw, -10px);
  }
}
.termBadge .termBadge__num {
  font-size: 19px;
}
@media screen and (max-width: 519px) {
  .termBadge .termBadge__num {
    font-size: min(4vw, 15px);
  }
}

.applyNowButton {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 436px;
  height: 92px;
  color: #2C2A25;
  border: 2px solid #2C2A25;
  border-radius: 6px;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin: 0 auto 40px;
  position: relative;
}
.applyNowButton:hover {
  opacity: 0.8;
}
@media screen and (max-width: 519px) {
  .applyNowButton {
    width: 100%;
    height: 21.0666666667vw;
    font-size: 4.2666666667vw;
    letter-spacing: 0.03em;
    margin-bottom: 10.6666666667vw;
  }
}
.applyNowButton.--color-navy {
  background-color: #2C2A25;
  color: #ffffff;
  border: none;
}
.applyNowButton.--color-navy::after {
  border-color: #FFFFFF;
  background-color: #FFFFFF;
}

.applyNowButton::after {
  content: "";
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  margin-right: 21px;
  border: 1px solid;
  border-color: #2C2A25;
  background-color: #2C2A25;
  clip-path: polygon(0 0, 50% 50%, 0 100%);
  position: absolute;
  right: 10px;
}
@media screen and (max-width: 519px) {
  .applyNowButton::after {
    right: 2.6666666667vw;
  }
}

.applyNow__form {
  padding-top: 60px;
}

.cta {
  width: 100%;
  min-height: 676px;
  padding: 0;
  background-size: cover;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 80px 0;
}
@media screen and (max-width: 959px) {
  .cta {
    padding: min(21.3333333333vw, 80px) 0;
  }
}
@media screen and (max-width: 519px) {
  .cta {
    min-height: auto;
    background-position: unset;
    box-sizing: content-box;
  }
}

.webp .cta {
  background-image: url("../images/CTA-pc.webp");
}
@media screen and (max-width: 519px) {
  .webp .cta {
    background-image: url("../images/CTA-sp.webp");
  }
}

.no-webp .cta {
  background-image: url("../images/CTA-pc.jpg");
}
@media screen and (max-width: 519px) {
  .no-webp .cta {
    background-image: url("../images/CTA-sp.jpg");
  }
}

.cta__inner {
  background-size: contain;
  max-width: 800px;
  margin: 0 auto;
  color: #ffffff;
}
@media screen and (max-width: 959px) {
  .cta__inner {
    padding: 0 min(26.6666666667vw, 100px);
  }
}
@media screen and (max-width: 519px) {
  .cta__inner {
    padding: 0 min(10.6666666667vw, 40px);
    height: auto;
  }
}

.cta__title {
  font-size: 36px;
  line-height: 1.6;
  letter-spacing: 0.03em;
  font-weight: bold;
  margin-bottom: 40px;
  text-align: center;
}
@media screen and (max-width: 959px) {
  .cta__title {
    margin-bottom: min(10.6666666667vw, 40px);
  }
}
@media screen and (max-width: 519px) {
  .cta__title {
    font-size: min(6.4vw, 24px);
    line-height: 1.6;
    letter-spacing: 0.03em;
    margin-bottom: min(6.4vw, 24px);
  }
}

.cta__description {
  font-size: 18px;
  color: #fff;
  margin-bottom: 48px;
  text-align: center;
}
.cta__description span {
  display: block;
}
@media screen and (max-width: 768px) {
  .cta__description span {
    display: inline;
  }
}
@media screen and (max-width: 959px) {
  .cta__description {
    font-size: 16px;
    line-height: 1.85;
    letter-spacing: 0.03em;
    margin-bottom: min(10.6666666667vw, 40px);
  }
}
@media screen and (max-width: 519px) {
  .cta__description {
    font-size: min(4vw, 15px);
    line-height: 1.85;
    letter-spacing: 0.03em;
    margin-bottom: min(8.5333333333vw, 32px);
  }
}

.cta__logo {
  width: 364px;
  margin: 0 auto;
  margin-bottom: 48px;
}
@media screen and (max-width: 519px) {
  .cta__logo {
    width: min(60vw, 225px);
    margin-bottom: min(8.5333333333vw, 32px);
  }
}

/* note: ボーダーのボタンとして汎用化する */
.applyButton {
  width: 346px;
  height: 77px;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  font-weight: bold;
  font-size: 17px;
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
  overflow: hidden;
  margin: 0 auto;
  border: 1px solid #ffffff;
}
.applyButton span {
  position: relative;
  z-index: 2;
  color: #fff;
}
.applyButton:hover {
  opacity: 0.7;
}
@media screen and (max-width: 519px) {
  .applyButton {
    font-size: min(4.5333333333vw, 17px);
    width: min(82.6666666667vw, 310px);
    height: min(17.0666666667vw, 64px);
    border: 1px solid #fff;
    letter-spacing: 0.03em;
  }
}

.cta .cvButton {
  margin-bottom: 16px;
}
@media screen and (max-width: 959px) {
  .cta .cvButton {
    margin-bottom: min(4.2666666667vw, 16px);
  }
}
@media screen and (max-width: 519px) {
  .cta .cvButton {
    margin-bottom: min(2.6666666667vw, 10px);
  }
}

#page-instructor .instructor::before {
  content: "";
  position: absolute;
  top: 180px;
  left: -150px;
  width: 312px;
  height: 430px;
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
  transform: rotate(-27deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor::before {
    top: 183px;
    transform: rotate(0deg) translateY(var(--parallax-y, 0px));
    left: -45.3333333333vw;
    width: 71.4666666667vw;
    height: 98.6666666667vw;
  }
}
#page-instructor .instructor::after {
  content: "";
  position: absolute;
  top: 1280px;
  right: 200px;
  width: 312px;
  height: 596px;
  border-radius: 596px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
  transform: rotate(-70deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
  opacity: 0.7;
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor::after {
    top: 1800px;
    right: -27.7333333333vw;
    width: 56.8vw;
    height: 108.2666666667vw;
    opacity: 0.5;
  }
}
#page-instructor .instructor__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#page-instructor .instructor__inner {
  position: relative;
  z-index: 1;
  padding-block: 80px 160px;
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor__inner {
    padding-block: 56px 100px;
  }
}
#page-instructor .instructor__intro {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor__intro {
    gap: 12px;
  }
}
#page-instructor .instructor__intro-lead {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(1.8 * var(--unit));
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.08em;
  color: #333333;
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor__intro-lead {
    font-size: min(4vw, 15px);
    text-align: left;
  }
}
#page-instructor .instructor__intro-note {
  font-size: calc(1.2 * var(--unit));
  line-height: 1.8;
  color: #999999;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor__intro-note {
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-instructor .instructor__list {
  margin-top: 88px;
  display: flex;
  flex-direction: column;
  gap: 80px;
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor__list {
    margin-top: 56px;
    gap: 56px;
  }
}
@media screen and (max-width: 519px) {
  #page-instructor .instructor__list {
    gap: 44px;
  }
}
#page-instructor .instructor .profile {
  display: flex;
  align-items: stretch;
  gap: 56px;
}
#page-instructor .instructor .profile:nth-child(even) {
  flex-direction: row-reverse;
}
#page-instructor .instructor .profile:nth-child(even) .profile__visual .profile__num {
  left: auto;
  right: 24px;
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor .profile:nth-child(even) .profile__visual .profile__num {
    right: 16px;
  }
}
#page-instructor .instructor .profile:nth-child(even) .profile__body {
  border-radius: 32px 0 32px 32px;
}
@media screen and (max-width: 519px) {
  #page-instructor .instructor .profile:nth-child(even) .profile__body {
    border-radius: 0 0 16px 16px;
  }
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor .profile {
    gap: 32px;
  }
}
@media screen and (max-width: 519px) {
  #page-instructor .instructor .profile {
    flex-direction: column !important;
    gap: 0;
  }
}
#page-instructor .instructor .profile__visual {
  flex-shrink: 0;
  position: relative;
  width: 320px;
  aspect-ratio: 4/5;
  border-radius: 24px;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.8);
  border-left: 1px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.04);
}
@media screen and (max-width: 1279px) {
  #page-instructor .instructor .profile__visual {
    width: 280px;
  }
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor .profile__visual {
    width: 220px;
  }
}
@media screen and (max-width: 519px) {
  #page-instructor .instructor .profile__visual {
    width: 100%;
    aspect-ratio: 4/3;
    border-radius: 16px 16px 0 0;
  }
}
#page-instructor .instructor .profile__visual img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#page-instructor .instructor .profile__num {
  position: absolute;
  bottom: 18px;
  left: 24px;
  font-family: "Instrument Serif", serif;
  font-size: calc(4 * var(--unit));
  font-weight: 400;
  color: #FFFFFF;
  line-height: 1;
  letter-spacing: 0;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  opacity: 0.95;
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor .profile__num {
    bottom: 14px;
    left: 16px;
    font-size: min(8.5333333333vw, 32px);
  }
}
#page-instructor .instructor .profile__body {
  flex: 1;
  background: rgba(199, 225, 218, 0.2);
  border-top: 1px solid rgba(255, 255, 255, 0.8);
  border-left: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 0 32px 32px 32px;
  padding: 48px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
@media screen and (max-width: 1279px) {
  #page-instructor .instructor .profile__body {
    padding: 40px;
  }
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor .profile__body {
    padding: 32px 28px;
    gap: 24px;
  }
}
@media screen and (max-width: 519px) {
  #page-instructor .instructor .profile__body {
    padding: 28px 24px;
    gap: 20px;
    border-radius: 0 0 16px 16px;
  }
}
#page-instructor .instructor .profile__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
#page-instructor .instructor .profile__en {
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.1 * var(--unit));
  font-weight: 700;
  color: #86A79E;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  line-height: 1;
  opacity: 0.85;
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor .profile__en {
    font-size: min(2.6666666667vw, 10px);
  }
}
#page-instructor .instructor .profile__name {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-feature-settings: "palt" on, "pkna" on;
  font-size: calc(2.8 * var(--unit));
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  color: #333333;
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor .profile__name {
    font-size: min(5.8666666667vw, 22px);
  }
}
#page-instructor .instructor .profile__name small {
  margin-left: 12px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(1.3 * var(--unit));
  font-weight: 400;
  color: #999999;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor .profile__name small {
    font-size: min(2.9333333333vw, 11px);
    margin-left: 8px;
    display: inline-block;
  }
}
#page-instructor .instructor .profile__catch {
  margin-top: 6px;
  font-family: "Noto Serif JP", serif;
  font-size: calc(1.8 * var(--unit));
  font-weight: 400;
  color: #86A79E;
  line-height: 1.7;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor .profile__catch {
    font-size: min(4.2666666667vw, 16px);
  }
}
#page-instructor .instructor .profile__meta {
  display: grid;
  grid-template-columns: max-content 1fr;
  -moz-column-gap: 24px;
       column-gap: 24px;
  row-gap: 12px;
  padding: 20px 0;
  border-top: 1px solid rgba(134, 167, 158, 0.25);
  border-bottom: 1px solid rgba(134, 167, 158, 0.25);
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor .profile__meta {
    -moz-column-gap: 16px;
         column-gap: 16px;
  }
}
@media screen and (max-width: 519px) {
  #page-instructor .instructor .profile__meta {
    grid-template-columns: 1fr;
    row-gap: 4px;
  }
}
#page-instructor .instructor .profile__meta dt {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(1.2 * var(--unit));
  font-weight: 700;
  color: #86A79E;
  letter-spacing: 0.08em;
  line-height: 1.6;
  padding-top: 2px;
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor .profile__meta dt {
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-instructor .instructor .profile__meta dd {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(1.4 * var(--unit));
  color: rgba(51, 51, 51, 0.85);
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor .profile__meta dd {
    font-size: min(3.4666666667vw, 13px);
  }
}
@media screen and (max-width: 519px) {
  #page-instructor .instructor .profile__meta dd {
    margin-bottom: 12px;
  }
}
#page-instructor .instructor .profile__story {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
#page-instructor .instructor .profile__story h3 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(1.5 * var(--unit));
  font-weight: 700;
  color: #86A79E;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor .profile__story h3 {
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-instructor .instructor .profile__story p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(1.4 * var(--unit));
  line-height: 2;
  letter-spacing: 0.05em;
  color: rgba(51, 51, 51, 0.85);
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor .profile__story p {
    font-size: min(3.4666666667vw, 13px);
    line-height: 1.95;
  }
}
#page-instructor .instructor .profile__message {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
#page-instructor .instructor .profile__message h3 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(1.5 * var(--unit));
  font-weight: 700;
  color: #86A79E;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor .profile__message h3 {
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-instructor .instructor .profile__message blockquote {
  padding: 20px 24px;
  background: rgba(255, 255, 255, 0.4);
  border-left: 2px solid rgba(134, 167, 158, 0.5);
  border-radius: 0 14px 14px 0;
  font-family: "Noto Serif JP", serif;
  font-size: calc(1.6 * var(--unit));
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.06em;
  color: rgba(51, 51, 51, 0.8);
}
@media screen and (max-width: 959px) {
  #page-instructor .instructor .profile__message blockquote {
    padding: 16px 20px;
    font-size: min(3.7333333333vw, 14px);
  }
}

#page-news .articles::before {
  content: "";
  position: absolute;
  top: 331px;
  left: -150px;
  width: 312px;
  height: 430px;
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
  transform: rotate(-27deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-news .articles::before {
    transform: rotate(0deg) translateY(var(--parallax-y, 0px));
    top: 205px;
    left: -45.3333333333vw;
    width: 71.4666666667vw;
    height: 98.6666666667vw;
  }
}
#page-news .articles::after {
  content: "";
  position: absolute;
  top: 770px;
  right: -138px;
  width: 312px;
  height: 596px;
  border-radius: 596px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
  transform: rotate(-70deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-news .articles::after {
    top: 1010px;
    right: -27.7333333333vw;
    width: 56.8vw;
    height: 108.2666666667vw;
  }
}
#page-news .articles__inner {
  position: relative;
  padding-block: 180px 220px;
}
@media screen and (max-width: 959px) {
  #page-news .articles__inner {
    padding-block: 105px 80px;
  }
}
#page-news .articles__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (max-width: 959px) {
  #page-news .articles__list {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 24px;
  }
}
@media screen and (max-width: 519px) {
  #page-news .articles__list {
    flex-direction: column;
    justify-content: flex-start;
    gap: 12px;
  }
}
#page-news .articles__list .item {
  width: 100%;
  border-radius: 14px;
  background: #FFFFFF;
}
@media screen and (max-width: 959px) {
  #page-news .articles__list .item {
    width: calc(50% - 12px);
  }
}
@media screen and (max-width: 519px) {
  #page-news .articles__list .item {
    width: 100%;
  }
}
#page-news .articles__list .item__link {
  display: flex;
  align-items: center;
  gap: 50px;
  padding: 32px;
}
@media screen and (max-width: 959px) {
  #page-news .articles__list .item__link {
    flex-direction: column;
    gap: 40px;
    padding: 22px 22px 32px;
  }
}
#page-news .articles__list .item__thumbnail {
  width: 180px;
  flex-shrink: 0;
}
@media screen and (max-width: 959px) {
  #page-news .articles__list .item__thumbnail {
    width: 100%;
  }
}
#page-news .articles__list .item__body {
  flex: 1;
}
@media screen and (max-width: 959px) {
  #page-news .articles__list .item__body {
    width: 100%;
  }
}
#page-news .articles__list .item__info {
  display: flex;
  justify-content: space-between;
  gap: 32px;
}
@media screen and (max-width: 959px) {
  #page-news .articles__list .item__info {
    flex-direction: column;
    gap: 6px;
  }
}
#page-news .articles__list .item__cats {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 8px;
}
@media screen and (max-width: 959px) {
  #page-news .articles__list .item__cats {
    gap: 12px 4px;
  }
}
#page-news .articles__list .item__cats span {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #666;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.2 * var(--unit));
  line-height: 1.3;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
  #page-news .articles__list .item__cats span {
    font-size: min(3.2vw, 12px);
  }
}
#page-news .articles__list .item__cats span:first-child {
  color: #AECAD6;
  font-weight: 700;
}
#page-news .articles__list .item__cats span:not(:first-child)::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  background: #D1D5DC;
  border-radius: 4px;
}
#page-news .articles__list .item__date {
  flex-shrink: 0;
  font-family: "Instrument Sans", sans-serif;
  color: #1A1A1A;
  font-size: calc(1.2 * var(--unit));
  line-height: 1.3;
  letter-spacing: 0;
}
@media screen and (max-width: 959px) {
  #page-news .articles__list .item__date {
    font-size: min(3.2vw, 12px);
  }
}
#page-news .articles__list .item__title {
  margin-top: 16px;
  font-weight: 500;
  font-size: calc(2 * var(--unit));
  line-height: 1.6;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 959px) {
  #page-news .articles__list .item__title {
    margin-top: 16px;
    font-size: min(4.2666666667vw, 16px);
  }
}

.page-template-page-schedule .section__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 64px;
}
@media screen and (max-width: 959px) {
  .page-template-page-schedule .section__inner {
    padding: 0 min(8.5333333333vw, 32px);
  }
}
@media screen and (max-width: 519px) {
  .page-template-page-schedule .section__inner {
    padding: 0 6.4vw;
  }
}

#page-schedule .courses::before {
  content: "";
  position: absolute;
  top: 17px;
  left: -150px;
  width: 312px;
  height: 430px;
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
  transform: rotate(-27deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-schedule .courses::before {
    transform: rotate(0deg) translateY(var(--parallax-y, 0px));
    top: 0;
    left: -45.3333333333vw;
    width: 71.4666666667vw;
    height: 98.6666666667vw;
  }
}
#page-schedule .courses::after {
  content: "";
  position: absolute;
  top: 596px;
  right: -254px;
  width: 312px;
  height: 596px;
  border-radius: 596px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
  transform: rotate(-70deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-schedule .courses::after {
    top: 531px;
    right: -27.7333333333vw;
    width: 56.8vw;
    height: 108.2666666667vw;
  }
}
#page-schedule .courses__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#page-schedule .courses__bg::before {
  content: "";
  position: absolute;
  top: 2421px;
  left: -203px;
  width: 312px;
  height: 596px;
  transform: rotate(-150deg) translateY(var(--parallax-y, 0px));
  will-change: transform;
  border-radius: 596px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
}
@media screen and (max-width: 959px) {
  #page-schedule .courses__bg::before {
    display: none;
  }
}
#page-schedule .courses__inner {
  padding-block: 0 200px;
}
@media screen and (max-width: 959px) {
  #page-schedule .courses__list {
    max-width: 505px;
    margin-inline: auto;
  }
}
#page-schedule .courses__head {
  margin-block: 80px 64px;
  font-feature-settings: "palt" on, "pkna" on;
  font-size: calc(2.6 * var(--unit));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 959px) {
  #page-schedule .courses__head {
    margin-block: 44px;
    font-size: min(5.6vw, 21px);
  }
}
@media screen and (max-width: 959px) {
  #page-schedule .courses__head:not(:first-child) {
    padding-top: 44px;
    border-top: 1px solid #D7D7D7;
  }
}
#page-schedule .schedule {
  padding: 36px 40px;
  border-radius: 18px;
  border-top: 2px solid rgba(255, 255, 255, 0.8);
  border-left: 2px solid rgba(255, 255, 255, 0.8);
  background: #FFF;
  display: flex;
  flex-wrap: wrap;
  gap: 16px 40px;
  /* 表示されない要素 改修前からあったコードのため念の為残しておく */
}
@media screen and (max-width: 959px) {
  #page-schedule .schedule {
    flex-direction: column;
    padding: 26px;
    gap: 22px;
  }
}
#page-schedule .schedule:not(.courses__head + #page-schedule .schedule) {
  margin-top: 16px;
}
#page-schedule .schedule__caption {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
#page-schedule .schedule__head-contents {
  flex: 1;
}
@media screen and (max-width: 959px) {
  #page-schedule .schedule__head-contents {
    width: 100%;
  }
}
#page-schedule .schedule__title {
  font-size: calc(2 * var(--unit));
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-schedule .schedule__title {
    font-size: min(4.8vw, 18px);
  }
}
#page-schedule .schedule__status {
  margin-top: 8px;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 1px 8px;
  border-radius: 20px;
  border: 1px solid #54ADB1;
  font-size: calc(1.2 * var(--unit));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 959px) {
  #page-schedule .schedule__status {
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-schedule .schedule__status::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #54ADB1;
}
@media screen and (max-width: 959px) {
  #page-schedule .schedule__status::before {
    width: 5px;
    height: 5px;
  }
}
#page-schedule .schedule__status--full {
  color: #FFFFFF;
  border-color: #333333;
  background-color: #333333;
}
#page-schedule .schedule__status--full::before {
  background-color: #FFFFFF;
}
#page-schedule .schedule__status--accepting {
  color: #54ADB1;
  border-color: #54ADB1;
}
#page-schedule .schedule__status--accepting::before {
  background-color: #54ADB1;
}
#page-schedule .schedule__status--few-remaining {
  color: #DD9731;
  border-color: #DD9731;
}
#page-schedule .schedule__status--few-remaining::before {
  background-color: #DD9731;
}
#page-schedule .schedule__table {
  width: 73.6196319018%;
}
@media screen and (max-width: 959px) {
  #page-schedule .schedule__table {
    width: 100%;
  }
}
#page-schedule .schedule__table tbody {
  display: flex;
  flex-wrap: wrap;
}
#page-schedule .schedule__item {
  width: 16.6666666667%;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 959px) {
  #page-schedule .schedule__item {
    width: 25%;
  }
}
#page-schedule .schedule__item th {
  width: 100%;
  padding: 4px 5px;
  text-align: center;
  background: #F8FFFF;
  border-top: 1px solid #ebebeb;
  border-right: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb;
  color: #54ADB1;
  font-size: calc(1.2 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-schedule .schedule__item th {
    padding: 4px;
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-schedule .schedule__item td {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 8px;
  width: 100%;
  text-align: center;
  border-right: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.4 * var(--unit));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 959px) {
  #page-schedule .schedule__item td {
    padding: 6px 3px;
    font-size: min(2.9333333333vw, 11px);
    min-height: none;
  }
}
#page-schedule .schedule__item:nth-child(6n+1) th,
#page-schedule .schedule__item:nth-child(6n+1) td {
  border-left: 1px solid #ebebeb;
}
@media screen and (max-width: 959px) {
  #page-schedule .schedule__item:nth-child(6n+1) th,
  #page-schedule .schedule__item:nth-child(6n+1) td {
    border-left: none;
  }
}
@media screen and (max-width: 959px) {
  #page-schedule .schedule__item:nth-child(4n+1) th,
  #page-schedule .schedule__item:nth-child(4n+1) td {
    border-left: 1px solid #ebebeb;
  }
}
#page-schedule .schedule__item:nth-child(n+7) th {
  border-top: none;
}
@media screen and (max-width: 959px) {
  #page-schedule .schedule__item:nth-child(n+7) th {
    border-top: 1px solid #ebebeb;
  }
}
@media screen and (max-width: 959px) {
  #page-schedule .schedule__item:nth-child(n+5) th {
    border-top: none;
  }
}
#page-schedule .schedule__item--empty th {
  background-color: #F2F2F2;
}
#page-schedule .schedule__item--single-row {
  width: 100%;
  min-height: 64px;
}
#page-schedule .schedule__item--single-row th {
  height: 0;
  padding: 0;
  border-bottom: none;
}
#page-schedule .schedule__item--single-row td {
  font-size: calc(1.3 * var(--unit));
  font-weight: 400;
}
@media screen and (max-width: 959px) {
  #page-schedule .schedule__item--single-row td {
    padding: 8px;
  }
}
#page-schedule .schedule__item--single-row + .schedule__item--dummy {
  display: none;
}
#page-schedule .schedule__footer {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 959px) {
  #page-schedule .schedule__footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}
#page-schedule .schedule__notice {
  font-size: calc(1.3 * var(--unit));
  line-height: 1.7;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 959px) {
  #page-schedule .schedule__notice {
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-schedule .schedule__notice::before {
  content: "・";
  color: #54ADB1;
  font-size: calc(1.3 * var(--unit));
  line-height: 1.7;
  letter-spacing: 0.06em;
}
#page-schedule .schedule__apply {
  flex-shrink: 0;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 959px) {
  #page-schedule .schedule__apply {
    width: 100%;
  }
}

.schedulePageMainSection .course__title {
  padding: 8px 12px;
  font-size: 22px;
  line-height: 1.75;
  letter-spacing: 0.03em;
  font-weight: bold;
  margin-bottom: 64px;
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .course__title {
    font-size: min(5.3333333333vw, 20px);
    line-height: 1.6;
    letter-spacing: 0.03em;
    margin-bottom: min(12.8vw, 48px);
  }
}
@media screen and (max-width: 519px) {
  .schedulePageMainSection .course__title {
    font-size: min(5.3333333333vw, 20px);
    line-height: 1.6;
    letter-spacing: 0.03em;
  }
}
.schedulePageMainSection .course__title.orange {
  background-color: #FBF2E5;
  color: #DDA24A;
}
.schedulePageMainSection .course__title.blue {
  background-color: #ECF6F6;
  color: #64BBBF;
}
.schedulePageMainSection .course__title.navy {
  background-color: #E0E3E5;
  color: #324451;
}
.schedulePageMainSection .schedule + .course__title {
  margin-top: 96px;
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule + .course__title {
    margin-top: min(25.6vw, 96px);
  }
}
.schedulePageMainSection .wrap {
  display: flex;
}
@media screen and (max-width: 519px) {
  .schedulePageMainSection .wrap {
    display: block;
  }
}
.schedulePageMainSection .title {
  flex-shrink: 0;
}
.schedulePageMainSection .schedule {
  display: grid;
  grid-template-columns: 28% repeat(11, 1fr);
  border-top: 1px solid #E5E5E5;
  border-left: 1px solid #E5E5E5;
  margin-bottom: 40px;
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule {
    grid-template-columns: 30% repeat(6, 1fr);
    margin-bottom: min(8.5333333333vw, 32px);
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule {
    display: block;
    grid-template-columns: repeat(6, 16.6666666667%);
  }
}
.schedulePageMainSection .schedule__caption {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.schedulePageMainSection .schedule thead, .schedulePageMainSection .schedule tfoot {
  display: contents;
}
.schedulePageMainSection .schedule tbody {
  display: contents;
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule tbody:after {
    content: "";
    display: block;
    border-bottom: 1px solid #E5E5E5;
    border-right: 1px solid #E5E5E5;
    grid-row: span 2;
  }
  .schedulePageMainSection .schedule tbody:has(.mitei):after {
    content: none;
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule tbody {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
  }
}
.schedulePageMainSection .schedule tr {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule tr {
    grid-template-rows: auto;
    grid-row: span 4;
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule tr {
    grid-template-rows: subgrid;
    grid-row: span 2;
  }
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule tr.schedule__1 {
    grid-area: 1/2/span 1/span 1;
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule tr.schedule__1 {
    grid-area: 1/1/span 2/span 1;
  }
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule tr.schedule__2 {
    grid-area: 1/3/span 1/span 1;
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule tr.schedule__2 {
    grid-area: 1/2/span 2/span 1;
  }
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule tr.schedule__3 {
    grid-area: 1/4/span 1/span 1;
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule tr.schedule__3 {
    grid-area: 1/3/span 2/span 1;
  }
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule tr.schedule__4 {
    grid-area: 1/5/span 1/span 1;
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule tr.schedule__4 {
    grid-area: 1/4/span 2/span 1;
  }
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule tr.schedule__5 {
    grid-area: 1/6/span 1/span 1;
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule tr.schedule__5 {
    grid-area: 1/5/span 2/span 1;
  }
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule tr.schedule__6 {
    grid-area: 1/7/span 1/span 1;
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule tr.schedule__6 {
    grid-area: 1/6/span 2/span 1;
  }
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule tr.schedule__7 {
    grid-area: 2/2/span 1/span 1;
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule tr.schedule__7 {
    grid-area: 3/1/span 2/span 1;
  }
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule tr.schedule__8 {
    grid-area: 2/3/span 1/span 1;
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule tr.schedule__8 {
    grid-area: 3/2/span 2/span 1;
  }
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule tr.schedule__9 {
    grid-area: 2/4/span 1/span 1;
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule tr.schedule__9 {
    grid-area: 3/3/span 2/span 1;
  }
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule tr.schedule__10 {
    grid-area: 2/5/span 1/span 1;
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule tr.schedule__10 {
    grid-area: 3/4/span 2/span 1;
  }
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule tr.schedule__11 {
    grid-area: 2/6/span 1/span 1;
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule tr.schedule__11 {
    grid-area: 3/5/span 2/span 1;
  }
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule tr.schedule__12 {
    grid-area: 2/7/span 1/span 1;
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule tr.schedule__12 {
    grid-area: 3/6/span 2/span 1;
  }
}
.schedulePageMainSection .schedule tr.schedule__1.mitei {
  grid-area: 1/2/4/-1;
  grid-template-rows: auto;
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule tr.schedule__1.mitei {
    grid-area: 1/1/-1/-1;
  }
}
.schedulePageMainSection .schedule tr.schedule__1.mitei .mitei.date {
  padding: 12px 20px;
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule tr.schedule__1.mitei .mitei.date {
    padding: 8px 12px;
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule tr.schedule__1.mitei .mitei.date {
    padding: 12px 20px;
  }
}
.schedulePageMainSection .schedule__title {
  padding: 12px 20px;
  border-bottom: 1px solid #E5E5E5;
  border-right: 1px solid #E5E5E5;
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule__title {
    padding: 8px 12px;
    grid-area: 1/1/4/2 !important;
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule__title {
    padding: 12px 20px;
    grid-area: 1/1/2/7 !important;
  }
}
.schedulePageMainSection .schedule__title--text {
  text-align: left;
  font-size: 17px;
  line-height: 1.65;
  letter-spacing: 0.03em;
  font-weight: bold;
}
@media screen and (max-width: 519px) {
  .schedulePageMainSection .schedule__title--text {
    font-size: min(4.5333333333vw, 17px);
    line-height: 1.75;
    letter-spacing: 0.03em;
  }
}
.schedulePageMainSection .schedule__title--badge {
  display: inline-block;
  text-align: center;
  min-width: 64px;
  padding: 0px 12px;
  /* メイン */
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  color: #FFFFFF;
}
@media screen and (max-width: 519px) {
  .schedulePageMainSection .schedule__title--badge {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.85;
    letter-spacing: 0.03em;
  }
}
.schedulePageMainSection .schedule__title--badge.full {
  background-color: #324451;
}
.schedulePageMainSection .schedule__title--badge.accepting {
  background-color: #80C3C6;
}
.schedulePageMainSection .schedule__title--badge.few-remaining {
  background-color: #DDA24A;
}
.schedulePageMainSection .schedule__notice {
  padding: 12px 20px;
  grid-row: 3/4;
  grid-column: 1/-1;
  grid-template-columns: 1fr max-content;
  align-items: center;
  border-bottom: 1px solid #E5E5E5;
  border-right: 1px solid #E5E5E5;
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule__notice {
    grid-template-columns: auto;
    align-items: start;
    padding: 8px 12px;
  }
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule__notice {
    padding: 8px 20px 12px;
  }
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule__notice .apply {
    justify-self: right;
  }
}
.schedulePageMainSection .schedule__notice .apply__link {
  text-align: center;
  min-width: auto !important;
}
.schedulePageMainSection .schedule__notice .apply__link--notAvailable {
  text-align: center;
  min-width: auto !important;
  pointer-events: none;
}
.schedulePageMainSection .schedule__notice .notice {
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .schedulePageMainSection .schedule__notice .notice {
    padding-bottom: 8px;
  }
}
.schedulePageMainSection .schedule .kai, .schedulePageMainSection .schedule .date {
  display: grid;
  grid-template-rows: subgrid;
  align-items: center;
  text-align: center;
  font-size: 14px;
  border-bottom: 1px solid #E5E5E5;
  border-right: 1px solid #E5E5E5;
}
@media screen and (max-width: 959px) {
  .schedulePageMainSection .schedule .kai, .schedulePageMainSection .schedule .date {
    font-size: 14px;
  }
}
@media screen and (max-width: 519px) {
  .schedulePageMainSection .schedule .kai, .schedulePageMainSection .schedule .date {
    font-size: 11px;
  }
}
.schedulePageMainSection .schedule .kai {
  background-color: #F4F4F4;
}

#page-school .chapter-facts__inner {
  padding-block: 88px 96px;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-facts__inner {
    padding-block: 56px;
  }
}
#page-school .chapter-facts__head {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
#page-school .chapter-facts__lead {
  margin-top: 24px;
  color: #333333;
  font-size: calc(1.5 * var(--unit));
  line-height: 2;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-facts__lead {
    font-size: min(3.4666666667vw, 13px);
    line-height: 1.9;
    text-align: left;
  }
}
#page-school .chapter-facts__stats {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-facts__stats {
    margin-top: 40px;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
#page-school .chapter-facts__stats .stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 32px 16px;
  background: rgba(199, 225, 218, 0.25);
  border: 1px solid rgba(134, 167, 158, 0.2);
  border-radius: 16px;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-facts__stats .stat {
    padding: 24px 12px;
    gap: 6px;
  }
}
#page-school .chapter-facts__stats .stat__num {
  font-family: "Instrument Serif", serif;
  color: #222F30;
  font-size: calc(5.6 * var(--unit));
  line-height: 1;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 1279px) {
  #page-school .chapter-facts__stats .stat__num {
    font-size: calc(4.4 * var(--unit));
  }
}
@media screen and (max-width: 959px) {
  #page-school .chapter-facts__stats .stat__num {
    font-size: min(9.6vw, 36px);
  }
}
#page-school .chapter-facts__stats .stat__num small {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 0.45em;
  margin-left: 2px;
  color: #86A79E;
  font-weight: 700;
  vertical-align: 0.4em;
}
#page-school .chapter-facts__stats .stat__label {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #333333;
  font-size: calc(1.3 * var(--unit));
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-facts__stats .stat__label {
    font-size: min(2.9333333333vw, 11px);
  }
}
#page-school .chapter-facts__badges {
  margin-top: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  padding: 32px;
  background: rgba(199, 225, 218, 0.15);
  border-radius: 16px;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-facts__badges {
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    margin-top: 40px;
  }
}
#page-school .chapter-facts__badge-img {
  width: 120px;
  height: auto;
  flex-shrink: 0;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-facts__badge-img {
    width: 100px;
  }
}
#page-school .chapter-facts__badges-note {
  flex: 1;
  color: #333333;
  font-size: calc(1.3 * var(--unit));
  line-height: 1.8;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-facts__badges-note {
    font-size: min(3.2vw, 12px);
    text-align: center;
  }
}
#page-school .chapter-facts__features {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-facts__features {
    margin-top: 40px;
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
#page-school .chapter-facts__features li {
  padding: 32px;
  background: #FFFFFF;
  border: 1px solid rgba(51, 51, 51, 0.08);
  border-radius: 14px;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-facts__features li {
    padding: 24px;
  }
}
#page-school .chapter-facts__features li h4 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #222F30;
  font-size: calc(1.8 * var(--unit));
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.08em;
  padding-left: 16px;
  position: relative;
}
#page-school .chapter-facts__features li h4::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em;
  width: 6px;
  height: calc(100% - 0.8em);
  background: #86A79E;
  border-radius: 6px;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-facts__features li h4 {
    font-size: min(4vw, 15px);
  }
}
#page-school .chapter-facts__features li p {
  margin-top: 14px;
  color: #333333;
  font-size: calc(1.4 * var(--unit));
  line-height: 1.9;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-facts__features li p {
    font-size: min(3.4666666667vw, 13px);
    margin-top: 10px;
  }
}
#page-school .chapter-facts__caption {
  margin-top: 32px;
  color: #999999;
  font-size: calc(1.1 * var(--unit));
  line-height: 1.8;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-facts__caption {
    font-size: min(2.6666666667vw, 10px);
  }
}
#page-school .chapter-facts__caption a {
  color: #63BFA7;
  text-decoration: underline;
}

#page-school .p-section-h2 {
  font-feature-settings: "palt" on, "pkna" on;
  font-size: calc(3 * var(--unit));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-school .p-section-h2 {
    font-size: min(6.9333333333vw, 26px);
    line-height: 1.65;
    letter-spacing: 0.1em;
  }
}
#page-school .p-section-h2--center {
  text-align: center;
}
@media screen and (max-width: 959px) {
  #page-school .p-section-h2--center-sp {
    text-align: center;
  }
}
#page-school .p-section-h2--white {
  color: #FFFFFF;
}
#page-school .p-body {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 959px) {
  #page-school .p-body {
    gap: 30px;
  }
}
#page-school .p-body p {
  font-feature-settings: "palt" on;
  font-size: calc(1.6 * var(--unit));
  line-height: 2.2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
  #page-school .p-body p {
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-school .chapter-curriculum::before {
  content: "";
  position: absolute;
  top: 182px;
  right: -178px;
  width: 312px;
  height: 596px;
  transform: rotate(-12deg) translateY(var(--parallax-y, 0px));
  border-radius: 596px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
  will-change: transform;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-curriculum::before {
    display: none;
  }
}
#page-school .chapter-curriculum__inner {
  padding-block: 180px 140px;
  padding-inline: 120px;
}
@media screen and (max-width: 1279px) {
  #page-school .chapter-curriculum__inner {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 959px) {
  #page-school .chapter-curriculum__inner {
    padding-block: 100px 120px;
  }
}
@media screen and (max-width: 519px) {
  #page-school .chapter-curriculum__inner {
    padding-inline: 27px;
  }
}
#page-school .chapter-curriculum .p-body {
  margin-top: 60px;
  margin-left: auto;
  width: 63.2277834525%;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-curriculum .p-body {
    margin-top: 40px;
    width: 100%;
  }
}
#page-school .chapter-outcomes__inner {
  position: relative;
  padding-block: 180px;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-outcomes__inner {
    padding-block: 120px;
  }
}
#page-school .chapter-outcomes__inner::before {
  content: "";
  position: absolute;
  top: 35px;
  left: 50%;
  transform: translateX(-50%);
  width: 78.8351107465%;
  height: calc(100% - 35px - 225px);
  background-image: url("../images/v2/about/chapter-04_bg.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  z-index: 0;
  animation: rotateBgSchool 75s infinite linear;
  transform-origin: center center;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-outcomes__inner::before {
    top: 50px;
    width: 826px;
    height: 100%;
    max-height: 826px;
  }
}
@keyframes rotateBgSchool {
  from {
    transform: translateX(-50%) rotate(0deg);
  }
  to {
    transform: translateX(-50%) rotate(360deg);
  }
}
#page-school .chapter-outcomes .p-body {
  margin-top: 72px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-outcomes .p-body {
    gap: 59px;
  }
}
#page-school .chapter-outcomes .p-body > p {
  width: 60.7176581681%;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-outcomes .p-body > p {
    width: 100%;
  }
}
#page-school .chapter-outcomes .p-body > ul {
  display: flex;
  justify-content: space-between;
  padding: 47px 5.6657223796% 58px;
  border-radius: 16px;
  border: 1px solid #FFF;
  background: rgba(228, 237, 235, 0.3);
  -webkit-backdrop-filter: blur(2.5px);
          backdrop-filter: blur(2.5px);
}
@media screen and (max-width: 959px) {
  #page-school .chapter-outcomes .p-body > ul {
    width: 100%;
    flex-direction: column;
    gap: 36px;
    padding: 36px 15.5763239875% 54px;
  }
}
#page-school .chapter-outcomes .p-body > ul li {
  position: relative;
  width: 21.7252396166%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-outcomes .p-body > ul li {
    width: 100%;
    gap: 10px;
  }
}
#page-school .chapter-outcomes .p-body > ul li::before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  border-radius: 40px;
  background: rgba(138, 198, 182, 0.13);
}
#page-school .chapter-outcomes .p-body > ul li::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  flex-shrink: 0;
  position: absolute;
  top: 4px;
  border-radius: 40px;
  background: #8AC6B6;
}
#page-school .chapter-outcomes .p-body > ul li h4 {
  text-align: center;
  font-feature-settings: "palt" on, "pkna" on;
  font-size: calc(2.1 * var(--unit));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-outcomes .p-body > ul li h4 {
    font-size: min(4.8vw, 18px);
  }
}
#page-school .chapter-outcomes .p-body > ul li p {
  color: rgba(0, 0, 0, 0.7);
  font-feature-settings: "palt" on;
  font-size: calc(1.4 * var(--unit));
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-school .chapter-outcomes .p-body > ul li p {
    font-size: min(3.2vw, 12px);
  }
}

#page-blog-search .list-footer__inner {
  padding-bottom: 123px;
}
@media screen and (max-width: 959px) {
  #page-blog-search .list-footer__inner {
    padding-bottom: 97px;
  }
}
#page-blog-search .tags {
  background: #F9F9F2;
}
#page-blog-search .tags__inner {
  padding-block: 155px 123px;
}
@media screen and (max-width: 959px) {
  #page-blog-search .tags__inner {
    padding-block: 60px;
  }
}
#page-blog-search .tags__heading {
  font-size: calc(2.6 * var(--unit));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-blog-search .tags__heading {
    font-size: min(5.6vw, 21px);
  }
}
#page-blog-search .tags__list {
  margin-top: 63px;
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
}
@media screen and (max-width: 959px) {
  #page-blog-search .tags__list {
    margin-top: 50px;
    gap: 17px 20px;
  }
}
#page-blog-search .tags__item a {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: calc(1.8 * var(--unit));
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
  #page-blog-search .tags__item a {
    justify-content: space-between;
    gap: 4px;
    font-size: min(3.4666666667vw, 13px);
  }
}
#page-blog-search .tags__item a span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: #FFFFFF;
  font-family: "Instrument Sans", sans-serif;
  font-size: calc(1.2 * var(--unit));
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  background: #54ADB1;
  border-radius: 90px;
  flex-shrink: 0;
}
@media screen and (max-width: 959px) {
  #page-blog-search .tags__item a span {
    font-size: min(3.2vw, 12px);
  }
}
@media (hover: hover) {
  #page-blog-search .tags__item a:hover {
    opacity: 0.7;
  }
}

#page-seminar-thanks .message::before {
  content: "";
  position: absolute;
  top: 180px;
  left: -150px;
  width: 312px;
  height: 430px;
  transform: rotate(-27deg);
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
}
@media screen and (max-width: 959px) {
  #page-seminar-thanks .message::before {
    transform: rotate(0deg);
    top: 0;
    left: -45.3333333333vw;
    width: 71.4666666667vw;
    height: 98.6666666667vw;
  }
}
#page-seminar-thanks .message__inner {
  padding-block: 120px 170px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 959px) {
  #page-seminar-thanks .message__inner {
    padding-block: 100px;
  }
}
#page-seminar-thanks .message__contents {
  max-width: 654px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#page-seminar-thanks .message h2 {
  display: flex;
  align-items: center;
  gap: 35px;
  font-size: calc(2.6 * var(--unit));
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-seminar-thanks .message h2 {
    flex-direction: column;
    gap: 9px;
    font-size: min(5.8666666667vw, 22px);
  }
}
#page-seminar-thanks .message h2::before {
  content: "";
  display: block;
  width: 64px;
  height: 64px;
  background-color: #54ADB1;
  background-image: url("../images/v2/common/icon_check_white.svg");
  background-size: 27px 20px;
  background-repeat: no-repeat;
  background-position: 52% 52%;
  border-radius: 50%;
}
#page-seminar-thanks .message p {
  margin-top: 40px;
  font-size: calc(1.6 * var(--unit));
  line-height: 2.2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-seminar-thanks .message p {
    font-size: min(3.7333333333vw, 14px);
  }
}

.commonForm__seminar h2 {
  font-size: 36px;
  color: #1f4e79;
  text-align: center;
  margin-bottom: 48px;
}
.commonForm__seminar h2 + p {
  font-size: 24px;
  color: #1f4e79;
  text-align: center;
  margin-bottom: 48px;
}
.commonForm__seminar > img {
  width: 100%;
}

@media screen and (max-width: 519px) {
  .commonForm__form .aitemasu {
    padding: 0 20px;
  }
}

#page-seminar {
  font-size: calc(1.6 * var(--unit));
  line-height: 2.2;
  letter-spacing: 0.1em;
}
#page-seminar .p-h2 {
  margin-bottom: 24px;
  padding-bottom: 15px;
  border-bottom: 2px solid #B4E0D4;
  font-size: calc(2.2 * var(--unit));
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-seminar .p-h2 {
    margin-bottom: 20px;
    padding-bottom: 12px;
    font-size: min(5.3333333333vw, 20px);
  }
}
@media screen and (max-width: 959px) {
  #page-seminar {
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-seminar .intro::before {
  content: "";
  position: absolute;
  top: 180px;
  left: -150px;
  width: 312px;
  height: 430px;
  transform: rotate(-27deg) translateY(var(--parallax-y, 0px));
  border-radius: 430px;
  background: #C7E1DA;
  filter: blur(90px);
  z-index: 0;
}
@media screen and (max-width: 959px) {
  #page-seminar .intro::before {
    transform: rotate(0deg) translateY(var(--parallax-y, 0px));
    top: 180px;
    left: -45.3333333333vw;
    width: 71.4666666667vw;
    height: 98.6666666667vw;
  }
}
#page-seminar .intro__inner {
  padding-top: 180px;
}
@media screen and (max-width: 959px) {
  #page-seminar .intro__inner {
    padding-top: 80px;
  }
}
#page-seminar .intro p {
  margin-top: 48px;
}
@media screen and (max-width: 959px) {
  #page-seminar .intro p {
    margin-top: 45px;
  }
}
#page-seminar .point::before {
  content: "";
  position: absolute;
  top: 180px;
  right: -138px;
  width: 312px;
  height: 596px;
  transform: rotate(-70deg) translateY(var(--parallax-y, 0px));
  border-radius: 596px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
}
@media screen and (max-width: 959px) {
  #page-seminar .point::before {
    top: 400px;
    right: -20.5333333333vw;
    width: 56.8vw;
    height: 108.2666666667vw;
  }
}
#page-seminar .point__inner {
  padding-top: 56px;
}
@media screen and (max-width: 959px) {
  #page-seminar .point__inner {
    padding-top: 44px;
  }
}
#page-seminar .point__item {
  margin-top: 24px;
}
@media screen and (max-width: 959px) {
  #page-seminar .point__item {
    margin-top: 20px;
  }
}
#page-seminar .point__item h3 {
  margin-bottom: 16px;
  font-size: calc(1.6 * var(--unit));
  font-weight: 700;
  line-height: 2.2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-seminar .point__item h3 {
    margin-bottom: 8px;
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-seminar .point__content {
  display: flex;
  gap: 8px;
}
@media screen and (max-width: 959px) {
  #page-seminar .point__content {
    flex-direction: column;
    align-items: center;
  }
}
#page-seminar .point__content p {
  position: relative;
  padding-left: 18px;
  flex: 1;
}
@media screen and (max-width: 959px) {
  #page-seminar .point__content p {
    padding-left: 13px;
  }
}
#page-seminar .point__content p::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  flex-shrink: 0;
  position: absolute;
  left: 0;
  top: calc(1.1em - 5px);
  border-radius: 40px;
  background: #BDD9D1;
}
@media screen and (max-width: 959px) {
  #page-seminar .point__content p::before {
    width: 5px;
    height: 5px;
    top: calc(1.1em - 2.5px);
  }
}
#page-seminar .point__content img {
  width: 27.5229357798%;
  flex-shrink: 0;
}
@media screen and (max-width: 959px) {
  #page-seminar .point__content img {
    width: 58.4415584416%;
  }
}
#page-seminar .flow__inner {
  padding-top: 56px;
}
@media screen and (max-width: 959px) {
  #page-seminar .flow__inner {
    padding-top: 44px;
  }
}
#page-seminar .flow ol {
  list-style-position: inside;
}
#page-seminar .flow ol li {
  padding-left: 1.2em;
  text-indent: -1.2em;
  font-size: calc(1.6 * var(--unit));
  line-height: 2.2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  #page-seminar .flow ol li {
    font-size: min(3.7333333333vw, 14px);
  }
}
#page-seminar .apply {
  /* フォーム送信ボタンのコードをこのページ専用スタイルに意図的に一部上書きしています */
}
#page-seminar .apply::before {
  content: "";
  position: absolute;
  top: 1360px;
  left: -203px;
  width: 312px;
  height: 596px;
  transform: rotate(-150deg) translateY(var(--parallax-y, 0px));
  border-radius: 596px;
  background: #F8E9BE;
  filter: blur(90px);
  z-index: 0;
}
@media screen and (max-width: 959px) {
  #page-seminar .apply::before {
    transform: rotate(-70deg) translateY(var(--parallax-y, 0px));
    top: auto;
    bottom: -375px;
    left: -36.2666666667vw;
    width: 56.5333333333vw;
    height: 108.2666666667vw;
  }
}
#page-seminar .apply__inner {
  padding-top: 56px;
}
@media screen and (max-width: 959px) {
  #page-seminar .apply__inner {
    padding-top: 44px;
  }
}
#page-seminar .apply .form {
  margin-top: 24px;
  padding: 8px 40px 0;
  background: #FFFFFF;
  border-radius: 14px 14px 0 0;
}
@media screen and (max-width: 959px) {
  #page-seminar .apply .form {
    margin-top: 20px;
    padding: 4px 20px 0;
  }
}
@media screen and (max-width: 959px) {
  #page-seminar .apply .form .formItem {
    margin-top: 20px;
  }
}
#page-seminar .apply .form .formRadio {
  margin-top: 4px;
  line-height: 1.6;
}
#page-seminar .apply .form .formRadio label::before {
  flex-shrink: 0;
}
#page-seminar .apply .formButton {
  margin-top: 0;
  padding: 64px 40px 40px;
  background: #FFFFFF;
  border-radius: 0 0 14px 14px;
}
@media screen and (max-width: 959px) {
  #page-seminar .apply .formButton {
    padding: 20px 20px 24px;
  }
}
#page-seminar .apply .formButton__button {
  width: 100%;
  height: 78px;
  background-color: #222F30;
  font-size: calc(1.4 * var(--unit));
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
@media screen and (max-width: 959px) {
  #page-seminar .apply .formButton__button {
    font-size: min(3.7333333333vw, 14px);
    height: 64px;
  }
}
#page-seminar .apply .formButton__button--disabled {
  background-color: #C6C6C6;
}
#page-seminar .apply .formButton__button::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background-color: #FFFFFF;
  -webkit-mask-image: url("../../assets/images/v2/common/icon_arrow.svg");
          mask-image: url("../../assets/images/v2/common/icon_arrow.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  flex-shrink: 0;
  clip-path: none;
  transform: rotate(90deg);
  position: initial;
  margin: 0;
  border: none;
}
#page-seminar .instructors__inner {
  padding-block: 56px 200px;
}
@media screen and (max-width: 959px) {
  #page-seminar .instructors__inner {
    padding-block: 44px 100px;
  }
}

.saboxplugin-wrap {
  background-color: #F4F4F4;
  border: none !important;
  position: relative;
  overflow: visible !important;
  padding: 40px 32px 32px 32px !important;
}
.saboxplugin-wrap:before {
  content: "この記事を書いた人";
  position: absolute;
  font-size: 15px;
  line-height: 1.85;
  letter-spacing: 0.03em;
  font-weight: bold;
  top: -0.8em;
  left: 1em;
}
.saboxplugin-wrap .saboxplugin-gravatar {
  padding: 0 !important;
  border-radius: 9999px;
  overflow: hidden;
  margin-right: 24px;
  width: 100px;
  height: 100px;
}
@media screen and (max-width: 519px) {
  .saboxplugin-wrap .saboxplugin-gravatar {
    margin-bottom: 4.2666666667vw !important;
  }
}
.saboxplugin-wrap .saboxplugin-authorname {
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: bold;
  margin-bottom: 8px !important;
  padding-left: 122px !important;
}
@media screen and (max-width: 519px) {
  .saboxplugin-wrap .saboxplugin-authorname {
    padding: 0 !important;
    margin-bottom: 4.2666666667vw !important;
  }
}
.saboxplugin-wrap .saboxplugin-desc {
  margin: 0 !important;
  padding-left: 122px !important;
}
@media screen and (max-width: 519px) {
  .saboxplugin-wrap .saboxplugin-desc {
    padding: 0 !important;
  }
}
.saboxplugin-wrap .saboxplugin-desc p {
  margin: 0 !important;
  padding-left: 0 !important;
}

#toc_container {
  width: 100% !important;
  padding: 16px 24px;
  border: 1px solid #E5E5E5;
}