@charset "UTF-8";

:root {
  --color-cv-background: #FFFF00;
  --color-main-text: #005AA0;
  --color-accent-text: #FF0000;

  --color-art: #EFAB2C;
  --color-dance: #016CF8;
  --color-tankyu: #E54559;
  --color-shuuji: #86C43D;
  --color-soroban: #FC333A;
  --color-programming: #B016D0;
  --color-creator: #F58714;
}

/*=========================
  caution
=========================*/
/*===== Tablet =====*/
@media only screen and (min-width: 1031px), print, tv {
  /* lead */
  .gakudou-review::before {
    content: "";
    width: 143px;
    height: 103px;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/deco01.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: -11px;
    left: -71px;
    transform: rotate(-11deg);
  }
  .gakudou-review::after {
    content: "";
    width: 166px;
    height: 78px;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/deco02.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: -50px;
    right: -4px;
    transform: rotate(21deg);
  }
  .gakudou-feature__thumb {
    width: 260px;
    position: absolute;
    left: 0;
    top: 16px;
  }
  .gakudou-feature__review {
    display: grid;
    row-gap: 5px;
    width: 160px;
    text-align: center;
    position: absolute;
    top: 0;
    right: 110px;
  }
}
/*===== Tablet =====*/
@media only screen and (min-width: 769px) and (max-width: 1030px), print, tv {
  /* lead */
  .gakudou-review::before {
    content: "";
    width: 95px;
    height: 68px;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/deco01.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: -34.75px;
    left: 15px;
    transform: rotate(-11deg);
  }
  .gakudou-review::after {
    content: "";
    width: 110px;
    height: 51px;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/deco02.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: -22px;
    right: 10px;
    transform: rotate(21deg);
  }
  .gakudou-feature__thumb {
    width: 260px;
    position: absolute;
    left: 0;
    top: -110px;
  }
  .gakudou-feature__review {
    display: grid;
    row-gap: 5px;
    width: 160px;
    text-align: center;
    position: absolute;
    top: -110px;
    right: 15px;
  }
}
/*===== PC =====*/
@media only screen and (min-width: 769px), print, tv {
  body {
    font-family: "ヒラギノ角ゴ Pro", 游ゴシック, "Hiragino Kaku Gothic Pro", sans-serif, YuGothic;
    color: #464646;
  }
  /* main */
  .main {
    display: grid;
    row-gap: 100px;
    width: 100%;
    margin: 100px auto;
  }
  section {
    margin-bottom: 0;
  }
  .gakudou__text {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500;
  }
  .gakudou__lead {
    font-size: 20px;
    line-height: 1.7;
    font-weight: bold;
    text-align: center;
  }
  .gakudou__lead-red {
    color: var(--color-accent-text);
  }
  .gakudou-h2 {
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
    padding-top: 27px;
    position: relative;
  }
  .gakudou-h2::before {
    content: "";
    width: 57px;
    aspect-ratio: 57/23;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/h2_icon_top.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .gakudou-h2__title-sub {
    display: inline-block;
    font-size: 30px;
    color: var(--color-main-text);
    padding: 0 26px;
    margin-bottom: 4px;
    position: relative;
  }
  .gakudou-h2__title-sub::before,
  .gakudou-h2__title-sub::after {
    content: "";
    width: 16px;
    aspect-ratio: 2/3;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
  }
  .gakudou-h2__title-sub::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/h2_icon_left.svg);
    left: 0;
  }
  .gakudou-h2__title-sub::after {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/h2_icon_right.svg);
    right: 0;
  }
  .gakudou-h2__title-main {
    font-size: 46px;
  }
  .gakudou-h2__title-main span {
    font-size: 60px;
  }
  .gakudou__buttonArea {
    display: flex;
    justify-content: center;
    column-gap: 40px;
  }
  .gakudou__button {
    display: grid;
    place-content: center;
    max-width: 350px;
    width: 100%;
    min-height: 80px;
    padding: 0 40px;
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    color: var(--color-main-text);
    border: 2px solid var(--color-main-text);
    border-radius: 8px;
    position: relative;
    text-decoration: none;
    box-sizing: border-box;
  }
  .gakudou__button::before {
    content: "";
    width: 9px;
    aspect-ratio: 1/2;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/arrow_blue.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
  }
  .gakudou__cv {
    display: grid;
    place-content: center;
    max-width: 390px;
    width: 100%;
    min-height: 80px;
    padding: 0 30px;
    font-size: 20px;
    line-height: 1.2;
    font-weight: bold;
    text-align: center;
    color: var(--color-main-text);
    border: 2px solid var(--color-main-text);
    background-color: var(--color-cv-background);
    border-radius: 8px;
    position: relative;
    text-decoration: none;
    box-sizing: border-box;
  }
  .gakudou__cv::before {
    content: "";
    width: 9px;
    aspect-ratio: 1/2;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/arrow_blue.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
  }
  /* kv */
  .kv {
    display: grid;
    row-gap: 40px;
    padding-top: 90px;
  }
  .kv__ttl {
    width: 100%;
  }
  .kv__cv {
    display: grid;
    place-content: center;
    max-width: 350px;
    width: 100%;
    min-height: 80px;
    margin: 0 auto;
    padding: 0 40px;
    font-size: 20px;
    font-weight: bold;
    background-color: var(--color-cv-background);
    color: var(--color-main-text);
    border: 2px solid var(--color-main-text);
    border-radius: 8px;
    position: relative;
    text-decoration: none;
    box-sizing: border-box;
  }
  .kv__cv::before {
    content: "";
    width: 9px;
    aspect-ratio: 1/2;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/arrow_blue.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
  }
  .kv__cv:hover {
    text-decoration: none;
  }
  /* lead */
  .gakudou-lead {
    display: grid;
    row-gap: 40px;
    max-width: 960px;
    margin: 0 auto;
    padding: 0 30px;
    width: 100%;
    position: relative;
    box-sizing: border-box;
  }
  .gakudou-lead__content {
    display: grid;
    row-gap: 40px;
  }
  .gakudou-lead__textarea {
    display: grid;
    row-gap: 24px;
  }
  .gakudou-lead__textarea-yellow {
    padding: 24px;
    background-color: #FFFFE1;
  }
  .gakudou-lead__text-main {
    font-size: 24px;
    line-height: 1.7;
    text-align: center;
    font-weight: bold;
    color: #005AA0;
  }
  .gakudou-lead__text-main span {
    display: block;
    font-size: 16px;
    margin-bottom: 8px;
  }
  .gakudou-lead__text {
    font-size: 18px;
    line-height: 1.7;
    text-align: center;
    font-weight: 500;
  }
  .gakudou-lead__thumb-main {
    max-width: 960px;
    margin: 0 auto;
  }
  .gakudou-lead__thumb-sub {
    max-width: 600px;
    margin: 0 auto;
  }
  /* review */
  .gakudou-review {
    display: grid;
    row-gap: 40px;
    max-width: 1020px;
    margin: 0 auto;
    padding: 0 30px;
    width: 100%;
    position: relative;
    box-sizing: border-box;
  }
  .gakudou-review__content {
    display: grid;
    row-gap: 20px;
  }
  .gakudou-review__thumb {
    width: 100%;
    margin: 0 auto;
  }
  .gakudou-review__note-wrap {
    max-width: 790px;
    width: 100%;
    margin: 0 auto;
  }
  .gakudou-review__note {
    display: inline-block;
    font-size: 16px;
    color: #888;
  }
  /* experience */
  .gakudou-experience {
    display: grid;
    row-gap: 40px;
    max-width: 1020px;
    margin: 0 auto;
    padding: 0 30px;
    width: 100%;
    position: relative;
    box-sizing: border-box;
  }
  .gakudou-experience__content {
    width: 100%;
  }
  .gakudou-experience__button-prev,
  .gakudou-experience__button-next {
    display: none;
  }
  .gakudou-experience__list {
    display: flex;
    column-gap: 20px;
  }
  .gakudou-experience__item {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
    width: calc( (100% - 20px)/2 );
  }
  .gakudou-experience__textarea {
    display: grid;
    place-content: center;
    row-gap: 1em;
    height: 100%;
    padding: 32px 12px;
    background-color: #FFFFE1;
    position: relative;
  }
  .gakudou-experience__textarea::before {
    content: "";
    width: 0;
    height: 0;
    border: solid;
    border-color: transparent;
    border-left-color: #FFFFE1;
    border-width: 0px 0px 22px 36px;
    position: absolute;
    bottom: -15px;
    right: 78px;
  }
  .gakudou-experience__title {
    font-size: 18px;
    line-height: 1.5;
    font-weight: bold;
    color: var(--color-main-text);
  }
  .gakudou-experience__body {
    display: grid;
    row-gap: 10px;
  }
  .gakudou-experience__thumb-wrap {
    max-width: 150px;
    margin: 0 auto;
    padding: 0 80px;
    position: relative;
  }
  .gakudou-experience__thumb-wrap::before {
    content: "";
    width: 95px;
    height: 68px;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/deco01.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: -1;
    margin: auto;
    transform: rotate(-75deg);
  }
  .gakudou-experience__thumb-wrap::after {
    content: "";
    width: 110px;
    height: 51px;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/deco02.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 10px;
    right: -20px;
    bottom: 0;
    z-index: -1;
    margin: auto;
    transform: rotate(85deg);
  }
  .gakudou-experience__thumb {
    width: 100%;
  }
  .gakudou-experience__name {
    font-size: 14px;
    text-align: center;
  }
  .gakudou-experience__graph {
    width: 100%;
  }
  /* movie */
  .gakudou-movie {
    display: grid;
    row-gap: 40px;
    max-width: 1020px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
    box-sizing: border-box;
  }
  .gakudou-movie__cotenet {
    max-width: 860px;
    width: 100%;
    min-height: 500px;
    margin: 0 auto;
  }
  .gakudou-movie__cotenet video {
    width: 100%;
    height: 100%;
  }
  .gakudou-movie__cotenet iframe {
    width: 100%;
    height: 100%;
  }
  /* feature */
  .gakudou-feature {
    width: 100%;
    padding: 80px 0;
    background-color: #E7F5FF;
  }
  .gakudou-feature__inner {
    display: grid;
    row-gap: 40px;
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
    position: relative;
    box-sizing: border-box;
  }
  .gakudou-feature__review-thumb {
    width: 100%;
  }
  .gakudou-feature__review-text {
    display: inline-block;
    font-size: 14px;
    color: #888;
  }
  .gakudou-feature__list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px 20px;
  }
  .gakudou-feature__item {
    display: grid;
    row-gap: 12px;
    place-self: flex-start;
    max-width: 280px;
    width: 100%;
  }
  .gakudou-feature__item-thumb {
    width: 100%;
  }
  .gakudou-feature__item-thumb img {
    border-radius: 6px;
  }
  /* intro */
  .gakudou-intro {
    display: grid;
    row-gap: 40px;
    max-width: 1020px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
    box-sizing: border-box;
  }
  .gakudou-intro__head {
    display: grid;
    row-gap: 20px;
  }
  .gakudou-intro__list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
  }
  .gakudou-intro__item {
    max-width: 470px;
    width: 100%;
  }
  .gakudou-intro__content {
    display: grid;
    row-gap: 10px;
  }
  .gakudou-intro__note {
    display: grid;
    row-gap: 5px;
  }
  .gakudou-intro__note-text {
    font-size: 16px;
    line-height: 1.4;
    color: var(--color-accent-text);
    padding-left: 1.2em;
    position: relative;
  }
  .gakudou-intro__note-text::before {
    content: "※";
    position: absolute;
    left: 0;
    top: 0;
  }
  /* genre */
  .gakudou-genre {
    width: 100%;
    padding: 80px 0;
    background-color: #FFFFE1;
  }
  .gakudou-genre__inner {
    display: grid;
    row-gap: 40px;
    max-width: 1020px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
    box-sizing: border-box;
  }
  .gakudou-genre__head {
    text-align: center;
  }
  .gakudou-genre__balloon {
    display: inline-block;
    padding: 8px 20px;
    margin-bottom: 30px;
    background-color: #005AA0;
    border-radius: 4px;
    position: relative;
  }
  .gakudou-genre__balloon::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #005AA0 transparent transparent transparent;
    border-width: 18px 14px 0px 14px;
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
  }
  .gakudou-genre__balloon-text {
    font-size: 26px;
    line-height: 1.3;
    font-weight: bold;
    color: var(--color-cv-background);
  }
  .gakudou-genre__balloon-text .date {
    font-size: 50px;
  }
  .gakudou-genre__balloon-text .slash {
    font-size: 24px;
  }
  .gakudou-genre__balloon-text .dow {
    font-size: 16px;
  }
  .gakudou-genre__content {
    display: grid;
    row-gap: 20px;
  }
  .gakudou-genre__lead-area {
    display: grid;
    row-gap: 8px;
  }
  .gakudou-genre__lead-subtext {
    font-size: 14px;
    line-height: 1.4;
    text-align: center;
  }
  .gakudou-genre .gakudou-genre__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto;
    gap: 12px;
  }
  .gakudou-genre .gakudou-genre__item {
    width: calc( (100% - (12px * 3))/ 4 );
    border-radius: 8px;
    background-color: #aaa;
  }
  .gakudou-genre__item-head {
    display: grid;
    place-content: center;
    min-height: 52px;
    padding: 8px 0;
    text-align: center;
    border-radius: 8px 8px 0 0;
    box-sizing: border-box;
  }
  .gakudou-genre__item-title {
    display: inline-block;
    font-size: 20px;
    color: #fff;
    font-weight: bold;
    padding-left: 42px;
    position: relative;
  }
  .gakudou-genre__item-title::before {
    content: "";
    width: 32.813px;
    height: 30px;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
  .gakudou-genre__item-body {
    text-align: center;
    padding: 8px 16px 16px;
    border-radius: 0 0 8px 8px;
  }
  .gakudou-genre__item-caption {
    display: inline-block;
    min-width: 146px;
    font-size: 14px;
    line-height: 1.2;
    padding: 0 16px;
    margin-bottom: 8px;
    position: relative;
    white-space: nowrap;
  }
  .gakudou-genre__item-caption::before,
  .gakudou-genre__item-caption::after {
    content: "";
    width: 1.5px;
    height: 25.7px;
    background-color: #000;
    color: #000;
    position: absolute;
    bottom: 0;
    border-radius: 8px;
  }
  .gakudou-genre__item-caption::before {
    transform: rotate(-30deg);
    left: 5px;
  }
  .gakudou-genre__item-caption::after  {
    transform: rotate(30deg);
    right: 5px;
  }
  .gakudou-genre__item-thumb {
    width: 100%;
  }
  .gakudou-genre__item--art .gakudou-genre__item-head {
    background-color: var(--color-art);
  }
  .gakudou-genre__item--art .gakudou-genre__item-title::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/art_icon.svg);
  }
  .gakudou-genre__item--art .gakudou-genre__item-body {
    background-color: #FEF0D6;
  }
  .gakudou-genre__item--art .gakudou-genre__item-caption {
    color: #9E6A08;
  }
  .gakudou-genre__item--art .gakudou-genre__item-caption::before,
    .gakudou-genre__item--art .gakudou-genre__item-caption::after {
    color: #9E6A08;
    background-color: #9E6A08;
  }
  .gakudou-genre__item--dance .gakudou-genre__item-head {
    background-color: var(--color-dance);
  }
  .gakudou-genre__item--dance .gakudou-genre__item-title::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/dance_icon.svg);
  }
  .gakudou-genre__item--dance .gakudou-genre__item-body {
    background-color: #E1EFF8;
  }
  .gakudou-genre__item--dance .gakudou-genre__item-caption {
    color: #024FB2;
  }
  .gakudou-genre__item--dance .gakudou-genre__item-caption::before,
    .gakudou-genre__item--dance .gakudou-genre__item-caption::after {
    color: #024FB2;
    background-color: #024FB2;
  }
  .gakudou-genre__item--tankyu .gakudou-genre__item-head {
    background-color: var(--color-tankyu);
  }
  .gakudou-genre__item--tankyu .gakudou-genre__item-title::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/tankyu_icon.svg);
  }
  .gakudou-genre__item--tankyu .gakudou-genre__item-body {
    background-color: #FBE1E4;
  }
  .gakudou-genre__item--tankyu .gakudou-genre__item-caption {
    color: #C52337;
  }
  .gakudou-genre__item--tankyu .gakudou-genre__item-caption::before,
    .gakudou-genre__item--tankyu .gakudou-genre__item-caption::after {
    color: #C52337;
    background-color: #C52337;
  }
  .gakudou-genre__item--shuuji .gakudou-genre__item-head {
    background-color: var(--color-shuuji);
  }
  .gakudou-genre__item--shuuji .gakudou-genre__item-title::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/shuuji_icon.svg);
  }
  .gakudou-genre__item--shuuji .gakudou-genre__item-body {
    background-color: #EBF0D9;
  }
  .gakudou-genre__item--shuuji .gakudou-genre__item-caption {
    color: #4D840D;
  }
  .gakudou-genre__item--shuuji .gakudou-genre__item-caption::before,
    .gakudou-genre__item--shuuji .gakudou-genre__item-caption::after {
    color: #4D840D;
    background-color: #4D840D;
  }
  .modal .gakudou-genre__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    max-width: 650px;
    margin: 0 auto;
    gap: 25px 20px;
  }
  .modal .gakudou-genre__item {
    display: grid;
    row-gap: 8px;
    max-width: 315px;
    width: 100%;
  }
  .modal .gakudou-genre__item-text {
    width: fit-content;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.1;
    text-align: center;
    padding: 0 0.5em;
    margin: 0 auto;
    position: relative;
  }
  .modal .gakudou-genre__item-text::before {
    content: "＼";
    font-size: 10px;
    position: absolute;
    left: -5px;
    bottom: 5px;
  }
  .modal .gakudou-genre__item-text::after {
    content: "／";
    font-size: 10px;
    position: absolute;
    right: -5px;
    bottom: 5px;
  }
  .modal .gakudou-genre__item-button {
    display: block;
    width: 100%;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 700;
    color: #fff;
    padding: 18px 10px 16px 60px;
    border-radius: 8px;
    position: relative;
    box-sizing: border-box;
    text-decoration: none;
  }
  .modal .gakudou-genre__item .gakudou-genre__item-button::before {
    content: "";
    width: 32.813px;
    height: 30px;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
  }
  .modal .gakudou-genre__item-button::after {
    content: "";
    width: 9px;
    aspect-ratio: 1/2;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
  }
  .modal .gakudou-genre__item--art .gakudou-genre__item-text {
    color: #9E6A08;
  }
  .modal .gakudou-genre__item--art .gakudou-genre__item-button {
    background-color: var(--color-art);
  }
  .modal .gakudou-genre__item--art .gakudou-genre__item-button::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/art_icon.svg);
  }
  .modal .gakudou-genre__item--dance .gakudou-genre__item-text {
    color: #024FB2;
  }
  .modal .gakudou-genre__item--dance .gakudou-genre__item-button {
    background-color: var(--color-dance);
  }
  .modal .gakudou-genre__item--dance .gakudou-genre__item-button::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/dance_icon.svg);
  }
  .modal .gakudou-genre__item--tankyu .gakudou-genre__item-text {
    color: #C52337;
  }
  .modal .gakudou-genre__item--tankyu .gakudou-genre__item-button {
    background-color: var(--color-tankyu);
  }
  .modal .gakudou-genre__item--tankyu .gakudou-genre__item-button::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/tankyu_icon.svg);
  }
  .modal .gakudou-genre__item--shuuji .gakudou-genre__item-text {
    color: #4D840D;
  }
  .modal .gakudou-genre__item--shuuji .gakudou-genre__item-button {
    background-color: var(--color-shuuji);
  }
  .modal .gakudou-genre__item--shuuji .gakudou-genre__item-button::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/shuuji_icon.svg);
  }
  .modal .gakudou-genre__item-button.gakudou-genre__item-button--noclick {
    background-color: #aaa;
    pointer-events: none;
  }
  .gakudou-genre__schedule {
    display: grid;
    row-gap: 20px;
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
  }
  .gakudou-genre__schedule-title {
    font-size: 22px;
    font-weight: bold;
    text-align: center;
  }
  .gakudou-genre__schedule-note {
    display: grid;
    row-gap: 5px;
  }
  .gakudou-genre__schedule-note-text {
    font-size: 16px;
    line-height: 1.4;
    padding-left: 1em;
    position: relative;
  }
  .gakudou-genre__schedule-note-text.gakudou-genre__schedule-note-text--red {
    color: var(--color-accent-text);
  }
  .gakudou-genre__schedule-note-text.gakudou-genre__schedule-note-text--red a {
    color: var(--color-accent-text);
  }
  .gakudou-genre__schedule-note-text.gakudou-genre__schedule-note-text--underline > * {
    text-decoration: underline;
  }
  .gakudou-genre__schedule-note-text.gakudou-genre__schedule-note-text--underline > *:hover {
    text-decoration: none;
  }
  .gakudou-genre__schedule-note-text::before {
    content: "※";
    position: absolute;
    left: 0;
    top: 0;
  }
  .gakudou-genre__schedule-note-text .gakudou-genre__schedule-note-accordion {
    cursor: pointer;
  }
  .gakudou-genre__schedule-note-text .qa__item-ans-wrap {
    width: 100%;
    box-sizing: border-box;
    margin: auto;
    color: #464646;
    text-decoration: none;
  }
  .schedule__img {
    width: 960px;
    display: block;
  }
  .schedule__img.schedule__img--no-tankyu {
    display: none;
  }
  .modalid .modal_schedule__img--no-tankyu {
    width: 720px;
    display: none;
  }
  .modalid .modal_schedule__img--on-tankyu {
    width: 720px;
    display: block;
  }
  /* flow */
  .gakudou-flow {
    display: grid;
    row-gap: 40px;
    max-width: 1020px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
    box-sizing: border-box;
  }
  .gakudou-flow__head {
    display: grid;
    row-gap: 20px;
  }
  .flow_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    max-width: 960px;
    margin: 0 auto;
  }
  .flow_flex__item {
    width: 30%;
  }
  .flow_flex__item-ttl {
    position: relative;
  }
  .flow_flex-ttl-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 29%;
  }
  .flow_flex__item-ttl-text {
    padding-left: 31%;
    font-size: 16px;
    padding-top: 2px;
    font-weight: bold;
    color: #333333;
    height: 72px;
  }
  .flow_flex-main-img {
    width: 60%;
    margin: 30px auto;
    display: block;
  }
  .flow_flex__item:first-child .flow_flex-main-img {
    margin-bottom: 40px;
  }
  .flow_flex__item .acc-area__item-weak {
    margin-top: 10px;
  }
  .flow_flex__item-main-text {
    font-size: 16px;
    font-weight: normal;
    color: #333333;
  }
  .flow__note--red {
    font-size: 16px;
    color: var(--color-accent-text);
    padding-left: 1em;
    text-indent: -1em;
  }
  .flow__link-wrap {
    text-align: center;
  }
  .flow__link {
    display: inline-block;
    font-size: 20px;
    color: #464646;
    font-weight: 700;
    text-decoration: underline;
  }
  /* plan */
  .gakudou-plan {
    display: grid;
    row-gap: 40px;
    max-width: 1020px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
    box-sizing: border-box;
  }
  .gakudou-plan__head {
    display: grid;
    row-gap: 20px;
  }
  .gakudou-plan__content {
    display: flex;
    column-gap: 20px;
  }
  .gakudou-plan__thumb {
    width: 50%;
  }
  /* cost */
  .gakudou-cost {
    display: grid;
    row-gap: 20px;
    max-width: 1020px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
    box-sizing: border-box;
  }
  .gakudou-cost__link-wrap {
    text-align: center;
  }
  .gakudou-cost__link-text {
    display: inline-block;
    font-size: 24px;
    font-weight: bold;
    color: var(--color-main-text);
  }

  table , td, th {
    border: 1px solid #ddd;
    border-collapse: collapse;
  }
  table {
    width: 100%;
    color: #fff;
    border:1px solid #ddd;
    border-collapse: collapse;
  }
  td, th {
    padding: 3px;
    width: 25%;
    height: 25px;
    text-align: center;
  }

  /* question */
  .gakudou-question {
    display: grid;
    row-gap: 40px;
    max-width: 1020px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
    box-sizing: border-box;
  }
  .qa__item-button.js-qa-button--accordion::after {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/plus.svg);
    transition: transform 0.25s;
  }
  .qa__item-button.js-qa-button--accordion.js-qa-button--open::after {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/minus.svg);
    transform: rotate(0deg);
  }
  .qa__item-ans-wrap {
    display: none;
    margin-left: 70px;
    padding: 15px;
    margin-bottom: 20px;
    /* background-color: #E5F0FF; */
    border-radius: 6px;
  }
  .qa__item-ans-thumb {
    max-width: 600px;
    margin-top: 2em;
  }
  .qa__item-ans-thumb.qa__item-ans-thumb--02 {
    max-width: 400px;
  }
  .qa-list {
    margin-top: 20px;
  }

  .qa__item {
    border-top: 1px solid #DADADA;
  }

  .qa__item:last-of-type {
    border-bottom: 1px solid #DADADA;
  }

  .qa__item-button {
    outline: none;
    background: none;
    border: none;
    padding: 30px 0px;
    padding-right: 50px;
    position: relative;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    text-decoration: none;
    color: #000;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }

  .qa__item-button::after {
    content: "";
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/plus.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    bottom: 48%;
    right: 0%;
    -webkit-transform: translate(0%, 50%);
    -ms-transform: translate(0%, 50%);
    transform: translate(0%, 50%);
  }

  /* .qa__item-button.active::after {
    -webkit-transform: translate(0%, 50%) rotate(0deg);
    -ms-transform: translate(0%, 50%) rotate(0deg);
    transform: translate(0%, 50%) rotate(0deg);
  } */

  .qa__item-icon-wrap {
    width: 50px;
    text-align: center;
    margin-right: 20px;
  }

  .qa__item-icon-ques {
    width: 50px;
  }

  .qa__item-icon-answer {
    width: 30px;
  }

  .qa__item-ques {
    font-size: 24px;
    font-weight: bold;
  }

  .qa__item-content-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding-bottom: 40px;
  }

  .qa__item-content .qa__item-icon-wrap {
    margin-top: 5px;
  }

  .gakudou-contact {
    display: grid;
    row-gap: 40px;
    max-width: 1020px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
    box-sizing: border-box;
  }
  .gakudou-contact__head {
    text-align: center;
  }
  .gakudou-contact__head-title {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--color-main-text);
    margin-bottom: 24px;
    padding: 0 28px;
    position: relative;
  }
  .gakudou-contact__head-title::before,
  .gakudou-contact__head-title::after {
    content: "";
    width: 2px;
    height: 30px;
    background-color: var(--color-main-text);
    color: var(--color-main-text);
    position: absolute;
    bottom: 0;
    border-radius: 8px;
  }
  .gakudou-contact__head-title::before {
    transform: rotate(-30deg);
    left: 5px;
  }
  .gakudou-contact__head-title::after {
    transform: rotate(30deg);
    right: 5px;
  }
  .gakudou-contact__body {
    display: grid;
    row-gap: 16px;
    max-width: 560px;
    width: 100%;
    margin: 0 auto;
    padding: 20px;
    border-radius: 8px;
    background-color: #F5F5F5;
    box-sizing: border-box;
  }
  .gakudou-contact__body-title {
    display: grid;
    row-gap: 4px;
    color: var(--color-main-text);
    text-align: center;
    font-weight: bold;
    line-height: 1.5;
  }
  .gakudou-contact__body-main {
    font-size: 18px;
  }
  .gakudou-contact__body-sub {
    font-size: 14px;
  }
  .gakudou-contact__body-textarea {
    display: grid;
    row-gap: 12px;
  }
  .gakudou-contact__body-name {
    font-size: 16px;
    line-height: 1.5;
    text-align: center;
  }
  .gakudou-contact__body-address {
    font-size: 16px;
    text-align: center;
    font-weight: 500;
    line-height: 1.3;
    color: var(--color-main-text);
    background-color: #fff;
    padding: 12px 8px;
  }
  .gakudou-contact__body-text {
    font-size: 14px;
    line-height: 1.5;
  }
}
/*===== SP =====*/
@media only screen and (max-width: 768px) {
  body {
    font-family: "ヒラギノ角ゴ Pro", 游ゴシック, "Hiragino Kaku Gothic Pro", sans-serif, YuGothic;
    color: #464646;
  }
  /* main */
  .main {
    display: grid;
    row-gap: 21.333vw;
    width: 100%;
    margin: 80px auto;
    padding: 0;
  }
  section {
    margin-bottom: 0;
  }
  .gakudou__text {
    font-size: 4.267vw;
    line-height: 1.5;
    font-weight: 500;
  }
  .gakudou__lead {
    font-size: 4.8vw;
    line-height: 1.66;
    font-weight: bold;
    text-align: center;
  }
  .gakudou__lead-red {
    color: var(--color-accent-text);
  }
  .gakudou-h2 {
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
    padding-top: 7.2vw;
    position: relative;
  }
  .gakudou-h2::before {
    content: "";
    width: 12.8vw;
    aspect-ratio: 48/25;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/h2_icon_top.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .gakudou-h2__title-sub {
    display: inline-block;
    font-size: 5.333vw;
    color: var(--color-main-text);
    padding: 0 6.133vw;
    margin-bottom: 1.6vw;
    position: relative;
  }
  .gakudou-h2__title-sub::before,
  .gakudou-h2__title-sub::after {
    content: "";
    width: 3.467vw;
    aspect-ratio: 13/19;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
  }
  .gakudou-h2__title-sub::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/h2_icon_left.svg);
    left: 0;
  }
  .gakudou-h2__title-sub::after {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/h2_icon_right.svg);
    right: 0;
  }
  .gakudou-h2__title-main {
    font-size: 8vw;
  }
  .gakudou-h2__title-main--big {
    font-size: 12.267vw;
  }
  .gakudou-h2__title-main span {
    font-size: 16vw;
  }
  .gakudou__buttonArea {
    display: grid;
    row-gap: 4.267vw;
  }
  .gakudou__button {
    display: grid;
    place-content: center;
    width: 84vw;
    min-height: 17.067vw;
    margin: 0 auto;
    padding: 0 6.4vw;
    font-size: 5.333vw;
    text-align: center;
    font-weight: bold;
    color: var(--color-main-text);
    border: 2px solid var(--color-main-text);
    border-radius: 2.133vw;
    position: relative;
    text-decoration: none;
    box-sizing: border-box;
  }
  .gakudou__button::before {
    content: "";
    width: 2.4vw;
    aspect-ratio: 1/2;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/arrow_blue.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 5.333vw;
    transform: translateY(-50%);
  }
  .gakudou__cv {
    display: grid;
    place-content: center;
    width: 84vw;
    min-height: 17.067vw;
    margin: 0 auto;
    padding: 0 6.4vw;
    font-size: 5.333vw;
    line-height: 1.2;
    text-align: center;
    font-weight: bold;
    color: var(--color-main-text);
    border: 2px solid var(--color-main-text);
    background-color: var(--color-cv-background);
    border-radius: 2.133vw;
    position: relative;
    text-decoration: none;
    box-sizing: border-box;
  }
  .gakudou__cv::before {
    content: "";
    width: 2.4vw;
    aspect-ratio: 1/2;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/arrow_blue.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 5.333vw;
    transform: translateY(-50%);
  }
  /* kv */
  .kv {
    display: grid;
    row-gap: 5.333vw;
    padding-top: 18.4vw;
  }
  .kv__ttl {
    width: 100%;
  }
  .kv__cv {
    display: grid;
    place-content: center;
    width: 84vw;
    min-height: 17.067vw;
    margin: 0 auto;
    padding: 0 6.4vw;
    font-size: 5.333vw;
    font-weight: bold;
    background-color: var(--color-cv-background);
    color: var(--color-main-text);
    border: 2px solid var(--color-main-text);
    border-radius: 2.133vw;
    position: relative;
    text-decoration: none;
    box-sizing: border-box;
  }
  .kv__cv::before {
    content: "";
    width: 2.4vw;
    aspect-ratio: 1/2;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/arrow_blue.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 5.333vw;
    transform: translateY(-50%);
  }
  .kv__cv:hover {
    text-decoration: none;
  }
  /* lead */
  .gakudou-lead {
    display: grid;
    row-gap: 8.533vw;
    width: 100%;
    margin: 0 auto;
    padding: 0 4vw;
    position: relative;
    box-sizing: border-box;
  }
  .gakudou-lead__content {
    display: grid;
    row-gap: 8.533vw;
  }
  .gakudou-lead__textarea {
    display: grid;
    row-gap: 5.333vw;
  }
  .gakudou-lead__textarea-yellow {
    padding: 5.333vw 4vw;
    background-color: #FFFFE1;
  }
  .gakudou-lead__text-main {
    font-size: 4.8vw;
    line-height: 1.7;
    text-align: center;
    font-weight: bold;
    color: #005AA0;
  }
  .gakudou-lead__text-main span {
    display: block;
    font-size: 3.733vw;
    margin-bottom: 2.133vw;
  }
  .gakudou-lead__text-main {
    font-size: 5.333vw;
    line-height: 1.6;
    text-align: center;
    font-weight: bold;
  }
  .gakudou-lead__text {
    font-size: 4.267vw;
    line-height: 1.6;
    text-align: center;
    font-weight: 500;
  }
  .gakudou-lead__thumb-main {
    width: 100%;
    margin: 0 auto;
  }
  .gakudou-lead__thumb-sub {
    width: 100%;
    margin: 0 auto;
  }
  /* review */
  .gakudou-review {
    position: relative;
  }
  .gakudou-review::before {
    content: "";
    width: 25.333vw;
    height: 18.133vw;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/deco01.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: -13.6vw;
    left: 4vw;
    transform: rotate(-11deg);
  }
  .gakudou-review::after {
    content: "";
    width: 29.333vw;
    height: 13.6vw;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/deco02.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: -13.6vw;
    right: 2.667vw;
    transform: rotate(21deg);
  }
  .gakudou-review {
    display: grid;
    row-gap: 8.533vw;
    width: 100%;
    margin: 0 auto;
    padding: 0 4vw;
    position: relative;
    box-sizing: border-box;
  }
  .gakudou-review__content {
    display: grid;
    row-gap: 5.333vw;
  }
  .gakudou-review__thumb {
    width: 100%;
    margin: 0 auto;
  }
  .gakudou-review__note-wrap {
    width: 100%;
  }
  .gakudou-review__note {
    display: inline-block;
    font-size: 4.267vw;
    color: #888;
  }
  .gakudou-review__thumb {
    width: 100%;
    margin: 0 auto;
  }
  /* experience */
  .gakudou-experience {
    display: grid;
    row-gap: 5.333vw;
    width: 100%;
    margin: 0 auto;
    padding: 0 4vw;
    position: relative;
    box-sizing: border-box;
  }
  .gakudou-experience__content {
    width: 100%;
    position: relative;
  }
  .gakudou-experience__list {
    display: grid;
    row-gap: 5.333vw;
  }
  .gakudou-experience__button-prev,
  .gakudou-experience__button-next {
    width: 13.333vw;
    position: absolute;
    z-index: 2;
    bottom: 20vw;
    cursor: pointer;
  }
  .gakudou-experience__button-prev img,
  .gakudou-experience__button-next img {
    width: 100%;
  }
  .gakudou-experience__button-prev {
    left: 0;
    transform: scale(-1, 1);
  }
  .gakudou-experience__button-next {
    right: 0;
  }
  .gakudou-experience__item {
    display: flex;
    flex-direction: column;
    row-gap: 5.333vw;
    width: 100%;
  }
  .gakudou-experience__textarea {
    display: grid;
    place-content: center;
    row-gap: 1em;
    height: 100%;
    text-align: center;
    padding: 5.333vw 4vw;
    background-color: #FFFFE1;
    position: relative;
  }
  .gakudou-experience__textarea::before {
    content: "";
    width: 0;
    height: 0;
    border: solid;
    border-color: transparent;
    border-left-color: #FFFFE1;
    border-width: 0px 0px 5.867vw 9.6vw;
    position: absolute;
    bottom: -4vw;
    right: 25.067vw;
  }
  .gakudou-experience__title {
    font-size: 4.8vw;
    line-height: 1.5;
    font-weight: bold;
    color: var(--color-main-text);
  }
  .gakudou-experience__body {
    display: grid;
    row-gap: 2.667vw;
  }
  .gakudou-experience__thumb-wrap {
    padding: 0 26vw;
    position: relative;
  }
  .gakudou-experience__thumb-wrap::before {
    content: "";
    width: 25.333vw;
    height: 18.133vw;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/deco01.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 2vw;
    bottom: 0;
    margin: auto;
    transform: rotate(-75deg);
  }
  .gakudou-experience__thumb-wrap::after {
    content: "";
    width: 29.333vw;
    height: 13.6vw;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/deco02.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 2.667vw;
    right: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(85deg);
  }
  .gakudou-experience__thumb {
    width: 100%;
  }
  .gakudou-experience__name {
    font-size: 3.733vw;
    text-align: center;
  }
  .gakudou-experience__graph {
    width: 100%;
  }
  /* movie */
  .gakudou-movie {
    display: grid;
    row-gap: 5.333vw;
    width: 100%;
    margin: 0 auto;
    padding: 0 4vw;
    box-sizing: border-box;
  }
  .gakudou-movie__cotenet {
    width: 100%;
    min-height: 53.333vw;
    margin: 0 auto;
  }
  .gakudou-movie__cotenet video {
    width: 100%;
    height: 100%;
  }
  .gakudou-movie__cotenet iframe {
    width: 100%;
    height: 100%;
  }
  /* feature */
  .gakudou-feature {
    width: 100%;
    padding: 16vw 0;
    background-color: #E7F5FF;
  }
  .gakudou-feature__inner {
    display: grid;
    row-gap: 10.667vw;
    width: 100%;
    margin: 0 auto;
    padding: 0 4vw;
    position: relative;
    box-sizing: border-box;
  }
  .gakudou-feature__thumb {
    width: 50.667vw;
    position: absolute;
    left: -13.867vw;
    top: calc( -8vw - 16vw);
  }
  .gakudou-feature__review {
    display: grid;
    row-gap: 1.333vw;
    width: 29.333vw;
    text-align: right;
    position: absolute;
    top: calc( -8.533vw - 16vw);
    right: 4vw;
  }
  .gakudou-feature__review-thumb {
    width: 100%;
  }
  .gakudou-feature__review-text {
    display: inline-block;
    font-size: 3.733vw;
    color: #888;
  }
  .gakudou-feature__list {
    display: grid;
    row-gap: 10.667vw;
  }
  .gakudou-feature__item {
    display: grid;
    row-gap: 3.2vw;
    width: 100%;
  }
  .gakudou-feature__item-thumb {
    width: 100%;
  }
  .gakudou-feature__item-thumb img {
    border-radius: 1.6vw;
  }
  /* intro */
  .gakudou-intro {
    display: grid;
    row-gap: 5.333vw;
    width: 100%;
    margin: 0 auto;
    padding: 0 4vw;
    box-sizing: border-box;
  }
  .gakudou-intro__head {
    display: grid;
    row-gap: 5.333vw;
  }
  .gakudou-intro__list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5.333vw;
  }
  .gakudou-intro__item {
    width: 100%;
  }
  .gakudou-intro__content {
    display: grid;
    row-gap: 5.333vw;
  }
  .gakudou-intro__note {
    display: grid;
    row-gap: 1.333vw;
  }
  .gakudou-intro__note-text {
    font-size: 4.267vw;
    line-height: 1.4;
    color: var(--color-accent-text);
    padding-left: 1.2em;
    position: relative;
  }
  .gakudou-intro__note-text::before {
    content: "※";
    position: absolute;
    left: 0;
    top: 0;
  }
  /* genre */
  .gakudou-genre {
    width: 100%;
    padding: 16vw 0;
    background-color: #FFFFE1;
  }
  .gakudou-genre__inner {
    display: grid;
    row-gap: 10.667vw;
    width: 100%;
    margin: 0 auto;
    padding: 0 4vw;
    box-sizing: border-box;
  }
  .gakudou-genre__head {
    text-align: center;
  }
  .gakudou-genre__balloon {
    display: inline-block;
    padding: 2.133vw 5.333vw;
    margin-bottom: 5.333vw;
    background-color: #005AA0;
    border-radius: 1.067vw;
    position: relative;
  }
  .gakudou-genre__balloon::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #005AA0 transparent transparent transparent;
    border-width: 4.8vw 3.733vw 0px 3.733vw;
    position: absolute;
    bottom: -2.667vw;
    left: 50%;
    transform: translateX(-50%);
  }
  .gakudou-genre__balloon-text {
    font-size: 6.933vw;
    line-height: 1.3;
    font-weight: bold;
    color: var(--color-cv-background);
  }
  .gakudou-genre__balloon-text .date {
    font-size: 13.333vw;
  }
  .gakudou-genre__balloon-text .slash {
    font-size: 6.4vw;
  }
  .gakudou-genre__balloon-text .dow {
    font-size: 4.267vw;
  }
  .gakudou-genre__content {
    display: grid;
    row-gap: 5.333vw;
  }
  .gakudou-genre__lead-area {
    display: grid;
    row-gap: 2.133vw;
  }
  .gakudou-genre__lead-subtext {
    font-size: 3.733vw;
    line-height: 1.4;
    text-align: center;
  }
  .gakudou-genre .gakudou-genre__list {
    display: grid;
    width: 100%;
    margin: 0 auto;
    gap: 4.267vw;
  }
  .gakudou-genre .gakudou-genre__item {
    width: 100%;
    border-radius: 2.133vw;
    background-color: #aaa;
  }
  .gakudou-genre__item-head {
    display: grid;
    place-content: center;
    min-height: 13.867vw;
    padding: 2.667vw 0;
    text-align: center;
    border-radius: 2.133vw 2.133vw 0 0;
    box-sizing: border-box;
  }
  .gakudou-genre__item-title {
    display: inline-block;
    font-size: 5.333vw;
    color: #fff;
    font-weight: bold;
    padding-left: 13.333vw;
    position: relative;
  }
  .gakudou-genre__item-title::before {
    content: "";
    width: 8.75vw;
    height: 8vw;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
  .gakudou-genre__item-body {
    text-align: center;
    padding: 2.133vw 4.267vw 4.267vw;
    border-radius: 0 0 2.133vw 2.133vw;
  }
  .gakudou-genre__item-caption {
    display: inline-block;
    font-size: 3.733vw;
    line-height: 1.2;
    padding: 0 5.6vw;
    margin-bottom: 2.133vw;
    position: relative;
    white-space: nowrap;
  }
  .gakudou-genre__item-caption::before,
  .gakudou-genre__item-caption::after {
    content: "";
    width: 0.4vw;
    height: 6.853vw;
    background-color: #000;
    color: #000;
    position: absolute;
    bottom: 0;
    border-radius: 2.133vw;
  }
  .gakudou-genre__item-caption::before {
    transform: rotate(-30deg);
    left: 1.333vw;
  }
  .gakudou-genre__item-caption::after  {
    transform: rotate(30deg);
    right: 1.333vw;
  }
  .gakudou-genre__item-thumb {
    width: 100%;
  }
  .gakudou-genre__item--art .gakudou-genre__item-head {
    background-color: var(--color-art);
  }
  .gakudou-genre__item--art .gakudou-genre__item-title::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/art_icon.svg);
  }
  .gakudou-genre__item--art .gakudou-genre__item-body {
    background-color: #FEF0D6;
  }
  .gakudou-genre__item--art .gakudou-genre__item-caption {
    color: #9E6A08;
  }
  .gakudou-genre__item--art .gakudou-genre__item-caption::before,
    .gakudou-genre__item--art .gakudou-genre__item-caption::after {
    color: #9E6A08;
    background-color: #9E6A08;
  }
  .gakudou-genre__item--dance .gakudou-genre__item-head {
    background-color: var(--color-dance);
  }
  .gakudou-genre__item--dance .gakudou-genre__item-title::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/dance_icon.svg);
  }
  .gakudou-genre__item--dance .gakudou-genre__item-body {
    background-color: #E1EFF8;
  }
  .gakudou-genre__item--dance .gakudou-genre__item-caption {
    color: #024FB2;
  }
  .gakudou-genre__item--dance .gakudou-genre__item-caption::before,
    .gakudou-genre__item--dance .gakudou-genre__item-caption::after {
    color: #024FB2;
    background-color: #024FB2;
  }
  .gakudou-genre__item--tankyu .gakudou-genre__item-head {
    background-color: var(--color-tankyu);
  }
  .gakudou-genre__item--tankyu .gakudou-genre__item-title::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/tankyu_icon.svg);
  }
  .gakudou-genre__item--tankyu .gakudou-genre__item-body {
    background-color: #FBE1E4;
  }
  .gakudou-genre__item--tankyu .gakudou-genre__item-caption {
    color: #C52337;
  }
  .gakudou-genre__item--tankyu .gakudou-genre__item-caption::before,
    .gakudou-genre__item--tankyu .gakudou-genre__item-caption::after {
    color: #C52337;
    background-color: #C52337;
  }
  .gakudou-genre__item--shuuji .gakudou-genre__item-head {
    background-color: var(--color-shuuji);
  }
  .gakudou-genre__item--shuuji .gakudou-genre__item-title::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/shuuji_icon.svg);
  }
  .gakudou-genre__item--shuuji .gakudou-genre__item-body {
    background-color: #EBF0D9;
  }
  .gakudou-genre__item--shuuji .gakudou-genre__item-caption {
    color: #4D840D;
  }
  .gakudou-genre__item--shuuji .gakudou-genre__item-caption::before,
    .gakudou-genre__item--shuuji .gakudou-genre__item-caption::after {
    color: #4D840D;
    background-color: #4D840D;
  }

  .modal .gakudou-genre__list {
    display: grid;
    row-gap: 5.333vw;
    max-width: 84vw;
    width: 100%;
    margin: 0 auto;
  }
  .modal .gakudou-genre__item {
    display: grid;
    row-gap: 1.6vw;
    width: 100%;
  }
  .modal .gakudou-genre__item-text {
    display: inline-block;
    font-size: 4vw;
    font-weight: 400;
    line-height: 1.1;
    text-align: center;
    padding: 0 0.5em;
    margin: 0 auto;
    position: relative;
    white-space: nowrap;
  }
  .modal .gakudou-genre__item-text::before {
    content: "＼";
    font-size: 2.667vw;
    position: absolute;
    left: -1.333vw;
    bottom: 0.333vw;
  }
  .modal .gakudou-genre__item-text::after {
    content: "／";
    font-size: 2.667vw;
    position: absolute;
    right: -1.333vw;
    bottom: 0.333vw;
  }
  .modal .gakudou-genre__item-button {
    display: block;
    width: 100%;
    font-size: 5.333vw;
    line-height: 1.5;
    font-weight: 700;
    color: #fff;
    padding: 4.8vw 2.667vw 4.267vw 16vw;
    border-radius: 2.133vw;
    position: relative;
    box-sizing: border-box;
    text-decoration: none;
  }
  .modal .gakudou-genre__item .gakudou-genre__item-button::before {
    content: "";
    width: 8.75vw;
    height: 8vw;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 4.267vw;
    transform: translateY(-50%);
  }
  .modal .gakudou-genre__item-button::after {
    content: "";
    width: 2.4vw;
    aspect-ratio: 1/2;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 4.267vw;
    transform: translateY(-50%);
  }
  .modal .gakudou-genre__item--art .gakudou-genre__item-text {
    color: #9E6A08;
  }
  .modal .gakudou-genre__item--art .gakudou-genre__item-button {
    background-color: var(--color-art);
  }
  .modal .gakudou-genre__item--art .gakudou-genre__item-button::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/art_icon.svg);
  }
  .modal .gakudou-genre__item--dance .gakudou-genre__item-text {
    color: #024FB2;
  }
  .modal .gakudou-genre__item--dance .gakudou-genre__item-button {
    background-color: var(--color-dance);
  }
  .modal .gakudou-genre__item--dance .gakudou-genre__item-button::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/dance_icon.svg);
  }
  .modal .gakudou-genre__item--tankyu .gakudou-genre__item-text {
    color: #C52337;
  }
  .modal .gakudou-genre__item--tankyu .gakudou-genre__item-button {
    background-color: var(--color-tankyu);
  }
  .modal .gakudou-genre__item--tankyu .gakudou-genre__item-button::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/tankyu_icon.svg);
  }
  .modal .gakudou-genre__item--shuuji .gakudou-genre__item-text {
    color: #4D840D;
  }
  .modal .gakudou-genre__item--shuuji .gakudou-genre__item-button {
    background-color: var(--color-shuuji);
  }
  .modal .gakudou-genre__item--shuuji .gakudou-genre__item-button::before {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/shuuji_icon.svg);
  }
  .modal .gakudou-genre__item-button.gakudou-genre__item-button--noclick {
    background-color: #aaa;
    pointer-events: none;
  }
  .gakudou-genre__schedule {
    display: grid;
    row-gap: 5.333vw;
    width: 100%;
    margin: 0 auto;
  }
  .gakudou-genre__schedule-title {
    font-size: 5.333vw;
    font-weight: bold;
    text-align: center;
  }
  .gakudou-genre__schedule-note {
    display: grid;
    row-gap: 1.333vw;
  }
  .gakudou-genre__schedule-note-text {
    font-size: 4.267vw;
    line-height: 1.4;
    padding-left: 1em;
    position: relative;
  }
  .gakudou-genre__schedule-note-text.gakudou-genre__schedule-note-text--red {
    color: var(--color-accent-text);
  }
  .gakudou-genre__schedule-note-text.gakudou-genre__schedule-note-text--red a {
    color: var(--color-accent-text);
  }
  .gakudou-genre__schedule-note-text.gakudou-genre__schedule-note-text--underline > * {
    text-decoration: underline;
  }
  .gakudou-genre__schedule-note-text.gakudou-genre__schedule-note-text--underline > *:hover {
    text-decoration: none;
  }
  .gakudou-genre__schedule-note-text .gakudou-genre__schedule-note-accordion {
    cursor: pointer;
  }
  .gakudou-genre__schedule-note-text::before {
    content: "※";
    position: absolute;
    left: 0;
    top: 0;
  }
  .gakudou-genre__schedule-note-text .qa__item-ans-wrap {
    width: 100%;
    box-sizing: border-box;
    margin: auto;
    padding: 15px 0 0;
    color: #464646;
    text-decoration: none;
  }
  .gakudou-genre__schedule-thumb {
    display: block;
  }
  .schedule__img {
    width: 100%;
    display: block;
  }
  .schedule__img.schedule__img--no-tankyu {
    display: none;
  }
  .modalid .modal_schedule__img--no-tankyu {
    display: none;
  }
  .modalid .modal_schedule__img--on-tankyu {
    display: block;
  }
  /* flow */
  .gakudou-flow {
    display: grid;
    row-gap: 5.333vw;
    width: 100%;
    margin: 0 auto;
    padding: 0 4vw;
    box-sizing: border-box;
  }
  .gakudou-flow__head {
    display: grid;
    row-gap: 5.333vw;
  }
  .flow_flex {
    display: grid;
    row-gap: 8vw;
    width: 84vw;
    margin: 0 auto;
  }
  .flow_flex__item-ttl {
    position: relative;
  }
  .flow_flex-ttl-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 29%;
  }
  .flow_flex__item-ttl-text {
    padding-left: 31%;
    font-size: 4.267vw;
    padding-top: 0.533vw;
    font-weight: bold;
    color: #333333;
  }
  .flow_flex-main-img {
    width: 60%;
    margin: 30px auto;
    display: block;
  }
  .flow_flex__item-main-text {
    color: #333333;
    font-size: 4.267vw;
  }
  .flow__note--red {
    font-size: 4.267vw;
    font-weight: bold;
    padding: 0 5.333vw;
    color: red;
    text-align: left;
  }
  .flow__link-wrap {
    text-align: center;
  }
  .flow__link {
    display: inline-block;
    font-size: 4.8vw;
    color: #464646;
    font-weight: 700;
    text-decoration: underline;
  }
  /* plan */
  .gakudou-plan {
    display: grid;
    row-gap: 5.333vw;
    width: 100%;
    margin: 0 auto;
    padding: 0 4vw;
    box-sizing: border-box;
  }
  .gakudou-plan__head {
    display: grid;
    row-gap: 5.333vw;
  }
  .gakudou-plan__content {
    display: grid;
    row-gap: 5.333vw;
  }
  .gakudou-plan__thumb {
    width: 100%;
  }
  /* cost */
  .gakudou-cost {
    display: grid;
    row-gap: 5.333vw;
    width: 100%;
    margin: 0 auto;
    padding: 0 4vw;
    box-sizing: border-box;
  }
  .gakudou-cost__link-wrap {
    text-align: center;
  }
  .gakudou-cost__link-text {
    display: inline-block;
    font-size: 4.8vw;
    line-height: 1.5;
    font-weight: bold;
    color: var(--color-main-text);
  }

  table , td, th {
    border: 1px solid #ddd;
    border-collapse: collapse;
  }
  table {
    -webkit-overflow-scrolling: touch;
    color: #fff;
    border:1px solid #ddd;
    border-collapse: collapse;
    width: 100%;
  }
  .calender__date,.calender__day-of-week,.calender__day-of-time {
    background-color: #005AA0;
  }
  .calender__day-of-week {
    text-align: center;
  }
  .calender__day-of-time {
    font-size: 18px;
  }
  td, th {
    padding: 3px;
    min-width: 120px;
    height: 25px;
    text-align: center;
  }
  /* question */
  .gakudou-question {
    display: grid;
    row-gap: 5.333vw;
    width: 100%;
    margin: 0 auto;
    padding: 0 4vw;
    box-sizing: border-box;
  }
  .qa__item-button.js-qa-button--accordion::after {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/plus.svg);
    transition: transform 0.25s;
  }
  .qa__item-button.js-qa-button--accordion.js-qa-button--open::after {
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/minus.svg);
  }
  .qa__item-ans-wrap {
    display: none;
    margin-left: 35px;
    padding: 15px;
    margin-bottom: 20px;
    /* background-color: #E5F0FF; */
    border-radius: 6px;
  }
  .qa__item-ans-thumb {
    width: 100%;
    margin-top: 2em;
  }
  .qa-list {
    margin-top: 20px;
  }

  .qa__item {
    border-top: 1px solid #DADADA;
  }

  .qa__item:last-of-type {
    border-bottom: 1px solid #DADADA;
  }

  .qa__item-button {
    outline: none;
    background: none;
    border: none;
    padding: 30px 0px;
    padding-right: 50px;
    position: relative;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    text-decoration: none;
    color: #000;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }

  .qa__item-button::after {
    content: "";
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/plus.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    bottom: 48%;
    right: 0%;
    -webkit-transform: translate(0%, 50%);
    -ms-transform: translate(0%, 50%);
    transform: translate(0%, 50%);
  }

  /* .qa__item-button.active::after {
    -webkit-transform: translate(0%, 50%) rotate(0deg);
    -ms-transform: translate(0%, 50%) rotate(0deg);
    transform: translate(0%, 50%) rotate(0deg);
  } */

  .qa__item-icon-wrap {
    width: 35px;
    text-align: center;
    margin-right: 20px;
  }

  .qa__item-icon-ques {
    width: 35px;
  }

  .qa__item-icon-answer {
    width: 30px;
  }

  .qa__item-ques {
    font-size: 17px;
    font-weight: 600;
  }

  .qa__item-content-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding-bottom: 40px;
  }

  .qa__item-content .qa__item-icon-wrap {
    margin-top: 5px;
  }

  /* inquiry */
  .inquiry .h2 a {
    font-size: 17px;
    font-weight: bold;
    margin-top: 80px;
    color: #464646;
    text-align: center;
    display: block;
  }

  .gakudou-contact {
    display: grid;
    row-gap: 10.667vw;
    width: 100%;
    margin: 0 auto;
    padding: 0 4vw;
    box-sizing: border-box;
  }
  .gakudou-contact__head {
    text-align: center;
  }
  .gakudou-contact__head-title {
    display: inline-block;
    font-size: 3.733vw;
    font-weight: 500;
    line-height: 1.4;
    color: var(--color-main-text);
    margin-bottom: 6.4vw;
    padding: 0 7.467vw;
    position: relative;
  }
  .gakudou-contact__head-title::before,
  .gakudou-contact__head-title::after {
    content: "";
    width: 0.533vw;
    height: 10.667vw;
    background-color: var(--color-main-text);
    color: var(--color-main-text);
    position: absolute;
    bottom: 0;
    border-radius: 2.133vw;
  }
  .gakudou-contact__head-title::before {
    transform: rotate(-30deg);
    left: 2.667vw;
  }
  .gakudou-contact__head-title::after {
    transform: rotate(30deg);
    right: 2.667vw;
  }
  .gakudou-contact__body {
    display: grid;
    row-gap: 4.267vw;
    width: 100%;
    margin: 0 auto;
    padding: 5.333vw;
    border-radius: 2.133vw;
    background-color: #F5F5F5;
    box-sizing: border-box;
  }
  .gakudou-contact__body-title {
    display: grid;
    row-gap: 1.067vw;
    color: var(--color-main-text);
    text-align: center;
    font-weight: bold;
    line-height: 1.5;
  }
  .gakudou-contact__body-main {
    font-size: 4.8vw;
  }
  .gakudou-contact__body-sub {
    font-size: 3.733vw;
  }
  .gakudou-contact__body-text {
    font-size: 3.733vw;
    line-height: 1.5;
  }
  .gakudou-contact__body-textarea {
    display: grid;
    row-gap: 3.2vw;
  }
  .gakudou-contact__body-name {
    font-size: 3.733vw;
    line-height: 1.5;
    text-align: center;
  }
  .gakudou-contact__body-address {
    font-size: 4.267vw;
    text-align: center;
    font-weight: 500;
    line-height: 1.3;
    color: var(--color-main-text);
    background-color: #fff;
    padding: 3.2vw 2.133vw;
    border-radius: 2.133vw;
  }
}
/* header追加 */
/*===== PC =====*/
@media only screen and (min-width: 1001px) {
  .header-button {
    max-width: 630px;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    column-gap: 24px;
  }
  .header-cv {
    display: grid;
    place-content: center;
    max-width: 305px;
    width: 100%;
    min-height: 64px;
    padding: 0 30px;
    font-size: 16px;
    line-height: 1.2;
    font-weight: bold;
    text-align: center;
    background-color: var(--color-cv-background);
    color: var(--color-main-text);
    border: 2px solid var(--color-main-text);
    border-radius: 8px;
    position: relative;
    text-decoration: none;
    box-sizing: border-box;
  }
  .header-cv::before {
    content: "";
    width: 9px;
    aspect-ratio: 1/2;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/arrow_blue.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
  }
  .header-contact {
    display: grid;
    place-content: center;
    max-width: 280px;
    width: 100%;
    min-height: 64px;
    padding: 0 30px;
    font-size: 16px;
    font-weight: bold;
    color: var(--color-main-text);
    border: 2px solid var(--color-main-text);
    border-radius: 8px;
    position: relative;
    text-decoration: none;
    box-sizing: border-box;
  }
  .header-contact::before {
    content: "";
    width: 9px;
    aspect-ratio: 1/2;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/arrow_blue.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
  }
}
@media only screen and (max-width: 1000px) and (min-width: 769px) {
  .header-button {
    display: none;
  }
}
@media only screen and (min-width: 769px), print, tv {
  .header-logo-img{
    width: 110px;
  }
  .header-logo-link + .header-logo-link .header-logo-img{
    width: 246px;
    margin-top: 5px;
  }
}
/*===== SP =====*/
@media only screen and (max-width: 768px) {
  .header-logo-img{
    width: 20vw;
  }
  .header-logo-link + .header-logo-link .header-logo-img{
    width: 38vw;
    margin-top: 0.4vw;
  }
  .header-button {
    display: none;
  }
}
/* footer微調整追加 */
/*===== PC =====*/
@media only screen and (min-width: 1001px) {
  .floating-btn {
    display: none;
  }
}
@media only screen and (max-width: 1000px) and (min-width: 769px) {
  .floating-btn {
    position: fixed;
    bottom: 0;
    right: 0;
    max-width: unset;
    max-height: unset;
    width: 100%;
    height: auto;
    z-index: 10;
    background-color: rgba(246,246,246,0.9);
    padding: 10px 30px;
    box-sizing: border-box;
  }
  .floating-btn__sublink-wrap {
    display: flex;
    gap: 10px;
    justify-content: center;
  }
  .floating-btn__cv {
    max-width: 350px;
    width: 100%;
    min-height: 60px;
    box-sizing: border-box;
    border-radius: 5px;
    background-color: var(--color-cv-background);
    font-size: 16px;
    line-height: 1.2;
    font-weight: bold;
    padding-right: 16px;
    text-align: center;
    text-decoration: none;
    color: var(--color-main-text);
    border: 1px solid var(--color-main-text);;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  .floating-btn__cv::before {
    content: "";
    width: 10px;
    aspect-ratio: 1/2;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/arrow_blue.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
  }
  .floating-btn__contact {
    max-width: 350px;
    width: 100%;
    min-height: 60px;
    box-sizing: border-box;
    border-radius: 5px;
    background-color: #fff;
    font-size: 16px;
    line-height: 1.2;
    font-weight: bold;
    padding-right: 16px;
    text-align: center;
    text-decoration: none;
    color: var(--color-main-text);
    border: 1px solid var(--color-main-text);;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  .floating-btn__contact::before {
    content: "";
    width: 10px;
    aspect-ratio: 1/2;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/arrow_blue.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
  }
}
@media only screen and (min-width: 769px), print, tv {
  .footer-inner{
    max-width: 760px;
  }
}
/*===== SP =====*/
@media only screen and (max-width: 768px) {
  .footer {
    padding-bottom: 68px;
  }
  .floating-btn {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 100%;
    height: auto;
    z-index: 10;
    background-color: rgba(246,246,246,0.9);
    padding: 2.667vw 4vw;
    box-sizing: border-box;
  }
  .floating-btn__sublink-wrap {
    display: flex;
    gap: 2.667vw;
    justify-content: center;
  }
  .floating-btn__cv {
    width: 46.667vw;
    min-height: 11.733vw;
    box-sizing: border-box;
    border-radius: 1.333vw;
    background-color: var(--color-cv-background);
    font-size: 3.2vw;
    line-height: 1.2;
    font-weight: bold;
    padding: 0 4vw;
    text-align: center;
    text-decoration: none;
    color: var(--color-main-text);
    border: 1px solid var(--color-main-text);;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  .floating-btn__cv::before {
    content: "";
    width: 2.667vw;
    aspect-ratio: 1/2;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/arrow_blue.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 2.667vw;
    transform: translateY(-50%);
  }
  .floating-btn__contact {
    width: 42.667vw;
    min-height: 11.733vw;
    box-sizing: border-box;
    border-radius: 1.333vw;
    background-color: #fff;
    font-size: 3.2vw;
    line-height: 1.2;
    font-weight: bold;
    padding: 0 4vw;
    text-align: center;
    text-decoration: none;
    color: var(--color-main-text);
    border: 1px solid var(--color-main-text);;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  .floating-btn__contact::before {
    content: "";
    width: 2.667vw;
    aspect-ratio: 1/2;
    background-image: url(/zemi/challengeschool/gakudou/_assets/img/arrow_blue.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 2.667vw;
    transform: translateY(-50%);
  }
}
/* modal追加 */
/*===== PC =====*/
@media only screen and (min-width: 769px), print, tv {
  .modalid .modal {
    display: none;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
  }
  .modalid .modal__bg {
    background-color: rgba(183, 183, 183, 0.9);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
  .modalid .modal__wrap {
    max-width: 960px;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
  }
  .modalid .modal__content {
    border-radius: 5px;
    background-color: #ffffff;
    max-height: 100%;
    padding: 60px;
    height: 80%;
    overflow-y: scroll;
  }
  .modalid .modal__close {
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 10px;
  }
  .modalid .modal__close-icon {
    font-size: 0px;
    width: 30px;
    margin-bottom: 5px;
    margin-right: auto;
    margin-left: auto;
  }
  .modal__text {
    font-size: 16px;
  }
  .modal__text-adjustment {
    margin-bottom: 16px;
    display: inline-block;
  }
  .modal__subtitle-adjustment {
    margin: 10px 0 8px 0;
    display: inline-block;
  }
  #taiken .modal__content {
    max-height: 80vh;
    height: auto;
  }
  #contact .modal__wrap {
    max-width: 680px;
  }
  #contact .gakudou-contact__body {
    padding: 0;
    background-color: transparent;
  }
  #contact .gakudou-contact__body-address {
    background-color: #FFFFE1;
  }
}
/*===== SP =====*/
@media only screen and (max-width: 768px) {
  .modalid .modal {
    display: none;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
  }
  .modalid .modal__bg {
    background-color: rgba(183, 183, 183, 0.9);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
  .modalid .modal__wrap {
    width: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    overflow-y: hidden;
  }
  .modalid .modal__content {
    border-radius: 1.33333333vw;
    background-color: #ffffff;
    max-height: 70vh;
    padding: 5.33333333vw;
    padding-top: 12vw;
    width: auto;
    overflow-y: scroll;
  }
  .modalid .modal__close {
    width: 4.8vw;
    cursor: pointer;
    position: absolute;
    top: 2.133vw;
    right: 2.133vw;
  }
  .modalid .modal__close-icon {
    font-size: 0;
    margin-bottom: 2vw;
    margin-right: auto;
    margin-left: auto;
    width: 4.8vw;
  }
  .modal__text {
    font-size: 16px;
  }
  .modal__text-adjustment {
    margin-bottom: 16px;
    display: inline-block;
  }
  .modal__subtitle-adjustment {
    margin: 10px 0 8px 0;
    display: inline-block;
  }
  #contact .modal__wrap {
  }
  #contact .gakudou-contact__body {
    padding: 0;
    background-color: transparent;
  }
  #contact .gakudou-contact__body-address {
    background-color: #FFFFE1;
  }
}