@charset "UTF-8";
/* ***************************************************
 PC / SP共通
*************************************************** */
/* ////////////////// タグ初期値 ////////////////// */
html,
body {
  height: 100%;
  margin: 0;
}

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-family: "M PLUS Rounded 1c", sans-serif;
}

*, *::after, *::before {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

body {
  color: #3F3F3F;
}

article,
aside,
details,
figure,
figcaption,
footer,
header,
main,
menu,
nav,
hgroup,
section,
summary {
  display: block;
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
  height: auto;
  border: 0;
  vertical-align: bottom;
}

h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0;
  line-height: 1.5em;
}

a {
  color: #3F3F3F;
  text-decoration: none;
}

p {
  margin-top: 0;
  margin-bottom: 1.5em;
}

ul,
ol,
dl {
  margin: 0;
  padding: 0;
}

li, dt, dd {
  margin: 0px;
  padding: 0px;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -moz-box-sizing: content-box;
  height: 0;
}

/* テーブル */
table,
th,
td {
  border-collapse: collapse;
  border: 1px;
}

table {
  width: 100%;
  margin: 0 auto;
  min-height: 0.1%;
  overflow: auto;
}

td,
th {
  padding: 0.5em;
}

th {
  white-space: nowrap;
  font-weight: normal;
}

/* ***************************************************
 SP
*************************************************** */
@media screen and (max-width:1199px) {
  .pc {
    display: none !important;
  }
  .container {
    width: 100vw;
    margin: 0 auto;
    overflow: hidden;
  }
  .blue {
    color: #2DA7E0;
  }
  .yellow {
    color: #F3C317;
  }
  .green {
    color: #7CB524;
  }
  .orange {
    color: #F29400;
  }
  .pink {
    color: #FC6C7C;
  }
  .blue-bg {
    background-color: #2DA7E0;
    color: #fff;
  }
  .yellow-bg {
    background-color: #F3C317;
    color: #fff;
  }
  .green-bg {
    background-color: #7CB524;
    color: #fff;
  }
  .orange-bg {
    background-color: #F29400;
    color: #fff;
  }
  .pink-bg {
    background-color: #FC6C7C;
    color: #fff;
  }
  .title-arch {
    margin-bottom: 15px;
    font-size: 36px;
    font-weight: 800;
    text-align: center;
    letter-spacing: 0.1em;
  }
  .title-arch span:first-child, .title-arch span:nth-child(8n) {
    color: #2DA7E0;
  }
  .title-arch span:nth-child(2), .title-arch span:nth-child(9n) {
    color: #F3C317;
  }
  .title-arch span:nth-child(3), .title-arch span:nth-child(10n) {
    color: #0870B7;
  }
  .title-arch span:nth-child(4), .title-arch span:nth-child(11n) {
    color: #00A34C;
  }
  .title-arch span:nth-child(5), .title-arch span:nth-child(12n) {
    color: #F29400;
  }
  .title-arch span:nth-child(6), .title-arch span:nth-child(13n) {
    color: #E48BB2;
  }
  .title-arch span:nth-child(7), .title-arch span:nth-child(14n) {
    color: #E7313F;
  }
  @-webkit-keyframes purupuru {
    0% {
      -webkit-transform: translate(2px, 0px);
              transform: translate(2px, 0px);
    }
    5% {
      -webkit-transform: translate(-2px, 0px);
              transform: translate(-2px, 0px);
    }
    10% {
      -webkit-transform: translate(2px, 0px);
              transform: translate(2px, 0px);
    }
    15% {
      -webkit-transform: translate(-2px, 0px);
              transform: translate(-2px, 0px);
    }
    20% {
      -webkit-transform: translate(2px, 0px);
              transform: translate(2px, 0px);
    }
    25% {
      -webkit-transform: translate(-2px, 0px);
              transform: translate(-2px, 0px);
    }
    30% {
      -webkit-transform: translate(0px, 0px);
              transform: translate(0px, 0px);
    }
  }
  @keyframes purupuru {
    0% {
      -webkit-transform: translate(2px, 0px);
              transform: translate(2px, 0px);
    }
    5% {
      -webkit-transform: translate(-2px, 0px);
              transform: translate(-2px, 0px);
    }
    10% {
      -webkit-transform: translate(2px, 0px);
              transform: translate(2px, 0px);
    }
    15% {
      -webkit-transform: translate(-2px, 0px);
              transform: translate(-2px, 0px);
    }
    20% {
      -webkit-transform: translate(2px, 0px);
              transform: translate(2px, 0px);
    }
    25% {
      -webkit-transform: translate(-2px, 0px);
              transform: translate(-2px, 0px);
    }
    30% {
      -webkit-transform: translate(0px, 0px);
              transform: translate(0px, 0px);
    }
  }
  .cta {
    padding: 30px 5vw 20px;
    color: #fff;
    background-color: #FC6C7C;
    background-image: url(../images/cta_bg.svg);
    background-position: center top;
    background-size: 100% auto;
  }
  .cta .title {
    position: relative;
    left: -17px;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .cta .title img {
    width: 100px;
    margin-right: 10px;
  }
  .cta .title h2 {
    margin-bottom: 1.5em;
    font-size: clamp(18px, 4.8vw, 22px);
    font-weight: 800;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .cta .title h2 b {
    font-size: clamp(27px, 7.2vw, 32px);
    font-weight: 900;
  }
  .cta .box {
    position: relative;
    z-index: 2;
    margin: -27px auto 0;
    padding: 30px 20px 20px;
    font-weight: 800;
    text-align: center;
    letter-spacing: 0.1em;
    background-color: #fff;
    border-radius: 20px;
  }
  .cta .box h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: clamp(12px, 3.2vw, 15px);
    font-weight: 800;
    color: #3F3F3F;
  }
  .cta .box h3::before, .cta .box h3::after {
    content: "";
    width: 3px;
    height: 2em;
    margin: 0 1em;
    background-color: #F29400;
    border-radius: 1px;
  }
  .cta .box h3::before {
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
  .cta .box h3::after {
    -webkit-transform: rotate(20deg);
            transform: rotate(20deg);
  }
  .cta .box .btn {
    position: relative;
    margin: 0 auto;
    -webkit-animation: purupuru 2s infinite;
            animation: purupuru 2s infinite;
  }
  .cta .box .btn a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    max-width: 600px;
    margin: 0.5em auto 0.75em;
    padding: 1.5em 0.5em;
    font-size: clamp(16px, 4.3vw, 18px);
    color: #fff;
    letter-spacing: 0.05em;
    background: rgb(254, 48, 72);
    background: -webkit-gradient(linear, left top, right top, from(rgb(254, 48, 72)), to(rgb(255, 165, 0)));
    background: linear-gradient(90deg, rgb(254, 48, 72) 0%, rgb(255, 165, 0) 100%);
    border: 1px solid #FF6619;
    border-radius: 3em;
  }
  .cta .box .btn a::after {
    content: "";
    display: inline-block;
    width: 13px;
    height: 12px;
    margin-left: 0.25em;
    background-image: url(../images/cta_arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
  }
  .cta .box .panf {
    margin: 0 auto;
    font-size: clamp(14px, 3.7vw, 16px);
  }
  @-webkit-keyframes blur {
    0% {
      -webkit-filter: blur(10px);
              filter: blur(10px);
    }
    100% {
      -webkit-filter: blur(0);
              filter: blur(0);
    }
  }
  @keyframes blur {
    0% {
      -webkit-filter: blur(10px);
              filter: blur(10px);
    }
    100% {
      -webkit-filter: blur(0);
              filter: blur(0);
    }
  }
  .inview,
  .inview1,
  .inview2,
  .inview3,
  .inview4 {
    opacity: 0;
    -webkit-filter: blur(5px);
            filter: blur(5px);
    -webkit-transform: translate(0, 30px);
            transform: translate(0, 30px);
    -webkit-transition: 0.75s;
    transition: 0.75s;
  }
  .inview.is-show,
  .inview1.is-show,
  .inview2.is-show,
  .inview3.is-show,
  .inview4.is-show {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  #header {
    display: grid;
    place-items: center;
    height: 52px;
  }
  #header a {
    display: inline-block;
    text-align: center;
  }
  #header a img {
    width: 118px;
  }
  #footer {
    position: relative;
    color: #fff;
    background-color: #004097;
  }
  #footer > ul {
    list-style: none;
    margin: 0 auto;
    padding: 5vw;
    font-weight: 500;
  }
  #footer > ul li {
    margin-bottom: 5px;
  }
  #footer > ul li:last-child {
    margin-bottom: 0;
  }
  #footer > ul li a {
    color: #fff;
  }
  #footer .totop {
    position: absolute;
    bottom: 120px;
    right: 5vw;
    display: block;
    width: 28px;
    height: 28px;
  }
  #footer .copyright {
    margin: 0;
    padding: 1em 0 70px;
    font-size: 11px;
    text-align: center;
    background-color: #022E5E;
  }
  #footer #floatBtn {
    position: absolute;
    left: 50%;
    bottom: -100px;
    z-index: 999;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  #footer #floatBtn.fixed {
    position: fixed;
    bottom: 0;
  }
  #footer #floatBtn a {
    display: grid;
    place-items: center;
    width: 92vw;
    max-width: 600px;
    height: 60px;
    padding-left: 32px;
    font-size: clamp(15px, 4vw, 17px);
    font-weight: 800;
    letter-spacing: 0.1em;
    text-align: center;
    color: #fff;
    background: rgb(254, 48, 72);
    background: -webkit-gradient(linear, left top, right top, from(rgb(254, 48, 72)), to(rgb(255, 165, 0)));
    background: linear-gradient(90deg, rgb(254, 48, 72) 0%, rgb(255, 165, 0) 100%);
    border-radius: 18px 18px 0 0;
  }
  #footer #floatBtn a span {
    position: relative;
  }
  #footer #floatBtn a span::before {
    content: "";
    position: absolute;
    bottom: -12px;
    left: -54px;
    width: 61px;
    height: 64px;
    background-image: url(../images/cta_float.png);
    background-repeat: no-repeat;
    background-size: contain;
  }
  #footer #floatBtn a span::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 8px;
    background-image: url(../images/cta_float_arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
  }
  .section-intro {
    position: relative;
    z-index: 1;
    width: 100%;
    padding: 20px 2vw 18px;
    overflow: hidden;
  }
  .section-intro::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -10;
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../images/kv_dot.png);
    background-color: #FC6C7C;
  }
  .section-intro::after {
    content: "";
    position: absolute;
    top: 35px;
    left: 49%;
    z-index: -1;
    width: 435px;
    height: 400px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background-image: url(../images/kv_bg.svg);
    background-size: contain;
  }
  .section-intro h1 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 10px;
    padding: 0.5em 0 0.5em 40px;
    font-size: clamp(20px, 5.3vw, 24px);
    font-weight: 800;
    color: #fff;
    background-image: url(../images/kv_title.svg);
    background-repeat: no-repeat;
    background-size: 32px auto;
    background-position: left center;
  }
  
  .section-intro .award-txt{
    font-size: 11px;
    color:#FFF ;
    padding: 20px 0px 0px 0px;
  }
  
  .section-intro .intro-title {
    position: relative;
    z-index: 100;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    margin: -40px auto 0;
    padding: 0 80px 32px 0;
    color: #fff;
  }
  .section-intro .intro-title .bubble {
    width: 83px;
    aspect-ratio: 8/5;
    margin: 0 0 3px;
    padding: 8px 4px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4em;
    text-align: center;
    background-image: url(../images/kv_bubble.svg);
    background-repeat: no-repeat;
    background-size: contain;
  }
  .section-intro .intro-title h2 {
    font-size: 50px;
    font-weight: 800;
    line-height: 1em;
    white-space: nowrap;
    text-shadow: 0 0 1px rgba(0, 0, 0, 0.38);
  }
  .section-intro .intro-title h2 small {
    font-size: 0.5em;
  }
  .section-intro .intro-title img {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 127px;
  }
  @-webkit-keyframes wave {
    from {
      -webkit-transform: translate(0);
              transform: translate(0);
    }
    to {
      -webkit-transform: translate(-50%);
              transform: translate(-50%);
    }
  }
  @keyframes wave {
    from {
      -webkit-transform: translate(0);
              transform: translate(0);
    }
    to {
      -webkit-transform: translate(-50%);
              transform: translate(-50%);
    }
  }
  .wave {
    position: absolute;
    bottom: 0;
    left: -100px;
    right: -100px;
    z-index: -9;
    width: 300%;
    height: 300px;
    margin: 0 auto;
    overflow: hidden;
  }
  .wave svg {
    opacity: 0.2;
  }
  .wave svg path {
    -webkit-animation: wave linear 5s infinite;
            animation: wave linear 5s infinite;
  }
  #kvSliderChildren {
    position: relative;
    z-index: 1;
    width: 375px;
    max-width: 100%;
    margin: 0 auto;
  }
  #kvSliderChildren::before {
    content: "";
    position: absolute;
    top: 53%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 100;
    width: 330px;
    height: 320px;
    max-width: 100%;
    aspect-ratio: 1/1;
    background-image: url(../images/kv_over.svg);
    background-repeat: repeat-x;
    background-position: center center;
  }
  #kvSliderChildren .swiper-wrapper {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    background-image: url(../images/kv_circle.svg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: contain;
    overflow: hidden;
  }
  #kvSliderChildren .swiper-slide {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-width: 100%;
    padding: 8px 9px;
  }
  #kvSliderFeature {
    margin-top: 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #kvSliderFeature .swiper-slide {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 143px;
    height: auto;
    background-color: #fff;
    border-radius: 13px;
    overflow: hidden;
  }
  #kvSliderFeature .swiper-slide img {
    width: 100%;
    aspect-ratio: 16/10;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #kvSliderFeature .swiper-slide p {
    margin: 8px auto 10px;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
    line-height: 1.5em;
  }
  #kvSliderFeature .swiper-slide p span {
    font-size: 21px;
  }
  @-webkit-keyframes huwa01 {
    0%, 100% {
      -webkit-transform: translateY(0) scale(1);
              transform: translateY(0) scale(1);
      opacity: 1;
    }
    50% {
      -webkit-transform: translate(10%, 120%) scale(1.5);
              transform: translate(10%, 120%) scale(1.5);
      opacity: 0.75;
    }
  }
  @keyframes huwa01 {
    0%, 100% {
      -webkit-transform: translateY(0) scale(1);
              transform: translateY(0) scale(1);
      opacity: 1;
    }
    50% {
      -webkit-transform: translate(10%, 120%) scale(1.5);
              transform: translate(10%, 120%) scale(1.5);
      opacity: 0.75;
    }
  }
  @-webkit-keyframes huwa02 {
    0%, 100% {
      -webkit-transform: translate(0, 0) scale(1);
              transform: translate(0, 0) scale(1);
      opacity: 1;
    }
    50% {
      -webkit-transform: translate(-30%, -150%) scale(1.7);
              transform: translate(-30%, -150%) scale(1.7);
      opacity: 0.5;
    }
  }
  @keyframes huwa02 {
    0%, 100% {
      -webkit-transform: translate(0, 0) scale(1);
              transform: translate(0, 0) scale(1);
      opacity: 1;
    }
    50% {
      -webkit-transform: translate(-30%, -150%) scale(1.7);
              transform: translate(-30%, -150%) scale(1.7);
      opacity: 0.5;
    }
  }
  .section-course {
    position: relative;
    z-index: 1;
    padding: 60px 5vw;
    text-align: center;
    background-color: #FFF7EB;
    background-image: url(../images/course_bg_left.svg), url(../images/course_bg_right.svg);
    background-repeat: no-repeat;
    background-position: top left, top right;
    background-size: clamp(67px, 17vw, 120px) auto, clamp(112px, 30vw, 200px) auto;
  }
  .section-course::before, .section-course::after {
    content: "";
    position: absolute;
    z-index: -1;
    display: block;
    background-repeat: no-repeat;
    background-size: 100%;
  }
  .section-course::before {
    top: 30%;
    left: 15%;
    width: 85px;
    height: 85px;
    background-image: url(../images/course_huwa01.svg);
    -webkit-animation: 4.5s 0s huwa01 ease-in-out infinite;
            animation: 4.5s 0s huwa01 ease-in-out infinite;
  }
  .section-course::after {
    top: 60%;
    right: 15%;
    width: 55px;
    height: 55px;
    background-image: url(../images/course_huwa02.svg);
    -webkit-animation: 6s 0s huwa02 ease-in-out infinite;
            animation: 6s 0s huwa02 ease-in-out infinite;
  }
  
  .section-course_bn_area{
    position: relative;
    z-index: 1;
    padding: 60px 5vw;
    text-align: center;
    background-color: #FFF7EB;
    background-repeat: no-repeat;
    background-position: top left, top right;
    background-size: clamp(67px, 17vw, 120px) auto, clamp(112px, 30vw, 200px) auto;
  }

  
  
  .section-course .course-title {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 30px;
    padding-top: 45px;
  }
  .section-course .course-title .bubble {
    position: absolute;
    top: 0;
    right: 0;
    width: 83px;
    aspect-ratio: 8/5;
    padding: 8px 4px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4em;
    text-align: center;
    color: #fff;
    background-image: url(../images/course_bubble.svg);
    background-repeat: no-repeat;
    background-size: contain;
  }
  .section-course .course-title h2 {
    font-size: 20px;
    font-weight: 800;
    line-height: 2em;
    letter-spacing: 0.1em;
  }
  .section-course .course-title h2 span {
    font-size: 30px;
  }
  .section-course .course-title h2 strong {
    font-size: 29px;
    font-weight: 800;
  }
  .section-course .text {
    font-weight: 500;
    line-height: 2.25em;
    letter-spacing: 0.1em;
  }
  .section-course .tvcm h3 {
    width: fit-content;
    margin: 50px auto 30px;
    padding: 30px 0 30px 90px;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: .2em;
    background-image: url(../images/cta_img.png);
    background-repeat: no-repeat;
    background-position: center left;
    background-size: 80px auto;
  }
  .section-course .tvcm video {
    width: 550px;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 13px;
  }
  .section-course .awards {
    margin-top: 50px;
  }
  .section-course .awards-title h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 22px;
    font-weight: 800;
    color: #F29400;
    letter-spacing: 0.15em;
  }
  .section-course .awards-title h3::before {
    content: "";
    word-wrap: 44px;
    height: 26px;
  }
  .section-course .awards-title p {
    font-weight: 800;
  }
  .section-campeign {
    text-align: center;
    background-color: #ff96c5;
  }
  .section-campeign img {
    width: 500px;
  }
  .section-features {
    background-image: url(../images/features_bg_left.svg), url(../images/features_bg_right.svg);
    background-repeat: no-repeat;
    background-position: top left, top right;
    background-size: 100px 62px, 100px 62px;
  }
  .section-features .features-title {
    position: relative;
    margin-bottom: 50px;
    padding: 60px 5vw 0;
    background-image: url(../images/features_title_left.svg), url(../images/features_title_right.svg);
    background-repeat: no-repeat;
    background-position: top 50% left, top 50% right;
    background-size: 38px 37px, 52px 45px;
  }
  .section-features .features-title b {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 30px auto 5px;
    font-size: clamp(14px, 3.7vw, 16px);
    font-weight: 800;
    color: #3F3F3F;
  }
  .section-features .features-title b::before, .section-features .features-title b::after {
    content: "";
    width: 3px;
    height: 1.5em;
    margin: 0 1em;
    background-color: #FC6C7C;
    border-radius: 1px;
  }
  .section-features .features-title b::before {
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
  .section-features .features-title b::after {
    -webkit-transform: rotate(20deg);
            transform: rotate(20deg);
  }
  .section-features .features-title h2 {
    margin-bottom: 40px;
    font-size: clamp(27px, 7.2vw, 36px);
    font-weight: 800;
    text-align: center;
    letter-spacing: 0.15em;
  }
  .section-features .features-title h2 strong {
    position: relative;
    font-size: clamp(18px, 4.8vw, 22px);
    font-weight: 800;
    color: #FC6C7C;
  }
  .section-features .features-title h2 strong::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;
    right: 0;
    width: 100%;
    height: 4px;
    background-color: #FC6C7C;
    border-radius: 2px;
  }
  .section-features .features-title h2 strong i {
    font-style: normal;
    font-size: clamp(42px, 11.2vw, 52px);
  }
  .section-features .features-wrapper {
    counter-reset: num;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(calc(50% - 40px), 340px));
    gap: 20px 40px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 880px;
    margin: 0 auto 30px;
  }
  .section-features .feature {
    position: relative;
    counter-increment: num;
    margin-bottom: 20px;
  }
  .section-features .feature:last-child {
    margin-bottom: 0;
  }
  .section-features .feature::before {
    content: counter(num);
    position: absolute;
    top: -10px;
    left: -8px;
    display: grid;
    place-items: center;
    width: 56px;
    height: 48px;
    font-size: 35px;
    font-weight: 900;
    color: #fff;
    background-image: url(../images/features_num.svg);
    background-repeat: no-repeat;
  }
  .section-features .feature .img img {
    width: 100%;
    aspect-ratio: 16/10;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 12px;
  }
  .section-features .feature .text {
    position: relative;
    width: 100%;
    margin: -30px auto 0 -20px;
    padding: 30px;
    background-color: #fff;
    border-radius: 20px;
  }
  .section-features .feature .text h3 {
    margin-bottom: 12px;
    font-size: clamp(20px, 5.3vw, 24px);
    font-weight: 800;
  }
  .section-features .feature .text p {
    margin: 0;
    font-size: 14px;
    letter-spacing: 0.16em;
    line-height: 2.25em;
  }
  .features_bottom {
    position: relative;
    padding: 65px 5vw 40px;
    background-color: #ECF9FE;
  }
  .features_bottom::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 16px;
    background-image: url(../images/features_border.svg);
    background-repeat: repeat-x;
  }
  .features_bottom hgroup {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .features_bottom hgroup img {
    margin-right: 10px;
  }
  .features_bottom hgroup h2 {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 15px;
    font-size: 20px;
    font-weight: 900;
    background-image: url(../images/features_bottom_title01.svg), url(../images/features_bottom_title02.svg);
    background-repeat: no-repeat;
    background-position: top left, bottom right;
    background-size: 7px 12px, 7px 12px;
  }
  .features_bottom .bubble {
    width: clamp(284px, 76vw, 350px);
    aspect-ratio: 20/9;
    margin: 0 auto 30px;
    padding: 1.25em 0 0;
    font-size: clamp(19px, 5vw, 22px);
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.5em;
    text-align: center;
    background-image: url(../images/features_bottom_bubble.svg);
    background-repeat: no-repeat;
    background-size: 100%;
  }
  .features_bottom .bubble b {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 auto;
    font-size: clamp(12px, 3.2vw, 14px);
    font-weight: 800;
  }
  .features_bottom .bubble b::before, .features_bottom .bubble b::after {
    content: "";
    width: 3px;
    height: 1.5em;
    margin: 0 1em;
    background-color: #FC6C7C;
    border-radius: 1px;
  }
  .features_bottom .bubble b::before {
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
  .features_bottom .bubble b::after {
    -webkit-transform: rotate(20deg);
            transform: rotate(20deg);
  }
  .features_bottom .bubble span {
    display: block;
  }
  .features_bottom > p {
    margin-bottom: 2em;
    font-size: clamp(14px, 3.7vw, 16px);
    line-height: 2em;
  }
  .features_bottom .img {
    text-align: center;
  }
  .features_bottom .img img {
    max-width: 500px;
  }
  .features_bottom .text {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 1.5em;
  }
  .features_bottom_point {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(calc(50% - 40px), 340px));
    gap: 20px 40px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 880px;
    margin: 0 auto;
  }
  .features_bottom_point .point {
    max-width: 100%;
    margin: 0 auto 15px;
    padding: 15px 15px 20px;
    background-color: #fff;
    border-radius: 16px;
  }
  .features_bottom_point .point .top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 15px;
  }
  .features_bottom_point .point .top img {
    width: 151px;
    aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
    margin-right: 15px;
    border-radius: 20px;
  }
  .features_bottom_point .point .top .title {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: block;
  }
  .features_bottom_point .point .top .title strong {
    display: inline-block;
    margin-bottom: 5px;
    padding: 0.25em 1em;
    font-size: 12px;
    font-weight: 800;
    color: #0870B7;
    border: 1px solid #0870B7;
    border-radius: 2em;
  }
  .features_bottom_point .point .bottom {
    font-size: clamp(14px, 3.7vw, 16px);
    line-height: 2.25em;
  }
  .features_bottom_point .point .bottom p {
    margin: 0;
  }
  .section-lesson {
    padding: 50px 0 0;
  }
  .section-lesson .lesson-title h2 {
    margin-bottom: 40px;
    font-size: 24px;
    font-weight: 800;
    text-align: center;
  }
  .section-lesson .lesson-title h2 small {
    font-size: 18px;
  }
  .section-lesson .lesson-swiper .swiper-wrapper {
    -webkit-transition-timing-function: linear;
            transition-timing-function: linear;
  }
  .section-lesson .lesson-swiper .swiper-slide {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .section-lesson .lesson-swiper .swiper-slide img {
    border-radius: 12px;
  }
  .section-lesson #lessonTop,
  .section-lesson #lessonBottom {
    pointer-events: none;
  }
  .section-lesson #lessonTop {
    margin-bottom: 4px;
  }
  .section-lesson #lessonTop .swiper-slide img {
    width: 144px;
    height: 100px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .section-lesson #lessonBottom {
    margin-bottom: 40px;
  }
  .section-lesson #lessonBottom .swiper-slide img {
    width: 259px;
    height: 175px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .section-lesson #lessonTab {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 880px;
    margin: 0 auto;
    padding: 0 10px;
  }
  .section-lesson #lessonTab li {
    padding: 1em;
    font-size: 17px;
    font-weight: 800;
    text-align: center;
    color: #3F3F3F;
    border-radius: 12px 12px 0 0;
  }
  .section-lesson #lessonTab li.tab01 {
    background-color: #E6F7CD;
  }
  .section-lesson #lessonTab li.tab01.active {
    color: #7CB524;
  }
  .section-lesson #lessonTab li.tab02 {
    background-color: #FBE7DF;
  }
  .section-lesson #lessonTab li.tab02.active {
    color: #FC6C7C;
  }
  .section-lesson #lessonTab li.tab03 {
    background-color: #D7ECF9;
  }
  .section-lesson #lessonTab li.tab03.active {
    color: #0870B7;
  }
  .section-lesson #lesson01 {
    background-color: #E6F7CD;
  }
  .section-lesson #lesson01 .intro h2 {
    background-color: #7CB524;
  }
  .section-lesson #lesson01 .intro h3 {
    color: #7CB524;
  }
  .section-lesson #lesson01 .pickup h3 {
    background-image: url(../images/lesson_green.svg);
  }
  .section-lesson #lesson01 h4 {
    color: #7CB524;
  }
  .section-lesson #lesson02 {
    background-color: #FBE7DF;
  }
  .section-lesson #lesson02 .intro h2 {
    background-color: #FC6C7C;
  }
  .section-lesson #lesson02 .intro h3 {
    color: #FC6C7C;
  }
  .section-lesson #lesson02 .pickup h3 {
    background-image: url(../images/lesson_pink.svg);
  }
  .section-lesson #lesson02 h4 {
    color: #FC6C7C;
  }
  .section-lesson #lesson03 {
    background-color: #D7ECF9;
  }
  .section-lesson #lesson03 .intro h2 {
    background-color: #2DA7E0;
  }
  .section-lesson #lesson03 .intro h3 {
    color: #2DA7E0;
  }
  .section-lesson #lesson03 .pickup h3 {
    background-image: url(../images/lesson_blue.svg);
  }
  .section-lesson #lesson03 h4 {
    color: #2DA7E0;
  }
  .lesson-content {
    display: none;
    padding: 20px 5vw 60px;
  }
  .lesson-content:first-of-type {
    display: block;
  }
  .lesson-content .intro {
    position: relative;
    max-width: 600px;
    margin: 0 auto 20px;
    border-radius: 12px;
    overflow: hidden;
  }
  .lesson-content .intro h2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 85px;
    height: 85px;
    padding: 10px 30px 0 0;
    border-radius: 12px 0 0 0;
    font-size: 20px;
    line-height: 18px;
    color: #fff;
    text-align: center;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
            clip-path: polygon(0 0, 0% 100%, 100% 0);
  }
  .lesson-content .intro h2 small {
    font-size: 15px;
  }
  .lesson-content .intro .img img {
    width: 100%;
    aspect-ratio: 16/10;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .lesson-content .intro .text {
    padding: 15px 15px 20px;
    border-radius: 0 0 12px 12px;
    background-color: #FFFBE9;
  }
  .lesson-content .intro .text h3 {
    margin-bottom: 0.5em;
    font-size: 20px;
    font-weight: 800;
  }
  .lesson-content .intro .text p {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
  }
  .lesson-content .pickup {
    position: relative;
    max-width: 600px;
    margin: 0 auto;
    padding: 100px 20px 30px;
    background-color: #fff;
    border-radius: 17px;
  }
  .lesson-content .pickup h3 {
    position: absolute;
    top: 15px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 374px;
    height: 73px;
    padding-top: 7px;
    font-size: 22px;
    font-weight: 800;
    color: #fff;
    text-align: center;
    background-repeat: no-repeat;
  }
  .lesson-content .pickup .lesson {
    margin-bottom: 20px;
  }
  .lesson-content .pickup .lesson .img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 15px;
  }
  .lesson-content .pickup .lesson .img img {
    width: 128px;
    margin-right: 15px;
    border-radius: 12px;
  }
  .lesson-content .pickup .lesson .img h4 {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .lesson-content .pickup .lesson .text p {
    letter-spacing: 0.1em;
  }
  .lesson-content .pickup .lesson .text p:last-child {
    margin-bottom: 0;
  }
  .section-interview {
    position: relative;
    padding: 50px 0 120px;
    background-color: #FFF7EB;
  }
  .section-interview::before {
    content: "";
    position: absolute;
    top: -15px;
    left: 0;
    width: 100%;
    height: 16px;
    background-image: url(../images/interview_border.svg);
    background-repeat: repeat-x;
  }
  .section-interview .interview-title {
    padding: 0 5vw;
  }
  .section-interview .interview-title .bubble {
    display: grid;
    place-items: center;
    width: clamp(220px, 58vw, 260px);
    aspect-ratio: 20/9;
    margin: 0 auto 30px;
    font-size: clamp(15px, 4vw, 18px);
    letter-spacing: 0.05em;
    text-align: center;
    background-image: url(../images/interview_bubble.svg);
    background-repeat: no-repeat;
    background-size: 100%;
  }
  .section-interview .interview-title .bubble b {
    font-weight: 800;
  }
  .section-interview .interview-q {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 5vw;
  }
  .section-interview .interview-q b {
    display: inline-block;
    margin-right: 15px;
    font-size: 55px;
    font-weight: 800;
    color: #2DA7E0;
    line-height: 1em;
  }
  .section-interview .interview-q span {
    display: block;
    font-size: 16px;
  }
  #interviewSlider {
    position: relative;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 5vw 50px;
    overflow-x: hidden;
  }
  #interviewSlider .swiper-wrapper {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding: 0 0 30px;
  }
  #interviewSlider .swiper-slide {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 420px;
    max-width: 100%;
    height: auto;
    margin: 0 2.5vw;
    padding: 15px 15px 30px;
    background-color: #fff;
    border-radius: 25px;
  }
  #interviewSlider .swiper-slide .img {
    position: relative;
    margin-bottom: 20px;
    text-align: center;
  }
  #interviewSlider .swiper-slide .img img {
    border-radius: 12px;
  }
  #interviewSlider .swiper-slide .img i {
    position: absolute;
    top: 10px;
    right: 10px;
    display: inline-block;
    padding: 0.25em 1em;
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
    border-radius: 2em;
  }
  #interviewSlider .swiper-slide .text-pl p {
    line-height: 1.75em;
  }
  #interviewSlider .swiper-slide .text {
    padding: 0 0 30px;
  }
  #interviewSlider .swiper-slide .text .title {
    margin-bottom: 1em;
    font-size: 18px;
    color: #4C4C4C;
  }
  #interviewSlider .swiper-slide .text p {
    font-size: 15px;
    font-weight: 400;
  }
  #interviewSlider .swiper-slide .text p:last-child {
    margin-bottom: 0;
  }
  #interviewSlider .swiper-slide .text p.name {
    margin-bottom: 1.25em;
    font-size: 12px;
    font-weight: 900;
    color: #666666;
  }
  #interviewSlider .swiper-slide .text p.voice {
    margin: 0;
    color: #4C4C4C;
    line-height: 1.9em;
  }
  #interviewSlider .swiper-slide .profile {
    margin: 0 auto;
    padding: 30px 0 0;
    border-top: 1px dashed #E5E5E5;
  }
  #interviewSlider .swiper-slide .profile .icon {
    display: none;
  }
  #interviewSlider .swiper-slide .profile p {
    font-weight: 400;
  }
  #interviewSlider .swiper-slide .profile p.name {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
  }
  #interviewSlider .slider-prev,
  #interviewSlider .slider-next {
    position: absolute;
    top: calc(50% - 70px);
    z-index: 100;
    width: 28px;
    height: 28px;
  }
  #interviewSlider .slider-prev {
    left: 4px;
    background-image: url(../images/interview_prev.svg);
  }
  #interviewSlider .slider-next {
    right: 4px;
    background-image: url(../images/interview_next.svg);
  }
  #interviewSlider .slider-pagination {
    position: absolute;
    bottom: 40px;
    text-align: center;
  }
  #interviewSlider .slider-pagination .swiper-pagination-bullet {
    margin: 0 2px;
    background-color: #fff;
    opacity: 1;
  }
  #interviewSlider .slider-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #0870B7;
  }
  .section-trial {
    position: relative;
    padding: 0 5vw 60px;
    background-color: #ECF9FE;
  }
  .section-trial::before {
    content: "";
    position: absolute;
    top: -54px;
    left: 0;
    width: 100%;
    height: 55px;
    background-image: url(../images/trial_border.svg);
    background-repeat: no-repeat;
    background-size: 100%;
  }
  .section-trial::after {
    content: "";
    position: absolute;
    top: -50px;
    left: 0;
    width: 100%;
    height: 62px;
    background-image: url(../images/trial_bg_left.svg), url(../images/trial_bg_right.svg);
    background-repeat: no-repeat;
    background-position: top left, top right;
    background-size: 100px 62px, 100px 62px;
  }
  .section-trial .chara {
    position: absolute;
    top: -115px;
    left: 50%;
    z-index: 100;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 74px;
  }
  .section-trial .trial-title {
    margin-bottom: 30px;
  }
  .section-trial .trial-title b {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 auto 5px;
    font-size: clamp(11px, 2.93vw, 13px);
    font-weight: 800;
  }
  .section-trial .trial-title b::before, .section-trial .trial-title b::after {
    content: "";
    width: 3px;
    height: 1.5em;
    margin: 0 1em;
    background-color: #0870B7;
    border-radius: 1px;
  }
  .section-trial .trial-title b::before {
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
  .section-trial .trial-title b::after {
    -webkit-transform: rotate(20deg);
            transform: rotate(20deg);
  }
  .section-trial .trial-title h2 {
    font-size: clamp(26px, 6.93vw, 32px);
    font-weight: 800;
    text-align: center;
    letter-spacing: 0.1em;
  }
  .section-trial .trial-title h2 span {
    display: block;
  }
  .section-trial .intro {
    max-width: 600px;
    margin: 0 auto 40px;
  }
  .section-trial .intro .img {
    margin: 0 auto 20px;
    text-align: center;
  }
  .section-trial .intro .text {
    line-height: 2em;
  }
  .trial-contents {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(calc(50% - 20px), 1fr));
    gap: 30px 20px;
    max-width: 600px;
    margin: 0 auto;
    counter-reset: trial;
  }
  .trial-contents .trial {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 10px;
    counter-increment: trial;
  }
  .trial-contents .trial .title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1.25em;
  }
  .trial-contents .trial .title::before {
    content: counter(trial);
    margin-right: 10px;
    font-size: 38px;
    font-weight: 800;
    color: #2DA7E0;
  }
  .trial-contents .trial img {
    width: 100%;
    aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 14px;
  }
  .trial-contents .trial p {
    margin: 0;
    font-size: 14px;
    letter-spacing: 0.14em;
    line-height: 1.75em;
  }
  .section-voice {
    padding: 60px 0 100px;
    background-color: #FFF7EB;
  }
  .section-voice .voice-title {
    margin-bottom: 40px;
    padding: 0 5vw;
    text-align: center;
  }
  .section-voice .voice-title b {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: clamp(14px, 3.7vw, 16px);
    font-weight: 800;
    color: #3F3F3F;
  }
  .section-voice .voice-title b::before, .section-voice .voice-title b::after {
    content: "";
    width: 3px;
    height: 1.5em;
    margin: 0 1em;
    background-color: #0870B7;
    border-radius: 1px;
  }
  .section-voice .voice-title b::before {
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
  .section-voice .voice-title b::after {
    -webkit-transform: rotate(20deg);
            transform: rotate(20deg);
  }
  .section-voice .voice-title h2 {
    font-size: clamp(27px, 7.2vw, 36px);
  }
  .section-voice #voiceTab {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 90vw;
    max-width: 400px;
    margin: 0 auto 30px;
    color: #F29400;
    background-color: #fff;
    border: 1px solid #F29400;
    border-radius: 50px;
    overflow: hidden;
  }
  .section-voice #voiceTab li {
    width: 50%;
    padding: 1em 0.5em;
    font-size: 14px;
    font-weight: 800;
  }
  .section-voice #voiceTab li span {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
  .section-voice #voiceTab li.active {
    color: #fff;
    background-color: #F29400;
  }
  .section-voice .voice-content {
    display: none;
  }
  .section-voice .voice-content.active {
    display: block;
  }
  .voice-content {
    position: relative;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
  }
  .voice-content #voiceSlider01,
  .voice-content #voiceSlider02 {
    padding: 0 5vw 10px;
  }
  .voice-content .swiper-wrapper {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding: 0 0 30px;
  }
  .voice-content .swiper-slide {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 420px;
    max-width: 100%;
    height: auto;
    margin: 0 2.5vw;
    padding: 30px 15px;
    background-color: #fff;
    border-radius: 25px;
  }
  .voice-content .swiper-slide .text .title {
    margin-bottom: 0.25em;
    font-size: 18px;
    color: #FC6C7C;
  }
  .voice-content .swiper-slide .text .name {
    margin-bottom: 1.25em;
    font-size: 12px;
    font-weight: 900;
    color: #666666;
  }
  .voice-content .swiper-slide .text .voice {
    margin: 1em 0 0;
    font-size: 16px;
    font-weight: 400;
    color: #4C4C4C;
    line-height: 2em;
  }
  .voice-content .slider-prev,
  .voice-content .slider-next {
    position: absolute;
    top: calc(50% - 40px);
    z-index: 100;
    width: 28px;
    height: 28px;
  }
  .voice-content .slider-prev {
    left: 4px;
    background-image: url(../images/voice_prev.svg);
  }
  .voice-content .slider-next {
    right: 4px;
    background-image: url(../images/voice_next.svg);
  }
  .voice-content .slider-pagination {
    position: absolute;
    bottom: 0;
    text-align: center;
  }
  .voice-content .slider-pagination .swiper-pagination-bullet {
    margin: 0 2px;
    background-color: #fff;
    opacity: 1;
  }
  .voice-content .slider-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #FC6C7C;
  }
  .section-qa {
    position: relative;
    padding: 65px 5vw 40px;
    background-color: #FEF1B7;
  }
  .section-qa::before {
    content: "";
    position: absolute;
    top: -15px;
    left: 0;
    width: 100%;
    height: 16px;
    background-image: url(../images/qa_border.svg);
    background-repeat: repeat-x;
  }
  .section-qa .chara {
    position: absolute;
    top: -50px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 104px;
  }
  .section-qa .qa-title .title-arch span {
    color: #EA5E39;
  }
  .section-qa .qa-title .bubble {
    display: grid;
    place-items: center;
    width: clamp(220px, 58vw, 260px);
    aspect-ratio: 20/9;
    margin: 0 auto 30px;
    font-size: clamp(15px, 4vw, 18px);
    letter-spacing: 0.1em;
    text-align: center;
    background-image: url(../images/qa_bubble.svg);
    background-repeat: no-repeat;
    background-size: 100%;
  }
  .section-qa .qa-title .bubble b {
    font-weight: 800;
  }
  .section-qa .qa-contents {
    margin-bottom: 18px;
    padding: 30px 5vw;
    background-color: #fff;
    border-radius: 25px;
  }
  .section-qa .qa-contents:first-of-type .answer {
    display: block;
  }
  .section-qa .qa-contents:last-child {
    margin-bottom: 0;
  }
  .section-qa .qa-contents .question,
  .section-qa .qa-contents .answer {
    position: relative;
  }
  .section-qa .qa-contents .question::before,
  .section-qa .qa-contents .answer::before {
    position: absolute;
    top: 0;
    left: 0;
    font-size: clamp(18px, 4.8vw, 22px);
    font-weight: 900;
  }
  .section-qa .qa-contents .question {
    position: relative;
    padding: 0 25px 0 30px;
  }
  .section-qa .qa-contents .question h2 {
    font-size: clamp(18px, 4.8vw, 22px);
    font-weight: 800;
  }
  .section-qa .qa-contents .question::before {
    content: "Q.";
    color: #F3C317;
  }
  .section-qa .qa-contents .question i {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    display: block;
    width: 22px;
    height: 22px;
    background-color: #F3C317;
    border-radius: 50%;
  }
  .section-qa .qa-contents .question i::before, .section-qa .qa-contents .question i::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    display: inline-block;
    width: 8px;
    height: 2px;
    background-color: #fff;
    border-radius: 1px;
  }
  .section-qa .qa-contents .question i::after {
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
            transform: translate(-50%, -50%) rotate(90deg);
  }
  .section-qa .qa-contents .question i.minus::after {
    display: none;
  }
  .section-qa .qa-contents .question.active i::after {
    display: inline-block;
  }
  .section-qa .qa-contents .answer {
    position: relative;
    display: none;
    margin-top: 20px;
    padding: 0 1em 0 30px;
    line-height: 2em;
  }
  .section-qa .qa-contents .answer p {
    margin: 0;
  }
  .section-qa .qa-contents .answer::before {
    content: "A.";
    color: #FC6C7C;
  }
  
  .video-area {
    position: relative;
    width: 550px;
    max-width: 100%;
    margin: 0 auto;
    
  }
  
  .video-area video {
    width: 100%;
    display: block;
  }
  
  /* カスタム再生ボタン */
  .video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  
    width: 90px;
    height: 90px;
    border-radius: 50%;
    border: none;
  
    background: rgba(0,0,0,0.6);
    color: #fff;
    font-size: 32px;
    cursor: pointer;
  
    z-index: 2;
    transition: 0.3s;
  }
  
  .video-play:hover {
    background: rgba(0,0,0,0.8);
  }
  
  /* 停止ボタン（右下） */
  .video-pause {
    position: absolute;
    right: 20px;
    bottom: 20px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: none;
    background: rgba(0,0,0,0.6);
    color: #fff;
    font-size: 20px;
    cursor: pointer;
    display: none;
  }
  
}
/* ***************************************************
 PC
*************************************************** */
@media all and (min-width:1200px) {
  .sp {
    display: none !important;
  }
  .container {
    position: relative;
    display: grid;
    grid-template-columns: 200px 1fr;
    grid-template-rows: 2fr;
    width: 100vw;
    min-width: 1200px;
    margin: 0 auto;
  }
  .blue {
    color: #2DA7E0;
  }
  .yellow {
    color: #F3C317;
  }
  .green {
    color: #7CB524;
  }
  .orange {
    color: #F29400;
  }
  .pink {
    color: #FC6C7C;
  }
  .blue-bg {
    background-color: #2DA7E0;
    color: #fff;
  }
  .yellow-bg {
    background-color: #F3C317;
    color: #fff;
  }
  .green-bg {
    background-color: #7CB524;
    color: #fff;
  }
  .orange-bg {
    background-color: #F29400;
    color: #fff;
  }
  .pink-bg {
    background-color: #FC6C7C;
    color: #fff;
  }
  .title-arch {
    margin-bottom: 15px;
    font-size: 36px;
    font-weight: 800;
    text-align: center;
    letter-spacing: 0.1em;
  }
  .title-arch span:first-child, .title-arch span:nth-child(8n) {
    color: #2DA7E0;
  }
  .title-arch span:nth-child(2), .title-arch span:nth-child(9n) {
    color: #F3C317;
  }
  .title-arch span:nth-child(3), .title-arch span:nth-child(10n) {
    color: #0870B7;
  }
  .title-arch span:nth-child(4), .title-arch span:nth-child(11n) {
    color: #00A34C;
  }
  .title-arch span:nth-child(5), .title-arch span:nth-child(12n) {
    color: #F29400;
  }
  .title-arch span:nth-child(6), .title-arch span:nth-child(13n) {
    color: #E48BB2;
  }
  .title-arch span:nth-child(7), .title-arch span:nth-child(14n) {
    color: #E7313F;
  }
  @-webkit-keyframes purupuru {
    0% {
      -webkit-transform: translate(2px, 0px);
              transform: translate(2px, 0px);
    }
    5% {
      -webkit-transform: translate(-2px, 0px);
              transform: translate(-2px, 0px);
    }
    10% {
      -webkit-transform: translate(2px, 0px);
              transform: translate(2px, 0px);
    }
    15% {
      -webkit-transform: translate(-2px, 0px);
              transform: translate(-2px, 0px);
    }
    20% {
      -webkit-transform: translate(2px, 0px);
              transform: translate(2px, 0px);
    }
    25% {
      -webkit-transform: translate(-2px, 0px);
              transform: translate(-2px, 0px);
    }
    30% {
      -webkit-transform: translate(0px, 0px);
              transform: translate(0px, 0px);
    }
  }
  @keyframes purupuru {
    0% {
      -webkit-transform: translate(2px, 0px);
              transform: translate(2px, 0px);
    }
    5% {
      -webkit-transform: translate(-2px, 0px);
              transform: translate(-2px, 0px);
    }
    10% {
      -webkit-transform: translate(2px, 0px);
              transform: translate(2px, 0px);
    }
    15% {
      -webkit-transform: translate(-2px, 0px);
              transform: translate(-2px, 0px);
    }
    20% {
      -webkit-transform: translate(2px, 0px);
              transform: translate(2px, 0px);
    }
    25% {
      -webkit-transform: translate(-2px, 0px);
              transform: translate(-2px, 0px);
    }
    30% {
      -webkit-transform: translate(0px, 0px);
              transform: translate(0px, 0px);
    }
  }
  .cta {
    padding: 50px clamp(18px, 5vw, 30px) 80px;
    color: #fff;
    background-color: #FC6C7C;
    background-image: url(../images/cta_bg_pc.svg), url(../images/cta_dot.png);
    background-repeat: no-repeat, repeat;
    background-position: center top 80px, left top;
    background-size: 700px auto, auto;
  }
  .cta .title {
    position: relative;
    left: -17px;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 70px;
  }
  .cta .title img {
    width: 120px;
    margin-right: 10px;
  }
  .cta .title h2 {
    margin-bottom: 1.5em;
    font-size: clamp(18px, 4.8vw, 22px);
    font-weight: 800;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .cta .title h2 b {
    font-size: clamp(27px, 7.2vw, 32px);
    font-weight: 900;
  }
  .cta .box {
    position: relative;
    z-index: 1;
    width: 550px;
    margin: -27px auto 0;
    padding: 30px 100px 20px;
    font-weight: 800;
    text-align: center;
    letter-spacing: 0.1em;
    background-color: #fff;
    border-radius: 20px;
  }
  .cta .box h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: clamp(12px, 3.2vw, 15px);
    font-weight: 800;
    color: #3F3F3F;
  }
  .cta .box h3::before, .cta .box h3::after {
    content: "";
    width: 3px;
    height: 2em;
    margin: 0 1em;
    background-color: #F29400;
    border-radius: 1px;
  }
  .cta .box h3::before {
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
  .cta .box h3::after {
    -webkit-transform: rotate(20deg);
            transform: rotate(20deg);
  }
  .cta .box .btn {
    position: relative;
    margin: 0 auto;
    -webkit-animation: purupuru 2s infinite;
            animation: purupuru 2s infinite;
  }
  .cta .box .btn a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    max-width: 600px;
    margin: 0.5em auto 0.75em;
    padding: 1.5em 0.5em;
    font-size: clamp(16px, 4.3vw, 18px);
    color: #fff;
    letter-spacing: 0.05em;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3);
    background: rgb(254, 48, 72);
    background: -webkit-gradient(linear, left top, right top, from(rgb(254, 48, 72)), to(rgb(255, 165, 0)));
    background: linear-gradient(90deg, rgb(254, 48, 72) 0%, rgb(255, 165, 0) 100%);
    border: 1px solid #FF6619;
    border-radius: 3em;
  }
  .cta .box .btn a::after {
    content: "";
    display: inline-block;
    width: 13px;
    height: 12px;
    margin-left: 1em;
    background-image: url(../images/cta_arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
  }
  .cta .box .panf {
    margin: 0 auto;
    font-size: clamp(14px, 3.7vw, 16px);
  }
  @-webkit-keyframes blur {
    0% {
      -webkit-filter: blur(10px);
              filter: blur(10px);
    }
    100% {
      -webkit-filter: blur(0);
              filter: blur(0);
    }
  }
  @keyframes blur {
    0% {
      -webkit-filter: blur(10px);
              filter: blur(10px);
    }
    100% {
      -webkit-filter: blur(0);
              filter: blur(0);
    }
  }
  .inview,
  .inview1,
  .inview2,
  .inview3,
  .inview4 {
    opacity: 0;
    -webkit-filter: blur(5px);
            filter: blur(5px);
    -webkit-transform: translate(0, 30px);
            transform: translate(0, 30px);
    -webkit-transition: 0.75s;
    transition: 0.75s;
  }
  .inview.is-show,
  .inview1.is-show,
  .inview2.is-show,
  .inview3.is-show,
  .inview4.is-show {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  #header {
    position: relative;
    z-index: 9999;
    display: block;
    background-color: #FFFBF5;
    text-align: center;
  }
  #header .header-logo {
    display: inline-block;
    text-align: center;
  }
  #header .header-logo img {
    width: 118px;
  }
  #header .header-inner {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    padding: 70px 0;
  }
  #header .header-nav {
    list-style: none;
    width: 125px;
    margin: 0 auto 30px;
    padding: 60px 0 0;
  }
  #header .header-nav li {
    padding: 10px 0;
    border-bottom: 1px dashed #CCCCCC;
  }
  #header .header-nav li a {
    display: block;
    padding: 10px 0;
  }
  #header .header-nav li b {
    display: block;
    font-size: 14px;
    font-weight: 800;
  }
  #header .header-nav li small {
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.14em;
  }
  #header .header-nav li small span:first-child, #header .header-nav li small span:nth-child(8n) {
    color: #2DA7E0;
  }
  #header .header-nav li small span:nth-child(2), #header .header-nav li small span:nth-child(9n) {
    color: #F3C317;
  }
  #header .header-nav li small span:nth-child(3), #header .header-nav li small span:nth-child(10n) {
    color: #0870B7;
  }
  #header .header-nav li small span:nth-child(4), #header .header-nav li small span:nth-child(11n) {
    color: #00A34C;
  }
  #header .header-nav li small span:nth-child(5), #header .header-nav li small span:nth-child(12n) {
    color: #F29400;
  }
  #header .header-nav li small span:nth-child(6), #header .header-nav li small span:nth-child(13n) {
    color: #E48BB2;
  }
  #header .header-nav li small span:nth-child(7), #header .header-nav li small span:nth-child(14n) {
    color: #E7313F;
  }
  #header .btn {
    position: relative;
    margin: 0 auto;
  }
  #header .btn a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 175px;
    max-width: 100%;
    margin: 0 auto;
    padding: 9px 10px 9px 45px;
    font-size: 11px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.05em;
    text-align: left;
    background: rgb(254, 48, 72);
    background: -webkit-gradient(linear, left top, right top, from(rgb(254, 48, 72)), to(rgb(255, 165, 0)));
    background: linear-gradient(90deg, rgb(254, 48, 72) 0%, rgb(255, 165, 0) 100%);
    border: 1px solid #FF6619;
    border-radius: 3em;
  }
  #header .btn a::before {
    content: "";
    position: absolute;
    top: -15px;
    left: 0;
    width: 53px;
    height: 67px;
    background-image: url(../images/cta_img.png);
    background-repeat: no-repeat;
    background-size: contain;
  }
  #header .btn a::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 0.25em;
    background-image: url(../images/side_arrow_pc.svg);
    background-repeat: no-repeat;
    background-position: center;
  }
  #footer {
    position: relative;
    grid-column: span 2;
    grid-row: 2/3;
    color: #fff;
    background-color: #004097;
  }
  #footer > ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto;
    padding: 35px 30px 30px;
    font-weight: 500;
  }
  #footer > ul li {
    margin: 0 0.75em;
  }
  #footer > ul li:last-child {
    margin-bottom: 0;
  }
  #footer > ul li a {
    color: #fff;
  }
  #footer .totop {
    position: absolute;
    bottom: 25px;
    right: clamp(18px, 5vw, 30px);
    display: block;
    width: 50px;
    height: 50px;
  }
  #footer .copyright {
    margin: 0;
    padding: 1em 0;
    font-size: 11px;
    text-align: center;
    background-color: #022E5E;
  }
  #footer #floatBtn {
    display: none;
  }
  .section-intro {
    padding: 50px clamp(15px, 1.25vw, 55px);
    background-color: #FFF7EB;
  }
  .section-intro .inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 50%));
    grid-template-rows: repeat(3, -webkit-max-content);
    grid-template-rows: repeat(3, max-content);
    gap: 0;
    width: clamp(1080px, 100vw - 260px, 1360px);
    margin: 0 auto;
    padding: 55px clamp(30px, 2.5vw, 55px);
    background-image: url(../images/kv_dot.png), url(../images/kv_bg_right.svg);
    background-repeat: repeat, no-repeat;
    background-position: top left, top 50px right clamp(30px, 2.5vw, 55px);
    background-size: auto, 100px auto;
    background-color: #FC6C7C;
    border-radius: 36px;
  }
  .section-intro::after {
    content: "";
    position: absolute;
    top: 35px;
    left: 49%;
    z-index: -1;
    width: 435px;
    height: 400px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background-image: url(../images/kv_bg.svg);
    background-size: contain;
  }
  .section-intro h1 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin: 0 auto 20px 40px;
    padding: 0.5em 0 0.5em 50px;
    font-size: 24px;
    font-weight: 800;
    color: #fff;
    background-image: url(../images/kv_title.svg);
    background-repeat: no-repeat;
    background-size: 35px auto;
    background-position: left center;
  }
  
  .section-intro .award-txt{
    font-size: 11px;
    color:#555 ;
    text-align: right;
    padding: 25px clamp(30px, 2.5vw, 55px);
    
  }
  
  .section-intro .intro-title {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    position: relative;
    z-index: 100;
    -ms-flex-item-align: self-end;
        align-self: self-end;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 0 -30px;
    padding: 0 80px 15px 0;
    color: #fff;
  }
  .section-intro .intro-title .bubble {
    position: relative;
    width: 102px;
    aspect-ratio: 8/5;
    margin: 0 0 0 180px;
    padding: 12px 4px;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.4em;
    text-align: center;
    background-image: url(../images/kv_bubble.svg);
    background-repeat: no-repeat;
    background-size: contain;
  }
  .section-intro .intro-title .bubble::after {
    content: "";
    position: absolute;
    bottom: 5px;
    right: -72px;
    width: 70px;
    height: 60px;
    background-image: url(../images/kv_intro02.png);
    background-repeat: no-repeat;
    background-size: contain;
  }
  .section-intro .intro-title h2 {
    display: block;
    padding-left: 120px;
    font-size: 60px;
    font-weight: 800;
    line-height: 1em;
    white-space: nowrap;
    text-shadow: 0 0 1px rgba(0, 0, 0, 0.38);
    background-image: url(../images/kv_intro01.png);
    background-repeat: no-repeat;
    background-size: contain;
  }
  .section-intro .intro-title h2 small {
    font-size: 0.5em;
  }
  .section-intro .intro-title h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: -22px;
    width: 65px;
    height: 55px;
    background-image: url(../images/kv_intro03.png);
    background-repeat: no-repeat;
    background-size: contain;
  }
  .section-intro .intro-title img {
    display: none;
  }
  @-webkit-keyframes wave {
    from {
      -webkit-transform: translate(0);
              transform: translate(0);
    }
    to {
      -webkit-transform: translate(-50%);
              transform: translate(-50%);
    }
  }
  @keyframes wave {
    from {
      -webkit-transform: translate(0);
              transform: translate(0);
    }
    to {
      -webkit-transform: translate(-50%);
              transform: translate(-50%);
    }
  }
  .wave {
    display: none;
  }
  #kvSliderChildren {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    grid-row: span 3;
    position: relative;
    z-index: 1;
    width: 100%;
    margin: 0 auto;
    padding: 50px 40px 0 70px;
    background-image: url(../images/kv_bg.svg);
    background-repeat: no-repeat;
    background-size: contain;
  }
  #kvSliderChildren .swiper-wrapper {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    background-image: url(../images/kv_circle.svg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: contain;
    overflow: hidden;
  }
  #kvSliderChildren .swiper-wrapper::before {
    content: "";
    position: absolute;
    top: 53%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 100;
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
    background-image: url(../images/kv_over.svg);
    background-size: 93%;
    background-repeat: no-repeat;
    background-position: center center;
  }
  #kvSliderChildren .swiper-slide {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-width: 100%;
    padding: 8px 9px;
  }
  #kvSliderFeature {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    max-width: 100%;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    overflow: hidden;
  }
  #kvSliderFeature .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
  }
  #kvSliderFeature .swiper-wrapper:not(:first-child) {
    display: none;
  }
  #kvSliderFeature .swiper-slide {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: auto;
    background-color: #fff;
    border-radius: 13px;
    overflow: hidden;
  }
  #kvSliderFeature .swiper-slide img {
    width: 100%;
    aspect-ratio: 16/10;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #kvSliderFeature .swiper-slide p {
    margin: 8px auto 10px;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
    line-height: 1.5em;
  }
  #kvSliderFeature .swiper-slide p span {
    font-size: 21px;
  }
  @-webkit-keyframes huwa01 {
    0%, 100% {
      -webkit-transform: translateY(0) scale(1);
              transform: translateY(0) scale(1);
      opacity: 1;
    }
    50% {
      -webkit-transform: translate(10%, 120%) scale(1.5);
              transform: translate(10%, 120%) scale(1.5);
      opacity: 0.75;
    }
  }
  @keyframes huwa01 {
    0%, 100% {
      -webkit-transform: translateY(0) scale(1);
              transform: translateY(0) scale(1);
      opacity: 1;
    }
    50% {
      -webkit-transform: translate(10%, 120%) scale(1.5);
              transform: translate(10%, 120%) scale(1.5);
      opacity: 0.75;
    }
  }
  @-webkit-keyframes huwa02 {
    0%, 100% {
      -webkit-transform: translate(0, 0) scale(1);
              transform: translate(0, 0) scale(1);
      opacity: 1;
    }
    50% {
      -webkit-transform: translate(-30%, -150%) scale(1.7);
              transform: translate(-30%, -150%) scale(1.7);
      opacity: 0.5;
    }
  }
  @keyframes huwa02 {
    0%, 100% {
      -webkit-transform: translate(0, 0) scale(1);
              transform: translate(0, 0) scale(1);
      opacity: 1;
    }
    50% {
      -webkit-transform: translate(-30%, -150%) scale(1.7);
              transform: translate(-30%, -150%) scale(1.7);
      opacity: 0.5;
    }
  }
  .section-course {
    position: relative;
    z-index: 1;
    padding: 0 clamp(30px, 2.75vw, 50px) 70px;
    text-align: center;
    background-color: #FFF7EB;
  }
  .section-course .inner {
    width: 1080px;
    max-width: 100%;
    margin: 0 auto;
    padding: 60px 0 40px;
    background-image: url(../images/course_bg_top_pc.svg), url(../images/course_bg_bottom_pc.svg);
    background-repeat: no-repeat;
    background-position: top left, bottom left;
    background-size: 100%;
    background-color: #fff;
    border-radius: 36px;
  }
  
  .section-course_bn_area{
    position: relative;
    z-index: 1;
    padding: 0 clamp(30px, 2.75vw, 50px) 70px;
    text-align: center;
    background-color: #FFF7EB;
  }
  
  .section-course_bn_area img{
    width: 1080px;
    max-width: 100%;
  }
  
  #banner-container2 .section-course_bn_area{
    padding-top: 70px;
  }
  
  
  .section-course .course-title {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 30px;
    padding: 45px 80px 0;
    background-image: url(../images/course_title_left.svg), url(../images/course_title_right.svg);
    background-repeat: no-repeat;
    background-size: 45px auto;
    background-position: bottom 20px left, bottom 20px right;
  }
  .section-course .course-title .bubble {
    position: absolute;
    top: 0;
    left: 59%;
    width: 83px;
    aspect-ratio: 8/5;
    padding: 8px 4px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4em;
    text-align: center;
    color: #fff;
    background-image: url(../images/course_bubble.svg);
    background-repeat: no-repeat;
    background-size: contain;
  }
  .section-course .course-title h2 {
    font-size: 20px;
    font-weight: 800;
    line-height: 2em;
    letter-spacing: 0.1em;
  }
  .section-course .course-title h2 span {
    font-size: 30px;
  }
  .section-course .course-title h2 strong {
    font-size: 29px;
    font-weight: 800;
  }
  .section-course .text {
    font-weight: 500;
    line-height: 2.25em;
    letter-spacing: 0.1em;
  }
  .section-course .tvcm h3 {
    width: fit-content;
    margin: 70px auto 40px;
    padding: 30px 0 30px 120px;
    font-size: 30px;
    font-weight: 800;
    letter-spacing: .3em;
    background-image: url(../images/cta_img.png);
    background-repeat: no-repeat;
    background-position: center left;
    background-size: 100px auto;
  }
  .section-course .tvcm video {
    width: 550px;
    margin: 0 auto;
    border-radius: 24px;
  }
  .section-course .awards {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 700px;
    max-width: 80%;
    margin: 40px auto 0;
    padding: 20px 10px;
    background-color: #FFFBF5;
    border-radius: 36px;
  }
  .section-course .awards-title {
    margin-right: 30px;
  }
  .section-course .awards-title h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 22px;
    font-weight: 800;
    color: #F29400;
    letter-spacing: 0.25em;
  }
  .section-course .awards-title h3::before {
    content: "";
    display: block;
    width: 40px;
    height: 24px;
    margin-right: 10px;
    background-image: url(../images/awards_crown.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  .section-course .awards-title p {
    margin: 0;
    font-weight: 800;
  }
  .section-campeign {
    padding-bottom: 70px;
    background-color: #FFF7EB;
    text-align: center;
  }
  .section-campeign img {
    width: 1080px;
  }
  .section-features {
    background-image: url(../images/features_bg_left.svg), url(../images/features_bg_right.svg);
    background-repeat: no-repeat;
    background-position: top left calc(50% - 180px), top right calc(50% - 180px);
    background-size: 100px 62px, 100px 62px;
  }
  .section-features .features-title {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 70px;
    padding: 110px 60px 0;
    background-image: url(../images/features_title_left.svg), url(../images/features_title_right.svg);
    background-repeat: no-repeat;
    background-position: bottom 40px left, bottom 40px right;
    background-size: 38px 37px, 52px 45px;
  }
  .section-features .features-title b {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 30px auto 5px;
    font-size: clamp(14px, 3.7vw, 16px);
    font-weight: 800;
    color: #3F3F3F;
  }
  .section-features .features-title b::before, .section-features .features-title b::after {
    content: "";
    width: 3px;
    height: 1.5em;
    margin: 0 1em;
    background-color: #FC6C7C;
    border-radius: 1px;
  }
  .section-features .features-title b::before {
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
  .section-features .features-title b::after {
    -webkit-transform: rotate(20deg);
            transform: rotate(20deg);
  }
  .section-features .features-title h2 {
    margin-bottom: 40px;
    font-size: clamp(27px, 7.2vw, 36px);
    font-weight: 800;
    text-align: center;
    letter-spacing: 0.15em;
  }
  .section-features .features-title h2 strong {
    position: relative;
    font-size: clamp(18px, 4.8vw, 22px);
    font-weight: 800;
    color: #FC6C7C;
  }
  .section-features .features-title h2 strong::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;
    right: 0;
    width: 100%;
    height: 4px;
    background-color: #FC6C7C;
    border-radius: 2px;
  }
  .section-features .features-title h2 strong i {
    font-style: normal;
    font-size: clamp(42px, 11.2vw, 52px);
  }
  .section-features .features-wrapper {
    counter-reset: num;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(calc(50% - 70px), 1fr));
    gap: 20px 70px;
    width: calc(1080px - clamp(60px, 5.5vw, 100px));
    max-width: 100%;
    margin: 0 auto 70px;
  }
  .section-features .feature {
    position: relative;
    counter-increment: num;
    margin-bottom: 20px;
  }
  .section-features .feature:last-child {
    margin-bottom: 0;
  }
  .section-features .feature::before {
    content: counter(num);
    position: absolute;
    top: -15px;
    left: -15px;
    display: grid;
    place-items: center;
    width: 70px;
    height: 55px;
    font-size: 38px;
    font-weight: 900;
    color: #fff;
    background-image: url(../images/features_num.svg);
    background-repeat: no-repeat;
  }
  .section-features .feature .img img {
    width: 100%;
    aspect-ratio: 16/10;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 24px;
  }
  .section-features .feature .text {
    position: relative;
    width: 90%;
    margin: -50px auto 0 -1px;
    padding: 30px 30px 0 20px;
    background-color: #fff;
    border-radius: 0 24px 24px 0;
  }
  .section-features .feature .text h3 {
    margin-bottom: 12px;
    font-size: clamp(20px, 5.3vw, 24px);
    font-weight: 800;
    letter-spacing: 0.1em;
  }
  .section-features .feature .text p {
    margin: 0;
    font-size: 14px;
    letter-spacing: 0.16em;
    line-height: 2.25em;
  }
  .features_bottom {
    position: relative;
    padding: 80px clamp(30px, 2.75vw, 50px) 40px;
    background-color: #ECF9FE;
  }
  .features_bottom .features_bottom_wide {
    display: grid;
    grid-template-columns: 40% 60%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 1080px;
    max-width: 100%;
    margin: 0 auto 30px;
    padding: 50px 100px;
    background-color: #fff;
    border-radius: 36px;
  }
  .features_bottom .features_bottom_wide hgroup {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    grid-column: span 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 50px;
  }
  .features_bottom .features_bottom_wide hgroup img {
    width: 150px;
    margin-right: 30px;
  }
  .features_bottom .features_bottom_wide hgroup h2 {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 15px;
    font-size: 30px;
    font-weight: 900;
  }
  .features_bottom .features_bottom_wide .bubble {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 0 0 0 50px;
    font-size: 24px;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.5em;
  }
  .features_bottom .features_bottom_wide .bubble b {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 auto;
    font-size: 14px;
    font-weight: 800;
  }
  .features_bottom .features_bottom_wide .bubble b::before, .features_bottom .features_bottom_wide .bubble b::after {
    content: "";
    width: 3px;
    height: 1.5em;
    margin: 0 1em;
    background-color: #FC6C7C;
    border-radius: 1px;
  }
  .features_bottom .features_bottom_wide .bubble b::before {
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
  .features_bottom .features_bottom_wide .bubble b::after {
    -webkit-transform: rotate(20deg);
            transform: rotate(20deg);
  }
  .features_bottom .features_bottom_wide .bubble span {
    display: block;
  }
  .features_bottom .features_bottom_wide .img {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    grid-row: span 2;
    width: 340px;
    height: auto;
  }
  .features_bottom .features_bottom_wide .text {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    margin: 0;
    padding: 0 0 40px 50px;
    font-size: 16px;
    font-weight: 600;
    line-height: 2em;
    letter-spacing: 0.1em;
  }
  .features_bottom .features_bottom_wide .text strong {
    font-weight: 600;
  }
  .features_bottom_point {
    display: grid;
    grid-template-columns: repeat(2, calc(50% - 15px));
    gap: 30px;
    width: 1080px;
    max-width: 100%;
    margin: 0 auto;
  }
  .features_bottom_point .point {
    width: 100%;
    margin: 0 auto 15px;
    padding: 15px 15px 20px;
    background-color: #fff;
    border-radius: 32px;
  }
  .features_bottom_point .point .top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 15px;
  }
  .features_bottom_point .point .top img {
    width: 150px;
    aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
    margin-right: 20px;
    border-radius: 24px;
  }
  .features_bottom_point .point .top .title {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: block;
  }
  .features_bottom_point .point .top .title strong {
    display: inline-block;
    margin-bottom: 5px;
    padding: 0.25em 1em;
    font-size: 14px;
    font-weight: 800;
    color: #2DA7E0;
    letter-spacing: 0.15em;
    border: 1px solid #2DA7E0;
    border-radius: 2em;
  }
  .features_bottom_point .point .top .title h3 {
    font-size: 22px;
  }
  .features_bottom_point .point .bottom {
    font-size: 16px;
    font-weight: 600;
    line-height: 2.25em;
  }
  .features_bottom_point .point .bottom p {
    margin: 0;
  }
  .section-lesson {
    padding: 80px 0;
  }
  .section-lesson .lesson-title {
    width: 1080px;
    max-width: 100%;
    margin: 0 auto;
  }
  .section-lesson .lesson-title h2 {
    margin-bottom: 40px;
    font-size: 24px;
    font-weight: 800;
    text-align: center;
  }
  .section-lesson .lesson-title h2 small {
    font-size: 18px;
  }
  .section-lesson .lesson-swiper {
    width: 100%;
    overflow: hidden;
  }
  .section-lesson .lesson-swiper .swiper-wrapper {
    -webkit-transition-timing-function: linear;
            transition-timing-function: linear;
  }
  .section-lesson .lesson-swiper .swiper-slide {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .section-lesson .lesson-swiper .swiper-slide img {
    border-radius: 12px;
  }
  .section-lesson #lessonTop,
  .section-lesson #lessonBottom {
    pointer-events: none;
  }
  .section-lesson #lessonTop {
    display: none;
  }
  .section-lesson #lessonBottom {
    width: 100%;
    overflow: hidden;
    margin-bottom: 50px;
  }
  .section-lesson #lessonBottom .swiper-slide img {
    width: 300px;
    aspect-ratio: 4/3;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .section-lesson #lessonTab {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 10px;
  }
  .section-lesson #lessonTab li {
    min-width: 200px;
    margin: 0 6px;
    padding: 1em 50px;
    font-size: 17px;
    font-weight: 800;
    text-align: center;
    color: #3F3F3F;
    border-radius: 12px 12px 0 0;
  }
  .section-lesson #lessonTab li.tab01 {
    background-color: #E6F7CD;
  }
  .section-lesson #lessonTab li.tab01.active {
    color: #7CB524;
  }
  .section-lesson #lessonTab li.tab02 {
    background-color: #FBE7DF;
  }
  .section-lesson #lessonTab li.tab02.active {
    color: #FC6C7C;
  }
  .section-lesson #lessonTab li.tab03 {
    background-color: #D7ECF9;
  }
  .section-lesson #lessonTab li.tab03.active {
    color: #0870B7;
  }
  .section-lesson #lesson01 {
    background-color: #E6F7CD;
  }
  .section-lesson #lesson01 .intro h2 {
    background-color: #7CB524;
  }
  .section-lesson #lesson01 .intro h3 {
    color: #7CB524;
  }
  .section-lesson #lesson01 .pickup {
    background-color: #D5F2A2;
  }
  .section-lesson #lesson01 .pickup h3 {
    background-image: url(../images/lesson_green.svg);
  }
  .section-lesson #lesson01 h4 {
    color: #7CB524;
  }
  .section-lesson #lesson02 {
    background-color: #FBE7DF;
  }
  .section-lesson #lesson02 .intro h2 {
    background-color: #FC6C7C;
  }
  .section-lesson #lesson02 .intro h3 {
    color: #FC6C7C;
  }
  .section-lesson #lesson02 .pickup {
    background-color: #FFD8C9;
  }
  .section-lesson #lesson02 .pickup h3 {
    background-image: url(../images/lesson_pink.svg);
  }
  .section-lesson #lesson02 h4 {
    color: #FC6C7C;
  }
  .section-lesson #lesson03 {
    background-color: #D7ECF9;
  }
  .section-lesson #lesson03 .intro h2 {
    background-color: #2DA7E0;
  }
  .section-lesson #lesson03 .intro h3 {
    color: #2DA7E0;
  }
  .section-lesson #lesson03 .pickup {
    background-color: #BAE5FF;
  }
  .section-lesson #lesson03 .pickup h3 {
    background-image: url(../images/lesson_blue.svg);
  }
  .section-lesson #lesson03 h4 {
    color: #2DA7E0;
  }
  .lesson-content {
    display: none;
    width: 1080px;
    max-width: calc(100% - clamp(60px, 5.5vw, 100px));
    margin: 0 auto;
    padding: 40px;
    border-radius: 36px;
  }
  .lesson-content:first-of-type {
    display: block;
  }
  .lesson-content .intro {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 20px;
    background-color: #FFFBE9;
    border-radius: 24px;
    overflow: hidden;
  }
  .lesson-content .intro h2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 85px;
    height: 85px;
    padding: 10px 30px 0 0;
    border-radius: 12px 0 0 0;
    font-size: 18px;
    line-height: 18px;
    color: #fff;
    text-align: center;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
            clip-path: polygon(0 0, 0% 100%, 100% 0);
  }
  .lesson-content .intro h2 small {
    font-size: 15px;
  }
  .lesson-content .intro .img {
    width: 60%;
  }
  .lesson-content .intro .img img {
    width: 100%;
    aspect-ratio: 16/10;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .lesson-content .intro .text {
    padding: 15px 40px;
    border-radius: 0 0 12px 12px;
  }
  .lesson-content .intro .text h3 {
    margin-bottom: 0.5em;
    font-size: 22px;
    font-weight: 800;
  }
  .lesson-content .intro .text p {
    margin: 0;
    font-size: 17px;
    font-weight: 800;
  }
  .lesson-content .pickup {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(28%, 1fr));
    gap: 25px;
    margin-top: 70px;
    padding: 70px 3.5% 25px;
    border-radius: 17px;
  }
  .lesson-content .pickup h3 {
    position: absolute;
    top: -25px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 374px;
    height: 73px;
    padding-top: 7px;
    font-size: 22px;
    font-weight: 800;
    color: #fff;
    text-align: center;
    background-repeat: no-repeat;
  }
  .lesson-content .pickup .lesson {
    padding: 15px 15px 22px;
    background-color: #fff;
    border-radius: 24px;
  }
  .lesson-content .pickup .lesson .img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 15px;
  }
  .lesson-content .pickup .lesson .img img {
    width: 100px;
    margin-right: 12px;
    border-radius: 12px;
  }
  .lesson-content .pickup .lesson .img h4 {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: 16px;
  }
  .lesson-content .pickup .lesson .text p {
    letter-spacing: 0.1em;
    line-height: 1.75em;
  }
  .lesson-content .pickup .lesson .text p:last-child {
    margin-bottom: 0;
  }
  .section-interview {
    position: relative;
    padding: 80px 0;
    background-color: #FFF7EB;
  }
  .section-interview .interview-title {
    padding: 0 5vw;
  }
  .section-interview .interview-title .bubble {
    display: grid;
    place-items: center;
    width: clamp(220px, 58vw, 260px);
    aspect-ratio: 20/9;
    margin: 0 auto 30px;
    font-size: 15px;
    letter-spacing: 0.05em;
    text-align: center;
    background-image: url(../images/interview_bubble.svg);
    background-repeat: no-repeat;
    background-size: 100%;
  }
  .section-interview .interview-title .bubble b {
    font-weight: 800;
  }
  .section-interview .interview-q {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 clamp(18px, 5vw, 30px);
  }
  .section-interview .interview-q b {
    display: inline-block;
    margin-right: 15px;
    font-size: 55px;
    font-weight: 800;
    color: #2DA7E0;
    line-height: 1em;
  }
  .section-interview .interview-q span {
    display: block;
    font-size: 16px;
  }
  #interviewSlider {
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: calc(100vw - 200px);
    margin: 0 auto;
    padding: 0 clamp(18px, 5vw, 30px) 10px clamp(50px, 2vw, 200px);
    overflow: hidden;
  }
  #interviewSlider .swiper-wrapper {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 0 30px;
  }
  #interviewSlider .swiper-slide {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 520px;
    height: auto;
    margin: 0;
    padding: 15px;
    background-color: #fff;
    border-radius: 25px;
  }
  #interviewSlider .swiper-slide .img {
    position: relative;
    margin-bottom: 20px;
    text-align: center;
  }
  #interviewSlider .swiper-slide .img img {
    border-radius: 12px;
  }
  #interviewSlider .swiper-slide .img i {
    position: absolute;
    top: 10px;
    right: 10px;
    display: inline-block;
    padding: 0.25em 1em;
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
    border-radius: 2em;
  }
  #interviewSlider .swiper-slide .text-pl p {
    line-height: 1.75em;
  }
  #interviewSlider .swiper-slide .text {
    padding: 0 0 30px;
  }
  #interviewSlider .swiper-slide .text .title {
    margin-bottom: 1em;
    font-size: 18px;
    color: #4C4C4C;
  }
  #interviewSlider .swiper-slide .text p {
    font-size: 15px;
    font-weight: 400;
  }
  #interviewSlider .swiper-slide .text p:last-child {
    margin-bottom: 0;
  }
  #interviewSlider .swiper-slide .text p.name {
    margin-bottom: 1.25em;
    font-size: 12px;
    font-weight: 900;
    color: #666666;
  }
  #interviewSlider .swiper-slide .text p.voice {
    margin: 0;
    color: #4C4C4C;
    line-height: 1.9em;
  }
  #interviewSlider .swiper-slide .profile {
    margin: 0 auto;
    padding: 30px 0 0;
    border-top: 1px dashed #E5E5E5;
  }
  #interviewSlider .swiper-slide .profile .icon {
    display: none;
  }
  #interviewSlider .swiper-slide .profile p {
    font-weight: 400;
  }
  #interviewSlider .swiper-slide .profile p.name {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
  }
  #interviewSlider .slider-prev,
  #interviewSlider .slider-next {
    display: none;
  }
  #interviewSlider .slider-pagination {
    position: absolute;
    bottom: 40px;
    text-align: center;
  }
  #interviewSlider .slider-pagination .swiper-pagination-bullet {
    margin: 0 2px;
    background-color: #fff;
    opacity: 1;
  }
  #interviewSlider .slider-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #0870B7;
  }
  .section-trial {
    position: relative;
    padding: 100px clamp(30px, 2.75vw, 50px) 80px;
    background-color: #ECF9FE;
  }
  .section-trial::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 62px;
    background-image: url(../images/trial_bg_left.svg), url(../images/trial_bg_right.svg);
    background-repeat: no-repeat;
    background-position: top left calc(50% - 200px), top right calc(50% - 200px);
    background-size: 100px 62px, 100px 62px;
  }
  .section-trial .chara {
    position: absolute;
    top: -70px;
    left: 50%;
    z-index: 100;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 110px;
  }
  .section-trial .trial-title {
    margin-bottom: 30px;
  }
  .section-trial .trial-title b {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 auto 10px;
    font-size: clamp(14px, 3.7vw, 16px);
    font-weight: 800;
  }
  .section-trial .trial-title b::before, .section-trial .trial-title b::after {
    content: "";
    width: 3px;
    height: 1.5em;
    margin: 0 1em;
    background-color: #0870B7;
    border-radius: 1px;
  }
  .section-trial .trial-title b::before {
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
  .section-trial .trial-title b::after {
    -webkit-transform: rotate(20deg);
            transform: rotate(20deg);
  }
  .section-trial .trial-title h2 {
    font-size: clamp(26px, 6.93vw, 32px);
    font-weight: 800;
    text-align: center;
    letter-spacing: 0.1em;
  }
  .section-trial .trial-title h2 span {
    display: block;
  }
  .section-trial .intro {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 750px;
    max-width: 100%;
    margin: 0 auto 70px;
  }
  .section-trial .intro .img {
    margin-right: 40px;
    text-align: center;
  }
  .section-trial .intro .text {
    margin-bottom: 40px;
    line-height: 2em;
  }
  .section-trial .intro .text p {
    margin-bottom: 0;
  }
  .trial-contents {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(calc(33% - 30px), 1fr));
    gap: 40px 30px;
    counter-reset: trial;
    width: 750px;
    max-width: 100%;
    margin: 0 auto;
  }
  .trial-contents .trial {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 10px;
    counter-increment: trial;
  }
  .trial-contents .trial .title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1.25em;
  }
  .trial-contents .trial .title::before {
    content: counter(trial);
    margin-right: 10px;
    font-size: 42px;
    font-weight: 800;
    color: #2DA7E0;
  }
  .trial-contents .trial img {
    width: 100%;
    aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 14px;
  }
  .trial-contents .trial p {
    margin: 0;
    font-size: 14px;
    letter-spacing: 0.14em;
    line-height: 1.75em;
  }
  .section-voice {
    padding: 60px 0 100px;
    background-color: #FFF7EB;
  }
  .section-voice .voice-title {
    margin-bottom: 40px;
    padding: 0 clamp(18px, 5vw, 30px);
    text-align: center;
  }
  .section-voice .voice-title b {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: clamp(14px, 3.7vw, 16px);
    font-weight: 800;
    color: #3F3F3F;
  }
  .section-voice .voice-title b::before, .section-voice .voice-title b::after {
    content: "";
    width: 3px;
    height: 1.5em;
    margin: 0 1em;
    background-color: #0870B7;
    border-radius: 1px;
  }
  .section-voice .voice-title b::before {
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
  .section-voice .voice-title b::after {
    -webkit-transform: rotate(20deg);
            transform: rotate(20deg);
  }
  .section-voice .voice-title h2 {
    font-size: clamp(27px, 7.2vw, 36px);
  }
  .section-voice #voiceTab {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 90vw;
    max-width: 400px;
    margin: 0 auto 30px;
    color: #F29400;
    background-color: #fff;
    border: 1px solid #F29400;
    border-radius: 50px;
    overflow: hidden;
  }
  .section-voice #voiceTab li {
    width: 50%;
    padding: 1em 0.5em;
    font-size: 14px;
    font-weight: 800;
  }
  .section-voice #voiceTab li span {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
  .section-voice #voiceTab li.active {
    color: #fff;
    background-color: #F29400;
  }
  .section-voice .voice-content {
    display: none;
  }
  .section-voice .voice-content.active {
    display: block;
  }
  .voice-content {
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }
  .voice-content #voiceSlider01,
  .voice-content #voiceSlider02 {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: calc(100vw - 200px);
    overflow: hidden;
    padding: 0 clamp(18px, 5vw, 30px) 10px clamp(50px, 2vw, 200px);
  }
  .voice-content .swiper-wrapper {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 0 30px;
  }
  .voice-content .swiper-slide {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 520px;
    height: auto;
    margin: 0;
    padding: 30px 15px;
    background-color: #fff;
    border-radius: 25px;
  }
  .voice-content .swiper-slide .img {
    margin-bottom: 10px;
  }
  .voice-content .swiper-slide .text .title {
    margin-bottom: 0.25em;
    font-size: 18px;
    color: #FC6C7C;
  }
  .voice-content .swiper-slide .text .name {
    margin-bottom: 1.25em;
    font-size: 13px;
    font-weight: 900;
    color: #666666;
  }
  .voice-content .swiper-slide .text .voice {
    margin: 1em 0 0;
    font-size: 16px;
    font-weight: 400;
    color: #4C4C4C;
    line-height: 2em;
  }
  .voice-content .slider-prev,
  .voice-content .slider-next {
    display: none;
  }
  .voice-content .slider-pagination {
    position: absolute;
    bottom: 0;
    text-align: center;
  }
  .voice-content .slider-pagination .swiper-pagination-bullet {
    margin: 0 2px;
    background-color: #fff;
    opacity: 1;
  }
  .voice-content .slider-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #FC6C7C;
  }
  .section-qa {
    position: relative;
    padding: 65px clamp(30px, 2.75vw, 50px) 40px;
    background-color: #FEF1B7;
  }
  .section-qa .chara {
    position: absolute;
    top: -55px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 130px;
  }
  .section-qa .qa-title .title-arch span {
    color: #EA5E39;
  }
  .section-qa .qa-title .bubble {
    display: grid;
    place-items: center;
    width: clamp(220px, 58vw, 260px);
    aspect-ratio: 20/9;
    margin: 0 auto 30px;
    font-size: 18px;
    letter-spacing: 0.1em;
    text-align: center;
    background-image: url(../images/qa_bubble.svg);
    background-repeat: no-repeat;
    background-size: 100%;
  }
  .section-qa .qa-title .bubble b {
    font-weight: 800;
  }
  .section-qa .qa-contents {
    width: 700px;
    margin: 0 auto 18px;
    padding: 40px;
    background-color: #fff;
    border-radius: 25px;
  }
  .section-qa .qa-contents:first-of-type .answer {
    display: block;
  }
  .section-qa .qa-contents:last-child {
    margin-bottom: 0;
  }
  .section-qa .qa-contents .question,
  .section-qa .qa-contents .answer {
    position: relative;
  }
  .section-qa .qa-contents .question::before,
  .section-qa .qa-contents .answer::before {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 22px;
    font-weight: 900;
  }
  .section-qa .qa-contents .question {
    position: relative;
    padding: 0 25px 0 40px;
  }
  .section-qa .qa-contents .question h2 {
    font-size: clamp(18px, 4.8vw, 22px);
    font-weight: 800;
  }
  .section-qa .qa-contents .question::before {
    content: "Q.";
    color: #F3C317;
  }
  .section-qa .qa-contents .question i {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    display: block;
    width: 30px;
    height: 30px;
    background-color: #F3C317;
    border-radius: 50%;
  }
  .section-qa .qa-contents .question i::before, .section-qa .qa-contents .question i::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    display: inline-block;
    width: 8px;
    height: 2px;
    background-color: #fff;
    border-radius: 1px;
  }
  .section-qa .qa-contents .question i::after {
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
            transform: translate(-50%, -50%) rotate(90deg);
  }
  .section-qa .qa-contents .question i.minus::after {
    display: none;
  }
  .section-qa .qa-contents .question.active i::after {
    display: inline-block;
  }
  .section-qa .qa-contents .answer {
    position: relative;
    display: none;
    margin-top: 20px;
    padding: 0 1em 0 40px;
    font-size: 16px;
    line-height: 2em;
  }
  .section-qa .qa-contents .answer p {
    margin: 0;
  }
  .section-qa .qa-contents .answer::before {
    content: "A.";
    color: #FC6C7C;
  }
  
.video-area {
    position: relative;
    width: 550px;
    margin: 0 auto;
  }
  
  .video-area video {
    width: 100%;
    display: block;
  }
  
  /* 再生ボタン（中央） */
  .video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90px;
    height: 90px;
    border-radius: 50%;
    border: none;
    background: rgba(0,0,0,0.6);
    color: #fff;
    font-size: 32px;
    cursor: pointer;
    z-index: 2;
  }
  
  /* 停止ボタン（右下） */
  .video-pause {
    position: absolute;
    right: 20px;
    bottom: 20px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: none;
    background: rgba(0,0,0,0.6);
    color: #fff;
    font-size: 20px;
    cursor: pointer;
    display: none;
  }
  

}