/**  Mixins */
/*------------------------------------*\
    breakpoint vars
\*------------------------------------*/
/*------------------------------------*\
    breakpoint mixin
\*------------------------------------*/
/*------------------------------------*\
    breakpoint down mixin
\*------------------------------------*/
/** Global **/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@400;500;600;700;900&display=swap");
@font-face {
  font-family: 'GothicMB101Pro';
  src: url("../fonts/GothicMB101Pro-Bold/GothicMB101Pro-Bold.ttf") format("truetype"), url("../fonts/GothicMB101Pro-Bold/GothicMB101Pro-Bold.woff") format("woff"), url("../fonts/GothicMB101Pro-Bold/GothicMB101Pro-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal; }

@font-face {
  font-family: 'GothicMB101Pro';
  src: url("../fonts/GothicMB101Pro-DeBold/GothicMB101Pro-DeBold.ttf") format("truetype"), url("../fonts/GothicMB101Pro-DeBold/GothicMB101Pro-DeBold.woff") format("woff"), url("../fonts/GothicMB101Pro-DeBold/GothicMB101Pro-DeBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal; }

@font-face {
  font-family: 'SavoyeLetPlain';
  src: url("../fonts/SavoyeLetPlain/SavoyeLetPlain.ttf") format("truetype"), url("../fonts/SavoyeLetPlain/SavoyeLetPlain.woff") format("woff"), url("../fonts/SavoyeLetPlain/SavoyeLetPlain.woff2") format("woff2");
  font-weight: 400;
  font-style: normal; }

:root {
  --white: #fff;
  --black: #000;
  --gray: #eee;
  --blue: #004DA0;
  --blue-light: #00AEEB;
  --pink: #EA6BA3;
  --red: #CF121B;
  --primary: #004DA0;
  --second: #FFF100;
  --third: #ED7700;
  --text-body: #231815;
  --border: #F5F5F5;
  --blue-2: #044191; }

/* Base Setting
---------------------------------------- */
.tep-container, .tep-container-fluid {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 15px;
  position: relative;
  box-sizing: border-box; }
  @media (min-width: 48em) {
    .tep-container, .tep-container-fluid {
      padding: 0 30px; } }

.courses__box--content-star ul, .reasons__list ul, .students-coming ul, .curriculum ul,
.monthly-fee ul, .individual__item ul {
  margin: 0;
  padding: 0;
  list-style: none; }

.training__inner ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  .training__inner ul li {
    position: relative;
    padding-left: 55px; }
    .training__inner ul li::before {
      content: '';
      display: block;
      width: 42px;
      height: 42px;
      background: url("../images/star-icon.png") no-repeat 50% 50%;
      position: absolute;
      top: 2px;
      left: 0;
      -webkit-filter: drop-shadow(0 0 3px #222222);
      filter: drop-shadow(0 0 3px #222222); }

.tep-container-fluid {
  padding: 0;
  max-width: 100%; }

/** Pages */
.page-believe,
.page-template-template-believe {
  padding: 0; }

.believe-wrapper {
  position: relative;
  font-family: "Noto Sans JP", sans-serif; }
  .believe-wrapper .belive-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 25px 30px;
    z-index: 999; }
  .believe-wrapper img {
    max-width: 100%; }
  .believe-wrapper h2,
  .believe-wrapper h3,
  .believe-wrapper h4,
  .believe-wrapper h5 {
    font-family: "Noto Sans JP", sans-serif; }
    .believe-wrapper h2 span,
    .believe-wrapper h3 span,
    .believe-wrapper h4 span,
    .believe-wrapper h5 span {
      color: var(--second); }

.banner {
  position: relative;
  min-height: 65%;
  z-index: 1;
  padding-bottom: 20px; }
  .banner figure {
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%; }
    .banner figure img {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      object-fit: cover;
      z-index: 1;
      border: 0;
      object-position: top; }
  .banner__inner {
    padding-top: 220px; }
  .banner__box {
    border: 1px solid var(--blue);
    background: var(--white);
    text-align: center;
    display: inline-block; }
    .banner__box h3 {
      background: var(--blue);
      color: var(--white);
      font-size: 24.5px;
      margin: 0;
      padding: 6px;
      font-weight: 900;
      font-family: "Noto Serif JP", serif; }
    .banner__box h2 {
      font-size: 40px;
      font-weight: 900;
      margin: 0;
      color: var(--blue);
      font-family: "Noto Serif JP", serif; }
      @media only screen and (max-width: 768px) {
        .banner__box h2 {
          font-size: 24px; } }
    .banner__box p {
      font-size: 16px;
      font-weight: 400;
      color: var(--black);
      margin: 0; }
    .banner__box--content {
      padding: 15px 27px; }
  .banner__text h3 {
    font-size: 60px;
    font-weight: 900;
    text-align: right;
    color: var(--second);
    margin: 0;
    text-shadow: 0 0 30px var(--blue);
    font-family: "Noto Serif JP", serif; }
  .banner__text h2 {
    font-size: 105px;
    font-weight: 900;
    margin: 0;
    color: var(--white);
    text-shadow: 0 0 30px var(--blue);
    font-family: "Noto Serif JP", serif; }
    @media only screen and (max-width: 768px) {
      .banner__text h2 {
        font-size: 54px; } }

.intro {
  background: url("../images/intro-bg.png") no-repeat 50% 100%/cover;
  padding: 1px 0; }
  .intro__inner {
    margin-top: 30px;
    background: var(--white);
    border-radius: 20px;
    padding: 40px 70px;
    position: relative; }
    @media only screen and (max-width: 768px) {
      .intro__inner {
        padding: 30px 20px; } }
    .intro__inner::after {
      content: '';
      display: block;
      width: 163px;
      height: 92px;
      background: url("../images/arrow-shadow.png") no-repeat 50% 50%;
      position: absolute;
      bottom: -75px;
      left: 50%;
      transform: translateX(-50%); }
  .intro__row {
    position: relative;
    margin-bottom: 38px;
    padding-left: 60px; }
    .intro__row figure {
      position: absolute;
      left: 0;
      bottom: -10px; }
      .intro__row figure img {
        display: block; }
    .intro__row h2 {
      margin: 0;
      font-size: 39px;
      font-weight: 700;
      background: #BFB869;
      border-radius: 12px;
      padding: 12px 80px 12px 100px;
      color: var(--white);
      text-align: center;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; }
      @media only screen and (max-width: 768px) {
        .intro__row h2 {
          padding: 12px 20px 12px 35px;
          font-size: 21px; } }
    .intro__row:nth-child(odd) h2 {
      background: #9E9B81; }
    .intro__row:last-child {
      margin-bottom: 0; }

.individualized {
  text-align: center;
  padding: 105px 0 60px; }
  .individualized h4 {
    font-size: 44px;
    font-weight: 800;
    color: var(--white);
    margin: 0;
    line-height: 1.6; }
    @media only screen and (max-width: 768px) {
      .individualized h4 {
        font-size: 30px; } }
  .individualized h2 {
    font-size: 58.5px;
    font-weight: 700;
    margin: 0;
    color: var(--second);
    line-height: 1.2;
    position: relative;
    display: inline-block;
    padding: 0 30px;
    text-shadow: 0 0 20px var(--black);
    z-index: 1; }
    @media only screen and (max-width: 768px) {
      .individualized h2 {
        font-size: 40px; } }
    .individualized h2::after {
      content: '';
      display: block;
      height: 40%;
      width: 100%;
      background: var(--pink);
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: -1; }
  .individualized h3 {
    font-size: 46px;
    font-weight: 700;
    color: var(--white);
    line-height: 1.45; }
    @media only screen and (max-width: 768px) {
      .individualized h3 {
        font-size: 32px; } }

.section-heading {
  background: var(--blue); }
  .section-heading__inner {
    position: relative;
    padding: 25px 0; }
    .section-heading__inner img {
      position: absolute;
      right: 0;
      bottom: 0;
      z-index: 1; }
  .section-heading h2 {
    font-size: 38px;
    font-weight: 700;
    color: var(--white);
    position: relative;
    margin: 0; }
  .section-heading.has-image .section-heading__inner {
    padding-right: 170px; }

.steps {
  background: #D2ECFA;
  padding: 45px 0 0; }
  .steps__inner {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px; }
  .steps__box {
    width: calc(50% - 30px);
    margin: 0 15px 35px;
    background: var(--white);
    border: 2px solid var(--blue);
    border-radius: 15px;
    padding: 0 30px 25px;
    position: relative; }
    @media only screen and (max-width: 600px) {
      .steps__box {
        width: 100%; } }
    .steps__box::after {
      content: '';
      background: url("../images/arrow-right-shadow.png") no-repeat 50% 50%;
      display: block;
      position: absolute;
      right: -26px;
      top: calc(50% - 28px);
      width: 45px;
      height: 57px; }
    .steps__box h3 {
      font-size: 30px;
      text-align: center;
      margin: -26px 0 25px;
      font-weight: 800;
      color: var(--blue);
      line-height: 1.5;
      text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff, 0px -3px 0 #fff, 3px -1px 0 #fff, -2px -1px 0 #fff; }
    .steps__box p {
      margin: 0;
      font-size: 26px;
      font-weight: 800;
      color: var(--black);
      line-height: 1.5; }
      .steps__box p span {
        color: var(--blue-light); }
    .steps__box:last-child::after {
      display: none; }

.only-for-you {
  background: #D2ECFA;
  text-align: center;
  margin-top: -10px;
  padding-bottom: 30px; }
  .only-for-you__inner {
    background: var(--white);
    position: relative;
    padding: 30px; }
    .only-for-you__inner h3 {
      font-size: 25px;
      line-height: 1.6;
      font-weight: 80px;
      color: var(--blue);
      margin: 0 0 10px; }
      .only-for-you__inner h3 span {
        font-size: 65px;
        line-height: 1.3;
        color: var(--blue); }
    .only-for-you__inner h2 {
      color: #E40065;
      font-weight: 700;
      font-size: 68px;
      line-height: 1.3;
      margin: 0;
      position: relative;
      display: inline-block;
      padding: 0 100px; }
      .only-for-you__inner h2::before {
        content: '';
        display: block;
        background: url("../images/icon-alert.png");
        width: 74px;
        height: 142px;
        position: absolute;
        left: 0;
        top: calc(50% - 71px); }
    .only-for-you__inner figure {
      position: absolute;
      right: -10px;
      bottom: -30px;
      z-index: 1; }

.training .tep-container {
  padding: 0; }

.training__inner {
  border-image-source: linear-gradient(-18deg, #dda553 0%, #dfc378 50%, #b98f4f 100%);
  border-width: 20px;
  border-style: solid;
  border-image-slice: 1;
  position: relative;
  text-align: center;
  background: var(--blue);
  color: var(--white);
  padding: 30px;
  text-shadow: 0 0 10px var(--black); }
  @media only screen and (max-width: 600px) {
    .training__inner {
      padding-bottom: 190px; } }
  .training__inner figure {
    position: absolute;
    bottom: 0;
    right: 0; }
  .training__inner h2 {
    font-size: 58px;
    color: var(--white);
    margin: 0 0 25px;
    font-weight: 800;
    line-height: 1.26; }
    .training__inner h2 span {
      font-weight: 700; }
  .training__inner ul {
    display: inline-block;
    text-align: left; }
    .training__inner ul li {
      font-size: 32.5px;
      font-weight: 800; }

.section-heading-comment {
  background: #ED7700; }
  .section-heading-comment__inner h2 {
    font-size: 39px;
    font-weight: 700;
    color: var(--white);
    margin: 0;
    padding: 30px 200px 30px 135px; }
    @media only screen and (max-width: 768px) {
      .section-heading-comment__inner h2 {
        padding: 30px 150px 130px 10px; } }
  .section-heading-comment__inner .comment-box {
    background: url("../images/comment.png") no-repeat 50% 50%;
    font-size: 26px;
    line-height: 1.3;
    display: flex;
    text-align: center;
    position: absolute;
    right: 0;
    width: 209px;
    height: 134px;
    top: 25px;
    align-items: center;
    justify-content: center;
    color: #ED7700;
    font-weight: 700; }

.table-box {
  background: #FFF5E0;
  padding: 1px 0 60px; }
  .table-box .tep-container > h2 {
    font-size: 36px;
    font-weight: 700;
    color: var(--blue-light);
    text-align: center;
    margin: 40px 0 -40px;
    text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff, 0px -3px 0 #fff, 3px -1px 0 #fff, -2px -1px 0 #fff; }
    .table-box .tep-container > h2::before, .table-box .tep-container > h2::after {
      content: '';
      height: 63px;
      border-right: 3px solid var(--blue-light);
      display: inline-block;
      vertical-align: middle; }
    .table-box .tep-container > h2::before {
      transform: rotate(-20deg);
      margin-right: 25px; }
    .table-box .tep-container > h2::after {
      transform: rotate(20deg);
      margin-left: 25px; }
  .table-box__inner {
    position: relative;
    border: 2px solid var(--third);
    background: var(--white);
    margin-top: 65px;
    padding: 0 35px; }
    @media only screen and (max-width: 600px) {
      .table-box__inner {
        padding: 0 15px; } }
    .table-box__inner figure {
      bottom: calc(100% + 10px);
      left: 0;
      position: absolute;
      z-index: 1; }
    .table-box__inner.has-image {
      margin-top: 85px; }
    .table-box__inner.has-image-right figure {
      bottom: calc(100% - 36px);
      left: auto;
      right: 0; }
    .table-box__inner > h3 {
      font-size: 38px;
      font-weight: 700;
      color: var(--black);
      text-align: center;
      margin: -23px 0 15px;
      position: relative;
      z-index: 2;
      text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff, 0px -3px 0 #fff, 3px -1px 0 #fff, -2px -1px 0 #fff; }
    .table-box__inner .labels {
      display: flex;
      margin: 0 -5px;
      justify-content: space-between; }
      .table-box__inner .labels__column {
        padding: 0 5px; }
        .table-box__inner .labels__column label {
          cursor: default;
          margin: 0;
          padding: 0;
          border: 2px solid var(--third);
          font-size: 28px;
          line-height: 1.5;
          color: var(--third);
          padding: 5px 10px;
          border-radius: 10px;
          font-weight: 800; }
          .table-box__inner .labels__column label.label-bg {
            background: var(--third);
            color: var(--white); }
        .table-box__inner .labels__column small {
          display: block;
          font-size: 21.5px;
          font-weight: 800;
          padding-left: 10px; }
  .table-box__title {
    text-align: center; }
    .table-box__title h4 {
      text-align: center;
      font-size: 31.5px;
      color: var(--black);
      font-weight: 800;
      line-height: 1.45;
      margin: 0;
      display: inline;
      position: relative;
      background: linear-gradient(to top, yellow 40%, transparent 40%); }
  .table-box .table-responsive {
    border: none; }
  .table-box table {
    width: 100%;
    border-top: 2px solid #9E9E9F;
    border-right: 2px solid #9E9E9F;
    text-align: center;
    margin: 23px 0 0; }
    .table-box table td,
    .table-box table th {
      border-left: 2px solid #9E9E9F;
      border-bottom: 2px solid #9E9E9F;
      vertical-align: top; }
      .table-box table td > div,
      .table-box table th > div {
        padding: 5px;
        min-height: 90px; }
        @media only screen and (max-width: 600px) {
          .table-box table td > div,
          .table-box table th > div {
            min-height: 60px; } }
      .table-box table td h5,
      .table-box table th h5 {
        font-size: 25px;
        font-weight: 800;
        color: var(--black);
        margin: 0; }
        @media only screen and (max-width: 600px) {
          .table-box table td h5,
          .table-box table th h5 {
            font-size: 18px; } }
        .table-box table td h5 span,
        .table-box table th h5 span {
          color: var(--black); }
      .table-box table td h4,
      .table-box table th h4 {
        font-size: 25px;
        line-height: 1.5;
        font-weight: 800;
        color: var(--black);
        margin: 0; }
        @media only screen and (max-width: 600px) {
          .table-box table td h4,
          .table-box table th h4 {
            font-size: 16px; } }
      .table-box table td h3,
      .table-box table th h3 {
        font-size: 31.5px;
        line-height: 1.5;
        font-weight: 800;
        margin: 0;
        color: #E40069; }
        @media only screen and (max-width: 600px) {
          .table-box table td h3,
          .table-box table th h3 {
            font-size: 15px; } }
      .table-box table td:first-child h5 span,
      .table-box table th:first-child h5 span {
        color: var(--red); }
      .table-box table td:last-child,
      .table-box table th:last-child {
        background: #D2ECFA; }
        .table-box table td:last-child h5 span,
        .table-box table th:last-child h5 span {
          color: var(--blue); }
      .table-box table td.green-bg,
      .table-box table th.green-bg {
        background: #ECF2CE; }
      .table-box table td.wheat-bg,
      .table-box table th.wheat-bg {
        background: #F6E5C2; }
      .table-box table td.yellow-bg,
      .table-box table th.yellow-bg {
        background: #FFF68C; }
      .table-box table td.gray-bg,
      .table-box table th.gray-bg {
        background: #E5E5E6; }
      .table-box table td.blue-bg,
      .table-box table th.blue-bg {
        background: #D2ECFA; }
  .table-box .table-note {
    text-align: right;
    padding: 5px 0; }
    .table-box .table-note__item {
      font-size: 25px;
      font-weight: 800;
      color: var(--black);
      display: inline-block;
      margin-left: 30px; }
      .table-box .table-note__item span {
        display: inline-block;
        width: 44px;
        height: 20px;
        border: 2px solid #9E9E9F;
        vertical-align: middle; }
        .table-box .table-note__item span.wheat-bg {
          background: #F6E5C2; }
        .table-box .table-note__item span.green-bg {
          background: #ECF2CE; }
        .table-box .table-note__item span.blue-bg {
          background: #D2ECFA; }

.section-heading-blue {
  background: #005676; }
  .section-heading-blue h2 {
    font-size: 42px;
    font-weight: 700;
    color: var(--white);
    text-align: center;
    position: relative;
    padding: 25px 0; }
    @media only screen and (max-width: 600px) {
      .section-heading-blue h2 {
        padding-bottom: 130px; } }
    .section-heading-blue h2 img {
      position: absolute;
      left: 0;
      bottom: -24px;
      z-index: 1; }

.courses {
  padding: 30px 0 0; }
  .courses del {
    text-decoration-color: #C30D23; }
  .courses__box {
    margin-bottom: 30px;
    border: 8px solid #08287E; }
    .courses__box--heading {
      background: var(--blue);
      position: relative;
      z-index: 1;
      margin: -8px -8px 0; }
      @media only screen and (min-width: 600px) {
        .courses__box--heading {
          display: flex;
          align-items: center;
          justify-content: space-between; } }
      .courses__box--heading h3 {
        font-size: 38px;
        font-weight: 800;
        color: var(--white);
        margin: 0 0 7px; }
      .courses__box--heading h5 {
        font-size: 18px;
        font-weight: 800;
        color: var(--white);
        margin: 0; }
      .courses__box--heading h4 {
        font-size: 27px;
        font-weight: 700;
        color: var(--white);
        margin: 0;
        font-family: "Noto Serif JP", serif;
        text-shadow: 0 0 5px var(--black);
        line-height: 1.5;
        position: relative;
        z-index: 1; }
      .courses__box--heading-left {
        padding: 25px 5px 25px 20px;
        position: relative;
        background: #08287E;
        width: 310px; }
        .courses__box--heading-left::after {
          content: '';
          background: linear-gradient(to bottom right, #08287e 50%, #004da0 50%);
          width: 40px;
          height: 100%;
          position: absolute;
          left: 100%;
          top: 0; }
      .courses__box--heading-right {
        padding: 20px; }
        @media only screen and (min-width: 600px) {
          .courses__box--heading-right {
            text-align: right;
            width: calc(100% - 310px); } }
    .courses__box--content {
      padding: 20px 0; }
      @media only screen and (min-width: 600px) {
        .courses__box--content {
          display: flex; } }
      @media only screen and (min-width: 600px) {
        .courses__box--content-left {
          width: calc(100% - 260px); } }
      .courses__box--content-left h4 {
        font-size: 31px;
        font-weight: 800;
        color: var(--white);
        background: #08287e;
        background: linear-gradient(90deg, #08287e 0%, rgba(8, 40, 126, 0) 100%);
        text-align: center;
        padding: 10px 0;
        margin: 30px 0 10px;
        text-shadow: 0 0 11px var(--black); }
        @media only screen and (max-width: 600px) {
          .courses__box--content-left h4 {
            font-size: 24px; } }
      .courses__box--content-left h3 {
        color: #C30D23;
        font-size: 42px;
        font-weight: 800;
        margin: 0;
        text-align: center;
        line-height: 1;
        display: flex;
        justify-content: space-between;
        padding: 7px 25px; }
        @media only screen and (max-width: 600px) {
          .courses__box--content-left h3 {
            font-size: 21px; } }
        .courses__box--content-left h3 span {
          color: #C30D23; }
        .courses__box--content-left h3 strong {
          font-size: 47px;
          font-weight: 800;
          padding-left: 10px;
          text-align: right; }
          @media only screen and (max-width: 600px) {
            .courses__box--content-left h3 strong {
              font-size: 27px; } }
        .courses__box--content-left h3 del {
          font-size: 20px;
          font-weight: 800;
          color: var(--black);
          display: block;
          margin: 15px 0 0; }
      .courses__box--content figure {
        width: 100%; }
        @media only screen and (min-width: 600px) {
          .courses__box--content figure {
            width: 260px;
            padding-right: 20px; } }
        .courses__box--content figure img {
          display: block;
          width: 100%; }
          .courses__box--content figure img + img {
            margin-top: 15px; }
      .courses__box--content-star {
        margin: 0 30px;
        background: #FFFCE4;
        text-align: center;
        box-shadow: 5px 5px 5px #dcdcdc; }
        .courses__box--content-star h3 {
          background: #ED7600;
          font-size: 24.5px;
          color: var(--white);
          font-weight: 800;
          padding: 10px;
          margin: 0;
          display: flex;
          align-items: center;
          justify-content: center; }
          .courses__box--content-star h3::before, .courses__box--content-star h3::after {
            content: '';
            background: url("../images/star-icon.png") no-repeat 50% 50%;
            display: block;
            min-width: 32px;
            min-height: 31px;
            vertical-align: middle;
            margin: 0 5px; }
        .courses__box--content-star ul {
          padding: 20px 0;
          display: inline-block; }
          .courses__box--content-star ul li {
            font-weight: 800;
            font-size: 24px;
            color: var(--black);
            display: flex;
            align-items: center; }
            .courses__box--content-star ul li + li {
              margin-top: 7px; }
            .courses__box--content-star ul li del {
              font-size: 17px;
              margin: 0 10px; }
            .courses__box--content-star ul li strong {
              font-size: 26px;
              font-weight: 800;
              color: #C30D23;
              display: flex;
              align-items: center; }
              .courses__box--content-star ul li strong span {
                font-size: 17px; }
              .courses__box--content-star ul li strong::before {
                content: '';
                display: inline-block;
                border-left: 12px solid #C30D23;
                border-top: 8px solid transparent;
                border-bottom: 8px solid transparent;
                margin-right: 10px; }
      .courses__box--content-border {
        margin: 0 30px;
        background: #FFFCE4;
        box-shadow: 5px 5px 5px #dcdcdc;
        padding: 30px 24px 25px;
        position: relative; }
        .courses__box--content-border h3 {
          font-size: 23px;
          font-family: "Noto Serif JP", serif;
          font-weight: 700;
          color: #40210F;
          margin: 0 0 10px;
          text-align: center;
          background: url("../images/border-circle.png") repeat-x 0 50%; }
          .courses__box--content-border h3 span {
            background: #FFFCE4;
            display: inline-block;
            padding: 0 10px;
            color: #40210F; }
        .courses__box--content-border p {
          margin: 0;
          font-size: 19px;
          font-family: "Noto Serif JP", serif;
          font-weight: 700;
          color: #40210F; }
        .courses__box--content-border::before {
          content: '';
          width: calc(100% - 24px);
          height: calc(100% - 24px);
          border: 2px solid #40210F;
          position: absolute;
          top: 12px;
          left: 12px;
          z-index: 1; }
    .courses__box small {
      font-size: 20px;
      font-weight: 400;
      text-align: right;
      padding: 5px 20px;
      display: block; }
    .courses__box.box-second {
      border-color: #008487;
      background: url("../images/box-bg-2.png") no-repeat 0 50%; }
      .courses__box.box-second .courses__box--heading {
        background: #009F98; }
        .courses__box.box-second .courses__box--heading-left {
          background: #008487; }
          .courses__box.box-second .courses__box--heading-left::after {
            background: linear-gradient(to bottom right, #008487 50%, #009F98 50%); }
      .courses__box.box-second .courses__box--content-left h4 {
        background: #008487;
        background: linear-gradient(90deg, #008487 0%, rgba(8, 40, 126, 0) 100%); }
    .courses__box.box-third {
      border-color: #0080B1;
      background: url("../images/box-bg-3.png") no-repeat 0 50%; }
      .courses__box.box-third .courses__box--heading {
        background: #00AED4; }
        .courses__box.box-third .courses__box--heading-left {
          background: #0080B1; }
          .courses__box.box-third .courses__box--heading-left::after {
            background: linear-gradient(to bottom right, #0080B1 50%, #00AED4 50%); }
      .courses__box.box-third .courses__box--content-left h4 {
        background: #0080B1;
        background: linear-gradient(90deg, #0080B1 0%, rgba(8, 40, 126, 0) 100%); }

.pen__inner figure img {
  width: 100%; }

.benefits-info {
  padding: 30px 0; }
  @media only screen and (min-width: 600px) {
    .benefits-info__inner {
      display: flex;
      margin: 0 -10px; } }
  @media only screen and (min-width: 600px) {
    .benefits-info__left, .benefits-info__right {
      width: 50%;
      padding: 0 10px; } }
  .benefits-info__left small, .benefits-info__right small {
    display: block;
    text-align: right;
    font-size: 15px;
    font-weight: 500; }

.exam__heading {
  display: flex;
  background: #EF8F89;
  align-items: center; }
  .exam__heading h3 {
    width: calc(100% - 122px);
    font-size: 31px;
    font-family: "Noto Serif JP", serif;
    color: var(--white);
    margin: 0;
    text-align: center;
    font-weight: 800; }
  .exam__heading h4 {
    width: 122px;
    position: relative;
    font-size: 14px;
    color: var(--white);
    text-align: center;
    margin: 0;
    padding: 10px 0;
    height: 100%;
    background: #E85471; }
    .exam__heading h4 strong {
      font-size: 19px; }
    .exam__heading h4::after {
      content: '';
      background: linear-gradient(to bottom right, #EF8F89 50%, #E85471 50%);
      width: 30px;
      height: 100%;
      position: absolute;
      right: 100%;
      top: 0; }

.exam__content {
  padding: 1px 0;
  background: url("../images/bg-1.jpg") no-repeat 100% 100%/contain #FFF5E0;
  position: relative;
  z-index: 1; }
  .exam__content::before {
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #FFF5E0 30%, rgba(8, 40, 126, 0) 100%);
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0; }
  .exam__content h3 {
    font-size: 22.5px;
    font-weight: 800;
    margin: 23.5px 0; }
    .exam__content h3 span {
      font-size: 19.5px;
      background: linear-gradient(90deg, #EF8F89 0%, rgba(8, 40, 126, 0) 100%);
      min-width: 130px;
      color: var(--white);
      display: inline-block;
      padding: 5px 10px;
      text-align: center;
      margin-right: 20px; }

.benefits {
  border: 10px solid #E6CD82;
  background: #CF121B;
  color: var(--white);
  padding: 10px 15px;
  position: relative; }
  .benefits::before {
    content: '';
    background: url("../images/ribbon.png") no-repeat 0 0;
    display: block;
    width: 102px;
    height: 107px;
    position: absolute;
    top: -10px;
    right: -10px; }
  .benefits h2 {
    font-size: 34px;
    font-weight: 900;
    text-align: center;
    text-shadow: 2px 2px 5px var(--black);
    color: #FFF8B0;
    margin: 0;
    font-family: "Noto Serif JP", serif; }
  .benefits h4 {
    font-size: 28px;
    color: var(--white);
    margin: 0;
    font-family: "Noto Serif JP", serif;
    font-weight: 900;
    line-height: 1; }
  .benefits h3 {
    font-size: 24px;
    font-weight: 900;
    color: var(--white);
    margin: 0;
    font-family: "Noto Serif JP", serif;
    line-height: 1.5; }
    .benefits h3 span {
      font-size: 37px;
      font-weight: 500;
      color: var(--white); }
    .benefits h3 strong {
      font-size: 37px;
      font-weight: 900;
      color: var(--second);
      text-shadow: 2px 2px 5px var(--black); }
  .benefits h5 {
    background: url("../images/roll.png") no-repeat 0 50%;
    text-shadow: 2px 2px 5px var(--black);
    font-size: 19px;
    color: var(--white);
    font-family: "Noto Serif JP", serif;
    font-weight: 900;
    font-style: italic;
    padding: 13px 0 13px 60px;
    line-height: 1.5;
    margin: 10px 0 0; }

.classes-info h2 {
  text-align: center;
  background: var(--blue);
  color: var(--second);
  font-size: 26px;
  font-weight: 800;
  margin: 0;
  position: relative;
  padding: 10px 0; }
  .classes-info h2 img {
    position: absolute;
    left: 50px;
    bottom: 0; }
    @media screen and (max-width: 767px) {
      .classes-info h2 img {
        left: 0;
        max-width: 70px; } }

.classes-info__inner {
  background: #DEF1FB;
  padding: 20px 10px; }
  @media (min-width: 48em) {
    .classes-info__inner {
      display: flex; } }
  .classes-info__inner > div + div {
    margin-top: 20px; }
    @media (min-width: 48em) {
      .classes-info__inner > div + div {
        margin-top: 0; } }
  .classes-info__inner small {
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.5;
    display: block;
    margin: 5px 0 0; }
  .classes-info__inner table {
    border-bottom: 2px solid var(--blue);
    border-left: 2px solid var(--blue);
    width: 100%;
    background: var(--white); }
    .classes-info__inner table td,
    .classes-info__inner table th {
      border-top: 2px solid var(--blue);
      border-right: 2px solid var(--blue); }
    .classes-info__inner table th {
      text-align: center;
      background: #EEF3F6;
      font-size: 13.5px;
      font-weight: 800;
      color: var(--blue); }
  .classes-info__inner h3 {
    font-size: 20px;
    font-weight: 800;
    margin: 0 0 7px;
    color: var(--blue);
    display: flex;
    justify-content: space-between; }
  @media (min-width: 48em) {
    .classes-info__inner .teaching {
      padding: 0 5px;
      width: 15%; } }
  .classes-info__inner .teaching__box {
    border: 2px solid var(--blue);
    background: var(--white);
    text-align: center;
    padding-bottom: 5px;
    min-height: 80px; }
    .classes-info__inner .teaching__box + .teaching__box {
      margin-top: 5px; }
    .classes-info__inner .teaching__box h4 {
      font-size: 15px;
      font-weight: 800;
      text-align: center;
      color: var(--blue);
      margin: 5px 0; }
    .classes-info__inner .teaching__box span {
      font-size: 18px;
      font-weight: 800;
      color: var(--white);
      display: inline-flex;
      width: 32px;
      height: 32px;
      background: #009FD9;
      margin: 2px;
      border-radius: 50%;
      align-items: center;
      justify-content: center; }
  @media (min-width: 48em) {
    .classes-info__inner .schedule {
      padding: 0 5px;
      width: 40%; } }
  .classes-info__inner .schedule table td,
  .classes-info__inner .schedule table th {
    padding: 2px 15px;
    font-weight: 800;
    color: var(--blue); }
  .classes-info__inner .schedule table td {
    text-align: center; }
    .classes-info__inner .schedule table td.active::before {
      content: '';
      width: 12px;
      height: 12px;
      background: var(--black);
      display: inline-block;
      border-radius: 50%; }
    .classes-info__inner .schedule table td:first-child {
      text-align: left; }
  @media (min-width: 48em) {
    .classes-info__inner .fee {
      padding: 0 5px;
      width: 45%; } }
  .classes-info__inner .fee table th {
    padding: 7px; }
    .classes-info__inner .fee table th:first-child {
      background: var(--blue);
      color: var(--white); }
  .classes-info__inner .fee table td {
    font-weight: 800;
    color: var(--black);
    padding: 10px 5px;
    text-align: center; }
    .classes-info__inner .fee table td:first-child {
      background: var(--blue);
      color: var(--white);
      border-top-color: var(--white); }
    .classes-info__inner .fee table td span {
      font-size: 11px; }
    .classes-info__inner .fee table td.null {
      position: relative; }
      .classes-info__inner .fee table td.null::before {
        content: ''; }

.believecontact {
  padding: 30px 0 50px; }
  .believecontact__inner {
    background: var(--blue);
    padding: 10px 20px 20px; }
    .believecontact__inner h2 {
      margin: 0 0 10px;
      border: 1px solid var(--white);
      padding: 10px;
      font-size: 20px;
      color: var(--white);
      font-family: "Noto Serif JP", serif;
      text-align: center; }
  @media (min-width: 48em) {
    .believecontact__content {
      display: flex;
      margin: 0 -5px; } }
  @media (min-width: 48em) {
    .believecontact__content figure {
      width: 50%;
      padding: 0 5px; } }
  .believecontact__content figure + figure {
    margin-bottom: 30px; }
    @media (min-width: 48em) {
      .believecontact__content figure + figure {
        margin-bottom: 0; } }
  .believecontact__content figure img {
    display: block; }

.page-template-template-believe .navbar-default .navbar-nav > li > a {
  padding: 13px 5px 9px; }

@media only screen and (min-width: 992px) {
  .page-template-template-believe .main-header .navbar-default .navbar-toggle, .page-template-template-believe .page-class .navbar-default .navbar-toggle {
    top: 110px; } }

body.page-classroom {
  font-family: 'GothicMB101Pro', sans-serif;
  font-weight: 600; }
  body.page-classroom .container {
    max-width: 1010px; }
  body.page-classroom img {
    max-width: 100%; }
  body.page-classroom table {
    width: 100%;
    border-right: 1px solid var(--blue-2);
    border-bottom: 1px solid var(--blue-2); }
    @media (min-width: 48em) {
      body.page-classroom table {
        border-right-width: 2px;
        border-bottom-width: 2px; } }
    body.page-classroom table th,
    body.page-classroom table td {
      font-weight: 700;
      font-size: 10px;
      border-left: 1px solid var(--blue-2);
      border-top: 1px solid var(--blue-2);
      padding: 5px;
      line-height: 1.5; }
      @media (min-width: 48em) {
        body.page-classroom table th,
        body.page-classroom table td {
          font-size: 16px;
          padding: 15px 25px;
          border-left-width: 2px;
          border-top-width: 2px; } }
    body.page-classroom table tr th {
      background: #DFE9F6;
      font-size: 10px;
      text-align: center;
      padding: 5px;
      color: var(--blue-2); }
      @media (min-width: 48em) {
        body.page-classroom table tr th {
          font-size: 16px;
          padding: 10px; } }
  body.page-classroom .black-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--black);
    display: inline-block; }
    @media (min-width: 48em) {
      body.page-classroom .black-dot {
        width: 15px;
        height: 15px; } }
  body.page-classroom a:hover {
    text-decoration: none; }
  body.page-classroom .table-responsive {
    border: 0;
    margin: 0; }

.video-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%; }
  .video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%; }

html body.page-ooo h1,
html body.page-ooo h2,
html body.page-ooo h3,
html body.page-ooo h4,
html body.page-ooo h5,
html body.page-ooo h6 {
  font-family: 'GothicMB101Pro', sans-serif;
  font-weight: 700; }

.bg-gray {
  background: #ddd; }

.btn-border-radius {
  font-size: 16px;
  font-weight: 700;
  border-radius: 100px;
  position: relative;
  z-index: 1;
  display: inline-block;
  background: #fafafa;
  background: linear-gradient(0deg, #fafafa 0%, #bfc1c3 100%);
  padding: 8px;
  text-align: center; }
  @media (min-width: 48em) {
    .btn-border-radius {
      font-size: 22px; } }
  .btn-border-radius span {
    background: #ee7a00;
    background: radial-gradient(circle, #ee7a00 0%, #b65c00 100%);
    display: block;
    color: #fff;
    padding: 7px 30px;
    position: relative;
    z-index: 1;
    border-radius: 100px;
    position: relative; }
    .btn-border-radius span::after {
      content: '';
      background: #f29d3d;
      background: linear-gradient(0deg, #f29d3d 0%, #da8504 100%);
      width: 84%;
      height: 14px;
      position: absolute;
      top: 3px;
      left: 8%;
      border-radius: 50px;
      z-index: -1; }
  .btn-border-radius:hover {
    text-decoration: none; }

.header-buttons {
  margin-bottom: 30px; }
   @media (min-width: 48em) {body.page-classroom .header-buttons {margin-top:-120px;}}
  .header-buttons__inner {
    display: flex; }
  .header-buttons__logo {
    width: 50%; }
  .header-buttons__list {
    width: 50%;
    text-align: right;
    padding-left: 15px; }
    @media (min-width: 48em) {
      .header-buttons__list {
        padding-left: 0;
        padding-right: 30px; } }
    .header-buttons__list .btn-border-radius {
      width: 100%;
      max-width: 405px; }
      .header-buttons__list .btn-border-radius + .btn-border-radius {
        margin-top: 5px; }
      @media screen and (max-width: 767px) {
        .header-buttons__list .btn-border-radius {
          padding: 3px;
          font-size: 10px; }
          .header-buttons__list .btn-border-radius span {
            padding: 3px 20px; }
            .header-buttons__list .btn-border-radius span::after {
              height: 10px; } }

.reasons {
  margin-bottom: 20px; }
  @media (min-width: 48em) {
    .reasons {
      margin-bottom: 45px; } }
  .reasons h2 {
    font-size: 15px;
    background: url("../images/bg-heading-section.jpg") no-repeat 50% 50%/cover;
    text-align: center;
    margin: 0;
    padding: 9px;
    color: #fff;
    font-style: italic;
    text-shadow: 1px 2px 6px #3a3a3a; }
    @media (min-width: 48em) {
      .reasons h2 {
        font-size: 38px; } }
    .reasons h2 span {
      color: #FFEF18; }
  .reasons__inner {
    border: 1px solid var(--blue-2);
    background: url("../images/bg-section-1.jpg") no-repeat 100% 100%; }
    @media (min-width: 48em) {
      .reasons__inner {
        border-width: 2px; } }
    @media screen and (max-width: 767px) {
      .reasons__inner {
        background-size: 250px auto; } }
  .reasons__list {
    padding: 27px 0; }
    .reasons__list ul li {
      font-size: 16px;
      font-weight: 700;
      font-style: italic;
      text-shadow: 0 0 8px #fff;
      display: flex;
      align-items: center;
      padding-right: 60px; }
      @media (min-width: 48em) {
        .reasons__list ul li {
          font-size: 32px; } }
      .reasons__list ul li + li {
        margin-top: 10px; }
        @media (min-width: 48em) {
          .reasons__list ul li + li {
            margin-top: 15px; } }
      .reasons__list ul li span {
        padding: 7px 30px 7px 20px;
        font-size: 30px;
        font-weight: 700;
        background: #0eb2ed;
        background: linear-gradient(90deg, #0eb2ed 0%, rgba(252, 176, 69, 0) 100%);
        line-height: 1;
        color: #fff;
        text-shadow: 1px 2px 6px #3a3a3a;
        display: inline-block; }
        @media (min-width: 48em) {
          .reasons__list ul li span {
            font-size: 47px;
            padding: 7px 40px 7px 30px; } }

.individual-classroom h2 {
  margin: 0 0 10px;
  background: var(--blue-2);
  display: flex;
  justify-content: space-between;
  color: #fff;
  font-size: 16px;
  align-items: center;
  padding: 10px; }
  @media (min-width: 48em) {
    .individual-classroom h2 {
      padding: 11px 30px;
      font-size: 31px;
      margin: 0 0 15px; } }
  .individual-classroom h2 small {
    font-weight: 400;
    color: #fff;
    font-size: 12px; }
    @media (min-width: 48em) {
      .individual-classroom h2 small {
        font-size: 22px; } }
.individual-classroom__images {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -5px 20px; }
  @media (min-width: 48em) {
    .individual-classroom__images {
      margin: 0 -15px 40px; } }
  .individual-classroom__images figure {
    width: 25%;
    padding: 0 5px; }
    @media (min-width: 48em) {
      .individual-classroom__images figure {
        padding: 0 15px; } }
    .individual-classroom__images figure:first-child {
      width: 100%;
      margin-bottom: 5px; }
      @media (min-width: 48em) {
        .individual-classroom__images figure:first-child {
          margin-bottom: 15px; } }

.individual-classroom table {
  margin-bottom: 30px;
 /*  background: url("../images/shadow-1.jpg") no-repeat 100% 100%; */ }
  @media (min-width: 48em) {
    .individual-classroom table {
      margin-bottom: 40px; } }

.individual-classroom iframe {
  margin-bottom: 30px; }
  @media (min-width: 48em) {
    .individual-classroom iframe {
      margin-bottom: 40px; } }
  @media screen and (max-width: 767px) {
    .individual-classroom iframe {
      height: 200px; } }

.message {
  margin-bottom: 30px; }
  @media (min-width: 48em) {
    .message {
      margin-bottom: 40px; } }
  .message h2 {
    font-size: 18px;
    padding: 10px 20px;
    color: #fff;
    margin: 0;
    background: #044191;
    background: linear-gradient(90deg, #044191 0%, #044191 29%, rgba(4, 65, 145, 0) 77%, rgba(4, 65, 145, 0) 100%);
    position: relative;
    z-index: 1;
    width: 100%; }
    @media (min-width: 48em) {
      .message h2 {
        font-size: 24px;
        padding: 31px 45px; } }
    .message h2 span {
      position: absolute;
      left: 50%;
      bottom: -10px;
      transform: translate(-50%, 0);
      font-family: 'SavoyeLetPlain', serif;
      opacity: 0.5;
      font-weight: 400;
      z-index: -1;
      font-size: 30px; }
      @media (min-width: 48em) {
        .message h2 span {
          font-size: 85px; } }
  .message__inner {
    border: 1px solid var(--blue-2);
    position: relative;
    display: flex;
    flex-wrap: wrap; }
    @media (min-width: 48em) {
      .message__inner {
        border-width: 2px; } }
    .message__inner figure {
      width: 32%;
      margin-top: -50px;
      display: flex;
      align-items: flex-end; }
  .message__content {
    font-size: 7px;
    padding: 15px;
    width: 68%; }
    @media (min-width: 48em) {
      .message__content {
            font-size: 18px;
    padding: 35px 45px 20px 45px;
    font-weight: 500;
    letter-spacing: 0.5px; } }
    .message__content p {
      margin-bottom: 0; }
    .message__content span {
      color: #00AFEC; }
  .message__author {
    text-align: right; }

.lecturer {
  margin-bottom: 30px; }
  @media (min-width: 48em) {
    .lecturer {
      margin-bottom: 40px; } }
  .lecturer h2 {
    font-size: 18px;
    background: var(--blue-2);
    color: #fff;
    text-align: center;
    padding: 10px;
    margin: 0; }
    @media (min-width: 48em) {
      .lecturer h2 {
        font-size: 29px;
        padding: 12px; } }
  .lecturer__inner {
    padding: 20px 20px 0;
    display: flex;
    border: 1px solid var(--blue-2);
    flex-wrap: wrap; }
    @media (min-width: 48em) {
      .lecturer__inner {
        border-width: 2px;
        padding: 50px 50px 20px; } }
  .lecturer__item {
    width: calc(20% - 5px);
    margin: 0 0 20px;
    /*border: 1px solid var(--blue-2);*/
  }
    @media (min-width: 48em) {
      .lecturer__item {
        border-width: 2px;
        width: calc(25% - 18px);
        margin: 0 9px 30px; } }
    .lecturer__item figure {
      padding-top: 115%;
      position: relative; }
      .lecturer__item figure img {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        object-fit: cover;
        z-index: 1;
        border: 0; }
    .lecturer__item a {
      font-size: 6px;
      /*padding: 6px 2px;*/
      /*background: var(--blue-2);*/
      color: var(--black);
      font-weight: 300;
      display: flex;
      align-items: center;
      justify-content: center; }
      @media (min-width: 48em) {
        .lecturer__item a {
          font-size: 14px;
          /*padding: 6px 5px;*/
        } }
      .lecturer__item a::after {
        width: 8px;
        height: 8px;
        /*content: '';*/
        background: url("../images/arrow-radius.jpg") no-repeat 50% 50%/100%;
        min-width: 8px;
        display: inline-block;
        margin-left: 4px;
        border-radius: 50%; }
        @media (min-width: 48em) {
          .lecturer__item a::after {
            width: 24px;
            height: 24px;
            margin-left: 12px; } }
      .lecturer__item a:hover {
        text-decoration: none; }

.students-coming {
  margin-bottom: 30px; }
  @media (min-width: 48em) {
    .students-coming {
      margin-bottom: 50px; } }
  .students-coming__inner {
    border: 1px solid var(--blue-2);
    padding: 20px;
    background: url("../images/shadow-2.jpg") no-repeat 100% 0; }
    @media (min-width: 48em) {
      .students-coming__inner {
        border-width: 2px;
        padding: 45px 50px; } }
    @media screen and (max-width: 767px) {
      .students-coming__inner {
        background-size: 200px auto; } }
  .students-coming h2 {
    font-size: 14px;
    margin: 0 0 20px;
    color: var(--blue-2); }
    @media (min-width: 48em) {
      .students-coming h2 {
        font-size: 32px;
        margin: 0 0 40px; } }
  .students-coming ul li {
    background: #DFE9F6;
    border-radius: 15px;
    font-size: 12px;
    padding: 15px;
    text-align: center;
    font-weight: 600; }
    @media (min-width: 48em) {
      .students-coming ul li {
            font-size: 18px;
    letter-spacing: 0.5px;
        padding: 25px; } }
    @media screen and (max-width: 767px) {
      .students-coming ul li br {
        display: none; } }
    .students-coming ul li + li {
      margin-top: 18px; }

.video {
  margin-bottom: 30px; }
  @media (min-width: 48em) {
    .video {
      margin-bottom: 40px; } }

.curriculum,
.monthly-fee {
  margin-bottom: 30px; }
  @media (min-width: 48em) {
    .curriculum,
    .monthly-fee {
      margin-bottom: 40px; } }
  .curriculum h2,
  .monthly-fee h2 {
    font-size: 15px;
    margin: 0;
    text-align: center;
    background: var(--blue-2);
    color: #fff;
    padding: 15px 10px; }
    @media (min-width: 48em) {
      .curriculum h2,
      .monthly-fee h2 {
        font-size: 31px;
        padding: 17px; } }
  .curriculum__inner,
  .monthly-fee__inner {
    padding: 20px;
    border: 1px solid var(--blue-2); }
    @media (min-width: 48em) {
      .curriculum__inner,
      .monthly-fee__inner {
        border-width: 2px;
        padding: 40px 45px; } }
    .curriculum__inner p,
    .monthly-fee__inner p {
      font-size: 12px; }
      @media (min-width: 48em) {
        .curriculum__inner p,
        .monthly-fee__inner p {
          font-size: 19px;
    font-weight: 500; } }
      .curriculum__inner p span,
      .monthly-fee__inner p span {
        color: var(--blue-2); }
  .curriculum table td,
  .monthly-fee table td {
    text-align: center; }
  .curriculum ul,
  .monthly-fee ul {
    margin-top: 10px; }
    .curriculum ul li,
    .monthly-fee ul li {
      font-size: 12px; }
      @media (min-width: 48em) {
        .curriculum ul li,
        .monthly-fee ul li {
          font-size: 16px; } }

.monthly-fee h2 {
  display: flex;
  justify-content: space-between;
  align-items: flex-end; }
  .monthly-fee h2 span {
    width: 30%; }
  .monthly-fee h2 strong {
    width: 35%;
    text-align: center; }
  .monthly-fee h2 small {
    width: 35%;
    font-weight: 600;
    font-size: 6px;
    text-align: right;
    color: var(--white); }
    @media (min-width: 48em) {
      .monthly-fee h2 small {
        font-size: 21px; } }

.discount-privilege__inner {
  display: flex;
  justify-content: space-between; }

.discount-privilege__item {
  width: calc(50% - 5px);
  position: relative;
  margin: 25px 0 40px; }
  @media (min-width: 48em) {
    .discount-privilege__item {
      width: calc(50% - 15px);
      margin: 31px 0 65px; } }
  .discount-privilege__item::before, .discount-privilege__item::after {
    content: '';
    width: 70px;
    height: 20px;
    display: block;
    background: url("../images/frame-top.jpg") no-repeat 0 0/100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 100%; }
    @media (min-width: 48em) {
      .discount-privilege__item::before, .discount-privilege__item::after {
        width: 131px;
        height: 31px; } }
  .discount-privilege__item::after {
    background: url("../images/frame-bottom.jpg") no-repeat 0 0/100%;
    top: 100%;
    bottom: auto; }
  .discount-privilege__item--inner {
    position: relative;
    background: var(--white);
    border: 1px solid transparent;
    border-radius: 15px;
    background-clip: padding-box;
    height: 100%; }
    @media (min-width: 48em) {
      .discount-privilege__item--inner {
        border-width: 3px; } }
    .discount-privilege__item--inner::before {
      content: '';
      position: absolute;
      background: #c09b4e;
      background: linear-gradient(0deg, #c09b4e 0%, #f5f6d8 65%, #b68e4d 100%);
      top: -3px;
      left: -3px;
      width: calc(100% + 6px);
      height: calc(100% + 6px);
      z-index: -1;
      border-radius: 15px; }
  .discount-privilege__item h3 {
    background: #CD0C16;
    color: #FFF69D;
    font-size: 18px;
    margin: 0;
    border-radius: 12px 12px 0 0;
    text-align: center;
    font-family: a-otf-ryumin-pr6n, serif !important;
    font-style: normal;
    font-weight: 900 !important;
    text-shadow: 0 0 6px #2c2c2c;
    position: relative;
    padding: 15px; }
    @media (min-width: 48em) {
      .discount-privilege__item h3 {
        font-size: 41px; } }
    .discount-privilege__item h3 small {
      font-size: 14px;
      color: #FFF69D;
      font-weight: 900; }
      @media (min-width: 48em) {
        .discount-privilege__item h3 small {
          font-size: 28px; } }
    .discount-privilege__item h3::before, .discount-privilege__item h3::after {
      content: '';
      width: 100%;
      border-top: 1px solid #FFF468;
      left: 0;
      position: absolute; }
      @media (min-width: 48em) {
        .discount-privilege__item h3::before, .discount-privilege__item h3::after {
          border-top-width: 2px; } }
    .discount-privilege__item h3::before {
      top: 5px; }
    .discount-privilege__item h3::after {
      bottom: 5px; }
  .discount-privilege__item p {
    padding: 15px;
    font-size: 11px;
    margin: 0; }
    @media (min-width: 48em) {
      .discount-privilege__item p {
        padding: 35px 30px;
        font-size: 18px; } }

.events {
  margin: 0 0 30px; }
  @media (min-width: 48em) {
    .events {
      margin: 0 0 60px; } }
  .events img {
    width: 100%; }

.inquiries {
  margin: 30px 0;
  text-align: center; }
  @media (min-width: 48em) {
    .inquiries {
      margin: 40px 0; } }
  @media (min-width: 48em) {
    .inquiries .btn-border-radius {
      padding: 20px; } }
  @media (min-width: 48em) {
    .inquiries .btn-border-radius span {
      font-size: 37px;
      padding: 21px 60px; } }
  @media (min-width: 48em) {
    .inquiries .btn-border-radius span::after {
      height: 30px;
      top: 10px; } }

.phone-inquiries {
  background: var(--blue-2);
  margin-bottom: 35px;
  padding: 15px 0; }
  @media (min-width: 48em) {
    .phone-inquiries {
      margin-bottom: 50px; } }
  .phone-inquiries__inner {
    display: flex;
    align-items: center; }
    .phone-inquiries__inner p {
      font-size: 12px;
      font-weight: 700;
      margin: 0;
      text-align: center;
      line-height: 1.4;
      color: var(--white);
      padding-right: 16px;
      border-right: 2px solid var(--white);
      margin-right: 16px; }
      @media (min-width: 48em) {
        .phone-inquiries__inner p {
          font-size: 25px;
          padding-right: 55px;
          margin-right: 65px;
          border-right-width: 3px; } }
    .phone-inquiries__inner a {
      font-size: 29px;
      font-weight: 700;
      color: #FFEF18;
      line-height: 1; }
      @media (min-width: 48em) {
        .phone-inquiries__inner a {
          font-size: 60px; } }
      .phone-inquiries__inner a::hover {
        text-decoration: none; }

.specials {
  margin-bottom: 35px; }
  @media (min-width: 48em) {
    .specials {
      margin-bottom: 45px; } }
  @media (min-width: 48em) {
    .specials__inner {
      display: flex;
      justify-content: space-between; } }
  .specials__item {
    text-align: center;
    background: url("../images/border-style.png") no-repeat 50% 50%/100% 100%;
    font-size: 17px;
    line-height: 1.5;
    color: #846E1C;
    padding: 20px 25px; }
    @media (min-width: 48em) {
      .specials__item {
        font-size: 23px;
        width: calc(33.33% - 10px);
        padding: 20px 30px; } }
    @media screen and (max-width: 767px) {
      .specials__item + .specials__item {
        margin-top: 15px; } }
    .specials__item span {
      color: #D0121B; }
    @media screen and (max-width: 767px) {
      .specials__item br {
        display: none; } }

.individual__heading {
  background: var(--blue-2);
  padding: 15px 20px;
  color: #fff;
  text-align: center; }
  @media (min-width: 48em) {
    .individual__heading {
      background: linear-gradient(115deg, #00AFEC 40%, #044191 40%);
      display: flex;
      justify-content: space-between;
      padding: 30px 50px; } }
  .individual__heading h3 {
    margin: 0;
    font-size: 16px; }
    @media (min-width: 48em) {
      .individual__heading h3 {
        font-size: 41px; } }
    @media screen and (max-width: 767px) {
      .individual__heading h3 br {
        display: none; } }
  .individual__heading h2 {
    font-size: 28px;
    margin: 0; }
    @media (min-width: 48em) {
      .individual__heading h2 {
        font-size: 55px; } }
    .individual__heading h2 strong {
      font-size: 28px;
      color: #00AFEC; }
      @media (min-width: 48em) {
        .individual__heading h2 strong {
          font-size: 84px; } }
    .individual__heading h2 span {
      color: #00AFEC; }

.individual__inner {
  border: 1px solid var(--blue-2);
  border-top: 0;
  padding: 30px 20px; }
  @media (min-width: 48em) {
    .individual__inner {
      padding: 50px 35px;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      border-width: 2px; } }

.individual__item {
  font-size: 12px;
  margin-bottom: 30px; }
  @media (min-width: 48em) {
    .individual__item {
      font-size: 18px;
      width: calc(50% - 15px);
      margin-bottom: 70px; } }
  .individual__item:last-child {
    margin-bottom: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%; }
    .individual__item:last-child h3 {
      width: 100%; }
      @media (min-width: 48em) {
        .individual__item:last-child h3 {
          padding-right: calc(50% - 15px);
          margin-bottom: 0; } }
    .individual__item:last-child .individual__item--content {
      width: 100%; }
    @media (min-width: 48em){
        .individual__item:last-child .individual__item--content {
      width: calc(50% - 15px); }
    }
    .individual__item:last-child figure {
      width: 100%; margin-top: 15px;}
      @media (min-width: 48em) {
        .individual__item:last-child figure {
          margin-top: -65px; width: calc(50% - 15px); } }
  .individual__item p {
  font-size: 16px;
font-weight: 500;}
  .individual__item h3 {
    margin: 0 0 10px;
    color: #00AFEC;
    font-size: 18px; }
    @media (min-width: 48em) {
      .individual__item h3 {
        font-size: 31px;
        margin: 0 0 20px; } }
    .individual__item h3 strong {
      font-size: 26px; }
      @media (min-width: 48em) {
        .individual__item h3 strong {
          font-size: 44px; } }
  .individual__item h4 {
    color: #00AFEC;
    font-size: 12px;
    margin: 10px 0 5px; }
    @media (min-width: 48em) {
      .individual__item h4 {
        margin: 25px 0 10px;
        font-size: 28px; } }
  .individual__item p:last-of-type {
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 500; }
  .individual__item span {
    color: #E60012; }
  .individual__item ul li {
    background: var(--blue-2);
    font-size: 21px;
    font-weight: 700;
    text-align: center;
    color: var(--white);
    padding: 1px;
    position: relative;
    padding: 9px 9px 1px;}
    .individual__item ul li::before {
      content: '';
      border: 1px solid var(--white);
      position: absolute;
      top: 4px;
      left: 4px;
      right: 4px;
      bottom: 4px; }
      @media (min-width: 48em) {
        .individual__item ul li::before {
          border-width: 2px; } }
    .individual__item ul li + li {
      margin-top: 10px; }
    .individual__item ul li p {
      margin: 0; }
      .individual__item ul li p span {
        color: #7FCDEF; }

.label-section {
  background: var(--blue-2);
  color: var(--white);
  text-align: center;
  font-weight: 700;
  margin: 30px 0;
  padding: 13px 0;
  font-size: 13px; }
  @media (min-width: 48em) {
    .label-section {
      padding: 25px 0;
      font-size: 36px;
      margin: 65px 0; } }

.guidance {
  margin-bottom: 35px; }
  @media (min-width: 48em) {
    .guidance {
      margin-bottom: 65px; } }
  .guidance__inner {
    display: flex;
    justify-content: space-between; }
  .guidance__item {
    border: 1px solid var(--blue-2);
    width: calc(33.33% - 5px);
    border-radius: 5px;
    overflow: hidden; }
    @media (min-width: 48em) {
      .guidance__item {
        border-radius: 15px;
        border-width: 2px; } }
    .guidance__item h4 {
      margin: 0;
      font-size: 10px;
      color: var(--white);
      text-align: center;
      background: var(--blue-2);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 6px; }
      @media (min-width: 48em) {
        .guidance__item h4 {
          padding: 17px;
          font-size: 29px; } }
      .guidance__item h4::after {
        content: '';
        background: url("../images/arrow-radius.jpg") no-repeat 50% 50%/100%;
        width: 12px;
        height: 12px;
        display: inline-block;
        margin-left: 15px;
        border-radius: 50%; }
        @media (min-width: 48em) {
          .guidance__item h4::after {
            width: 32px;
            height: 32px;
            margin-left: 30px; } }
      .guidance__item h4 span {
        color: #FFEF18; }
    .guidance__item figure {
      padding-top: 60%;
      position: relative; }
      .guidance__item figure img {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        object-fit: cover;
        z-index: 1;
        border: 0; }

@media (min-width: 48em) {
  .buttons-list__inner {
    display: flex;
    justify-content: space-between; } }

@media (min-width: 48em) {
  .buttons-list__inner > div {
    width: calc(50% - 5px); } }

.buttons-list__inner > div + div {
  margin-top: 10px; }
  @media (min-width: 48em) {
    .buttons-list__inner > div + div {
      margin-top: 0; } }

.buttons-list__inner .btn-border-radius {
  width: 90%;
  padding: 8px;
  text-shadow: 0 0 6px #000000;
  margin: 0 auto;
  display: block; }
  @media (min-width: 48em) {
    .buttons-list__inner .btn-border-radius {
      width: 100%;
      padding: 10px; } }
  .buttons-list__inner .btn-border-radius span {
    font-size: 19px;
    padding: 10px 30px; }
    @media (min-width: 48em) {
      .buttons-list__inner .btn-border-radius span {
        font-size: 29px; } }
    .buttons-list__inner .btn-border-radius span::after {
      height: 15px;
      top: 10px; }
      @media (min-width: 48em) {
        .buttons-list__inner .btn-border-radius span::after {
          height: 20px; } }

.individual-classrooms {
  padding-bottom: 25px; }
  @media (min-width: 48em) {
    .individual-classrooms {
      padding-bottom: 60px; } }
  .individual-classrooms ul {
    display: flex;
    margin: 0 -5px;
    padding: 0;
    list-style: none;
  flex-wrap: wrap;
  }
    .individual-classrooms ul li {
      padding: 0 3px; width: 50%;margin-bottom: 6px;}
      @media (min-width: 48em) {
          .individual-classrooms ul{flex-wrap: nowrap;}
        .individual-classrooms ul li {
          padding: 0 5px;
      flex-basis: 0;
      flex-grow: 1;margin-bottom: 0;} }
    .individual-classrooms ul + ul {
      margin-top: 0; }
      @media (min-width: 48em) {
        .individual-classrooms ul + ul {
          margin-top: 35px; } }
    .individual-classrooms ul a {
      padding: 6px 20px 6px 4px;
      font-size: 8px;
      border-radius: 4px;
      background: #00AFEC;
      color: var(--white);
      font-weight: 700;
      text-shadow: 2px 2px 5px #242424;
      display: block;
      position: relative;
      text-align: center; }
      @media (min-width: 48em) {
        .individual-classrooms ul a {
          padding: 15px 60px 15px 15px;
          border-radius: 10px;
          font-size: 22px; } }
      .individual-classrooms ul a::after {
        width: 12px;
        height: 12px;
        content: '';
        background: url("../images/arrow-radius-2.png") no-repeat 50% 50%/100%;
        display: inline-block;
        margin-left: 5px;
        border-radius: 50%;
        position: absolute;
        right: 4px;
        top: 50%;
        transform: translateY(-50%); }
        @media (min-width: 48em) {
          .individual-classrooms ul a::after {
            width: 32px;
            height: 32px;
            margin-left: 15px;
            right: 14px; } }
    .individual-classrooms ul:nth-child(even) li:nth-child(odd) a,
    .individual-classrooms ul:nth-child(odd) li:nth-child(even) a {
      background: #0088CC; }
      .voice-hero {
        padding-block: 40px;
      }
      @media (min-width: 48em) {
        .voice-hero {
          padding-block: 80px;
        }
      }
      .voice-hero__text {
        background: url(../images/shingaku/6conors.png) no-repeat top center;
        background-size: 100% auto;
        text-align: center;
        display: block;
        margin-inline: auto;
        padding-top: 35px;
        padding-inline: 40px;
        width: 100%;
        height: 100vw;
      }
      @media (min-width: 48em) {
        .voice-hero__text {
          padding-inline: 45px;
          width: 540px;
          height: 500px;
        }
      }
      .voice-hero__text p {
        font-size: 3vw;
      }
      @media (min-width: 48em) {
        .voice-hero__text p {
          font-size: 16px;
          line-height: 30px;
        }
      }
      .voice-hero__text.square {
        background: url(../images/shingaku/square.png) no-repeat top center;
        background-size: 100% auto;
        text-align: center;
        margin-inline: auto;
        padding-top: 50px;
        padding-inline: 0;
      }
      @media (min-width: 48em) {
        .voice-hero__text.square {
          width: 433px;
          height: 377px;
        }
      }
      .voice-hero__text.square p {
        padding-inline: 50px;
        font-size: 15px;
      }
      @media only screen and (min-width: 600px) {
        .voice-hero__text.square p {
          padding-inline: 55px;
        }
      }
      .voice-hero__text.square p br {
        display: none;
      }
      @media only screen and (min-width: 600px) {
        .voice-hero__text.square p br {
          display: block;
        }
      }
      .voice-hero__text.star {
        background: url(../images/shingaku/star.png) no-repeat top center;
        background-size: 100% auto;
        text-align: center;
        margin-inline: auto;
        padding-top: 60px;
      }
      @media (min-width: 48em) {
        .voice-hero__text.star {
          padding-top: 70px;
          width: 550px;
          height: 550px;
        }
      }
      @media (min-width: 48em) {
        .voice-hero .mb40 {
          max-width: 645px;
          width: 100%;
          padding-inline: 20px;
          margin-inline: auto;
          margin-bottom: 20px;
        }
      }

      .rainbow-button {
        background: url(../images/shingaku/bg-rainbow.png) no-repeat center;
        background-size: cover;
        width: 360px;
        height: 47px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: bold;
        font-size: 16px;
        color: #595757;
        margin-inline: auto;
      }
      @media (min-width: 48em) {
        .rainbow-button {
          font-size: 19px;
        }
      }
      .rainbow-button.btn-solid {
        background: url(../images/shingaku/bg-rainbow-d.png) no-repeat center;
        background-size: contain;
        width: 330px;
      }
      .rainbow-button:hover {
        opacity: 0.8;
        text-decoration: none;
      }
.tuikama{
          margin-top: 20px;
        margin-bottom: 30px;
}

@media only screen and (max-width: 767px) {
  .tuikama{
          margin-top: 0px;
        margin-bottom: 30px;
}
}

span.topi{
  font-size:24px;
  font-weight:600;
  margin-top: 10px;
  background: linear-gradient(transparent 70%, #f5ff00 70%);
}