.sp_header {
  position: fixed;
  top: 0.1rem;
  right: 0.1rem;
  left: 0.1rem;
  z-index: 9000;
  border-radius: 0.32rem;
  box-shadow: -0.38rem 2.76rem 1.12rem rgba(0, 0, 0, 0.01), -0.21rem 1.55rem 0.94rem rgba(0, 0, 0, 0.05), -0.09rem 0.69rem 0.7rem rgba(0, 0, 0, 0.09), -0.02rem 0.17rem 0.38rem rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 768px) {
  .sp_header {
    display: none;
  }
}
.sp_header .prepend {
  display: flex;
  justify-content: space-between;
  padding: 0 0 0 0.32rem;
  background: #F9F9F9;
  border-radius: 0.32rem;
}
.sp_header .branding {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 1.47rem;
  padding: 0.12rem 0;
  position: relative;
  z-index: 1;
}
.sp_header .branding .text {
  font-size: 0.09rem;
  line-height: 1;
  text-align: right;
}
.sp_header .branding .logo {
  font-size: 1px;
  line-height: 1;
}
.sp_header .btn--menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.08rem;
  width: 0.64rem;
  aspect-ratio: 1;
  position: relative;
  z-index: 1;
  background: #54B4E7;
  border-radius: 0 0.32rem 0.32rem 0;
}
.sp_header .btn--menu input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.sp_header .btn--menu::before, .sp_header .btn--menu::after {
  content: "";
  display: block;
  width: 0.24rem;
  height: 0.02rem;
  background: #fff;
  transition: transform 0.4s;
  transform-origin: 50% 50%;
}
.sp_header .btn--menu:has(input:checked) {
  border-radius: 0 0.32rem 0 0;
}
.sp_header .btn--menu:has(input:checked)::before {
  transform: translate3d(0, 0.05rem, 0) rotate(45deg);
}
.sp_header .btn--menu:has(input:checked)::after {
  transform: translate3d(0, -0.05rem, 0) rotate(-45deg);
}
.sp_header .nav {
  display: none;
  box-sizing: border-box;
  width: 100%;
  height: calc(100dvh - 0.2rem);
  padding: 0.98rem 0.32rem 0.52rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #F9F9F9;
  border-radius: 0.32rem;
  box-shadow: -0.38rem 2.76rem 1.12rem rgba(0, 0, 0, 0.01), -0.21rem 1.55rem 0.94rem rgba(0, 0, 0, 0.05), -0.09rem 0.69rem 0.7rem rgba(0, 0, 0, 0.09), -0.02rem 0.17rem 0.38rem rgba(0, 0, 0, 0.1);
}
.sp_header .nav .inner {
  width: auto;
  height: 100%;
  overflow-y: scroll;
}
.sp_header .nav .btn--reserve {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  height: 0.56rem;
  margin: 0 0 0.08rem;
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1.2222222222;
}
.sp_header .nav .btn--reserve .small {
  display: block;
  font-size: 0.12rem;
  font-weight: 400;
  line-height: 2;
}
.sp_header .nav .btn--reserve::before, .sp_header .nav .btn--reserve::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  z-index: -1;
  border-radius: 0.28rem;
  box-shadow: inset 0 0 0 0.02rem #229EE0;
}
.sp_header .nav .btn--reserve::before {
  top: 0.08rem;
  background: #BFDFF0;
}
.sp_header .nav .btn--reserve::after {
  top: 0;
  background: #229EE0;
}
.sp_header .nav .tel {
  margin: 0.24rem 0 0;
}
.sp_header .nav .tel .num {
  display: block;
  width: 2.26rem;
  margin: 0 auto;
  font-size: 1px;
  line-height: 1;
}
.sp_header .nav .tel .text {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.14rem;
  line-height: 1.5714285714;
}
.sp_header .nav .tel .text .en {
  font-family: "Work Sans", sans-serif;
  font-size: 0.16rem;
  line-height: 1.75;
}
.sp_header .nav .gNav {
  margin: 0.24rem 0 0;
  border-top: 0.02rem solid #54B4E7;
  font-size: 0.16rem;
  font-weight: 700;
  line-height: 1.375;
}
.sp_header .nav .gNav li + li {
  margin: 0.24rem 0 0;
}
.sp_header .nav .gNav .process,
.sp_header .nav .gNav .plan {
  margin: 0;
  border-bottom: 0.02rem solid #54B4E7;
  padding: 0.24rem 0.08rem;
  position: relative;
}
.sp_header .nav .gNav .process > a,
.sp_header .nav .gNav .plan > a {
  color: #54B4E7;
}
.sp_header .nav .gNav .process label,
.sp_header .nav .gNav .plan label {
  display: grid;
  width: 0.16rem;
  aspect-ratio: 1;
  position: absolute;
  top: 0.26rem;
  right: 0;
}
.sp_header .nav .gNav .process label input,
.sp_header .nav .gNav .plan label input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.sp_header .nav .gNav .process label::before, .sp_header .nav .gNav .process label::after,
.sp_header .nav .gNav .plan label::before,
.sp_header .nav .gNav .plan label::after {
  grid-area: 1/1;
  align-self: center;
  justify-self: center;
  content: "";
  display: block;
  background: #54B4E7;
}
.sp_header .nav .gNav .process label::before,
.sp_header .nav .gNav .plan label::before {
  width: 0.16rem;
  height: 0.02rem;
}
.sp_header .nav .gNav .process label::after,
.sp_header .nav .gNav .plan label::after {
  width: 0.02rem;
  height: 0.16rem;
  transition: transform 0.4s;
}
.sp_header .nav .gNav .process label:has(input:checked)::after,
.sp_header .nav .gNav .plan label:has(input:checked)::after {
  transform: scale(1, 0);
}
.sp_header .nav .gNav .process .child,
.sp_header .nav .gNav .plan .child {
  display: none;
}
.sp_header .nav .gNav .process ul,
.sp_header .nav .gNav .plan ul {
  margin: 0.16rem 0 0;
  padding: 0.16rem 0.08rem;
  background: #fff;
  border-radius: 0.08rem;
  font-size: 0.14rem;
  font-weight: 500;
  line-height: 1.8571428571;
}
.sp_header .nav .gNav .process ul li + li,
.sp_header .nav .gNav .plan ul li + li {
  margin: 0.12rem 0 0;
}

.pc_header {
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;
  width: auto;
  max-width: none;
  min-width: 0;
  position: fixed;
  top: 0.32rem;
  right: 0.32rem;
  left: 0.32rem;
  z-index: 9000;
  padding: 0.16rem 0.24rem 0.16rem 0.4rem;
  background: #F9F9F9;
  border-radius: 0.41rem;
  box-shadow: -0.38rem 2.76rem 1.12rem rgba(0, 0, 0, 0.01), -0.21rem 1.55rem 0.94rem rgba(0, 0, 0, 0.05), -0.09rem 0.69rem 0.7rem rgba(0, 0, 0, 0.09), -0.02rem 0.17rem 0.38rem rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .pc_header {
    display: none;
  }
}
.pc_header .branding {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 1.92rem;
}
.pc_header .branding .text {
  font-size: 0.1rem;
  line-height: 1;
  text-align: right;
}
.pc_header .branding .logo {
  font-size: 1px;
  line-height: 1;
}
.pc_header .nav {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: auto auto;
  gap: 0.04rem 0.32rem;
}
@media screen and (max-width: 767px) {
  .pc_header .nav {
    display: block;
  }
}
.pc_header .nav .tel {
  grid-row: 1/2;
  grid-column: 1/2;
  justify-self: flex-end;
  display: flex;
  align-items: center;
  gap: 0.16rem;
}
.pc_header .nav .tel .num {
  width: 1.94rem;
  font-size: 1px;
  line-height: 1;
}
.pc_header .nav .tel .text {
  font-size: 0.1rem;
  line-height: 2.2;
}
.pc_header .nav .gNav {
  grid-row: 2/3;
  grid-column: 1/2;
  display: flex;
  gap: 0.48rem;
  font-size: 0.14rem;
  line-height: 1.5714285714;
}
@media screen and (max-width: 767px) {
  .pc_header .nav .gNav {
    display: block;
  }
}
.pc_header .nav .btn--reserve {
  grid-row: 1/3;
  grid-column: 2/3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 2rem;
  height: 0.51rem;
  margin: 0 0 0.07rem;
  position: relative;
  color: #fff;
  font-size: 0.16rem;
  font-weight: 700;
  line-height: 1.375;
}
.pc_header .nav .btn--reserve .small {
  display: block;
  font-size: 0.1rem;
  font-weight: 400;
  line-height: 2.2;
}
.pc_header .nav .btn--reserve::before, .pc_header .nav .btn--reserve::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  z-index: -1;
  border-radius: 0.25rem;
  box-shadow: inset 0 0 0 0.02rem #229EE0;
}
.pc_header .nav .btn--reserve::before {
  top: 0.05rem;
  background: #BFDFF0;
}
.pc_header .nav .btn--reserve::after {
  top: 0;
  background: linear-gradient(90deg, #fff 50%, #229EE0 50%) 100% 0/200% 100% no-repeat;
}
@media screen and (hover: hover) and (pointer: fine) {
  .pc_header .nav .btn--reserve {
    transition: color 0.4s;
  }
  .pc_header .nav .btn--reserve::after {
    transition: background-position 0.4s;
  }
  .pc_header .nav .btn--reserve:hover {
    color: #229EE0;
  }
  .pc_header .nav .btn--reserve:hover::after {
    background-position: 0 0;
  }
}

.gFooter {
  padding: 0.32rem;
  background: none;
}
.gFooter .inner {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: auto auto;
  padding: 0.56rem;
  background: #fff;
  border-radius: 0.48rem;
  box-shadow: -0.38rem 2.76rem 1.12rem rgba(0, 0, 0, 0.01), -0.21rem 1.55rem 0.94rem rgba(0, 0, 0, 0.05), -0.09rem 0.69rem 0.7rem rgba(0, 0, 0, 0.09), -0.02rem 0.17rem 0.38rem rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .gFooter .inner {
    display: block;
    box-sizing: border-box;
    width: 3.25rem;
    margin: 0 auto;
    padding: 0.56rem 0.24rem;
    border-radius: 0.32rem;
  }
}
.gFooter .prepend {
  grid-row: 1/2;
  grid-column: 1/3;
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: auto auto;
}
@media screen and (max-width: 767px) {
  .gFooter .prepend {
    display: block;
  }
}
.gFooter .prepend .address {
  grid-row: 1/2;
  grid-column: 1/2;
  display: flex;
  align-items: center;
  gap: 0.24rem;
}
@media screen and (max-width: 767px) {
  .gFooter .prepend .address {
    display: block;
  }
}
.gFooter .prepend .address .logo {
  width: 2.72rem;
  font-size: 1px;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .gFooter .prepend .address .logo {
    width: 2.32rem;
    margin: 0 auto;
  }
}
.gFooter .prepend .address .text {
  font-size: 0.14rem;
  line-height: 22/14;
}
@media screen and (max-width: 767px) {
  .gFooter .prepend .address .text {
    margin: 0.08rem auto 0;
    font-size: 0.12rem;
    line-height: 18/12;
    text-align: center;
  }
}
.gFooter .prepend .sns {
  grid-row: 2/3;
  grid-column: 1/2;
  align-self: flex-end;
  display: flex;
  gap: 0.24rem;
  font-size: 1px;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .gFooter .prepend .sns {
    justify-content: center;
    margin: 0.24rem 0 0;
  }
}
.gFooter .prepend .sns li {
  width: 0.32rem;
}
@media screen and (max-width: 767px) {
  .gFooter .prepend .sns li {
    width: 0.24rem;
  }
}
.gFooter .prepend .tel {
  grid-row: 1/2;
  grid-column: 2/3;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.16rem;
}
@media screen and (max-width: 767px) {
  .gFooter .prepend .tel {
    display: block;
    margin: 0.32rem 0 0;
  }
}
.gFooter .prepend .tel a {
  display: block;
  width: 2.14rem;
  font-size: 1px;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .gFooter .prepend .tel a {
    width: 2.26rem;
    margin: 0 auto;
  }
}
.gFooter .prepend .tel a img {
  width: 100%;
}
.gFooter .prepend .tel .text {
  display: flex;
  align-items: center;
  gap: 0.04rem;
  font-size: 0.16rem;
  line-height: 1.375;
}
@media screen and (max-width: 767px) {
  .gFooter .prepend .tel .text {
    justify-content: center;
    font-size: 0.14rem;
    line-height: 1.5714285714;
  }
}
.gFooter .prepend .tel .text .num {
  font-family: "Work Sans", sans-serif;
  font-size: 0.18rem;
  font-weight: 400;
  line-height: 1.2222222222;
}
@media screen and (max-width: 767px) {
  .gFooter .prepend .tel .text .num {
    font-size: 0.16rem;
    line-height: 1.75;
  }
}
.gFooter .prepend .contact {
  grid-row: 2/3;
  grid-column: 2/3;
  display: flex;
  justify-content: flex-end;
  gap: 0 0.24rem;
}
@media screen and (max-width: 767px) {
  .gFooter .prepend .contact {
    display: block;
    margin: 0.16rem 0 0;
  }
}
.gFooter .prepend .contact .btn--line,
.gFooter .prepend .contact .btn--mail {
  color: #fff;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1.2222222222;
}
.gFooter .prepend .contact .btn--line {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  width: 2.35rem;
  height: 0.56rem;
  padding: 0 0 0 0.8rem;
  background: #4CC764 url(../imgs/ico-line.svg) 0.25rem 50%/0.48rem auto no-repeat;
  border-radius: 0.28rem;
}
@media screen and (max-width: 767px) {
  .gFooter .prepend .contact .btn--line {
    width: auto;
    height: 0.64rem;
    padding: 0 0 0 0.96rem;
    background-position: 0.44rem 50%;
    border-radius: 0.32rem;
  }
}
.gFooter .prepend .contact .btn--mail {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.04rem;
  box-sizing: border-box;
  width: 2.9rem;
  height: 0.5rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .gFooter .prepend .contact .btn--mail {
    gap: 0.08rem;
    width: auto;
    height: 0.7rem;
    margin: 0.16rem 0 0.07rem;
    font-size: 0.16rem;
    line-height: 1.25;
  }
}
.gFooter .prepend .contact .btn--mail i {
  display: block;
  width: 0.4rem;
  aspect-ratio: 1;
  position: relative;
  background: url(../imgs/ico-mail2.svg) 0 0/0.4rem auto no-repeat;
}
@media screen and (max-width: 767px) {
  .gFooter .prepend .contact .btn--mail i {
    width: 0.32rem;
    background-size: 0.32rem auto;
  }
}
.gFooter .prepend .contact .btn--mail::before, .gFooter .prepend .contact .btn--mail::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  z-index: -1;
  border-radius: 0.25rem;
  box-shadow: inset 0 0 0 0.02rem #229EE0;
}
@media screen and (max-width: 767px) {
  .gFooter .prepend .contact .btn--mail::before, .gFooter .prepend .contact .btn--mail::after {
    border-radius: 0.35rem;
  }
}
.gFooter .prepend .contact .btn--mail::before {
  top: 0.06rem;
  background: #BFDFF0;
}
@media screen and (max-width: 767px) {
  .gFooter .prepend .contact .btn--mail::before {
    top: 0.07rem;
  }
}
.gFooter .prepend .contact .btn--mail::after {
  top: 0;
  background: linear-gradient(90deg, #fff 50%, #229EE0 50%) 100% 0/200% 100% no-repeat;
}
@media screen and (hover: hover) and (pointer: fine) {
  .gFooter .prepend .contact .btn--mail {
    transition: color 0.4s;
  }
  .gFooter .prepend .contact .btn--mail::after {
    transition: background-position 0.4s;
  }
  .gFooter .prepend .contact .btn--mail:hover {
    color: #229EE0;
  }
  .gFooter .prepend .contact .btn--mail:hover i {
    background-image: url(../imgs/ico-mail2_r.svg);
  }
  .gFooter .prepend .contact .btn--mail:hover::after {
    background-position: 0 0;
  }
}
.gFooter .body {
  grid-row: 2/3;
  grid-column: 1/3;
  display: flex;
  gap: 0.56rem;
  margin: 0.4rem 0 0;
  border-top: 1px solid #D9D9D9;
  padding: 0.4rem 0 0;
}
@media screen and (max-width: 767px) {
  .gFooter .body {
    display: none;
  }
}
.gFooter .body a {
  color: inherit;
}
.gFooter .body dl dt {
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1.2222222222;
}
.gFooter .body dl dt + dd {
  margin-top: 0.16rem;
}
.gFooter .body dl dd {
  margin: 0.08rem 0 0 0.16rem;
  font-size: 0.16rem;
  line-height: 1.75;
}
.gFooter .body ul li {
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1.2222222222;
}
.gFooter .body ul li + li {
  margin: 0.24rem 0 0;
}
.gFooter .append {
  grid-row: 2/3;
  grid-column: 2/3;
  align-self: flex-end;
  justify-self: flex-end;
}
@media screen and (max-width: 767px) {
  .gFooter .append {
    margin: 0.4rem 0 0;
  }
}
.gFooter .append .copyright {
  font-size: 0.12rem;
  font-weight: 500;
  line-height: 1.4166666667;
}
@media screen and (max-width: 767px) {
  .gFooter .append .copyright {
    line-height: 1.6666666667;
  }
}

@media screen and (max-width: 767px) {
  .main {
    padding: 0;
  }
}
.main .ttl--01 {
  padding: 0.8rem 0 0;
  background: 50% 0 no-repeat;
  font-size: 0.34rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.0588235294;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main .ttl--01 {
    padding: 0.64rem 0 0;
    font-size: 0.25rem;
    line-height: 1.08;
  }
}
.main .reason .ttl,
.main .equipment .ttl,
.main .onlineMeeting .ttl {
  background-image: url(../imgs/top/char01.svg);
  background-size: 0.59rem auto;
}
@media screen and (max-width: 767px) {
  .main .reason .ttl,
.main .equipment .ttl,
.main .onlineMeeting .ttl {
    background-size: 0.44rem auto;
  }
}
.main .course .ttl,
.main .gallery .ttl,
.main .accessInfo .ttl {
  background-image: url(../imgs/top/char02.svg);
  background-size: 0.62rem auto;
}
@media screen and (max-width: 767px) {
  .main .course .ttl,
.main .gallery .ttl,
.main .accessInfo .ttl {
    background-size: 0.53rem auto;
  }
}
.main .plan .ttl,
.main .voice .ttl,
.main .qa .ttl {
  background-image: url(../imgs/top/char03.svg);
  background-size: 0.57rem auto;
}
@media screen and (max-width: 767px) {
  .main .plan .ttl,
.main .voice .ttl,
.main .qa .ttl {
    background-size: 0.49rem auto;
  }
}
.main .support .ttl,
.main .seminar .ttl {
  background-image: url(../imgs/top/char04.svg);
  background-size: 0.55rem auto;
}
@media screen and (max-width: 767px) {
  .main .support .ttl,
.main .seminar .ttl {
    background-size: 0.48rem auto;
  }
}
.main .mv {
  position: relative;
}
@media screen and (max-width: 767px) {
  .main .mv {
    overflow: hidden;
  }
}
.main .mv .bg {
  border-radius: 0 0 1.04rem 1.04rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .main .mv .bg {
    border-radius: 0 0 0.56rem 0.56rem;
  }
}
.main .mv .bg img {
  width: 100%;
  height: 9rem;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 0;
     object-position: 50% 0;
}
@media screen and (max-width: 767px) {
  .main .mv .bg img {
    height: auto;
  }
}
.main .mv .catch {
  width: 0.75rem;
  position: absolute;
  top: 2.05rem;
  right: calc(50% + 3.14rem);
}
@media screen and (max-width: 767px) {
  .main .mv .catch {
    width: 0.48rem;
    top: 0.94rem;
    right: auto;
    left: 0.28rem;
  }
  .main .mv .catch img {
    width: 100%;
  }
}
.main .mv .point {
  box-sizing: border-box;
  width: 2.64rem;
  padding: 0.78rem 0 0;
  aspect-ratio: 1;
  position: absolute;
  top: 2.04rem;
  left: calc(50% + 2.68rem);
  border-radius: 50%;
  color: #fff;
  background-blend-mode: multiply;
  box-shadow: 0 0.04rem 0.04rem rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
  .main .mv .point {
    width: 2.28rem;
    padding: 0.42rem 0 0;
    top: 0.55rem;
    left: 1.8rem;
  }
}
.main .mv .point::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #54B4E7;
  border-radius: 50%;
  mix-blend-mode: multiply;
}
.main .mv .point .badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.12rem;
  aspect-ratio: 1;
  position: absolute;
  top: -0.4rem;
  right: 0;
  background: #F385A1;
  border-radius: 50%;
  font-size: 0.14rem;
  font-weight: 700;
  line-height: 1.3571428571;
  text-align: center;
  box-shadow: 0 0.04rem 0.04rem rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
  .main .mv .point .badge {
    width: 0.93rem;
    top: 0.4rem;
    right: auto;
    left: -0.415rem;
    font-size: 0.12rem;
    line-height: 1.1666666667;
  }
}
.main .mv .point .text {
  position: relative;
  text-align: center;
}
.main .mv .point .text--01 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0.04rem 0.08rem;
  background: #fff;
  border-radius: 0.08rem;
  color: #54B4E7;
  font-size: 0.19rem;
  font-weight: 700;
  line-height: 0.2rem;
}
@media screen and (max-width: 767px) {
  .main .mv .point .text--01 {
    padding: 0.02rem 0.06rem 0.03rem;
    font-size: 0.12rem;
    font-weight: 700;
    line-height: 0.2rem;
  }
}
.main .mv .point .text--02 {
  margin: 0.12rem 0 0;
  font-size: 0.22rem;
  font-weight: 700;
  line-height: 1.0909090909;
}
@media screen and (max-width: 767px) {
  .main .mv .point .text--02 {
    font-size: 0.2rem;
    line-height: 1.3;
  }
}
.main .mv .point .text--03 {
  margin: 0.08rem 0 0;
  font-size: 0.14rem;
  font-weight: 500;
  line-height: 1.8571428571;
}
@media screen and (max-width: 767px) {
  .main .mv .point .text--03 {
    font-size: 0.12rem;
    line-height: 1.5;
  }
}
.main .mv .btn--line {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  width: 4.8rem;
  height: 0.64rem;
  padding: 0 0 0 1.84rem;
  position: absolute;
  top: 6rem;
  left: calc(50% - 2.4rem);
  background: #4CC764 url(../imgs/ico-line.svg) 1.2rem 50%/0.4rem auto no-repeat;
  border-radius: 0.32rem;
  color: #fff;
  font-size: 0.24rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .main .mv .btn--line {
    display: flex;
    width: 3.25rem;
    margin: 0;
    padding: 0 0 0 1.25rem;
    position: absolute;
    top: 4.48rem;
    left: 0.25rem;
    background-position: 0.69rem 50%;
    background-size: 0.48rem auto;
    font-size: 0.18rem;
  }
}
.main .medal {
  margin: -1.04rem 0 0;
  padding: 0.56rem 0 1.04rem;
  position: relative;
  background: #F9F9F9;
  border-radius: 1.04rem 1.04rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .medal {
    width: 3.25rem;
    margin: -0.56rem auto 0;
    padding: 0.49rem 0.026rem 0.64rem;
    border-radius: 0.56rem 0.56rem 0 0;
  }
}
.main .medal .catch {
  width: 5.14rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .main .medal .catch {
    width: 2.01rem;
  }
}
.main .medal .list {
  display: flex;
  justify-content: center;
  gap: 0.2rem;
  margin: 0.4rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .medal .list {
    flex-wrap: wrap;
    gap: 0.08rem;
    margin: 0.32rem 0 0;
  }
}
.main .medal .list li {
  width: 1.35rem;
}
@media screen and (max-width: 767px) {
  .main .medal .list li {
    width: calc((100% - 0.16rem) / 3);
  }
}
.main .info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.32rem 0.82rem;
  background: #fff;
  border-radius: 1.28rem;
}
@media screen and (max-width: 767px) {
  .main .info {
    display: block;
    width: 3.25rem;
    margin: 0 auto;
    padding: 0.32rem 0.25rem;
    border-radius: 0.56rem;
  }
}
.main .info .ttl {
  font-size: 0.28rem;
  font-weight: 700;
  line-height: 1.4285714286;
}
@media screen and (max-width: 767px) {
  .main .info .ttl {
    font-size: 0.2rem;
    line-height: 1.5;
  }
}
.main .info .list {
  width: 7.55rem;
}
@media screen and (max-width: 767px) {
  .main .info .list {
    width: auto;
    margin: 0.24rem 0 0;
  }
}
.main .info .list li {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .main .info .list li {
    display: block;
  }
}
.main .info .list li + li {
  margin: 0.08rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .info .list li + li {
    margin: 0.15rem 0 0;
  }
}
.main .info .list li .text {
  width: 6.32rem;
}
@media screen and (max-width: 767px) {
  .main .info .list li .text {
    width: auto;
  }
}
.main .reason {
  padding: 1.44rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .reason {
    padding: 0.64rem 0;
  }
}
.main .reason .sttl {
  color: #54B4E7;
  font-size: 0.28rem;
  font-weight: 700;
  line-height: 1.4285714286;
}
@media screen and (max-width: 767px) {
  .main .reason .sttl {
    font-size: 0.2rem;
    line-height: 1.5;
  }
}
.main .reason .sub--01 {
  max-width: 13.66rem;
  box-sizing: border-box;
  height: 6.88rem;
  margin: 0.64rem auto 0;
  padding: 1.04rem 0 0;
  border-radius: 0 0 1.04rem 1.04rem;
  background: url(../imgs/top/bg01.jpg) 50% 0/cover no-repeat;
}
@media screen and (max-width: 767px) {
  .main .reason .sub--01 {
    height: 7.45rem;
    margin: 0.4rem 0 0;
    padding: 0.64rem 0 0;
    border-radius: 0.56rem;
    background-image: url(../imgs/top/bg01_sp@2x.jpg);
  }
}
.main .reason .sub--01 .image {
  width: 4.58rem;
}
@media screen and (max-width: 767px) {
  .main .reason .sub--01 .image {
    width: 3.28rem;
    margin: 0 auto;
  }
}
.main .reason .sub--01 .text {
  width: 4.58rem;
  margin: 0.24rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .reason .sub--01 .text {
    width: 3.28rem;
    margin: 0.24rem auto 0;
  }
}
.main .reason .sub--01 .text .sttl {
  text-align: center;
}
.main .reason .sub--01 .text p {
  margin: 0.16rem 0 0;
}
.main .reason .sub--02 {
  box-sizing: border-box;
  height: 6.3rem;
  padding: 1.24rem 0 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .main .reason .sub--02 {
    height: auto;
    padding: 0.64rem 0 0;
    background: url(../imgs/top/bg02_sp.svg) 100% -0.08rem/2.8rem auto no-repeat;
  }
}
.main .reason .sub--02::before {
  content: "";
  display: block;
  width: 5.84rem;
  height: 6.3rem;
  position: absolute;
  top: 0;
  left: calc(50% - 1rem);
  background: url(../imgs/top/bg02.svg) 0 0/contain no-repeat;
  opacity: 0.2;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 767px) {
  .main .reason .sub--02::before {
    content: none;
  }
}
.main .reason .sub--02 .wrap {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 767px) {
  .main .reason .sub--02 .wrap {
    display: block;
  }
}
.main .reason .sub--02 .text {
  width: 2.8rem;
}
@media screen and (max-width: 767px) {
  .main .reason .sub--02 .text {
    width: 3.25rem;
    margin: 0 auto;
  }
}
.main .reason .sub--02 .text p {
  margin: 0.16rem 0 0;
}
.main .reason .sub--02 .image {
  width: 7.2rem;
  border-radius: 0.16rem;
  overflow: hidden;
  box-shadow: 0 0.04rem 0.04rem rgba(0, 0, 0, 0.25), 0 0.14rem 0.3rem rgba(0, 0, 0, 0.1), 0 0.55rem 0.55rem rgba(0, 0, 0, 0.09);
}
@media screen and (max-width: 767px) {
  .main .reason .sub--02 .image {
    width: 3.25rem;
    margin: 0.32rem auto 0;
    border-radius: 0.07rem;
  }
}
.main .course {
  max-width: 13.66rem;
  margin: 0 auto;
  padding: 1.04rem 0 1.44rem;
  background: #fff;
  border-radius: 1.04rem;
}
@media screen and (max-width: 767px) {
  .main .course {
    padding: 0.56rem 0;
    border-radius: 0.56rem;
  }
}
.main .course .list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.02rem;
  margin: 0.64rem 0 0;
  border-radius: 0.32rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .main .course .list {
    width: 3.25rem;
    margin: 0.4rem auto 0;
    border-radius: 0.16rem;
  }
}
.main .course .list .item:nth-child(-n+2) {
  width: 5.39rem;
}
@media screen and (max-width: 767px) {
  .main .course .list .item:nth-child(-n+2) {
    width: calc(50% - 0.01rem);
  }
}
.main .course .list .item:nth-child(-n+2) .text {
  display: flex;
  gap: 0.08rem;
}
@media screen and (max-width: 767px) {
  .main .course .list .item:nth-child(-n+2) .text {
    display: block;
  }
}
.main .course .list .item:nth-child(n+3) {
  width: 3.58rem;
}
@media screen and (max-width: 767px) {
  .main .course .list .item:nth-child(n+3) {
    width: calc(50% - 0.01rem);
  }
}
.main .course .list .item--08 .text .en {
  display: block;
  margin: 0.08rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .course .list .item--08 .text .en {
    margin: 0.04rem 0 0;
    padding: 0 0.08rem;
    border-radius: 0.1rem;
    font-size: 0.11rem;
    line-height: 0.19rem;
  }
}
.main .course .list a {
  display: grid;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main .course .list a .image img {
    transition: transform 0.4s;
  }
  .main .course .list a:hover .image img {
    transform: scale(1.1);
  }
}
.main .course .list .image {
  grid-area: 1/1;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .main .course .list .image img {
    width: 100%;
  }
}
.main .course .list .text {
  grid-area: 1/1;
  align-self: center;
  justify-self: center;
  padding: 0.08rem 0.16rem;
  position: relative;
  background: #54B4E7;
  border-radius: 0.08rem;
  color: #fff;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1.2222222222;
}
@media screen and (max-width: 767px) {
  .main .course .list .text {
    padding: 0.06rem 0.08rem 0.08rem;
    font-size: 0.14rem;
    line-height: 1.2307692308;
  }
}
.main .course .list .text .en {
  padding: 0 0.16rem;
  background: #fff;
  border-radius: 0.11rem;
  color: #54B4E7;
  font-family: "Work Sans", sans-serif;
  font-size: 0.14rem;
  line-height: 0.22rem;
}
@media screen and (max-width: 767px) {
  .main .course .list .text .en {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0.04rem auto 0;
    padding: 0 0.16rem;
    border-radius: 0.08rem;
    font-size: 0.12rem;
    line-height: 0.17rem;
  }
}
.main .course .btn--detail {
  margin-top: 0.64rem;
}
@media screen and (max-width: 767px) {
  .main .course .btn--detail {
    margin-top: 0.4rem;
  }
}
.main .plan {
  margin: 1.04rem 0 1.44rem;
}
@media screen and (max-width: 767px) {
  .main .plan {
    margin: 0.64rem 0;
  }
}
.main .plan .catch {
  display: flex;
  align-items: center;
  gap: 0 0.4rem;
  margin: 0.4rem 0 0;
  color: #229EE0;
  font-size: 0.28rem;
  font-weight: 700;
  line-height: 1.4285714286;
}
@media screen and (max-width: 767px) {
  .main .plan .catch {
    gap: 0 0.16rem;
    margin: 0.4rem 0 0;
    font-size: 0.2rem;
    line-height: 1.5;
  }
}
.main .plan .catch strong {
  font-family: "Work Sans", sans-serif;
  font-size: 0.42rem;
  font-weight: 500;
  line-height: 0.8571428571;
}
@media screen and (max-width: 767px) {
  .main .plan .catch strong {
    font-size: 0.28rem;
    line-height: 1.2857142857;
  }
}
.main .plan .catch::before, .main .plan .catch::after {
  content: "";
  flex-grow: 1;
  display: block;
  height: 0.02rem;
  background: currentColor;
}
.main .plan .list {
  display: flex;
  justify-content: space-between;
  margin: 0.4rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .plan .list {
    flex-wrap: wrap;
    width: 3.44rem;
    margin: 0.32rem auto 0;
    gap: 0.32rem 0;
  }
}
.main .plan .list .item {
  width: 1.96rem;
}
@media screen and (max-width: 767px) {
  .main .plan .list .item {
    width: 1.6rem;
  }
}
.main .plan .list .item--01 .image img {
  width: 0.59rem;
}
@media screen and (max-width: 767px) {
  .main .plan .list .item--01 .image img {
    width: 0.42rem;
  }
}
.main .plan .list .item--02 .image img {
  width: 0.75rem;
}
@media screen and (max-width: 767px) {
  .main .plan .list .item--02 .image img {
    width: 0.53rem;
  }
}
.main .plan .list .item--03 .image img {
  width: 0.75rem;
}
@media screen and (max-width: 767px) {
  .main .plan .list .item--03 .image img {
    width: 0.53rem;
  }
}
.main .plan .list .item--04 .image img {
  width: 0.6rem;
}
@media screen and (max-width: 767px) {
  .main .plan .list .item--04 .image img {
    width: 0.43rem;
  }
}
.main .plan .list .item--05 .image img {
  width: 0.74rem;
}
@media screen and (max-width: 767px) {
  .main .plan .list .item--05 .image img {
    width: 0.54rem;
  }
}
.main .plan .list .image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.44rem;
  aspect-ratio: 1/1;
  margin: 0 auto;
  position: relative;
  background: #E8F0F5;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .main .plan .list .image {
    width: 1.04rem;
  }
}
.main .plan .list .text {
  text-align: center;
}
.main .plan .list .catch {
  display: block;
  margin: 0.24rem 0 0;
  color: inherit;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1.2222222222;
}
@media screen and (max-width: 767px) {
  .main .plan .list .catch {
    margin: 0.08rem 0 0;
    font-size: 0.14rem;
    line-height: 1.8571428571;
  }
}
.main .plan .list .catch::before, .main .plan .list .catch::after {
  content: none;
}
.main .plan .list .name {
  margin: 0.08rem 0 0;
  color: #54B4E7;
  font-size: 0.28rem;
  font-weight: 700;
  line-height: 1.4285714286;
}
@media screen and (max-width: 767px) {
  .main .plan .list .name {
    margin: 0;
    font-size: 0.2rem;
    line-height: 1.5;
  }
}
.main .plan .list .limited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.64rem;
  height: 0.24rem;
  margin: 0.08rem 0 0;
  background: #54B4E7;
  border-radius: 0.04rem;
  color: #fff;
  font-size: 0.14rem;
  letter-spacing: 0;
  line-height: 1;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .main .plan .list .limited {
    width: 0.56rem;
    height: 0.2rem;
    font-size: 0.12rem;
  }
}
@media screen and (max-width: 767px) {
  .main .plan .btn--detail {
    margin-top: 0.4rem;
  }
}
.main .support {
  max-width: 13.66rem;
  margin: 0 auto;
  padding: 1.04rem 0 0;
  background: #E8F0F5;
  border-radius: 1.04rem 1.04rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .support {
    padding: 0.64rem 0 0;
    background: #E8F0F5;
    border-radius: 0.56rem 0.56rem 0 0;
  }
}
.main .support .ttl + .sub {
  margin-top: 0.56rem;
}
@media screen and (max-width: 767px) {
  .main .support .ttl + .sub {
    margin-top: 0.4rem;
  }
}
.main .support .sub {
  display: grid;
  margin: 0.48rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .support .sub {
    display: block;
    width: 3.25rem;
    margin: 0.48rem auto 0;
  }
}
.main .support .sub .image {
  grid-area: 1/1;
  width: 9.1rem;
  border-radius: 0.16rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .main .support .sub .image {
    width: auto;
  }
}
.main .support .sub .text {
  grid-area: 1/1;
  align-self: center;
  box-sizing: border-box;
  width: 3.48rem;
  padding: 0.4rem 0.48rem;
  background: #fff;
  border-radius: 0.08rem;
}
@media screen and (max-width: 767px) {
  .main .support .sub .text {
    width: 2.95rem;
    margin: -0.24rem auto 0;
    padding: 0.24rem;
    position: relative;
  }
}
.main .support .sub .text .sttl {
  color: #54B4E7;
  font-size: 0.28rem;
  font-weight: 700;
  line-height: 1.4285714286;
}
@media screen and (max-width: 767px) {
  .main .support .sub .text .sttl {
    font-size: 0.2rem;
    line-height: 1.5;
  }
}
.main .support .sub .text p {
  margin: 0.24rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .support .sub .text p {
    margin: 0.08rem 0 0;
  }
}
.main .support .sub:nth-of-type(odd) .image {
  justify-self: flex-start;
}
.main .support .sub:nth-of-type(odd) .text {
  justify-self: flex-end;
}
.main .support .sub:nth-of-type(even) .image {
  justify-self: flex-end;
}
.main .support .sub:nth-of-type(even) .text {
  justify-self: flex-start;
}
.main .equipment {
  max-width: 13.66rem;
  margin: 0 auto;
  padding: 0.96rem 0 1.44rem;
  background: #E8F0F5;
  border-radius: 0 0 1.04rem 1.04rem;
}
@media screen and (max-width: 767px) {
  .main .equipment {
    padding: 0.64rem 0;
    border-radius: 0 0 0.56rem 0.56rem;
  }
}
.main .equipment .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.4rem;
  margin: 0.56rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .equipment .list {
    gap: 0.4rem 0.2rem;
    width: 3.25rem;
    margin: 0.48rem auto 0;
  }
}
.main .equipment .list .item {
  width: 4.4rem;
}
@media screen and (max-width: 767px) {
  .main .equipment .list .item {
    width: calc(50% - 0.1rem);
  }
}
.main .equipment .list .item .image {
  border-radius: 0.08rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .main .equipment .list .item .image img {
    width: 100%;
  }
}
.main .equipment .list .item .text {
  margin: 0.24rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .equipment .list .item .text {
    margin: 0.16rem 0 0;
  }
}
.main .equipment .list .item .text .name {
  color: #54B4E7;
  font-size: 0.28rem;
  font-weight: 700;
  line-height: 1.4285714286;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main .equipment .list .item .text .name {
    font-size: 0.16rem;
    line-height: 1.25;
  }
}
.main .equipment .list .item .text p {
  margin: 0.16rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .equipment .list .item .text p {
    margin: 0.08rem 0 0;
  }
}
.main .gallery {
  padding: 1.28rem 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .main .gallery {
    padding: 0.64rem 0;
  }
}
.main .gallery p {
  margin: 0.24rem 0 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main .gallery p {
    width: 3.25rem;
    margin: 0.24rem auto 0;
  }
}
.main .gallery .slider {
  width: 9.52rem;
  margin: 0.48rem auto 0;
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .main .gallery .slider {
    width: 3.16rem;
    margin: 0.4rem auto 0;
  }
}
.main .gallery .slider .slide {
  box-sizing: border-box;
  padding: 0 0.16rem;
}
@media screen and (max-width: 767px) {
  .main .gallery .slider .slide {
    padding: 0 0.08rem;
  }
}
.main .gallery .slider .slide img {
  border-radius: 1.04rem;
}
@media screen and (max-width: 767px) {
  .main .gallery .slider .slide img {
    border-radius: 0.56rem;
  }
}
.main .gallery .slider .pager {
  margin: 0.24rem 0 0;
  position: static;
  font-size: 1px;
}
.main .gallery .slider .pager .swiper-pagination-bullet {
  width: 0.12rem;
  height: 0.12rem;
  margin: 0 0.08rem;
  background: #DBDBDB;
  opacity: 1;
  vertical-align: top;
}
.main .gallery .slider .pager .swiper-pagination-bullet-active {
  background: #54B4E7;
}
.main .voice {
  box-sizing: border-box;
  max-width: 13.66rem;
  height: 13.18rem;
  margin: 0 auto;
  padding: 1.44rem 0 0;
  background: url(../imgs/top/bg03.jpg) 0 0/contain no-repeat;
  border-radius: 1.04rem;
}
@media screen and (max-width: 767px) {
  .main .voice {
    height: 14.615rem;
    padding: 0.64rem 0 0;
    background-image: url(../imgs/top/bg03_sp@2x.jpg);
    border-radius: 0.56rem;
  }
}
.main .voice .ttl {
  color: #fff;
}
.main .voice .list {
  display: flex;
  justify-content: space-between;
  margin: 0.56rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .voice .list {
    flex-wrap: wrap;
    gap: 0.56rem 0.16rem;
    width: 3.25rem;
    margin: 0.4rem auto 0;
  }
}
.main .voice .list .item {
  box-sizing: border-box;
  width: 2.45rem;
  padding: 0.32rem;
  position: relative;
  background: #fff;
  border-radius: 0.08rem;
  filter: drop-shadow(0 1.04rem 0.42rem rgba(0, 0, 0, 0.01)) drop-shadow(0 0.59rem 0.35rem rgba(0, 0, 0, 0.05)) drop-shadow(0 0.26rem 0.26rem rgba(0, 0, 0, 0.09)) drop-shadow(0 0.07rem 0.14rem rgba(0, 0, 0, 0.1));
}
@media screen and (max-width: 767px) {
  .main .voice .list .item {
    width: calc(50% - 0.08rem);
    padding: 0.16rem;
  }
}
.main .voice .list .item .name {
  color: #54B4E7;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1.2222222222;
}
@media screen and (max-width: 767px) {
  .main .voice .list .item .name {
    font-size: 0.16rem;
    line-height: 1.25;
  }
}
.main .voice .list .item p {
  margin: 0.24rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .voice .list .item p {
    margin: 0.08rem 0 0;
  }
}
.main .voice .list .item::before {
  content: "";
  display: block;
  width: 0.33rem;
  height: 0.32rem;
  position: absolute;
  top: calc(100% - 0.01rem);
  aspect-ratio: 1/1;
  background: #fff;
}
.main .voice .list .item:nth-child(-n+2)::before {
  right: 0.32rem;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 0.01rem);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 0.01rem);
}
@media screen and (max-width: 767px) {
  .main .voice .list .item:nth-child(-n+2)::before {
    right: 0.16rem;
  }
}
.main .voice .list .item:nth-child(n+3)::before {
  left: 0.32rem;
  -webkit-clip-path: polygon(0 0, 100% 0, 0.01rem 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 0.01rem 100%, 0 100%);
}
.main .btn--line {
  display: block;
  box-sizing: border-box;
  width: 8rem;
  height: 1.64rem;
  margin: 1.28rem auto;
  padding: 0.16rem 0 0;
  background: #4CC764 url(../imgs/arw-line.svg) calc(100% - 0.32rem) 50%/0.32rem auto no-repeat;
  border-radius: 0.82rem;
  color: #fff;
  box-shadow: 0 1.03rem 0.41rem rgba(0, 0, 0, 0.01), 0 0.58rem 0.35rem rgba(0, 0, 0, 0.05), 0 0.26rem 0.26rem rgba(0, 0, 0, 0.09), 0 0.06rem 0.14rem rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .main .btn--line {
    width: 3.25rem;
    height: 2.3rem;
    margin: 0.64rem auto;
    padding: 0.24rem 0.58rem 0;
    background-position: calc(100% - 0.16rem) 50%;
    background-size: 0.24rem auto;
    border-radius: 0.4rem;
  }
}
.main .btn--line .name {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0 0 0 0.64rem;
  background: url(../imgs/ico-line.svg) 0 0/0.64rem auto no-repeat;
  font-size: 0.28rem;
  font-weight: 700;
  line-height: 0.64rem;
}
@media screen and (max-width: 767px) {
  .main .btn--line .name {
    padding: 0 0 0 0.48rem;
    background-size: 0.48rem auto;
    font-size: 0.2rem;
    line-height: 0.48rem;
  }
}
.main .btn--line .text {
  display: flex;
  justify-content: center;
  gap: 0.08rem;
}
@media screen and (max-width: 767px) {
  .main .btn--line .text {
    display: block;
  }
}
.main .btn--line .text .label {
  padding: 0 0.16rem;
  border-radius: 0.08rem;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 0.44rem;
  box-shadow: inset 0 0 0 1px currentColor;
}
@media screen and (max-width: 767px) {
  .main .btn--line .text .label {
    padding: 0;
    font-size: 0.16rem;
    line-height: 0.3rem;
    text-align: center;
  }
}
.main .btn--line .text p {
  font-size: 0.14rem;
  line-height: 1.5714285714;
}
@media screen and (max-width: 767px) {
  .main .btn--line .text p {
    margin: 0.08rem 0 0;
    font-size: 0.12rem;
    line-height: 1.5;
    text-align: center;
  }
}
.main .seminar .wrap {
  box-sizing: border-box;
  height: 6.01rem;
  padding: 0.72rem 5.12rem 0 0.8rem;
  background: url(../imgs/top/bg04.jpg) 0 0/contain no-repeat;
  border-radius: 0.8rem;
}
@media screen and (max-width: 767px) {
  .main .seminar .wrap {
    width: 3.25rem;
    height: 8.435rem;
    margin: 0 auto;
    padding: 0.64rem 0 0;
    background-image: url(../imgs/top/bg04_sp@2x.jpg);
    border-radius: 0.4rem;
  }
}
.main .seminar p {
  margin: 0.24rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .seminar p {
    margin: 0.4rem 0.24rem 0;
  }
}
.main .seminar .btn--mail {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.04rem;
  box-sizing: border-box;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 0.7rem;
  margin: 0.24rem auto 0.07rem;
  padding: 0 0.4rem;
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1.2222222222;
}
@media screen and (max-width: 767px) {
  .main .seminar .btn--mail {
    justify-content: center;
    gap: 0.08rem;
    width: auto;
    margin: 0.4rem 0.15rem 0;
    padding: 0;
    font-size: 0.16rem;
    line-height: 1.8125;
  }
}
.main .seminar .btn--mail i {
  display: block;
  width: 0.4rem;
  aspect-ratio: 1;
  position: relative;
  background: url(../imgs/ico-mail2.svg) 0 0/0.4rem auto no-repeat;
}
@media screen and (max-width: 767px) {
  .main .seminar .btn--mail i {
    width: 0.32rem;
    background-size: 0.32rem auto;
  }
}
.main .seminar .btn--mail::before, .main .seminar .btn--mail::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  z-index: -1;
  border-radius: 0.35rem;
  box-shadow: inset 0 0 0 0.02rem #229EE0;
}
.main .seminar .btn--mail::before {
  top: 0.05rem;
  background: #BFDFF0;
}
.main .seminar .btn--mail::after {
  top: 0;
  background: linear-gradient(90deg, #fff 50%, #229EE0 50%) 100% 0/200% 100% no-repeat;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main .seminar .btn--mail {
    transition: color 0.4s;
  }
  .main .seminar .btn--mail::after {
    transition: background-position 0.4s;
  }
  .main .seminar .btn--mail:hover {
    color: #229EE0;
  }
  .main .seminar .btn--mail:hover i {
    background-image: url(../imgs/ico-mail2_r.svg);
  }
  .main .seminar .btn--mail:hover::after {
    background-position: 0 0;
  }
}
.main .seminar .tel {
  margin: 0.24rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .seminar .tel {
    margin: 0.4rem auto 0;
  }
}
.main .seminar .tel a {
  display: block;
  width: 3.14rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .main .seminar .tel a {
    width: 2.59rem;
  }
}
.main .seminar .tel a img {
  width: 100%;
}
.main .seminar .tel .text {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.04rem;
  margin: 0.14rem 0 0;
  font-size: 0.18rem;
  line-height: 1.2222222222;
}
@media screen and (max-width: 767px) {
  .main .seminar .tel .text {
    margin: 0.08rem 0 0;
    font-size: 0.14rem;
    line-height: 1.5714285714;
  }
}
.main .seminar .tel .text .num {
  font-family: "Work Sans", sans-serif;
  font-size: 0.2rem;
  font-weight: 400;
  line-height: 1.1;
}
@media screen and (max-width: 767px) {
  .main .seminar .tel .text .num {
    font-size: 0.14rem;
    line-height: 2;
  }
}
.main .onlineMeeting {
  padding: 1.44rem 0;
}
@media screen and (max-width: 767px) {
  .main .onlineMeeting {
    padding: 0.64rem 0;
  }
}
.main .onlineMeeting p {
  margin: 0.16rem 0 0;
  text-align: center;
}
.main .onlineMeeting .list {
  display: flex;
  justify-content: space-between;
  margin: 0.48rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .onlineMeeting .list {
    display: block;
    width: 3.25rem;
    margin: 0.4rem auto 0;
  }
}
.main .onlineMeeting .list .item {
  width: 3.2rem;
}
@media screen and (max-width: 767px) {
  .main .onlineMeeting .list .item {
    width: auto;
  }
  .main .onlineMeeting .list .item + .item {
    margin: 0.4rem 0 0;
  }
}
.main .onlineMeeting .list .item .num {
  color: #54B4E7;
  font-family: "Work Sans", sans-serif;
  font-weight: 700;
  font-size: 0.6rem;
  line-height: 0.6666666667;
  text-align: center;
}
.main .onlineMeeting .list .item .image {
  margin: 0.24rem 0 0;
  border-radius: 0.08rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .main .onlineMeeting .list .item .image {
    margin: 0.16rem 0 0;
  }
}
.main .onlineMeeting .list .item .text {
  margin: 0.24rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .onlineMeeting .list .item .text {
    margin: 0.16rem 0 0;
  }
}
.main .onlineMeeting .list .item .name {
  color: #54B4E7;
  font-size: 0.28rem;
  font-weight: 700;
  line-height: 1.4285714286;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main .onlineMeeting .list .item .name {
    font-size: 0.2rem;
    line-height: 1.5;
  }
}
.main .onlineMeeting .list .item p {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .main .onlineMeeting .list .item p {
    margin: 0.08rem 0 0;
  }
}
.main .onlineMeeting .required {
  display: flex;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 0.42rem;
  margin: 0.48rem auto 0;
  padding: 0 0.16rem 0 0;
  background: #F1F1F1;
  border-radius: 0.21rem;
}
@media screen and (max-width: 767px) {
  .main .onlineMeeting .required {
    display: block;
    width: 3.25rem;
    height: auto;
    margin: 0.4rem auto 0;
    padding: 0 0.24rem 0.16rem;
    border-radius: 0.16rem;
  }
}
.main .onlineMeeting .required .label {
  display: flex;
  align-items: center;
  height: 0.4rem;
  margin: 0 0.16rem 0 0;
  padding: 0 0.24rem;
  background: #fff;
  border-radius: 0.2rem;
  color: #54B4E7;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1.2222222222;
  box-shadow: inset 0 0 0 0.02rem currentColor;
}
@media screen and (max-width: 767px) {
  .main .onlineMeeting .required .label {
    justify-content: center;
    height: 0.38rem;
    margin: 0 -0.24rem 0.14rem;
    padding: 0;
    border-radius: 0.19rem;
    font-size: 0.16rem;
    font-weight: bold;
    line-height: 1.25;
    text-align: center;
  }
}
.main .onlineMeeting .required .note {
  margin: 0 0 0 0.08rem;
  font-size: 0.14rem;
  line-height: 1.5714285714;
}
@media screen and (max-width: 767px) {
  .main .onlineMeeting .required .note {
    margin: 0;
    font-size: 0.12rem;
    line-height: 1.5;
  }
}
.main .onlineMeeting .btn--meeting {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.04rem;
  box-sizing: border-box;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 0.64rem;
  margin: 0.48rem auto 0.07rem;
  padding: 0 0.68rem;
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1.2222222222;
}
@media screen and (max-width: 767px) {
  .main .onlineMeeting .btn--meeting {
    justify-content: center;
    width: 2.94rem;
    height: 0.64rem;
    margin: 0.4rem auto 0.09rem;
    padding: 0;
    font-size: 0.16rem;
    line-height: 1.25;
    text-align: center;
  }
}
.main .onlineMeeting .btn--meeting::before, .main .onlineMeeting .btn--meeting::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  z-index: -1;
  border-radius: 0.32rem;
  box-shadow: inset 0 0 0 0.02rem #229EE0;
}
.main .onlineMeeting .btn--meeting::before {
  top: 0.07rem;
  background: #BFDFF0;
}
@media screen and (max-width: 767px) {
  .main .onlineMeeting .btn--meeting::before {
    top: 0.09rem;
  }
}
.main .onlineMeeting .btn--meeting::after {
  top: 0;
  background: linear-gradient(90deg, #fff 50%, #229EE0 50%) 100% 0/200% 100% no-repeat;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main .onlineMeeting .btn--meeting {
    transition: color 0.4s;
  }
  .main .onlineMeeting .btn--meeting::after {
    transition: background-position 0.4s;
  }
  .main .onlineMeeting .btn--meeting:hover {
    color: #229EE0;
  }
  .main .onlineMeeting .btn--meeting:hover::after {
    background-position: 0 0;
  }
}
.main .banner {
  width: 13.66rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .main .banner {
    width: auto;
  }
}
.main .banner .list {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .main .banner .list {
    display: block;
  }
}
.main .banner .list .item {
  width: 4.5rem;
}
@media screen and (max-width: 767px) {
  .main .banner .list .item {
    width: auto;
  }
  .main .banner .list .item + .item {
    margin: 0.08rem 0 0;
  }
}
.main .banner .list .item--01 .bg {
  border-radius: 1.04rem 0 0 1.04rem;
}
@media screen and (max-width: 767px) {
  .main .banner .list .item--01 .bg {
    border-radius: 0.56rem 0.56rem 0 0;
  }
}
.main .banner .list .item--01 .text .name {
  width: 2.44rem;
  padding: 1.2rem 0 0;
  background: url(../imgs/bn-img.svg) 50% 0/0.74rem auto no-repeat;
}
@media screen and (max-width: 767px) {
  .main .banner .list .item--01 .text .name {
    width: 2.04rem;
    padding: 1.06rem 0 0;
    background-size: 0.64rem auto;
  }
}
.main .banner .list .item--03 .bg {
  border-radius: 0 1.04rem 1.04rem 0;
}
@media screen and (max-width: 767px) {
  .main .banner .list .item--03 .bg {
    border-radius: 0 0 0.56rem 0.56rem;
  }
}
.main .banner .list a {
  display: grid;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main .banner .list a .bg img {
    transition: transform 0.4s;
  }
  .main .banner .list a:hover .bg img {
    transform: scale(1.1);
  }
}
.main .banner .list .bg,
.main .banner .list .text {
  grid-area: 1/1;
}
.main .banner .list .bg {
  overflow: hidden;
}
.main .banner .list .text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.16rem;
  position: relative;
  color: #fff;
  text-align: center;
}
.main .banner .list .text .name {
  font-size: 0.34rem;
  line-height: 1.0588235294;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .main .banner .list .text .name {
    font-size: 0.25rem;
    line-height: 1.08;
  }
}
.main .accessInfo {
  padding: 1.28rem 0;
}
@media screen and (max-width: 767px) {
  .main .accessInfo {
    padding: 0.64rem 0;
  }
}
.main .accessInfo .gmaps {
  display: block;
  width: 100%;
  height: 3.92rem;
  margin: 0.64rem 0 0;
  border: none;
  border-radius: 0.16rem;
}
@media screen and (max-width: 767px) {
  .main .accessInfo .gmaps {
    width: 3.25rem;
    height: 3.92rem;
    margin: 0.4rem auto 0;
  }
}
.main .accessInfo .data {
  display: flex;
  justify-content: space-around;
  margin: 0.32rem 0.9rem 0;
}
@media screen and (max-width: 767px) {
  .main .accessInfo .data {
    display: block;
    width: 3.25rem;
    margin: 0.32rem auto 0;
  }
}
.main .accessInfo .data .address,
.main .accessInfo .data .list {
  box-sizing: border-box;
  background: #E8F0F5;
  border-radius: 0.08rem;
}
.main .accessInfo .data .address {
  width: 3.59rem;
  padding: 0.25rem 0 0 0.32rem;
}
@media screen and (max-width: 767px) {
  .main .accessInfo .data .address {
    width: auto;
    padding: 0.24rem 0.32rem;
  }
}
.main .accessInfo .data .address .name {
  margin: 0 0 0.08rem;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1.2222222222;
}
@media screen and (max-width: 767px) {
  .main .accessInfo .data .address .name {
    font-size: 0.16rem;
    line-height: 1.25;
  }
}
.main .accessInfo .data .list {
  width: 5.33rem;
  padding: 0.24rem 0 0.24rem 0.24rem;
}
@media screen and (max-width: 767px) {
  .main .accessInfo .data .list {
    width: auto;
    margin: 0.08rem 0 0;
  }
}
.main .accessInfo .data .list li {
  padding: 0 0 0 0.24rem;
  background: url(../imgs/blt-point.svg) 0.05rem 0.08rem/0.13rem auto no-repeat;
}
.main .accessInfo .data .list li + li {
  margin: 0.04rem 0 0;
}
.main .accessInfo .btn--detail {
  margin-top: 0.64rem;
}
@media screen and (max-width: 767px) {
  .main .accessInfo .btn--detail {
    margin-top: 0.4rem;
  }
}
.main .qa .wrap {
  padding: 1.04rem 0.9rem;
  background: #fff;
  border-radius: 0.64rem;
}
@media screen and (max-width: 767px) {
  .main .qa .wrap {
    box-sizing: border-box;
    width: 3.25rem;
    margin: 0 auto;
    padding: 0.64rem 0.15rem;
    border-radius: 0.56rem;
  }
}
.main .qa .list {
  margin: 0.56rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .qa .list {
    margin: 0.4rem 0 0;
  }
}
.main .qa .list .item {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto 0fr;
  transition: grid-template-rows 0.4s;
}
.main .qa .list .item:has(.summary input:checked) {
  grid-template-rows: auto 1fr;
}
.main .qa .list .item:has(.summary input:checked) .summary button::after {
  transform: scale(1, 0);
}
.main .qa .list .item::before {
  grid-row: 1/2;
  grid-column: 1/2;
  content: "";
  display: block;
  width: 100%;
  height: 0.04rem;
  background: #54B4E7;
  border-radius: 0.02rem;
}
@media screen and (max-width: 767px) {
  .main .qa .list .item::before {
    height: 0.02rem;
    border-radius: 0.01rem;
  }
}
.main .qa .list .item .summary {
  grid-row: 1/2;
  grid-column: 1/2;
  padding: 0.36rem 0.64rem;
  position: relative;
  color: #54B4E7;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1.2222222222;
}
@media screen and (max-width: 767px) {
  .main .qa .list .item .summary {
    padding: 0.24rem 0.4rem 0.24rem 0.38rem;
    font-size: 0.16rem;
    line-height: 1.25;
  }
}
.main .qa .list .item .summary::before {
  content: "Q.";
  font-family: "Work Sans", sans-serif;
  font-size: 0.24rem;
  line-height: 0.9166666667;
  position: absolute;
  top: 0.32rem;
  left: 0.32rem;
}
@media screen and (max-width: 767px) {
  .main .qa .list .item .summary::before {
    top: 0.24rem;
    left: 0.08rem;
  }
}
.main .qa .list .item .summary input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.main .qa .list .item .summary button {
  display: grid;
  width: 0.16rem;
  position: absolute;
  top: 0.39rem;
  right: 0.32rem;
  aspect-ratio: 1;
  border: none;
  padding: 0;
  background: transparent;
  border-radius: 0;
}
@media screen and (max-width: 767px) {
  .main .qa .list .item .summary button {
    top: 0.37rem;
    right: 0.08rem;
  }
}
.main .qa .list .item .summary button::before, .main .qa .list .item .summary button::after {
  grid-area: 1/1;
  align-self: center;
  justify-self: center;
  content: "";
  display: block;
  background: #54B4E7;
  border-radius: 0.01rem;
}
.main .qa .list .item .summary button::before {
  width: 100%;
  height: 0.02rem;
}
.main .qa .list .item .summary button::after {
  width: 0.02rem;
  height: 100%;
  transition: transform 0.4s;
}
.main .qa .list .item .detail {
  grid-row: 2/3;
  grid-column: 1/2;
  overflow: hidden;
}
.main .qa .list .item .detail .inner {
  margin: 0 0.64rem 0.32rem;
  padding: 0.16rem 0.24rem;
  background: #F9F9F9;
  border-radius: 0.08rem;
}
@media screen and (max-width: 767px) {
  .main .qa .list .item .detail .inner {
    margin: 0 0.08rem 0.24rem;
    padding: 0.08rem 0.16rem;
  }
}
.main .qa .list::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.04rem;
  background: #54B4E7;
  border-radius: 0.02rem;
}
@media screen and (max-width: 767px) {
  .main .qa .list::after {
    height: 0.02rem;
    border-radius: 0.01rem;
  }
}
.main .droneSchool {
  box-sizing: border-box;
  width: 13.66rem;
  height: 4.9rem;
  margin: 1.28rem auto 0;
  padding: 1.2rem 0 0;
  background: url(../imgs/top/bg05.jpg) 0 0/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .main .droneSchool {
    width: auto;
    height: 4.985rem;
    margin: 0.64rem 0 0;
    padding: 0.84rem 0 0;
    background-image: url(../imgs/top/bg05_sp@2x.jpg);
  }
}
.main .droneSchool .ttl {
  width: 3.74rem;
}
@media screen and (max-width: 767px) {
  .main .droneSchool .ttl {
    width: 3.11rem;
    margin: 0 auto;
  }
}
.main .droneSchool p {
  margin: 0.24rem 0 0;
  color: #fff;
  font-size: 0.2rem;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 767px) {
  .main .droneSchool p {
    margin: 0.16rem 0 0;
    font-size: 0.16rem;
    line-height: 1.4375;
    text-align: center;
  }
}
.main .droneSchool .btn--detail {
  margin: 0.24rem 0 0;
}
@media screen and (max-width: 767px) {
  .main .droneSchool .btn--detail {
    margin: 0.16rem auto 0;
  }
}
/*# sourceMappingURL=top.css.map */