@charset "UTF-8";
body {
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  body {
    font-size: 17.6470588235px;
  }
}
body {
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: justify;
  text-justify: inter-ideograph;
  font-family: "Noto Sans JP", sans-serif;
  word-wrap: break-all;
  word-wrap: break-word;
  width: 100%;
  min-width: 1260px;
  color: #0f2931;
  scroll-behavior: smooth;
}

.col-wht {
  color: #fff !important;
}
.col-blk {
  color: #0f2931 !important;
}
.col-main {
  color: #0686a1 !important;
}
.col-sub {
  color: #d01717 !important;
}
.col-accent {
  color: #cc9500 !important;
}
.col-nav {
  color: #1a5867 !important;
}
.col-bdr {
  color: #ddd !important;
}
.col-bg {
  color: #dfe3e4 !important;
}

.bg-wht {
  background-color: #fff !important;
}
.bg-blk {
  background-color: #0f2931 !important;
}
.bg-main {
  background-color: #0686a1 !important;
}
.bg-sub {
  background-color: #d01717 !important;
}
.bg-accent {
  background-color: #cc9500 !important;
}
.bg-nav {
  background-color: #1a5867 !important;
}
.bg-bdr {
  background-color: #ddd !important;
}
.bg-bg {
  background-color: #dfe3e4 !important;
}

.ptn-grid__main {
  background-color: #0686a1;
  background-image: linear-gradient(transparent 95%, #188fa8 50%, #188fa8), linear-gradient(90deg, transparent 95%, #188fa8 50%, #188fa8);
  background-size: 25px 25px;
  background-repeat: repeat;
}
@media screen and (max-width: 768px) {
  .ptn-grid__main {
    background-color: #0686a1;
    background-image: linear-gradient(transparent 95%, #188fa8 50%, #188fa8), linear-gradient(90deg, transparent 95%, #188fa8 50%, #188fa8);
    background-size: 15px 15px;
    background-repeat: repeat;
  }
}
.ptn-grid__bg {
  background-color: #dfe3e4;
  background-image: linear-gradient(transparent 95%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4)), linear-gradient(90deg, transparent 95%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4));
  background-size: 25px 25px;
  background-repeat: repeat;
}
@media screen and (max-width: 768px) {
  .ptn-grid__bg {
    background-color: #dfe3e4;
    background-image: linear-gradient(transparent 95%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4)), linear-gradient(90deg, transparent 95%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4));
    background-size: 15px 15px;
    background-repeat: repeat;
  }
}

.btn-01__link, .btn-02__link {
  font-family: "Zen Kaku Gothic New", system-ui;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #d01717;
  font-size: 27px;
  font-size: 2.7rem;
}
@media screen and (max-width: 768px) {
  .btn-01__link, .btn-02__link {
    font-size: 37px;
    font-size: 4.8177083333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .btn-01__link, .btn-02__link {
    font-size: 21.7647058824px;
  }
}
.btn-01__link, .btn-02__link {
  color: #fff;
}
.btn-01__link:hover, .btn-02__link:hover {
  color: rgba(255, 255, 255, 0.8);
}
.btn-02__link {
  background: #cc9500;
}

.side-bar {
  font-family: "Zen Kaku Gothic New", system-ui;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 77;
}
.side-bar__contact, .side-bar__totop {
  width: 100%;
}
.side-bar__contact-link, .side-bar__totop-link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.side-bar__contact-link {
  height: 290px;
  background: #d01717;
  color: #fff;
}
.side-bar__contact-link:hover {
  color: rgba(255, 255, 255, 0.8);
}
.side-bar__contact-txt {
  font-size: 25px;
  font-size: 2.5rem;
}
@media screen and (max-width: 768px) {
  .side-bar__contact-txt {
    font-size: 35px;
    font-size: 4.5572916667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .side-bar__contact-txt {
    font-size: 20.5882352941px;
  }
}
.side-bar__contact-txt {
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
}
.side-bar__totop-link {
  aspect-ratio: 1/1;
  background: #fff;
}

.ic-ball {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 10px;
}
.ic-ball::before {
  content: "";
  display: block;
  width: 27px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-ball.png");
  background-size: 100%;
}
.ic-mail, .ic-line {
  display: flex;
  align-items: center;
  -moz-column-gap: 24px;
       column-gap: 24px;
}
.ic-mail::before, .ic-line::before {
  content: "";
  display: block;
  width: 36px;
  aspect-ratio: 36/27;
  background-image: url("/img/common/ic-mail.png");
  background-size: 100%;
}
.ic-line::before {
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-line.png");
}

.arw-wht {
  position: relative;
}
.arw-wht::after {
  content: "";
  display: block;
  width: 13px;
  aspect-ratio: 13/20;
  background-image: url("/img/common/arw-wht.png");
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
  transition: 0.3s;
}
.arw-wht:hover::after {
  transform: translate(-2px, -50%);
}
.arw-wht-flx {
  display: flex;
  align-items: center;
  -moz-column-gap: 15px;
       column-gap: 15px;
}
.arw-wht-flx::after {
  content: "";
  display: block;
  width: 13px;
  min-width: 13px;
  aspect-ratio: 13/20;
  background-image: url("/img/common/arw-wht.png");
  background-size: 100%;
  transform: rotate(90deg);
  transition: 0.3s;
}
.arw-wht-flx:hover::after {
  transform: translateY(2px) rotate(90deg);
}

.corner-top, .corner-btm {
  width: 100%;
  display: flex;
  justify-content: space-between;
  position: absolute;
  left: 0;
  z-index: 1;
}
.corner-top::before, .corner-top::after, .corner-btm::before, .corner-btm::after {
  content: "";
  display: block;
  width: 100px;
  aspect-ratio: 1/1;
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  background: #0686a1;
}
.corner-top {
  top: 0;
}
.corner-top::after {
  clip-path: polygon(100% 0, 0 0, 100% 100%);
}
.corner-btm {
  bottom: 0;
}
.corner-btm::before {
  clip-path: polygon(0 0, 0 100%, 100% 100%);
}
.corner-btm::after {
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
}

.base-1 {
  position: relative;
  z-index: 2;
}
.base-1::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  clip-path: polygon(0 0, 100% 340px, 100% 100%, 0% 100%);
  background-color: #0686a1;
  background-image: linear-gradient(transparent 95%, #188fa8 50%, #188fa8), linear-gradient(90deg, transparent 95%, #188fa8 50%, #188fa8);
  background-size: 25px 25px;
  background-repeat: repeat;
}
@media screen and (max-width: 768px) {
  .base-1::before {
    background-color: #0686a1;
    background-image: linear-gradient(transparent 95%, #188fa8 50%, #188fa8), linear-gradient(90deg, transparent 95%, #188fa8 50%, #188fa8);
    background-size: 15px 15px;
    background-repeat: repeat;
  }
}
.base-1::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.base-1::after {
  content: "";
  display: block;
  width: 1062px;
  max-width: 55.3125%;
  height: 200px;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  background: #1a5867;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(150px);
  z-index: -2;
}
.base-2 {
  position: relative;
  z-index: 2;
}
.base-2::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  clip-path: polygon(0 325px, 100% 0, 100% calc(100% - 325px), 0% 100%);
  background-color: #0686a1;
  background-image: linear-gradient(transparent 95%, #188fa8 50%, #188fa8), linear-gradient(90deg, transparent 95%, #188fa8 50%, #188fa8);
  background-size: 25px 25px;
  background-repeat: repeat;
}
@media screen and (max-width: 768px) {
  .base-2::before {
    background-color: #0686a1;
    background-image: linear-gradient(transparent 95%, #188fa8 50%, #188fa8), linear-gradient(90deg, transparent 95%, #188fa8 50%, #188fa8);
    background-size: 15px 15px;
    background-repeat: repeat;
  }
}
.base-2::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.base-2::after {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 300px);
  clip-path: polygon(0 0, 100% 180px, 100% 100%, 0 calc(100% - 180px));
  background: #1a5867;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: -2;
}
.base-3 {
  position: relative;
  z-index: 2;
}
.base-3::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  clip-path: polygon(0 0, 100% 325px, 100% 100%, 0 calc(100% - 325px));
  background-color: #0686a1;
  background-image: linear-gradient(transparent 95%, #188fa8 50%, #188fa8), linear-gradient(90deg, transparent 95%, #188fa8 50%, #188fa8);
  background-size: 25px 25px;
  background-repeat: repeat;
}
@media screen and (max-width: 768px) {
  .base-3::before {
    background-color: #0686a1;
    background-image: linear-gradient(transparent 95%, #188fa8 50%, #188fa8), linear-gradient(90deg, transparent 95%, #188fa8 50%, #188fa8);
    background-size: 15px 15px;
    background-repeat: repeat;
  }
}
.base-3::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.base-3::after {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 300px);
  clip-path: polygon(0 325px, 100% 0, 100% calc(100% - 325px), 0 100%);
  background: #1a5867;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: -2;
}

.obj-ball::before {
  content: "";
  display: block;
  width: 423px;
  max-width: 22.03125%;
  aspect-ratio: 423/570;
  background-image: url("/img/common/obj-ball.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  transform: translateY(-45%);
  z-index: -3;
}
.obj-player {
  position: relative;
  z-index: 1;
}
.obj-player::after {
  content: "";
  display: block;
  width: 320px;
  aspect-ratio: 320/553;
  background-image: url("/img/common/obj-player.png");
  background-size: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}

.hov-opa a:hover {
  opacity: 0.8;
}
.hov-img a:hover img {
  opacity: 0.8;
}
.hov-scale a img, .hov-up a img, .hov-rt a img {
  backface-visibility: hidden;
  -webkit-transform: translateZ(0) scale(1, 1);
}
.hov-scale a:hover img, .hov-up a:hover img, .hov-rt a:hover img {
  transform: scale(0.98);
}
.hov-up a:hover img {
  transform: translateY(-3px);
}
.hov-rt a:hover {
  transform: translateX(3px);
}

[class^=tbl-] {
  width: 100%;
}
[class^=tbl-] td {
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

.tbl-01 {
  background: #fff;
  border: solid 2px #0f2931;
}
.tbl-01 th, .tbl-01 td {
  padding: 25px 4%;
  vertical-align: middle;
}
.tbl-01 th {
  width: 30%;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .tbl-01 th {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .tbl-01 th {
    font-size: 17.6470588235px;
  }
}
.tbl-01 th {
  font-weight: bold;
  background: #0f2931;
  color: #fff;
}
.tbl-01 td {
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .tbl-01 td {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .tbl-01 td {
    font-size: 16.4705882353px;
  }
}
.tbl-01 td {
  font-weight: 600;
}
.tbl-01 tr:not(:first-child) th {
  border-top: solid 2px #fff;
}
.tbl-01 tr:not(:first-child) td {
  border-top: solid 2px #0f2931;
}
.tbl-02 th, .tbl-02 td {
  vertical-align: middle;
}
.tbl-02 th {
  width: 20%;
  padding: 15px 0;
  border-bottom: solid 3px #0686a1;
  font-weight: bold;
}
.tbl-02 td {
  padding: 15px 4%;
  border-bottom: solid 3px #ddd;
  font-weight: 500;
  white-space: pre-wrap;
}

[class^=cts-] {
  margin: 0 auto;
}

.cts-1080 {
  width: 100%;
  max-width: 1080px;
}
.cts-1280 {
  width: 100%;
  max-width: 1280px;
}

.layout-clm-2 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.layout-clm-2 .list-item,
.layout-clm-2 .layout-item {
  width: calc((100% - 40px) / 2);
}
.layout-clm-2-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.layout-clm-2-c .list-item,
.layout-clm-2-c .layout-item {
  width: calc((100% - 40px) / 2);
}
.layout-clm-3 {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.layout-clm-3 .list-item,
.layout-clm-3 .layout-item {
  width: calc((100% - 60px) / 3);
}
.layout-clm-3-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}
.layout-clm-3-c .list-item,
.layout-clm-3-c .layout-item {
  width: calc((100% - 60px) / 3);
}
.layout-clm-4 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.layout-clm-4 .list-item,
.layout-clm-4 .layout-item {
  width: calc((100% - 120px) / 4);
}
.layout-clm-4-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.layout-clm-4-c .list-item,
.layout-clm-4-c .layout-item {
  width: calc((100% - 120px) / 4);
}

.list-blog .list-item, .list-news .list-item, .list-privacy .list-item, .list-about_school .list-reason .list-item, .list-01 .list-item, .list-sq .list-class .list-item {
  width: 100%;
}
.list-new {
  row-gap: 40px;
}
.list-new__img {
  width: 100%;
  aspect-ratio: 340/250;
  background: #fff;
}
.list-new__ttl {
  font-family: "Zen Kaku Gothic New", system-ui;
  color: #fff;
  margin-top: 15px;
  transition: 0.3s;
}
.list-new__link:hover .list-new__ttl {
  color: rgba(255, 255, 255, 0.8);
}
.list-class__img {
  width: 100%;
  aspect-ratio: 520/180;
}
.list-class__ttl, .list-class__txt {
  font-family: "Zen Kaku Gothic New", system-ui;
  font-size: 23px;
  font-size: 2.3rem;
}
@media screen and (max-width: 768px) {
  .list-class__ttl, .list-class__txt {
    font-size: 33px;
    font-size: 4.296875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-class__ttl, .list-class__txt {
    font-size: 19.4117647059px;
  }
}
.list-class__ttl {
  margin-top: 15px;
}
.list-news__item {
  background: #fff;
  border-left: solid 5px #0686a1;
}
.list-news__link {
  padding: 20px 30px;
  display: flex;
  align-items: flex-end;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
.list-news__bx {
  display: grid;
  row-gap: 10px;
}
.list-news .time {
  font-family: "Oswald", sans-serif;
  font-size: 22px;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .list-news .time {
    font-size: 32px;
    font-size: 4.1666666667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-news .time {
    font-size: 18.8235294118px;
  }
}
.list-news .time {
  line-height: 1;
  font-style: italic;
  display: flex;
  flex-direction: column;
  row-gap: 8px;
}
.list-news .time-year {
  font-size: 27px;
  font-size: 2.7rem;
}
@media screen and (max-width: 768px) {
  .list-news .time-year {
    font-size: 37px;
    font-size: 4.8177083333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-news .time-year {
    font-size: 21.7647058824px;
  }
}
.list-bnr__item {
  width: 515px;
  max-width: 100%;
  background: #fff;
  border: solid 3px #0686a1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: 20px;
  align-items: center;
  padding: 40px;
}
.list-bnr__logo {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 15px;
       column-gap: 15px;
}
.list-bnr__txt {
  line-height: 1.6;
  font-weight: bold;
}
.list-about_school__item {
  display: grid;
  row-gap: 15px;
}
.list-about_school__ttl {
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .list-about_school__ttl {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-about_school__ttl {
    font-size: 20px;
  }
}
.list-about_school__ttl {
  font-weight: bold;
}
.list-about_school__sub {
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .list-about_school__sub {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-about_school__sub {
    font-size: 16.4705882353px;
  }
}
.list-about_school__sub {
  font-weight: bold;
  opacity: 0.8;
  display: flex;
}
.list-about_school__sub::before {
  content: "・";
  display: block;
}
.list-about_school__txt {
  font-size: 15px;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .list-about_school__txt {
    font-size: 25px;
    font-size: 3.2552083333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-about_school__txt {
    font-size: 14.7058823529px;
  }
}
.list-about_school__txt {
  line-height: 1.6;
  letter-spacing: 0;
  font-weight: 500;
  color: #868990;
}
.list-activity__item {
  aspect-ratio: 340/250;
}
.list-reason__num {
  font-family: "Oswald", sans-serif;
  font-size: 145px;
  font-size: 14.5rem;
}
@media screen and (max-width: 768px) {
  .list-reason__num {
    font-size: 155px;
    font-size: 20.1822916667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-reason__num {
    font-size: 91.1764705882px;
  }
}
.list-reason__num {
  line-height: 1;
  letter-spacing: 0;
  font-style: italic;
}
.list-reason__bx {
  width: 890px;
  max-width: 100%;
  border: solid 2px;
  position: relative;
  z-index: 1;
}
.list-reason__txt {
  font-family: "Zen Kaku Gothic New", system-ui;
  font-size: 32px;
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .list-reason__txt {
    font-size: 42px;
    font-size: 5.46875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-reason__txt {
    font-size: 24.7058823529px;
  }
}
.list-reason__txt {
  text-align: center;
  padding: 20px 15px;
}
.list-reason .corner-top::before, .list-reason .corner-top::after, .list-reason .corner-btm::before, .list-reason .corner-btm::after {
  width: 20px;
}
.list-reason__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.list-reason__item:first-child {
  color: #1a5867;
}
.list-reason__item:first-child .corner-top::before, .list-reason__item:first-child .corner-top::after, .list-reason__item:first-child .corner-btm::before, .list-reason__item:first-child .corner-btm::after {
  background: #1a5867;
}
.list-reason__item:nth-child(2) {
  color: #d01717;
}
.list-reason__item:nth-child(2) .corner-top::before, .list-reason__item:nth-child(2) .corner-top::after, .list-reason__item:nth-child(2) .corner-btm::before, .list-reason__item:nth-child(2) .corner-btm::after {
  background: #d01717;
}
.list-reason__item:last-child {
  color: #cc9500;
}
.list-reason__item:last-child .corner-top::before, .list-reason__item:last-child .corner-top::after, .list-reason__item:last-child .corner-btm::before, .list-reason__item:last-child .corner-btm::after {
  background: #cc9500;
}
.list-01__txt {
  line-height: 1.6666666667;
}
.list-01__bx:not(:first-child) {
  border-top: solid 2px #0686a1;
  padding-top: 30px;
  margin-top: 30px;
}
.list-select__link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  background: #d01717;
  color: #fff;
  padding: 20px 30px;
}
.list-select__link:hover {
  color: rgba(255, 255, 255, 0.8);
}
.list-class-lower__item {
  background: #dfe3e4;
  padding: 30px 80px 60px 80px;
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}
.list-class-lower__item .com-base {
  padding: 40px;
}
.list-class-lower .ttl-bar {
  font-size: 35px;
  font-size: 3.5rem;
}
@media screen and (max-width: 768px) {
  .list-class-lower .ttl-bar {
    font-size: 45px;
    font-size: 5.859375vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-class-lower .ttl-bar {
    font-size: 26.4705882353px;
  }
}
.list-class-lower .list-img__item {
  aspect-ratio: 440/300;
}
.list-sq__item {
  display: flex;
  align-items: flex-start;
}
.list-sq__ttl {
  width: 25%;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .list-sq__ttl {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-sq__ttl {
    font-size: 17.6470588235px;
  }
}
.list-sq__data {
  width: calc(75% - 10px);
  white-space: pre-wrap;
}
.list-coach {
  row-gap: 40px;
}
.list-coach__img {
  width: 100%;
  aspect-ratio: 330/300;
  overflow: hidden;
}
.list-coach__ttl, .list-coach__eng {
  font-family: "Zen Kaku Gothic New", system-ui;
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .list-coach__ttl, .list-coach__eng {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-coach__ttl, .list-coach__eng {
    font-size: 20px;
  }
}
.list-coach__ttl, .list-coach__eng {
  color: #0686a1;
}
.list-coach__ttl {
  margin-top: 20px;
}

.com-gmap {
  max-width: 100%;
}
.com-gmap iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
}
.com-layout {
  display: flex;
}
.com-tel .tel {
  font-family: "Oswald", sans-serif;
  line-height: 1;
}
.com-frame {
  position: relative;
  z-index: 1;
  padding-top: 120px;
  padding-bottom: 120px;
  background-color: rgba(26, 88, 103, 0.85);
  outline: solid 1px #fff;
  outline-offset: -10px;
}

.tag-main__list {
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .tag-main__list {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .tag-main__list {
    font-size: 16.4705882353px;
  }
}
.tag-main__list {
  font-weight: 500;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
}
.tag-main__link {
  display: block;
  background: #cc9500;
  color: #fff;
  padding: 10px 20px;
}
.tag-main__link:hover {
  opacity: 0.8;
}
.tag-sub__list {
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .tag-sub__list {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .tag-sub__list {
    font-size: 16.4705882353px;
  }
}
.tag-sub__list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 15px;
}
.tag-sub__item {
  line-height: 1;
  display: flex;
  align-items: center;
  -moz-column-gap: 5px;
       column-gap: 5px;
  color: #cc9500;
}
.tag-sub__item::before {
  content: "";
  display: block;
  width: 16px;
  aspect-ratio: 16/15;
  background-image: url("/img/common//ic-tag.png");
  background-size: 100%;
}

.ttl-main {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.ttl-main__eng, .ttl-main__ruby {
  letter-spacing: 0.05em;
}
.ttl-main__eng {
  font-family: "Oswald", sans-serif;
  font-size: 142px;
  font-size: 14.2rem;
}
@media screen and (max-width: 768px) {
  .ttl-main__eng {
    font-size: 152px;
    font-size: 19.7916666667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main__eng {
    font-size: 89.4117647059px;
  }
}
.ttl-main__eng {
  line-height: 1;
  text-transform: uppercase;
  font-style: italic;
  color: #0686a1;
}
.ttl-main__ruby {
  font-family: "Zen Kaku Gothic New", system-ui;
  font-size: 47px;
  font-size: 4.7rem;
}
@media screen and (max-width: 768px) {
  .ttl-main__ruby {
    font-size: 57px;
    font-size: 7.421875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main__ruby {
    font-size: 33.5294117647px;
  }
}
.ttl-sidebar {
  font-family: "Zen Kaku Gothic New", system-ui;
  position: relative;
  padding-left: 10px;
}
.ttl-sidebar::before {
  content: "";
  display: block;
  width: 3px;
  height: 70%;
  background: #0686a1;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.ttl-bar {
  font-family: "Zen Kaku Gothic New", system-ui;
  background: #0686a1;
  color: #fff;
  padding: 20px;
}
.ttl-sq {
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 10px;
       column-gap: 10px;
  color: #0686a1;
}
.ttl-sq::before {
  content: "■";
}
.ttl-sub {
  font-family: "Zen Kaku Gothic New", system-ui;
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .ttl-sub {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-sub {
    font-size: 20px;
  }
}
.ttl-sub {
  font-weight: 600;
  background: rgba(221, 221, 221, 0.3);
  border-left: solid #0686a1 6px;
  border-bottom: solid 1px #ddd;
  padding: 10px 20px 15px 20px;
  margin-bottom: 30px;
}

.txt-plain {
  line-height: 1.4;
}
.txt-plain.ft-18 {
  line-height: 2.0555555556;
}
.txt-plain.ft-19 {
  line-height: 1.8421052632;
}

#ctn-top .header-bar {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}

#ctn-lower #header {
  background-color: #0686a1;
  background-image: linear-gradient(transparent 95%, #188fa8 50%, #188fa8), linear-gradient(90deg, transparent 95%, #188fa8 50%, #188fa8);
  background-size: 25px 25px;
  background-repeat: repeat;
}
@media screen and (max-width: 768px) {
  #ctn-lower #header {
    background-color: #0686a1;
    background-image: linear-gradient(transparent 95%, #188fa8 50%, #188fa8), linear-gradient(90deg, transparent 95%, #188fa8 50%, #188fa8);
    background-size: 15px 15px;
    background-repeat: repeat;
  }
}
#ctn-lower #header {
  padding-bottom: 65px;
  position: relative;
  z-index: 2;
}
#ctn-lower #header::before, #ctn-lower #header::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
#ctn-lower #header::before {
  clip-path: polygon(0 0, 100% 45%, 100% 100%, 0 100%);
  background: #1a5867;
  z-index: -2;
}
#ctn-lower #header::after {
  clip-path: polygon(85% 0%, 100% 0, 100% 100%, 0 100%, 0 40%);
  background-color: #3392a0;
  background-image: linear-gradient(transparent 95%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.1)), linear-gradient(90deg, transparent 95%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.1));
  background-size: 25px 25px;
  background-repeat: repeat;
  z-index: -1;
}

#header {
  position: relative;
  z-index: 1;
}
#header .com-tel .tel {
  display: block;
  background: #0686a1;
  color: #fff;
  padding: 12px 20px;
  border: solid 2px #fff;
}

.header-bar {
  width: 100%;
  padding: 40px 3.13%;
}

.header-nav__list {
  font-family: "Zen Kaku Gothic New", system-ui;
  font-size: 23px;
  font-size: 2.3rem;
}
@media screen and (max-width: 768px) {
  .header-nav__list {
    font-size: 33px;
    font-size: 4.296875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .header-nav__list {
    font-size: 19.4117647059px;
  }
}
.header-nav__list {
  display: flex;
  justify-content: center;
  -moz-column-gap: 30px;
       column-gap: 30px;
}
.header-nav__item {
  line-height: 1;
}
.header-nav__link {
  color: #fff;
}
.header-nav__link:hover {
  opacity: 0.8;
}

.mv, .sv {
  position: relative;
  z-index: 1;
}
.mv img, .sv img {
  display: block;
  width: 100%;
}

.mv-cc {
  color: #fff;
  display: flex;
  flex-direction: column;
  row-gap: 1.5vw;
  position: absolute;
  bottom: 0;
  left: 3.65%;
  transform: translateY(-42%);
  z-index: 2;
}
.mv-cc__main-txt, .mv-cc__sub-txt {
  line-height: 1;
}
.mv-cc__main {
  font-family: "Oswald", sans-serif;
  font-size: 142px;
  font-size: 7.3958333333vw;
}
@media screen and (max-width: 1120px) {
  .mv-cc__main {
    font-size: 83.5294117647px;
  }
}
@media screen and (min-width: 1920px) {
  .mv-cc__main {
    font-size: 142px;
  }
}
.mv-cc__main {
  font-style: italic;
}
.mv-cc__main-txt {
  text-shadow: 0px 0px 21px rgba(24, 99, 112, 0.2);
  letter-spacing: 0.05em;
}
.mv-cc__main-txt:nth-child(2) {
  transform: translateX(17%);
}
.mv-cc__main-txt:last-child {
  transform: translateX(22%);
}
.mv-cc__sub {
  font-family: "Zen Kaku Gothic New", system-ui;
  font-size: 40px;
  font-size: 2.0833333333vw;
}
@media screen and (max-width: 1120px) {
  .mv-cc__sub {
    font-size: 23.5294117647px;
  }
}
@media screen and (min-width: 1920px) {
  .mv-cc__sub {
    font-size: 40px;
  }
}
.mv-cc__sub {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 0.8vw;
}
.mv-cc__sub-txt {
  background: #0686a1;
  padding: 10px 15px;
}
.mv::before, .mv::after {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1920/334;
  background-image: url("/img/top/mv-frame.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.mv::after {
  top: inherit;
  bottom: 0;
  transform: translateY(1px) scale(-1);
}

.sv-img {
  width: 1790px;
  max-width: 93.2291666667%;
  margin: 0 auto;
}
.sv-ttl {
  font-family: "Zen Kaku Gothic New", system-ui;
  width: 700px;
  max-width: 36.4583333333%;
  aspect-ratio: 700/80;
  font-size: 45px;
  font-size: 2.34375vw;
}
@media screen and (max-width: 1120px) {
  .sv-ttl {
    font-size: 26.4705882353px;
  }
}
@media screen and (min-width: 1920px) {
  .sv-ttl {
    font-size: 45px;
  }
}
.sv-ttl {
  background: #0686a1;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

@media screen and (max-width: 1500px) {
  .header-bar {
    padding: 40px 2.13%;
  }
  .header-bar .com-logo {
    width: 210px;
    max-width: 100%;
  }
  .header-bar .com-tel .tel {
    font-size: 28px;
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 1500px) and (max-width: 768px) {
  .header-bar .com-tel .tel {
    font-size: 38px;
    font-size: 4.9479166667vw;
  }
}
@media screen and (max-width: 1500px) and (max-width: 768px) and (min-width: 539px) {
  .header-bar .com-tel .tel {
    font-size: 22.3529411765px;
  }
}
@media screen and (max-width: 1500px) {
  .header-bar .com-tel .tel span {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 1500px) and (max-width: 768px) {
  .header-bar .com-tel .tel span {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 1500px) and (max-width: 768px) and (min-width: 539px) {
  .header-bar .com-tel .tel span {
    font-size: 20px;
  }
}
@media screen and (max-width: 1500px) {
  .header-nav__list {
    font-size: 18px;
    font-size: 1.8rem;
    -moz-column-gap: 20px;
         column-gap: 20px;
  }
}
@media screen and (max-width: 1500px) and (max-width: 768px) {
  .header-nav__list {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 1500px) and (max-width: 768px) and (min-width: 539px) {
  .header-nav__list {
    font-size: 16.4705882353px;
  }
}
#ctn-top {
  position: relative;
  z-index: 1;
}
#ctn-top::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("/img/top/bg-field.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

.top-new, .top-class, .top-menu_contact, .top-activity, .top-about_school {
  background-color: #fff;
}
.top-new .ttl-main__eng, .top-new .ttl-main__ruby, .top-about .ttl-main__eng, .top-about .ttl-main__ruby {
  color: #fff;
}
.top-class .ttl-main, .top-about .ttl-main, .top-menu .ttl-main {
  align-items: center;
  text-align: center;
}
.top-new .cts-1080, .top-activity .cts-1080 {
  position: relative;
  z-index: 1;
}
.top-new .btn, .top-activity .btn {
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(130px);
  z-index: 1;
}

.top-class {
  padding: 260px 0 90px 0;
}
.top-class .cts-1280 {
  padding-top: 190px;
  padding-bottom: 70px;
}
.top-class .ttl-main {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-55%);
}
.top-class .ttl-main__eng {
  background: #fff;
  padding: 0 70px;
}
.top-class .obj-illust {
  position: relative;
  z-index: 1;
}
.top-class .obj-illust::after {
  content: "";
  display: block;
  width: 550px;
  aspect-ratio: 550/680;
  background-image: url("/img/top/class-obj.png");
  background-size: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(390px, 155px);
  z-index: -1;
}

.top-new {
  padding: 280px 0 150px 0;
}
.top-new .ttl-main {
  margin-bottom: 60px;
}

.top-about {
  padding: 150px 0 0;
}
.top-about .ttl-main {
  margin-bottom: 45px;
}
.top-about .btn {
  margin-top: 65px;
}
.top-about .eng {
  margin-top: 110px;
}
.top-about .wrp-youtube {
  margin-top: 85px;
}
.top-about .wrp-youtube .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.top-about .wrp-youtube .youtube iframe {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.top-menu {
  padding: 350px 0 80px 0;
  margin-top: -190px;
  background: url("/img/top/menu-bg.png") right top no-repeat;
  background-size: 29.69%;
}
.top-menu .ttl-main {
  margin-bottom: -7px;
}
.top-menu .ttl-main__eng {
  font-size: 140px;
  font-size: 14rem;
}
@media screen and (max-width: 768px) {
  .top-menu .ttl-main__eng {
    font-size: 150px;
    font-size: 19.53125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-menu .ttl-main__eng {
    font-size: 88.2352941176px;
  }
}
.top-menu .ttl-main__eng {
  transition: 0.3s;
}
.top-menu .ttl-main__ruby {
  background: #0686a1;
  color: #fff;
  padding: 0 20px;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%);
  z-index: 1;
}
.top-menu .bnr {
  width: 605px;
  max-width: 100%;
  position: relative;
}
.top-menu .bnr-link:hover .ttl-main__eng {
  transform: translateY(-5px);
}

.top-activity {
  padding: 60px 0 180px 0;
}
.top-activity .ttl-main {
  margin-bottom: 60px;
}
.top-activity .obj-player::after {
  transform: translate(-370px, 180px);
}

.top-news {
  padding: 140px 0;
}
.top-news .cts-1080 {
  min-height: 350px;
}
.top-news .btn {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}

.top-link {
  background: url("/img/top/link-bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 150px 0;
}
.top-link .corner-top::before, .top-link .corner-top::after, .top-link .corner-btm::before, .top-link .corner-btm::after {
  width: 372px;
  max-width: 19.375%;
  aspect-ratio: 372/120;
}
.top-link::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(26, 88, 103, 0.65);
  background-image: linear-gradient(transparent 95%, rgba(255, 255, 255, 0.05) 50%, rgba(255, 255, 255, 0.05)), linear-gradient(90deg, transparent 95%, rgba(255, 255, 255, 0.05) 50%, rgba(255, 255, 255, 0.05));
  background-size: 25px 25px;
  background-repeat: repeat;
}
@media screen and (max-width: 768px) {
  .top-link::before {
    background-color: rgba(26, 88, 103, 0.65);
    background-image: linear-gradient(transparent 95%, rgba(255, 255, 255, 0.05) 50%, rgba(255, 255, 255, 0.05)), linear-gradient(90deg, transparent 95%, rgba(255, 255, 255, 0.05) 50%, rgba(255, 255, 255, 0.05));
    background-size: 15px 15px;
    background-repeat: repeat;
  }
}
.top-link::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}

.top-about_school {
  padding: 140px 0;
}
.top-about_school .about_school__ttl {
  margin-bottom: 30px;
}
.top-about_school .wrp-scroll {
  width: 100%;
  height: 250px;
  overflow-y: scroll;
  border: solid 1px #ddd;
  padding: 20px;
}
.top-about_school .acroll-area {
  width: 100%;
  height: 100%;
}

.top-contact {
  padding: 300px 0 320px 0;
}

#ctn-lower section {
  padding: 100px 0;
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  #ctn-lower section {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  #ctn-lower section {
    font-size: 16.4705882353px;
  }
}
#ctn-lower section .txt-plain {
  line-height: 2;
}
#ctn-lower .ttl-main {
  align-items: center;
  text-align: center;
  margin-bottom: 50px;
}
#ctn-lower .base-1 {
  padding-top: 330px;
}
#ctn-lower .base-3 {
  padding: 330px 0 430px 0;
}
#ctn-lower .com-frame .corner-top::before, #ctn-lower .com-frame .corner-top::after, #ctn-lower .com-frame .corner-btm::before, #ctn-lower .com-frame .corner-btm::after {
  background: #1a5867;
}
#ctn-lower .obj-player::after {
  left: 0;
  transform: translate(-370px, 100px);
}
#ctn-lower .obj-ball::before {
  right: 0;
  transform: translateY(-45%) scaleX(-1);
}

.lower-freetrial .com-frame {
  background: url("/img/about/freetrial-logo.png") center center no-repeat;
  background-size: auto;
  background-color: rgba(26, 88, 103, 0.85);
}
.lower-freetrial .ttl-main__ruby {
  font-size: 70px;
  font-size: 7rem;
}
@media screen and (max-width: 768px) {
  .lower-freetrial .ttl-main__ruby {
    font-size: 80px;
    font-size: 10.4166666667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .lower-freetrial .ttl-main__ruby {
    font-size: 47.0588235294px;
  }
}

.lower-detail .cts-1080 {
  display: flex;
  flex-direction: column;
  row-gap: 40px;
}

#com-contact .ttl-main {
  align-items: center;
  text-align: center;
  margin-bottom: 50px;
}
#com-contact .wrp-btn {
  margin-top: 50px;
}
#com-contact .obj-ball::before {
  left: 0;
}

#footer {
  padding: 120px 0 100px 0;
  color: #fff;
}
#footer a {
  color: #fff;
}
#footer .list-sns {
  margin-top: 45px;
}

.footer-nav__item {
  line-height: 1;
}
.footer-nav__link:hover {
  opacity: 0.8;
}
.footer-nav__list {
  font-family: "Zen Kaku Gothic New", system-ui;
}
.footer-nav__list:first-child {
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: 190px 130px;
  grid-template-rows: repeat(4, auto);
  gap: 30px 45px;
}
.footer-nav__list:last-child {
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .footer-nav__list:last-child {
    font-size: 26px;
    font-size: 3.3854166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .footer-nav__list:last-child {
    font-size: 15.2941176471px;
  }
}
.footer-nav__list:last-child {
  font-weight: 500;
  display: flex;
  justify-content: flex-end;
  -moz-column-gap: 20px;
       column-gap: 20px;
  margin-top: 80px;
}
.footer-nav__list:last-child .footer-nav__item:not(:first-child) {
  border-left: solid 2px #fff;
  padding-left: 20px;
}

.footer-copy {
  font-family: "Zen Kaku Gothic New", system-ui;
  margin-top: 80px;
}/*# sourceMappingURL=style.css.map */