@charset "UTF-8";
/* Scss Document */
/* CSS Document */
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../font/NotoSansJP-Regular.woff2") format("woff2"), url("../font/NotoSansJP-Regular.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../font/NotoSansJP-Bold.woff2") format("woff2"), url("../font/NotoSansJP-Bold.woff") format("woff");
}
@font-face {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../font/ZenKakuGothicNew-Bold.woff2") format("woff2"), url("../font/ZenKakuGothicNew-Bold.woff") format("woff");
}
@font-face {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../font/ZenKakuGothicNew-Black.woff2") format("woff2"), url("../font/ZenKakuGothicNew-Black.woff") format("woff");
}
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../font/Lato-Bold.woff2") format("woff2"), url("../font/Lato-Bold.woff") format("woff");
}
/*------------------------------mixin bg------------------------------*/
/*------------------------------mixin flex------------------------------*/
/*------------------------------基本設定------------------------------*/
html {
  scroll-behavior: smooth;
  font-size: 2.5641025641vw;
}
@media only screen and (min-width: 769px) {
  html {
    font-size: 0.694444444vw;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.05em;
  color: #333;
  font-size: 1.6rem;
}

img, source {
  width: 100%;
}

.wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
}

main {
  flex: 1;
  width: 100vw;
}

.pc-only {
  display: none;
}
@media only screen and (min-width: 769px) {
  .pc-only {
    display: block;
  }
}

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

section {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin: 0 auto;
}

picture {
  display: block;
}

.font-en {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.zen-kaku {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.bold {
  font-weight: 700;
}

.yellow {
  color: #FFFF29;
}

.blue {
  color: #31A1F3;
}

.d-blue {
  color: #1566A1;
}

h2 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
}
h2 .sub {
  font-size: 2.4rem;
}
@media only screen and (min-width: 769px) {
  h2 .sub {
    font-size: 4.4rem;
  }
}
h2 .main {
  font-size: 3.6rem;
}
@media only screen and (min-width: 769px) {
  h2 .main {
    font-size: 4.4rem;
  }
}
h2 .kerning {
  letter-spacing: -0.08em;
}
h2 .en-title {
  font-size: 1.6rem;
  color: #31A1F3;
  display: inline-block;
  position: relative;
}
@media only screen and (min-width: 769px) {
  h2 .en-title {
    font-size: 2rem;
  }
}
h2 .en-title::before, h2 .en-title::after {
  content: "";
  background: url(../img/en-title_deco.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 1rem;
  height: 0.4rem;
  position: absolute;
  top: 50%;
  left: -2rem;
  transform: translateY(-50%);
}
h2 .en-title::after {
  left: auto;
  right: -2rem;
  transform: translateY(-50%) scale(-1, 1);
}

.body_text {
  text-align: justify;
  line-height: 1.8;
  font-size: 1.4rem;
}

/*------------------▼ヘッダー //.header------------------*/
.header {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: space-between;
  width: 100%;
  height: 7rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
  padding-left: 2rem;
}
@media only screen and (min-width: 769px) {
  .header {
    padding-left: 7rem;
  }
}
.header .logo {
  width: 10rem;
}
@media only screen and (min-width: 769px) {
  .header .logo {
    width: 12rem;
  }
}
.header .nav_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
@media only screen and (min-width: 769px) {
  .header .nav_wrap {
    gap: 3rem;
  }
}
.header .nav_wrap .nav-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  font-weight: bold;
  font-size: 1.6rem;
  transition: all 0.3s ease-in;
}
.header .nav_wrap .nav-list a:hover {
  opacity: 0.6;
}
.header .nav_wrap .header-btn {
  display: block;
  background: #FFFF29;
  font-size: 1.6rem;
  font-weight: bold;
  width: 16rem;
  height: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in;
}
@media only screen and (min-width: 769px) {
  .header .nav_wrap .header-btn {
    width: 20rem;
  }
}
.header .nav_wrap .header-btn:hover {
  opacity: 0.6;
}
.header .nav_wrap .burger .openbtn {
  background: #E3E3E3;
  width: 7rem;
  height: 7rem;
  position: fixed;
  z-index: 9999;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.header .nav_wrap .burger .openbtn span {
  background: url(../img/humburger.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 2.2rem;
  height: 2.2rem;
}
.header .nav_wrap .burger .openbtn.active span {
  background: url(../img/cross.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

#g-nav {
  position: fixed;
  z-index: 999;
  top: -120%;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #E3E3E3;
  transition: all 0.6s;
}
#g-nav.panelactive {
  top: 0;
}
#g-nav.panelactive #g-nav-list {
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
#g-nav ul {
  position: absolute;
  z-index: 999;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#g-nav ul li {
  list-style: none;
  text-align: center;
}
#g-nav ul li a {
  color: #1566A1;
  text-decoration: none;
  padding: 1.5rem;
  display: block;
  text-transform: uppercase;
  font-size: 1.6rem;
  font-weight: bold;
  white-space: nowrap;
}

/*------------------▲ヘッダー //.header------------------*/
/*------------------▼CTA #cta------------------*/
.cv-btn {
  display: block;
  background: #FFFF29;
  box-shadow: 0 0.4rem 0 #d2d234;
  width: 29rem;
  height: 6rem;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 0 auto;
  transition: all 0.3s ease-in;
}
@media only screen and (min-width: 769px) {
  .cv-btn {
    width: 35rem;
  }
}
.cv-btn::before {
  content: "";
  background: url(../img/arrow_black.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (min-width: 769px) {
  .cv-btn::before {
    right: 2.5rem;
  }
}
.cv-btn p {
  font-size: 1.8rem;
  font-weight: bold;
}
.cv-btn:hover {
  transform: translateY(0.3rem);
  box-shadow: 0 0.1rem 0 #d2d234;
}

#cta {
  background: linear-gradient(to bottom right, #31C4F3, #31A1F3);
  padding: 4rem 3rem;
  text-align: center;
  font-weight: bold;
  text-align: center;
  padding: 4rem 0;
}
#cta .sub {
  color: #fff;
  position: relative;
  display: inline-block;
}
#cta .sub::before, #cta .sub::after {
  content: "";
  display: block;
  background: #fff;
  width: 1px;
  height: 75%;
  transform: rotate(-30deg);
  position: absolute;
  bottom: 0;
  left: -1.5rem;
}
#cta .sub::after {
  left: auto;
  right: -1.5rem;
  transform: rotate(30deg);
}
#cta .sub .font-en {
  font-size: 2.4rem;
}
#cta .main {
  color: #fff;
  font-size: 2.4rem;
  margin-top: 0.5rem;
}
@media only screen and (min-width: 769px) {
  #cta .main {
    font-size: 3.2rem;
  }
}
#cta .cv-btn {
  margin-top: 1rem;
}
@media only screen and (min-width: 769px) {
  #cta .cv-btn {
    margin-top: 1.5rem;
  }
}

/*------------------▲CTA #cta------------------*/
/*------------------▼メインビジュアル #fv------------------*/
#fv {
  margin-top: 7rem;
  background: linear-gradient(to bottom right, #31C4F3, #31A1F3);
  padding-bottom: 4rem;
}
@media only screen and (min-width: 769px) {
  #fv {
    padding: 6rem 0rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5rem;
    position: relative;
  }
  #fv::before {
    content: "";
    display: block;
    background: #EEFBFF;
    width: 80rem;
    height: 100rem;
    position: absolute;
    right: 5rem;
    top: 50%;
    transform: rotate(30deg) translateY(-50%);
  }
}
#fv .text_wrap {
  text-align: center;
  margin-top: -2rem;
}
@media only screen and (min-width: 769px) {
  #fv .text_wrap {
    margin-top: 0;
  }
}
#fv .text_wrap .bubble {
  background: #1566A1;
  color: #fff;
  font-weight: bold;
  font-size: 2.2rem;
  padding: 0.8rem 1.5rem;
  border-radius: 0.5rem;
  display: inline-block;
  position: relative;
}
@media only screen and (min-width: 769px) {
  #fv .text_wrap .bubble {
    font-size: 2.6rem;
    padding: 1rem 2.2rem;
  }
}
#fv .text_wrap .bubble::before {
  content: "";
  position: absolute;
  top: 98%;
  left: 50%;
  margin-left: -0.9rem;
  border: 0.9rem solid transparent;
  border-top: 0.9rem solid #1566A1;
}
#fv .text_wrap .bubble p {
  display: inline-block;
}
#fv .text_wrap .sub {
  font-size: 1.6rem;
  position: relative;
  color: #fff;
  margin-top: 1rem;
}
@media only screen and (min-width: 769px) {
  #fv .text_wrap .sub {
    font-size: 2.2rem;
  }
}
#fv .text_wrap .sub .font-en {
  font-size: 2.2rem;
}
@media only screen and (min-width: 769px) {
  #fv .text_wrap .sub .font-en {
    font-size: 3rem;
  }
}
#fv .text_wrap .sub::before, #fv .text_wrap .sub::after {
  content: "";
  display: block;
  background: #EEFBFF;
  width: 7.5rem;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 3rem;
}
@media only screen and (min-width: 769px) {
  #fv .text_wrap .sub::before, #fv .text_wrap .sub::after {
    left: 0.5rem;
    width: 10rem;
  }
}
#fv .text_wrap .sub::after {
  right: 3rem;
  left: auto;
}
@media only screen and (min-width: 769px) {
  #fv .text_wrap .sub::after {
    right: 0.5rem;
  }
}
#fv .text_wrap h1 {
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
  margin-top: 0.5rem;
}
#fv .text_wrap h1 .underline {
  background: linear-gradient(to bottom, transparent 75%, #1F9FDB 25%);
  font-size: 4rem;
}
@media only screen and (min-width: 769px) {
  #fv .text_wrap h1 .underline {
    font-size: 5.4rem;
  }
}
#fv .text_wrap h1 .kerning {
  letter-spacing: -0.08em;
}
#fv .text_wrap h1 .small {
  font-size: 3.2rem;
}
@media only screen and (min-width: 769px) {
  #fv .text_wrap h1 .small {
    font-size: 4.4rem;
  }
}
#fv .text_wrap h1 .yellow {
  font-size: 4.6rem;
  font-weight: 900;
}
@media only screen and (min-width: 769px) {
  #fv .text_wrap h1 .yellow {
    font-size: 6.2rem;
  }
}
#fv .text_wrap ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  margin-top: 1.5rem;
}
@media only screen and (min-width: 769px) {
  #fv .text_wrap ul {
    margin-top: 2rem;
  }
}
#fv .text_wrap ul li {
  width: 11.2rem;
  height: 7rem;
  border-radius: 0.5rem;
  box-shadow: 0 1rem 1rem rgba(1, 80, 117, 0.2);
  background: #fff;
  color: #31A1F3;
  font-weight: bold;
  font-size: 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  #fv .text_wrap ul li {
    width: 14rem;
    height: 8.6rem;
    box-shadow: 0 1.2rem 1.2rem rgba(1, 80, 117, 0.2);
    font-size: 2rem;
  }
}
#fv .text_wrap ul li .head {
  font-size: 1.2rem;
}
@media only screen and (min-width: 769px) {
  #fv .text_wrap ul li .head {
    font-size: 1.4rem;
  }
}
#fv .text_wrap ul li .font-en {
  font-size: 3.2rem;
  color: #F8861D;
  line-height: 0.9;
}
@media only screen and (min-width: 769px) {
  #fv .text_wrap ul li .font-en {
    font-size: 4rem;
  }
}
#fv .text_wrap .cv-btn {
  margin-top: 2rem;
}
@media only screen and (min-width: 769px) {
  #fv .text_wrap .cv-btn {
    margin-top: 2.5rem;
    height: 7rem;
  }
}
@media only screen and (min-width: 769px) {
  #fv picture {
    width: 57rem;
    box-shadow: 0 2rem 2rem rgba(5, 87, 146, 0.1);
    position: relative;
    z-index: 2;
    border-radius: 3rem;
  }
}

/*------------------▲メインビジュアル #fv------------------*/
/*------------------▼GLOBE英会話について #about------------------*/
#about {
  background: url(../img/about_bg.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 5rem 3rem 2.5rem;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  #about {
    background: url(../img/about_bg_pc.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 9rem 22rem;
  }
}
#about h2 {
  font-size: 2.4rem;
  position: relative;
  z-index: 2;
  position: relative;
  display: inline-block;
}
@media only screen and (min-width: 769px) {
  #about h2 {
    font-size: 3.2rem;
  }
}
#about h2::before, #about h2::after {
  content: "";
  background: url(../img/quote.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 3.4rem;
  height: 2.4rem;
  position: absolute;
  top: 0;
  left: -1rem;
}
@media only screen and (min-width: 769px) {
  #about h2::before, #about h2::after {
    width: 3.3rem;
    height: 2.4rem;
    left: -4rem;
  }
}
#about h2::after {
  left: auto;
  right: -1rem;
  top: auto;
  bottom: 0rem;
  transform: rotate(180deg);
}
@media only screen and (min-width: 769px) {
  #about h2::after {
    right: -4rem;
  }
}
#about h2 .big {
  font-size: 3.6rem;
  color: #fff;
  padding: 0 0.8rem;
  position: relative;
}
@media only screen and (min-width: 769px) {
  #about h2 .big {
    font-size: 4.4rem;
    padding: 0.3rem 1rem;
  }
}
#about h2 .big::before {
  content: "";
  background: linear-gradient(to bottom right, #31C4F3, #31A1F3);
  width: 12rem;
  height: 4.5rem;
  position: absolute;
  left: 50%;
  top: 55%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  #about h2 .big::before {
    width: 15rem;
    height: 5.8rem;
  }
}
@media only screen and (min-width: 769px) {
  #about .pc_flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 769px) {
  #about .pc_flex .text_wrap {
    flex: 1;
  }
}
#about .pc_flex .text_wrap .feature {
  font-weight: bold;
  text-align: center;
  margin-top: 3rem;
}
@media only screen and (min-width: 769px) {
  #about .pc_flex .text_wrap .feature {
    margin-top: 0;
  }
}
#about .pc_flex .text_wrap .feature .head {
  display: inline-block;
  font-size: 2rem;
  position: relative;
}
#about .pc_flex .text_wrap .feature .head::before, #about .pc_flex .text_wrap .feature .head::after {
  content: "";
  background: #333;
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  left: -1rem;
  top: 50%;
  transform: translateY(-50%) rotate(-30deg);
}
#about .pc_flex .text_wrap .feature .head::after {
  left: auto;
  right: -1rem;
  transform: translateY(-50%) rotate(30deg);
}
#about .pc_flex .text_wrap .feature ul {
  margin: 0 auto;
  margin-top: 1.2rem;
  background: #fff;
  border: solid 1px #1566A1;
  border-radius: 1rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
  width: 31rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  gap: 1rem;
}
@media only screen and (min-width: 769px) {
  #about .pc_flex .text_wrap .feature ul {
    width: 56.4rem;
    height: 6.3rem;
    flex-direction: row;
    gap: 2rem;
    padding-inline: 2rem;
  }
}
#about .pc_flex .text_wrap .feature ul li {
  font-size: 1.6rem;
  color: #31A1F3;
  position: relative;
  padding-left: 2.5rem;
}
@media only screen and (min-width: 769px) {
  #about .pc_flex .text_wrap .feature ul li {
    font-size: 1.8rem;
    padding-left: 2rem;
  }
}
#about .pc_flex .text_wrap .feature ul li::before {
  content: "";
  background: url(../img/check-box.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  left: 0rem;
  top: 50%;
  transform: translateY(-50%);
}
#about .pc_flex .text_wrap .feature ul .line {
  width: 100%;
  height: 1px;
  background: #ccc;
}
@media only screen and (min-width: 769px) {
  #about .pc_flex .text_wrap .feature ul .line {
    display: none;
  }
}
#about .pc_flex .text_wrap .feature .text {
  margin-top: 2rem;
  line-height: 1.6;
  font-weight: normal;
}
#about .pc_flex .text_wrap .feature .text .blue {
  font-weight: bold;
  background: linear-gradient(to bottom, transparent 50%, #FFF7AA 50%);
}
#about .pc_flex .text_wrap .logo_wrap {
  margin-top: 3rem;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  #about .pc_flex .text_wrap .logo_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
  }
}
#about .pc_flex .text_wrap .logo_wrap .bubble {
  display: inline-block;
  background: #31A1F3;
  color: #fff;
  padding: 0.8rem 1.5rem;
  border-radius: 0.5rem;
  position: relative;
}
@media only screen and (min-width: 769px) {
  #about .pc_flex .text_wrap .logo_wrap .bubble {
    font-size: 2.8rem;
    border-radius: 0;
    padding: 1rem 1.8rem;
    border-top: solid 0.5rem #B7DAF9;
    border-bottom: solid 0.5rem #B7DAF9;
    color: #333;
    display: inline-block;
    background: none;
  }
}
#about .pc_flex .text_wrap .logo_wrap .bubble::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -0.9rem;
  border: 0.9rem solid transparent;
  border-top: 0.9rem solid #31A1F3;
}
@media only screen and (min-width: 769px) {
  #about .pc_flex .text_wrap .logo_wrap .bubble::before {
    display: none;
  }
}
#about .pc_flex .text_wrap .logo_wrap .bubble p {
  display: inline-block;
  font-weight: bold;
}
#about .pc_flex .text_wrap .logo_wrap figure {
  margin: 0 auto;
  width: 22rem;
  margin-top: 2rem;
}
@media only screen and (min-width: 769px) {
  #about .pc_flex .text_wrap .logo_wrap figure {
    margin: 0;
    width: 26rem;
  }
}
#about .pc_flex .illust {
  width: 26rem;
  margin: 0 auto;
  margin-top: 1rem;
}
@media only screen and (min-width: 769px) {
  #about .pc_flex .illust {
    margin: 0;
    width: 34.5rem;
  }
}

/*------------------▲GLOBE英会話について #about------------------*/
/*------------------▼比較表 #table------------------*/
#table {
  background: #EEFBFF;
  padding: 5rem 0rem 0;
}
@media only screen and (min-width: 769px) {
  #table {
    padding: 10rem 22rem;
  }
}
#table ul {
  margin-top: 1.5rem;
  position: relative;
  padding: 0 3rem;
}
@media only screen and (min-width: 769px) {
  #table ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4rem;
    row-gap: 4.5rem;
    margin-top: 4rem;
    padding: 0;
  }
}
#table ul .slick-prev,
#table ul .slick-next {
  position: absolute;
  z-index: 3;
  top: 58%;
  cursor: pointer;
  outline: none;
  background: url(../img/arrow_blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  height: 2.4rem;
  width: 2.4rem;
}
#table ul .slick-prev {
  left: 1.5rem;
  transform: translateY(-50%) scale(-1, 1);
}
#table ul .slick-next {
  right: 1.5rem;
  transform: translateY(-50%);
}
#table ul li {
  text-align: center;
}
@media only screen and (min-width: 769px) {
  #table ul li {
    width: calc((100% - 4rem) / 2);
  }
}
#table ul li .head {
  height: 5.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  #table ul li .head {
    height: auto;
  }
}
#table ul li .head p {
  background: linear-gradient(to bottom right, #31C4F3, #31A1F3);
  color: #fff;
  font-weight: bold;
  display: inline-block;
  padding: 0.5rem 1.5rem;
  line-height: 1.3;
  font-size: 1.4rem;
}
@media only screen and (min-width: 769px) {
  #table ul li .head p {
    font-size: 1.6rem;
    padding: 0.8rem 2rem;
  }
}
#table ul li .head p .small {
  font-size: 1.2rem;
}
#table ul li table {
  margin: 0 auto;
  width: 98%;
  margin-top: 1.5rem;
}
@media only screen and (min-width: 769px) {
  #table ul li table {
    width: 100%;
    margin-top: 3rem;
  }
}
#table ul li table th, #table ul li table td {
  width: 25%;
  height: 5.8rem;
  text-align: center;
  vertical-align: middle;
  font-weight: bold;
  font-size: 1.4rem;
}
@media only screen and (min-width: 769px) {
  #table ul li table th, #table ul li table td {
    height: 5rem;
  }
}
#table ul li table th.left-top, #table ul li table td.left-top {
  border-radius: 0.8rem 0 0 0;
}
#table ul li table th.right-top, #table ul li table td.right-top {
  border-radius: 0 0.8rem 0 0;
}
#table ul li table th.left-bottom, #table ul li table td.left-bottom {
  border-radius: 0 0 0 0.8rem;
}
#table ul li table th.right-bottom, #table ul li table td.right-bottom {
  border-radius: 0 0 0.8rem 0;
}
#table ul li table thead {
  border-bottom: solid #333 1px;
}
#table ul li table thead th {
  background: #E2E8F0;
  border-right: solid #333 1px;
}
#table ul li table thead th:last-child {
  border: none;
}
#table ul li table thead th.globe {
  position: relative;
  background: #31A1F3;
  color: #fff;
}
#table ul li table thead th.globe p {
  position: relative;
  z-index: 2;
}
#table ul li table thead th.globe::before {
  content: "";
  display: block;
  border: solid 0.4rem #31A1F3;
  width: 105%;
  height: 29.1rem;
  position: absolute;
  right: -0.2rem;
  bottom: 0;
  transform: translateY(100%);
}
@media only screen and (min-width: 769px) {
  #table ul li table thead th.globe::before {
    height: 25.5rem;
    border: solid 0.5rem #31A1F3;
    bottom: 0.2rem;
  }
}
#table ul li table thead th.globe::after {
  content: "";
  background: #31A1F3;
  width: 105%;
  height: 7rem;
  border-radius: 0.8rem 0.8rem 0 0;
  position: absolute;
  right: -0.2rem;
  bottom: 0;
}
@media only screen and (min-width: 769px) {
  #table ul li table thead th.globe::after {
    height: 6rem;
  }
}
#table ul li table tbody tr {
  border-bottom: solid #333 1px;
}
#table ul li table tbody tr:last-child {
  border: none;
}
#table ul li table tbody tr th {
  background: #808796;
  color: #fff;
  font-size: 1.2rem;
  border-right: solid #333 1px;
}
@media only screen and (min-width: 769px) {
  #table ul li table tbody tr th {
    font-size: 1.4rem;
  }
}
#table ul li table tbody tr td {
  background: #fff;
  border-right: solid #333 1px;
}
#table ul li table tbody tr td.small {
  font-size: 1.2rem;
}
#table ul li table tbody tr td:last-child {
  border: none;
}
#table ul li table tbody tr td .memo {
  font-weight: normal;
  font-size: 1rem;
}
#table .topic {
  margin-top: 6.7rem;
  background: #31A1F3;
  padding: 4rem 3rem;
  color: #fff;
  position: relative;
}
@media only screen and (min-width: 769px) {
  #table .topic {
    margin-top: 5rem;
    border-radius: 1rem;
    box-shadow: 0 1rem 2rem rgba(2, 83, 108, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    align-items: flex-start;
    gap: 5rem;
    padding: 4rem 8rem;
  }
}
#table .topic::before {
  content: "TOPIC";
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 6rem;
  transform: rotate(90deg);
  position: absolute;
  right: -7rem;
  bottom: 5.5rem;
  color: rgba(255, 255, 255, 0.15);
}
@media only screen and (min-width: 769px) {
  #table .topic::before {
    display: none;
  }
}
#table .topic .circle {
  background: #31A1F3;
  width: 8.5rem;
  height: 8.5rem;
  border-radius: 99px;
  margin: 0 auto;
  position: absolute;
  left: 50%;
  top: -3rem;
  transform: translateX(-50%);
  text-align: center;
  padding-top: 1.5rem;
}
#table .topic .circle .font-en {
  font-size: 3.6rem;
  font-weight: bold;
  color: #fff;
}
@media only screen and (min-width: 769px) {
  #table .topic h3 .font-en {
    font-size: 1.4rem;
    color: rgba(255, 255, 255, 0.6);
    position: relative;
    padding-left: 1.5rem;
  }
  #table .topic h3 .font-en::before {
    content: "";
    display: block;
    background: rgba(255, 255, 255, 0.6);
    width: 1.1rem;
    height: 0.1rem;
    position: absolute;
    left: 0;
    top: 50%;
  }
}
#table .topic h3 .main {
  font-size: 2.4rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 769px) {
  #table .topic h3 .main {
    font-size: 3.2rem;
    text-align: left;
  }
}
#table .topic .body_text {
  margin-top: 2rem;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 769px) {
  #table .topic .body_text {
    flex: 1;
    margin-top: 0;
  }
}
#table .topic .body_text .yellow {
  font-weight: bold;
}

/*------------------▲比較表 #table------------------*/
/*------------------▼オンライン学習メソッド #method------------------*/
#method {
  padding: 5rem 3rem;
  position: relative;
}
@media only screen and (min-width: 769px) {
  #method {
    padding: 10rem 22rem;
  }
}
#method::before {
  content: "";
  background: url(../img/method_bg.webp);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-position: top;
  width: 39rem;
  height: 35rem;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  #method::before {
    background: url(../img/method_bg_pc.webp);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-position: top;
    width: 144rem;
    height: 50rem;
  }
}
#method h2 {
  text-align: center;
}
#method h2 .bubble {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2rem;
  font-weight: bold;
  background: #1566A1;
  padding: 0.5rem 2rem;
  border-radius: 99px;
  color: #fff;
  display: inline-block;
}
#method h2 .main {
  white-space: nowrap;
  font-size: 3.4rem;
  margin-top: 1rem;
  line-height: 1.2;
}
#method h2 .main .kerning {
  letter-spacing: -0.15em;
}
#method h2 .main .kerning2 {
  letter-spacing: -0.2em;
}
#method h2 .main .kerning3 {
  letter-spacing: -0.35em;
}
#method .content_wrap {
  background: #fff;
  border: solid 1px #31A1F3;
  box-shadow: 0 1rem 1.5rem rgba(0, 0, 0, 0.08);
  border-radius: 1rem;
  padding: 3rem 2rem;
  margin-top: 2.5rem;
}
@media only screen and (min-width: 769px) {
  #method .content_wrap {
    margin-top: 4rem;
    padding: 5rem 8rem;
  }
}
@media only screen and (min-width: 769px) {
  #method .content_wrap .pc_flex {
    display: flex;
    align-items: center;
    justify-content: center;
    align-items: flex-start;
    gap: 5rem;
  }
}
#method .content_wrap .pc_flex .body_text .blue {
  font-weight: bold;
}
@media only screen and (min-width: 769px) {
  #method .content_wrap .pc_flex .body_text {
    flex: 1;
  }
}
#method .content_wrap .pc_flex .right_wrap {
  margin-top: 2.5rem;
}
@media only screen and (min-width: 769px) {
  #method .content_wrap .pc_flex .right_wrap {
    margin-top: 0;
  }
}
#method .content_wrap .pc_flex .right_wrap .head {
  width: 100%;
  height: 3rem;
  line-height: 3rem;
  background: #333;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  #method .content_wrap .pc_flex .right_wrap .head {
    width: 37rem;
  }
}
#method .content_wrap .pc_flex .right_wrap .flex_wrap {
  margin-top: 2rem;
}
@media only screen and (min-width: 769px) {
  #method .content_wrap .pc_flex .right_wrap .flex_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    justify-content: space-between;
    margin-top: 1.5rem;
  }
}
#method .content_wrap .pc_flex .right_wrap .flex_wrap .clock {
  width: 21rem;
  margin: 0 auto;
}
@media only screen and (min-width: 769px) {
  #method .content_wrap .pc_flex .right_wrap .flex_wrap .clock {
    width: 15.6rem;
    margin: 0;
  }
}
#method .content_wrap .pc_flex .right_wrap .flex_wrap ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 2.5rem;
}
@media only screen and (min-width: 769px) {
  #method .content_wrap .pc_flex .right_wrap .flex_wrap ul {
    margin-top: 0;
  }
}
#method .content_wrap .pc_flex .right_wrap .flex_wrap ul li {
  width: 27rem;
  height: 6.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  background: #B7DAF9;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  #method .content_wrap .pc_flex .right_wrap .flex_wrap ul li {
    width: 19.5rem;
    height: 7.5rem;
    font-size: 1.4rem;
  }
}
#method .content_wrap .pc_flex .right_wrap .flex_wrap ul li p .time {
  font-size: 1.2rem;
}
#method .content_wrap .pc_flex .right_wrap .flex_wrap ul li p .time .font-en {
  font-size: 2rem;
}
@media only screen and (min-width: 769px) {
  #method .content_wrap .pc_flex .right_wrap .flex_wrap ul li p .time .font-en {
    font-size: 1.6rem;
  }
}
#method .content_wrap .pc_flex .right_wrap .flex_wrap ul li.bg-blue {
  background: #31A1F3;
  color: #fff;
}
#method .content_wrap .pc_flex .right_wrap .bottom {
  margin-top: 0.8rem;
}
#method .content_wrap .pc_flex .right_wrap .bottom figure {
  margin: 0 auto;
  width: 1.7rem;
}
#method .content_wrap .pc_flex .right_wrap .bottom p {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
}
#method .content_wrap .pc_flex .right_wrap .bottom p .underline {
  display: inline-block;
  background: linear-gradient(to bottom, transparent 60%, #FFDBBB 40%);
}
#method .content_wrap .pc_flex .right_wrap .bottom p .font-en {
  font-size: 2.6rem;
  color: #31A1F3;
}
#method .content_wrap .movie_wrap {
  margin-top: 3rem;
  text-align: center;
}
#method .content_wrap .movie_wrap h3 {
  font-weight: bold;
  font-size: 2rem;
  position: relative;
  display: inline-block;
}
@media only screen and (min-width: 769px) {
  #method .content_wrap .movie_wrap h3 {
    font-size: 2.2rem;
  }
}
#method .content_wrap .movie_wrap h3::before, #method .content_wrap .movie_wrap h3::after {
  content: "";
  display: block;
  background: #ccc;
  height: 1px;
  width: 5.8rem;
  position: absolute;
  left: -1rem;
  top: 50%;
  transform: translateX(-100%);
}
@media only screen and (min-width: 769px) {
  #method .content_wrap .movie_wrap h3::before, #method .content_wrap .movie_wrap h3::after {
    width: 32.5rem;
    left: -2rem;
  }
}
#method .content_wrap .movie_wrap h3::after {
  left: auto;
  right: -1rem;
  transform: translateX(100%);
}
@media only screen and (min-width: 769px) {
  #method .content_wrap .movie_wrap h3::after {
    right: -2rem;
  }
}
#method .content_wrap .movie_wrap ul {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
@media only screen and (min-width: 769px) {
  #method .content_wrap .movie_wrap ul {
    flex-direction: row;
    gap: 4rem;
  }
}
#method .content_wrap .movie_wrap ul li .label {
  text-align: center;
  font-weight: bold;
}
#method .content_wrap .movie_wrap ul li iframe {
  margin-top: 1rem;
  width: 29rem;
  height: 15rem;
}
@media only screen and (min-width: 769px) {
  #method .content_wrap .movie_wrap ul li iframe {
    width: 34rem;
    height: 20rem;
  }
}

/*------------------▲オンライン学習メソッド #method------------------*/
/*------------------▼選ばれる理由 #reason------------------*/
#reason {
  padding: 5rem 3rem;
  position: relative;
}
@media only screen and (min-width: 769px) {
  #reason {
    padding: 8rem 22rem;
  }
}
@media only screen and (min-width: 769px) {
  #reason h2 .sub {
    font-size: 4.4rem;
  }
}
#reason::before {
  content: "";
  background: url(../img/point_bg.webp);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 39rem;
  height: 42.7rem;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  #reason::before {
    background: url(../img/point_bg_pc.webp);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 144rem;
    height: 50.2rem;
  }
}
#reason .accordion_wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  margin-top: 3rem;
  width: 100%;
}
@media only screen and (min-width: 769px) {
  #reason .accordion_wrap {
    flex-direction: row;
    gap: 3.6rem;
  }
}
#reason .accordion_wrap li {
  width: 100%;
}
@media only screen and (min-width: 769px) {
  #reason .accordion_wrap li {
    width: 31rem;
  }
}
#reason .accordion_wrap li .title {
  cursor: pointer;
  background: #1566A1;
  height: 7rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media only screen and (min-width: 769px) {
  #reason .accordion_wrap li .title {
    border-radius: 0.5rem 0.5rem 0 0 !important;
    cursor: default;
    pointer-events: none;
  }
}
#reason .accordion_wrap li .title::before {
  content: "";
  background: url(../img/arrow_white.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 1.8rem;
  height: 1.8rem;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
}
@media only screen and (min-width: 769px) {
  #reason .accordion_wrap li .title::before {
    display: none;
  }
}
#reason .accordion_wrap li .title p {
  color: #fff;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
#reason .accordion_wrap li .title.close {
  border-radius: 0.5rem 0.5rem 0 0;
}
#reason .accordion_wrap li .title.close::before {
  transform: translateY(-50%) rotate(-90deg);
}
#reason .accordion_wrap li .box {
  display: none;
  background: #fff;
  border: solid 1px #1566A1;
  border-radius: 0 0 0.5rem 0.5rem;
  padding: 2rem;
}
@media only screen and (min-width: 769px) {
  #reason .accordion_wrap li .box {
    display: block !important;
    height: 40.6rem;
  }
}
#reason .accordion_wrap li .box .body_text {
  margin-top: 2rem;
}
#reason .accordion_wrap li .box .body_text .blue {
  font-weight: bold;
}
#reason .bottom_list {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
@media only screen and (min-width: 769px) {
  #reason .bottom_list {
    flex-direction: row;
    gap: 1.2rem;
    margin-top: 3rem;
  }
}
#reason .bottom_list li {
  width: 100%;
  height: 5rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1566A1;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  #reason .bottom_list li {
    width: 24rem;
    font-size: 1.5rem;
    height: 6rem;
  }
}

/*------------------▲選ばれる理由 #reason------------------*/
/*------------------▼体験レッスンの様子 #trial------------------*/
#trial {
  padding: 5rem 3rem;
  background: url(../img/trial_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media only screen and (min-width: 769px) {
  #trial {
    padding: 8rem 22rem;
    background: url(../img/trial_bg_pc.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
  }
}
#trial h2 {
  text-align: center;
}
#trial h2 .main {
  display: inline-block;
  font-size: 3.2rem;
  color: #1566A1;
  position: relative;
}
@media only screen and (min-width: 769px) {
  #trial h2 .main {
    font-size: 4.4rem;
  }
}
#trial h2 .main::before, #trial h2 .main::after {
  content: "";
  background: url(../img/trial_bubble.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 3rem;
  height: 4.7rem;
  position: absolute;
  left: -3rem;
  top: 50%;
  transform: translateY(-60%);
}
@media only screen and (min-width: 769px) {
  #trial h2 .main::before, #trial h2 .main::after {
    width: 4.2rem;
    height: 6.5rem;
    left: -5rem;
  }
}
#trial h2 .main::after {
  left: auto;
  right: -3rem;
  transform: translateY(-60%) scale(-1, 1);
}
@media only screen and (min-width: 769px) {
  #trial h2 .main::after {
    right: -5rem;
  }
}
@media only screen and (min-width: 769px) {
  #trial .pc_flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5rem;
    margin-top: 5rem;
  }
}
#trial .pc_flex ol {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
@media only screen and (min-width: 769px) {
  #trial .pc_flex ol {
    margin-top: 0rem;
    flex: 1;
  }
}
#trial .pc_flex ol li {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
@media only screen and (min-width: 769px) {
  #trial .pc_flex ol li {
    gap: 2rem;
  }
}
#trial .pc_flex ol li figure {
  width: 7.8rem;
}
@media only screen and (min-width: 769px) {
  #trial .pc_flex ol li figure {
    width: 10rem;
  }
}
#trial .pc_flex ol li p {
  flex: 1;
  line-height: 1.5;
}
@media only screen and (min-width: 769px) {
  #trial .pc_flex ol li p {
    font-size: 1.8rem;
  }
}
#trial .pc_flex ol .arrow {
  width: 3rem;
}
#trial .pc_flex iframe {
  margin-top: 2rem;
  width: 33rem;
  height: 20rem;
}
@media only screen and (min-width: 769px) {
  #trial .pc_flex iframe {
    margin-top: 0;
    width: 50rem;
    height: 28.8rem;
  }
}

/*------------------▲体験レッスンの様子 #trial------------------*/
/*----------▼英会話を学ぶと人生が変わる #case----------*/
#case {
  padding: 16.7rem 3rem 5rem;
  position: relative;
}
#case::before {
  content: "";
  background: url(../img/case_bg.webp);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 39rem;
  height: 20.8rem;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  #case::before {
    display: none;
  }
}
@media only screen and (min-width: 769px) {
  #case {
    padding: 8rem 22rem;
  }
}
@media only screen and (min-width: 769px) {
  #case h2 .sub {
    display: inline;
  }
}
#case h2 .main {
  color: rgba(0, 0, 0, 0);
  background: linear-gradient(to bottom right, #31C4F3, #31A1F3);
  -webkit-background-clip: text;
}
@media only screen and (min-width: 769px) {
  #case h2 .main {
    display: inline;
  }
}
#case .top_text {
  margin-top: 2.5rem;
  line-height: 1.8;
  font-size: 1.4rem;
}
@media only screen and (min-width: 769px) {
  #case .top_text {
    text-align: center;
  }
}
#case ul {
  margin-top: 2.5rem;
}
@media only screen and (min-width: 769px) {
  #case ul {
    margin-top: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3.5rem;
  }
}
#case ul .slick-prev,
#case ul .slick-next {
  position: absolute;
  z-index: 3;
  top: 50%;
  cursor: pointer;
  outline: none;
  background: url(../img/arrow_blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  height: 2.4rem;
  width: 2.4rem;
}
#case ul .slick-prev {
  left: -1rem;
  transform: translateY(-50%) scale(-1, 1);
}
#case ul .slick-next {
  right: -1rem;
  transform: translateY(-50%);
}
#case ul li {
  width: 100%;
}
@media only screen and (min-width: 769px) {
  #case ul li {
    width: calc((100% - 7rem) / 3);
  }
}
#case ul li .head {
  background: #1566A1;
  height: 7rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.3rem;
}
#case ul li .head .font-en {
  font-size: 1.4rem;
  color: #afd4df;
  position: relative;
  display: inline-block;
  font-weight: bold;
}
#case ul li .head .font-en::before, #case ul li .head .font-en::after {
  content: "";
  display: block;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 1rem;
  background: #afd4df;
  position: absolute;
  top: 50%;
  left: -1rem;
  transform: translateY(-50%);
}
#case ul li .head .font-en::after {
  left: auto;
  right: -1rem;
}
#case ul li .head h3 {
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
}
#case ul li .body {
  background: #fff;
  border: solid 1px #1566A1;
  padding: 2.5rem 2rem;
}
#case ul li .body .top {
  margin-top: 0.8rem;
  text-align: center;
  line-height: 1.8;
  font-size: 1.2rem;
}
#case ul li .body .top .d-blue {
  font-size: 1.4rem;
  font-weight: bold;
}
#case ul li .body .body_text {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: solid 1px #ccc;
}

/*----------▲英会話を学ぶと人生が変わる #case----------*/
/*------------------▼選べるコースと料金 #course------------------*/
#course {
  padding: 5rem 0rem 0;
}
@media only screen and (min-width: 769px) {
  #course {
    padding: 8rem 22rem;
  }
}
#course .top_text {
  margin: 2rem 3rem 0 3rem;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media only screen and (min-width: 769px) {
  #course .top_text {
    text-align: center;
  }
}
#course .tabs {
  margin-top: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  border-bottom: 0.3rem solid #1566A1;
}
@media only screen and (min-width: 769px) {
  #course .tabs {
    gap: 1.5rem;
  }
}
#course .tabs input[name=tab_item] {
  display: none;
}
#course .tabs .tab_item {
  display: block;
  width: 18rem;
  height: 6rem;
  font-size: 1.6rem;
  background: #E6E6E6;
  font-weight: bold;
  color: #7F7F7F;
  text-align: center;
  border-radius: 1rem 1rem 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  #course .tabs .tab_item {
    width: calc(50% - 0.75rem);
  }
}
#course .tabs .tab_item .small {
  font-size: 0.9rem;
}
@media only screen and (min-width: 769px) {
  #course .tabs .tab_item .small {
    font-size: 1.2rem;
  }
}
#course .tabs input:checked + .tab_item {
  background: #1566A1;
  color: #fff;
}
#course .course_wrap {
  padding: 3rem 3rem 5rem;
  background: #FFFDE7;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap {
    padding: 4rem 5rem;
    border: 0.2rem solid #1566A1;
  }
}
#course .course_wrap .course_list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  width: 100%;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list {
    gap: 2rem;
  }
}
#course .course_wrap .course_list .course_item {
  width: 100%;
}
#course .course_wrap .course_list .course_item .title {
  cursor: pointer;
  width: 100%;
  background: #1566A1;
  padding: 1.5rem 2rem;
  border-radius: 0.5rem;
  position: relative;
  text-align: center;
  font-weight: bold;
  line-height: 1.4;
}
#course .course_wrap .course_list .course_item .title::before {
  content: "";
  background: url(../img/arrow_white.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 1.8rem;
  height: 1.8rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .title::before {
    right: 2rem;
    width: 2rem;
    height: 2rem;
  }
}
#course .course_wrap .course_list .course_item .title .yellow {
  font-size: 1.4rem;
}
#course .course_wrap .course_list .course_item .title h3 {
  color: #fff;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .title h3 {
    font-size: 2rem;
  }
}
#course .course_wrap .course_list .course_item .title.close {
  border-radius: 0.5rem 0.5rem 0 0;
}
#course .course_wrap .course_list .course_item .title.close::before {
  transform: translateY(-50%) rotate(-90deg);
}
#course .course_wrap .course_list .course_item .box {
  display: none;
  background: #fff;
  border: solid 1px #1566A1;
  padding: 3rem 2rem;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box {
    padding: 4rem 7rem;
  }
}
#course .course_wrap .course_list .course_item .box.private {
  padding-top: 1.5rem;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box.private {
    padding-top: 2.5rem;
  }
}
#course .course_wrap .course_list .course_item .box .about_course {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  gap: 0;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .about_course {
    gap: 1.5rem;
    margin-bottom: 1rem;
  }
}
#course .course_wrap .course_list .course_item .box .about_course li {
  width: 100%;
  background: #d9efda;
  color: #008307;
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.4;
  height: 6.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .about_course li {
    width: 22rem;
  }
}
#course .course_wrap .course_list .course_item .box .about_course li .time {
  font-size: 1rem;
  font-weight: normal;
}
#course .course_wrap .course_list .course_item .box .about_course li.orange {
  background: #ffecdb;
  color: #F8861D;
}
#course .course_wrap .course_list .course_item .box .about_course li.online-philippines {
  height: 5rem;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .about_course li.online-philippines {
    width: 25rem;
    height: 5.5rem;
  }
}
#course .course_wrap .course_list .course_item .box .label {
  font-weight: bold;
  font-size: 1.3rem;
  text-align: center;
  color: #888;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .label {
    margin: 0 auto;
    width: 60%;
    font-size: 1.4rem;
    position: relative;
  }
  #course .course_wrap .course_list .course_item .box .label::before, #course .course_wrap .course_list .course_item .box .label::after {
    content: "";
    display: block;
    background: #ccc;
    height: 0.1rem;
    width: 9rem;
    position: absolute;
    left: 0;
    top: 50%;
  }
  #course .course_wrap .course_list .course_item .box .label::after {
    left: auto;
    right: 0;
  }
}
#course .course_wrap .course_list .course_item .box .label .small {
  font-size: 1.1rem;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .label .small {
    font-size: 1.2rem;
  }
}
#course .course_wrap .course_list .course_item .box .label.mt-1 {
  margin-top: 1.5rem;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .label.mt-1 {
    margin-top: 2rem;
  }
}
#course .course_wrap .course_list .course_item .box .price {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 0.5rem;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .price {
    gap: 5rem;
  }
}
#course .course_wrap .course_list .course_item .box .price li {
  text-align: center;
}
#course .course_wrap .course_list .course_item .box .price li .font-en {
  font-size: 3.7rem;
  color: #008307;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .price li .font-en {
    font-size: 5rem;
  }
}
#course .course_wrap .course_list .course_item .box .price li .font-en .yen {
  font-size: 2.2rem;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .price li .font-en .yen {
    font-size: 3rem;
  }
}
#course .course_wrap .course_list .course_item .box .price li .tax {
  font-size: 0.9rem;
  font-weight: normal;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .price li .tax {
    font-size: 1.2rem;
  }
}
#course .course_wrap .course_list .course_item .box .price li.orange .label {
  background: #F8861D;
}
#course .course_wrap .course_list .course_item .box .price li.orange .font-en {
  color: #F8861D;
}
#course .course_wrap .course_list .course_item .box .line {
  margin-top: 1.5rem;
  display: block;
  background: #ccc;
  height: 0.1rem;
  width: 100%;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .line {
    display: none;
  }
}
#course .course_wrap .course_list .course_item .box .bottom_wrap {
  margin-top: 2rem;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .bottom_wrap {
    margin-top: 2.5rem;
    padding-top: 3rem;
    border-top: solid 1px #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    align-items: flex-start;
    gap: 4rem;
  }
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .bottom_wrap.wide {
    padding-top: 1.5rem;
  }
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .bottom_wrap .left_wrap {
    width: 28rem;
  }
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .bottom_wrap .left_wrap.wide {
    width: auto;
  }
}
#course .course_wrap .course_list .course_item .box .bottom_wrap .left_wrap h4 {
  font-weight: bold;
  color: #fff;
  background: #1566A1;
  font-size: 1.4rem;
  padding: 0.5rem 0;
}
#course .course_wrap .course_list .course_item .box .bottom_wrap .left_wrap .body_text {
  margin-top: 1rem;
  font-size: 1.4rem;
}
#course .course_wrap .course_list .course_item .box .bottom_wrap .left_wrap .check_box {
  margin-top: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}
#course .course_wrap .course_list .course_item .box .bottom_wrap .left_wrap .check_box figure {
  width: 2rem;
}
#course .course_wrap .course_list .course_item .box .bottom_wrap .left_wrap .check_box p {
  font-weight: bold;
  color: #1566A1;
  line-height: 1.4;
  flex: 1;
  text-align: left;
}
#course .course_wrap .course_list .course_item .box .bottom_wrap .left_wrap .about_ai {
  margin-top: 2rem;
}
#course .course_wrap .course_list .course_item .box .bottom_wrap .left_wrap .about_ai .title {
  background: #333;
  color: #fff;
  border-radius: 0;
  cursor: pointer;
}
#course .course_wrap .course_list .course_item .box .bottom_wrap .left_wrap .about_ai .box {
  padding: 1.5rem;
  border: solid 1px #333;
}
#course .course_wrap .course_list .course_item .box .bottom_wrap .left_wrap .about_ai .box .body_text {
  margin-top: 0;
}
#course .course_wrap .course_list .course_item .box .bottom_wrap .left_wrap .about_ai .box iframe {
  width: 100%;
  height: 18rem;
  margin-top: 1.5rem;
}
#course .course_wrap .course_list .course_item .box .bottom_wrap .left_wrap .about_ai .box .ai-name {
  text-align: center;
  margin-top: 1rem;
  font-weight: bold;
  font-size: 1.2rem;
}
#course .course_wrap .course_list .course_item .box .bottom_wrap .right_wrap {
  text-align: left;
  margin-top: 2rem;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .bottom_wrap .right_wrap {
    flex: 1;
    margin-top: 0;
  }
}
#course .course_wrap .course_list .course_item .box .bottom_wrap .right_wrap .lebel {
  font-weight: bold;
  font-size: 1.4rem;
}
#course .course_wrap .course_list .course_item .box .bottom_wrap .right_wrap .accordion_wrap {
  margin-top: 1rem;
}
#course .course_wrap .course_list .course_item .box .bottom_wrap .right_wrap .accordion_wrap .title {
  cursor: pointer;
  background: #333;
  border-radius: 0;
  color: #fff;
  font-weight: bold;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .bottom_wrap .right_wrap .accordion_wrap .title {
    display: none;
  }
}
#course .course_wrap .course_list .course_item .box .bottom_wrap .right_wrap .accordion_wrap .box {
  padding: 1.5rem;
  border: solid 1px #333;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .course_list .course_item .box .bottom_wrap .right_wrap .accordion_wrap .box {
    display: block !important;
    padding: 0;
    border: none;
    margin-top: 1.5rem;
  }
}
#course .course_wrap .course_list .course_item .box .bottom_wrap .right_wrap .accordion_wrap .box .body_text {
  font-size: 1.2rem;
}
#course .course_wrap .innitial-fee_content .plus {
  margin: 1.5rem auto;
  width: 2.6rem;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .innitial-fee_content .plus {
    margin: 2rem auto;
    width: 3rem;
  }
}
#course .course_wrap .innitial-fee_content .innitial-fee_wrap {
  width: 27.5rem;
  text-align: center;
  margin: 0 auto;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .innitial-fee_content .innitial-fee_wrap {
    width: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    align-items: flex-end;
    gap: 0.2rem;
  }
}
#course .course_wrap .innitial-fee_content .innitial-fee_wrap .label {
  width: 100%;
  background: #F8861D;
  color: #fff;
  font-weight: bold;
  padding: 0.5rem 0;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .innitial-fee_content .innitial-fee_wrap .label {
    width: auto;
    background: none;
    color: #F8861D;
    font-size: 2.8rem;
    transform: translateY(-30%);
    padding: 0;
  }
}
#course .course_wrap .innitial-fee_content .innitial-fee_wrap .bottom {
  color: #F8861D;
  font-size: 2.5rem;
  font-weight: bold;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .innitial-fee_content .innitial-fee_wrap .bottom {
    font-size: 2.8rem;
  }
}
#course .course_wrap .innitial-fee_content .innitial-fee_wrap .bottom .font-en {
  font-size: 5rem;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .innitial-fee_content .innitial-fee_wrap .bottom .font-en {
    font-size: 5.4rem;
  }
}
#course .course_wrap .innitial-fee_content .innitial-fee_wrap .bottom .tax {
  font-size: 1rem;
  font-weight: normal;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .innitial-fee_content .innitial-fee_wrap .bottom .tax {
    font-size: 1.4rem;
  }
}
#course .course_wrap .ticket {
  margin-top: 3rem;
}
#course .course_wrap .ticket .head {
  background: #1566A1;
  height: 7rem;
  border-radius: 0.5rem 0.5rem 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  font-weight: bold;
}
#course .course_wrap .ticket .head .yellow {
  font-size: 1.4rem;
}
#course .course_wrap .ticket .head h3 {
  color: #fff;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .ticket .head h3 {
    font-size: 2rem;
  }
}
#course .course_wrap .ticket .bottom {
  background: #fff;
  border-radius: 0 0 0.5rem 0.5rem;
  border: solid 0.1rem #1566A1;
  padding: 2rem 3rem;
  font-weight: bold;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .ticket .bottom {
    padding: 4rem 7rem;
  }
}
#course .course_wrap .ticket .bottom .about_course {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.5rem;
  gap: 0;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .ticket .bottom .about_course {
    gap: 1.5rem;
  }
}
#course .course_wrap .ticket .bottom .about_course li {
  width: 100%;
  background: #d9efda;
  color: #008307;
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.4;
  height: 3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .ticket .bottom .about_course li {
    width: 20rem;
  }
}
#course .course_wrap .ticket .bottom .about_course li .time {
  font-size: 1rem;
  font-weight: normal;
}
#course .course_wrap .ticket .bottom .about_course li.orange {
  background: #ffecdb;
  color: #F8861D;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .ticket .bottom .about_course li.online-philippines {
    width: 25rem;
    height: 5.5rem;
  }
}
#course .course_wrap .ticket .bottom .bottom_wrap {
  margin-top: 2rem;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .ticket .bottom .bottom_wrap {
    margin-top: 2.5rem;
    padding-top: 3rem;
    border-top: solid 1px #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    align-items: flex-start;
    gap: 4rem;
  }
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .ticket .bottom .bottom_wrap.wide {
    padding-top: 1.5rem;
  }
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .ticket .bottom .bottom_wrap .left_wrap {
    width: 28rem;
  }
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .ticket .bottom .bottom_wrap .left_wrap.wide {
    width: auto;
  }
}
#course .course_wrap .ticket .bottom .bottom_wrap .left_wrap h4 {
  font-weight: bold;
  color: #fff;
  background: #1566A1;
  font-size: 1.4rem;
  padding: 0.5rem 0;
}
#course .course_wrap .ticket .bottom .bottom_wrap .left_wrap .body_text {
  margin-top: 1rem;
  font-size: 1.4rem;
}
#course .course_wrap .ticket .bottom .bottom_wrap .left_wrap .check_box {
  margin-top: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}
#course .course_wrap .ticket .bottom .bottom_wrap .left_wrap .check_box figure {
  width: 2rem;
}
#course .course_wrap .ticket .bottom .bottom_wrap .left_wrap .check_box p {
  font-weight: bold;
  color: #1566A1;
  line-height: 1.4;
  flex: 1;
  text-align: left;
}
#course .course_wrap .ticket .bottom .bottom_wrap .left_wrap .about_ai {
  margin-top: 2rem;
}
#course .course_wrap .ticket .bottom .bottom_wrap .left_wrap .about_ai .title {
  background: #333;
  color: #fff;
  border-radius: 0;
  cursor: pointer;
}
#course .course_wrap .ticket .bottom .bottom_wrap .left_wrap .about_ai .box {
  padding: 1.5rem;
  border: solid 1px #333;
}
#course .course_wrap .ticket .bottom .bottom_wrap .left_wrap .about_ai .box .body_text {
  margin-top: 0;
}
#course .course_wrap .ticket .bottom .bottom_wrap .left_wrap .about_ai .box iframe {
  width: 100%;
  height: 18rem;
  margin-top: 1.5rem;
}
#course .course_wrap .ticket .bottom .bottom_wrap .left_wrap .about_ai .box .ai-name {
  text-align: center;
  margin-top: 1rem;
  font-weight: bold;
  font-size: 1.2rem;
}
#course .course_wrap .ticket .bottom .bottom_wrap .right_wrap {
  text-align: left;
  margin-top: 2rem;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .ticket .bottom .bottom_wrap .right_wrap {
    flex: 1;
    margin-top: 0;
  }
}
#course .course_wrap .ticket .bottom .bottom_wrap .right_wrap .lebel {
  font-weight: bold;
  font-size: 1.4rem;
}
#course .course_wrap .ticket .bottom .bottom_wrap .right_wrap .accordion_wrap {
  margin-top: 1rem;
}
#course .course_wrap .ticket .bottom .bottom_wrap .right_wrap .accordion_wrap .title {
  cursor: pointer;
  background: #333;
  border-radius: 0;
  color: #fff;
  font-weight: bold;
  padding: 1.5rem 2rem;
  text-align: center;
  position: relative;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .ticket .bottom .bottom_wrap .right_wrap .accordion_wrap .title {
    display: none;
  }
}
#course .course_wrap .ticket .bottom .bottom_wrap .right_wrap .accordion_wrap .title::before {
  content: "";
  background: url(../img/arrow_white.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 1.8rem;
  height: 1.8rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
}
#course .course_wrap .ticket .bottom .bottom_wrap .right_wrap .accordion_wrap .title.close::before {
  transform: translateY(-50%) rotate(-90deg);
}
#course .course_wrap .ticket .bottom .bottom_wrap .right_wrap .accordion_wrap .box {
  display: none;
  padding: 1.5rem;
  border: solid 1px #333;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .ticket .bottom .bottom_wrap .right_wrap .accordion_wrap .box {
    display: block !important;
    padding: 0;
    border: none;
    margin-top: 1.5rem;
  }
}
#course .course_wrap .ticket .bottom .bottom_wrap .right_wrap .accordion_wrap .box .body_text {
  font-size: 1.2rem;
  font-weight: normal;
}
#course .course_wrap .price {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .price {
    gap: 6rem;
  }
}
#course .course_wrap .price li {
  text-align: center;
}
#course .course_wrap .price li .font-en {
  font-size: 3.7rem;
  color: #008307;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .price li .font-en {
    font-size: 5rem;
  }
}
#course .course_wrap .price li .font-en .yen {
  font-size: 2.2rem;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .price li .font-en .yen {
    font-size: 3rem;
  }
}
#course .course_wrap .price li .tax {
  font-size: 0.9rem;
  font-weight: normal;
}
@media only screen and (min-width: 769px) {
  #course .course_wrap .price li .tax {
    font-size: 1.2rem;
  }
}
#course .course_wrap .price li.orange .label {
  background: #F8861D;
}
#course .course_wrap .price li.orange .font-en {
  color: #F8861D;
}
#course #hybrid:checked ~ #hybrid_content,
#course #online:checked ~ #online_content {
  display: block;
}

/*------------------▲選べるコースと料金 #course------------------*/
/*------------------▼生徒の声 #voice------------------*/
#voice {
  background: #EEFBFF;
  padding: 5rem 3rem;
  position: relative;
}
@media only screen and (min-width: 769px) {
  #voice {
    padding: 8rem 22rem;
  }
}
#voice ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  margin-top: 3rem;
}
@media only screen and (min-width: 769px) {
  #voice ul {
    flex-direction: row;
    gap: 4rem;
    margin-top: 4rem;
  }
}
#voice ul li {
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0rem 1rem 1rem rgba(0, 81, 140, 0.1);
  padding: 3rem 2rem;
  width: 33rem;
}
@media only screen and (min-width: 769px) {
  #voice ul li {
    width: 42rem;
  }
}
#voice ul li h3 {
  text-align: center;
  line-height: 1.5;
  font-weight: bold;
}
#voice ul li iframe {
  width: 100%;
  height: 16rem;
  margin-top: 2rem;
}
#voice ul li .bottom_wrap {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: solid 1px #ccc;
}
#voice ul li .bottom_wrap .body_text {
  font-size: 1.3rem;
}
#voice ul li .bottom_wrap .body_text .bold {
  font-size: 1.4rem;
}

/*------------------▲生徒の声 //.voice------------------*/
/*------------------▼体験レッスンの流れ #flow------------------*/
#flow {
  padding: 5rem 3rem;
}
@media only screen and (min-width: 769px) {
  #flow {
    padding: 8rem 22rem;
  }
}
@media only screen and (min-width: 769px) {
  #flow .pc_flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3.5rem;
    margin-top: 4rem;
  }
}
#flow .pc_flex picture {
  margin: 0 auto;
  margin-top: 4rem;
  width: 29rem;
  position: relative;
  z-index: 2;
  box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.08);
}
@media only screen and (min-width: 769px) {
  #flow .pc_flex picture {
    width: 38rem;
    margin-top: 0;
  }
}
#flow .pc_flex picture::before, #flow .pc_flex picture::after {
  content: "";
  display: block;
  width: 18rem;
  height: 14rem;
  border-radius: 0 0.8rem 0.8rem 0;
  background: #EEFBFF;
  position: absolute;
  left: -5rem;
  top: -2rem;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  #flow .pc_flex picture::before, #flow .pc_flex picture::after {
    border-radius: 0.8rem;
    left: -6.5rem;
    top: auto;
    bottom: -2rem;
  }
}
#flow .pc_flex picture::after {
  background: #B7DAF9;
  left: auto;
  right: -5rem;
  top: auto;
  bottom: -2rem;
  border-radius: 0.8rem 0 0 0.8rem;
}
@media only screen and (min-width: 769px) {
  #flow .pc_flex picture::after {
    background: #EEFBFF;
    border-radius: 0.8rem;
    bottom: auto;
    top: -2rem;
    right: -6.5rem;
  }
}
#flow .pc_flex ol {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: flex-start;
  gap: 2.5rem;
  position: relative;
  z-index: 2;
}
#flow .pc_flex ol li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  position: relative;
}
#flow .pc_flex ol li figure {
  width: 6rem;
}
#flow .pc_flex ol li p {
  flex: 1;
  font-weight: bold;
  color: #1566A1;
  line-height: 1.4;
}
#flow .pc_flex ol li::before {
  content: "";
  background: #ccc;
  width: 1px;
  height: 1.7rem;
  position: absolute;
  left: 3rem;
  bottom: -0.5rem;
  transform: translateY(100%);
}
#flow .pc_flex ol li:last-child::before {
  display: none;
}

/*------------------▲体験レッスンの流れ #flow------------------*/
/*------------------▼スクール紹介 #school------------------*/
#school {
  background: #EEFBFF;
  padding: 5rem 3rem;
  position: relative;
}
@media only screen and (min-width: 769px) {
  #school {
    padding: 8rem 22rem;
  }
}
#school .top_text {
  margin-top: 2.5rem;
  line-height: 1.8;
  font-size: 1.4rem;
  text-align: center;
}
#school .top_text .blue {
  font-weight: bold;
}
#school ul {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
@media only screen and (min-width: 769px) {
  #school ul {
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 2rem;
    align-items: flex-start;
    justify-content: flex-start;
  }
}
#school ul li {
  width: 100%;
}
@media only screen and (min-width: 769px) {
  #school ul li {
    width: calc((100% - 2rem) / 2);
  }
}
#school ul li .title {
  cursor: pointer;
  background: #1566A1;
  color: #fff;
  font-weight: bold;
  border-radius: 0.5rem;
  padding: 1.6rem;
  text-align: center;
  position: relative;
}
#school ul li .title::before {
  content: "";
  background: url(../img/arrow_white.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 1.8rem;
  height: 1.8rem;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
}
#school ul li .title.close {
  border-radius: 0.5rem 0.5rem 0 0;
}
#school ul li .title.close::before {
  transform: translateY(-50%) rotate(-90deg);
}
#school ul li .box {
  display: none;
  background: #fff;
  border: solid 1px #1566A1;
  border-radius: 0 0 0.5rem 0.5rem;
  padding: 2rem;
}
@media only screen and (min-width: 769px) {
  #school ul li .box {
    padding: 3rem 4rem;
  }
}
#school ul li .box .pc_flex .text_wrap {
  flex: 1;
  margin-top: 2rem;
}
#school ul li .box .pc_flex .text_wrap .body_text {
  line-height: 1.5;
}
#school ul li .box .pc_flex .text_wrap .body_text a {
  text-decoration: underline;
}
#school ul li .box .pc_flex .text_wrap iframe {
  width: 29rem;
  height: 16rem;
  margin-top: 1.5rem;
}
#school ul li.open {
  width: 100%;
}
#school ul li.open h3 {
  background: #1566A1;
  color: #fff;
  font-weight: bold;
  padding: 1.6rem;
  text-align: center;
  position: relative;
  border-radius: 0.5rem 0.5rem 0 0 !important;
  width: 100%;
}
#school ul li.open h3::before {
  display: none;
}
#school ul li.open .box {
  display: block !important;
}
@media only screen and (min-width: 769px) {
  #school ul li.open .box {
    padding: 4rem 8rem;
  }
}
@media only screen and (min-width: 769px) {
  #school ul li.open .box .pc_flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3rem;
    align-items: flex-start;
  }
}
@media only screen and (min-width: 769px) {
  #school ul li.open .box .pc_flex picture {
    width: 43.3rem;
  }
}
@media only screen and (min-width: 769px) {
  #school ul li.open .box .pc_flex .text_wrap {
    margin-top: 0;
  }
}

/*------------------▲スクール紹介 //.school------------------*/
/*------------------▼お申し込みフォーム //.form------------------*/
#form {
  padding: 5rem 3rem;
}
@media only screen and (min-width: 769px) {
  #form {
    padding: 8rem 40rem;
  }
}
#form h2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#form h2 .sub {
  font-size: 2rem;
  position: relative;
  display: inline-block;
}
@media only screen and (min-width: 769px) {
  #form h2 .sub {
    font-size: 2.8rem;
  }
}
#form h2 .sub .font-en {
  font-size: 2.8rem;
}
@media only screen and (min-width: 769px) {
  #form h2 .sub .font-en {
    font-size: 3.6rem;
  }
}
#form h2 .sub::before, #form h2 .sub::after {
  content: "";
  display: block;
  width: 0.1rem;
  height: 3rem;
  background: #333;
  transform: rotate(-30deg);
  position: absolute;
  left: -1rem;
  bottom: 0;
}
#form h2 .sub::after {
  left: auto;
  right: -1rem;
  transform: rotate(30deg);
}
#form h2 .main {
  margin-top: 0.5rem;
  font-size: 3.2rem;
  line-height: 1.1;
}
@media only screen and (min-width: 769px) {
  #form h2 .main {
    font-size: 3.6rem;
  }
}
#form .content {
  margin-top: 2.5rem;
}
@media only screen and (min-width: 769px) {
  #form .content {
    margin: 0 auto;
    margin-top: 4rem;
  }
}
#form .content .item {
  margin-top: 2rem;
}
#form .content .item .label {
  font-weight: bold;
  font-size: 1.4rem;
}
@media only screen and (min-width: 769px) {
  #form .content .item .label {
    font-size: 1.6rem;
  }
}
#form .content .item .label .required {
  background: #ea5555;
  color: #fff;
  padding: 0.1rem 0.5rem;
  margin-right: 0.5rem;
  font-size: 1.2rem;
}
@media only screen and (min-width: 769px) {
  #form .content .item .label .required {
    font-size: 1.4rem;
  }
}
#form .content .item .label .non-required {
  background: #aaa;
  color: #fff;
  padding: 0.1rem 0.5rem;
  margin-right: 0.5rem;
  font-size: 1.2rem;
}
@media only screen and (min-width: 769px) {
  #form .content .item .label .non-required {
    font-size: 1.4rem;
  }
}
#form .content .item .input {
  width: 33rem;
  height: 4.5rem;
  display: block;
  border-radius: 0.5rem;
  background-color: #fff;
  border: 0.1rem solid #adadad;
  margin-top: 1.2rem;
  padding: 0 2rem;
  font-size: 1.4rem;
  line-height: 4.5rem;
  text-align: left;
}
@media only screen and (min-width: 769px) {
  #form .content .item .input {
    margin-top: 1.5rem;
    width: 100%;
  }
}
#form .content .item .input::placeholder {
  color: #c5c5c5;
}
#form .content .item .input.message-box {
  width: 33rem;
  height: 15rem;
  padding: 1.5rem;
  line-height: 1.6;
}
@media only screen and (min-width: 769px) {
  #form .content .item .input.message-box {
    width: 100%;
    height: 15.8rem;
  }
}
#form .content .item input::-webkit-date-and-time-value {
  text-align: left;
}
#form .content .item .note {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 1rem;
}
@media only screen and (min-width: 769px) {
  #form .content .item .note {
    font-size: 1.2rem;
  }
}
#form .content .item .note a {
  color: #1c81a1;
}
#form .content .item .radio {
  margin: 1rem 0rem 1.5rem;
}
@media only screen and (min-width: 769px) {
  #form .content .item .radio {
    margin: 1.5rem 40rem;
  }
}
#form .content .item .radio .radio-box {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 0.5rem;
  margin-right: 0.5rem;
  accent-color: #1566A1;
}
@media only screen and (min-width: 769px) {
  #form .content .item .radio .radio-box {
    width: 3rem;
    height: 3rem;
    margin-right: 1.5rem;
  }
}
#form .content .item .radio .woman {
  margin-left: 1rem;
}
@media only screen and (min-width: 769px) {
  #form .content .item .radio .woman {
    margin-left: 2rem;
  }
}
#form .content .select {
  position: relative;
}
#form .content .select::after {
  content: "";
  background: url(../img/triangle.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 1rem;
  height: 1rem;
  position: absolute;
  right: 5rem;
  top: 8rem;
}
@media only screen and (min-width: 769px) {
  #form .content .select::after {
    right: 62rem;
    top: 9.5rem;
  }
}
#form .content .privacy-policy {
  margin-top: 3rem;
}
#form .content .privacy-policy .policy-txt {
  height: 15.8rem;
  overflow-y: scroll;
  background: #f0f0f0;
  border: 0.2rem #adadad solid;
  font-weight: 500;
  padding: 2rem;
  font-size: 1.2rem;
  height: 18rem;
  line-height: 1.5;
}
@media only screen and (min-width: 769px) {
  #form .content .privacy-policy .policy-txt {
    height: 18rem;
  }
}
#form .content .privacy-policy .policy-txt .bold {
  font-weight: bold;
}
#form .content .check {
  margin-top: 2rem;
}
#form .content .check .ECM_CheckboxInput {
  display: flex;
  align-items: center;
  cursor: pointer;
  margin-bottom: 1rem;
}
#form .content .check .ECM_CheckboxInput-Input {
  margin: 0;
  width: 0;
  opacity: 0;
}
#form .content .check .ECM_CheckboxInput:hover > .ECM_CheckboxInput-DummyInput {
  border: solid 0.2rem #adadad;
}
#form .content .check .ECM_CheckboxInput-Input:focus + .ECM_CheckboxInput-DummyInput {
  border: solid 0.2rem #adadad;
}
#form .content .check .ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput {
  border: solid 0.2rem #adadad;
  background: #FFFFFF;
}
#form .content .check .ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hlY2siPjxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPjwvc3ZnPg==") no-repeat center;
  background-size: contain;
}
#form .content .check .ECM_CheckboxInput-DummyInput {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 2rem;
  height: 2rem;
  border: solid 0.2rem #adadad;
  background: #FFFFFF;
  border-radius: 0.5rem;
}
@media only screen and (min-width: 769px) {
  #form .content .check .ECM_CheckboxInput-DummyInput {
    width: 2rem;
    height: 2rem;
  }
}
#form .content .check .ECM_CheckboxInput-LabelText {
  margin-left: 1rem;
  display: block;
  font-size: 1.4rem;
  font-weight: bold;
}
@media only screen and (min-width: 769px) {
  #form .content .check .ECM_CheckboxInput-LabelText {
    margin-left: 1rem;
    font-size: 1.4rem;
  }
}
#form .content .check .note {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 500;
}
@media only screen and (min-width: 769px) {
  #form .content .check .note {
    font-size: 1.2rem;
  }
}
#form .content .form-btn {
  margin: 0 auto;
  margin-top: 2rem;
  display: block;
  background: #31A1F3;
  height: 4.6rem;
  width: 28.6rem;
  border-radius: 9999px;
  color: #fff;
  text-align: center;
  line-height: 4.6rem;
}
@media only screen and (min-width: 769px) {
  #form .content .form-btn {
    height: 5.6rem;
    width: 35rem;
    line-height: 5.6rem;
    font-size: 2rem;
  }
}
#form .content .form-btn:disabled {
  cursor: default;
  opacity: 0.5;
}

/*------------------▲お申し込みフォーム #form------------------*/
/*------------------▼フッター //.footer------------------*/
.footer {
  padding: 3rem 3rem 0rem;
  position: relative;
  background: #ccc;
}
@media only screen and (min-width: 769px) {
  .footer {
    padding: 3rem 32rem 0;
  }
}
.footer--pc-flex--logo figure {
  width: 15rem;
  height: 6rem;
  margin: 0 auto;
  margin-bottom: 1rem;
}
@media only screen and (min-width: 769px) {
  .footer--pc-flex--logo figure {
    width: 17.3rem;
    margin-bottom: 2rem;
  }
}
.footer--pc-flex--list .sns-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  margin-bottom: 2rem;
}
@media only screen and (min-width: 769px) {
  .footer--pc-flex--list .sns-list {
    margin-bottom: 2rem;
  }
}
.footer--pc-flex--list .sns-list figure {
  max-width: 3.2rem;
  max-height: 3.2rem;
}
.footer--pc-flex--list .sns-list .text-link {
  font-size: 1.2rem;
  text-decoration: underline;
}
.footer--pc-flex--list--school-list {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  font-weight: 500;
}
.footer--pc-flex--list .phone-number {
  text-align: center;
  margin-top: 1rem;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1.8;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
.footer--pc-flex--list .email {
  text-align: center;
  margin-top: 1rem;
  font-weight: 500;
  font-size: 1.2rem;
}
.footer .copyright {
  width: 100vw;
  text-align: center;
  font-size: 1rem;
  background: #333;
  color: #fff;
  padding: 1rem 0;
  margin-top: 3rem;
}

/*------------------▲フッター //.footer------------------*/
/*------------------▼サンクスページ //.thanks------------------*/
.thanks {
  padding: 6rem 2rem;
  margin-top: 8rem;
  line-height: 2;
  text-align: center;
  font-size: 1.6rem;
}
@media only screen and (min-width: 769px) {
  .thanks {
    padding: 10rem 0;
    margin-top: 10rem;
    font-size: 1.6rem;
  }
}
.thanks .back_btn {
  display: inline-block;
  background: #3f9ebc;
  width: 12rem;
  height: 4.5rem;
  border-radius: 9999px;
  border: 0.2rem solid #97cfe1;
  text-align: center;
  line-height: 4.2rem;
  color: #fff;
  margin-top: 2rem;
  font-size: 1.6rem;
  font-weight: bold;
}
@media only screen and (min-width: 769px) {
  .thanks .back_btn {
    margin-top: 3rem;
    color: #fff;
    line-height: 4.1rem;
    border: 0.2rem solid #97cfe1;
    font-size: 1.6rem;
    width: 14rem;
    height: 4.5rem;
  }
}

/*------------------▲サンクスページ //.thanks------------------*//*# sourceMappingURL=style.css.map */