@charset "UTF-8";
/* TOPページ ヘッダー
----------------------------------------*/
.l-top-header {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  display: flex;
  align-items: center;
  z-index: 400;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .l-top-header {
    height: 16.5333333333vw;
  }
}
.l-top-header .l-top-header__logo {
  position: absolute;
  pointer-events: all;
}
@media screen and (min-width: 768px) {
  .l-top-header .l-top-header__logo {
    left: 20px;
    top: 24px;
    width: 240px;
  }
}
@media screen and (max-width: 767px) {
  .l-top-header .l-top-header__logo {
    right: 5.3333333333vw;
    top: 6.4vw;
    width: 37.3333333333vw;
  }
}

/* タイトルセクション
----------------------------------------*/
.sec-title {
  position: relative;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .sec-title {
    min-width: 1200px;
  }
}
.sec-title .sec-title__inner {
  position: relative;
}
.sec-title .sec-title__mainvisual {
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .sec-title .sec-title__mainvisual {
    background-image: url("../img/mainvisual.jpg");
    padding-bottom: 54.9295774648%;
  }
}
@media screen and (max-width: 767px) {
  .sec-title .sec-title__mainvisual {
    background-image: url("../img/mainvisual-sp.jpg");
    height: 123.7333333333vw;
  }
}
.sec-title .title {
  position: absolute;
}
@media screen and (min-width: 768px) {
  .sec-title .title {
    margin-top: 8.2394366197%;
    width: 17.323943662%;
    right: 1.8309859155%;
  }
}
@media screen and (max-width: 767px) {
  .sec-title .title {
    top: 9.8666666667vw;
    width: 37.3333333333vw;
    left: 3.7333333333vw;
  }
}
.sec-title .reception-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .sec-title .reception-info {
    padding-top: 6px;
    height: 170px;
    text-indent: 1em;
  }
}
@media screen and (max-width: 767px) {
  .sec-title .reception-info {
    padding-top: 2.6666666667vw;
    height: 37.0666666667vw;
    flex-direction: column;
    row-gap: 2.6666666667vw;
  }
}
.sec-title .reception-info .reception-info__head {
  text-align: center;
  color: #54c3f1;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .sec-title .reception-info .reception-info__head {
    font-size: 2.125rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-title .reception-info .reception-info__head {
    font-size: 18px;
    font-size: 4.8vw;
  }
}
@media screen and (min-width: 768px) {
  .sec-title .reception-info .reception-info__buttons {
    margin-top: 13px;
  }
}

/* オープニング演出
----------------------------------------*/
.sec-title,
.l-top-header__logo {
  opacity: 0.01;
  transition: opacity 1.2s cubic-bezier(0.47, 0, 0.745, 0.715);
}
body.ready .sec-title,
body.ready .l-top-header__logo {
  opacity: 1;
  transition-delay: 0.2s;
}

/* YAMAHA MUSIC SCHOOL 紹介セクション
----------------------------------------*/
.sec-about {
  position: relative;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .sec-about .l-section-inner {
    padding-top: 80px;
    padding-bottom: 118px;
    width: 1000px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .l-section-inner {
    padding-top: 21.3333333333vw;
    padding-bottom: 22.6666666667vw;
  }
}
.sec-about .catch {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .sec-about .catch {
    width: 328px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .catch {
    width: 48vw;
  }
}
@media screen and (min-width: 768px) {
  .sec-about .list .item {
    margin-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item {
    margin-top: 18.6666666667vw;
  }
}
.sec-about .list .item .item-head {
  position: relative;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item .item-head {
    padding: 1em 0;
    margin-bottom: 56px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item .item-head {
    padding: 0.7em 0.5em;
    margin-bottom: 8.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .sec-about .list .item .item-head::before, .sec-about .list .item .item-head::after {
    border-radius: 16px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item .item-head::before, .sec-about .list .item .item-head::after {
    border-radius: 4.2666666667vw;
  }
}
.sec-about .list .item .item-head::before {
  z-index: 0;
  display: block;
  content: "";
  background: #FFDC4E;
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item .item-head::before {
    top: 8px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item .item-head::before {
    top: 1.3333333333vw;
  }
}
.sec-about .list .item .item-head::after {
  z-index: 0;
  display: block;
  content: "";
  background: #30B0E6;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.sec-about .list .item .item-head > span {
  display: block;
  position: relative;
  z-index: 1;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item .item-head > span {
    font-size: 30px;
    line-height: 1.6333333333;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item .item-head > span {
    font-size: 5.3333333333vw;
    line-height: 1.75;
  }
}
.sec-about .list .item .item-ttl {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item .item-ttl {
    text-align: center;
    font-size: 24px;
    line-height: 1.75;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item .item-ttl {
    font-size: 4.2666666667vw;
    line-height: 1.8;
  }
}
.sec-about .list .item.item1 .inner {
  display: flex;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item1 .inner {
    justify-content: center;
    gap: 2em;
    margin-top: 56px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item1 .inner {
    flex-direction: column;
    gap: 8.5333333333vw;
    padding-top: 8.5333333333vw;
  }
}
.sec-about .list .item.item1 .sublist {
  position: relative;
}
.sec-about .list .item.item1 .sublist .sublist-item {
  font-weight: bold;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item1 .sublist .sublist-item {
    padding-left: 16.8vw;
  }
}
.sec-about .list .item.item1 .sublist .sublist-item .mark {
  background: url("../img/reason-sublist-mark.png") 0 0 no-repeat;
  background-size: 100% auto;
  color: #30B0E6;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item1 .sublist .sublist-item .mark {
    padding-left: 12px;
    padding-top: 8px;
    width: 48px;
    height: 44px;
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item1 .sublist .sublist-item .mark {
    padding-left: 2.6666666667vw;
    padding-top: 2.4vw;
    width: 10.1333333333vw;
    height: 9.304vw;
    font-size: 4vw;
  }
}
.sec-about .list .item.item1 .sublist .sublist-item .txt {
  color: #30B0E6;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item1 .sublist .sublist-item .txt {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item1 .sublist .sublist-item .txt {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item1 .sublist .sublist-item + .sublist-item {
    margin-top: 1.2em;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item1 .sublist .sublist-item + .sublist-item {
    margin-top: 0.5em;
  }
}
.sec-about .list .item.item1 .sublist .chara {
  position: absolute;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item1 .sublist .chara {
    right: 0;
    bottom: 0;
    width: 72px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item1 .sublist .chara {
    left: -1.0666666667vw;
    top: 5.3333333333vw;
    width: 14.9333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item1 .fig {
    width: 320px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item1 .fig {
    width: 100%;
  }
}
.sec-about .list .item.item2 .step-comparison {
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step-comparison {
    margin-top: 73px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step-comparison {
    margin-top: 14.6666666667vw;
  }
}
.sec-about .list .item.item2 .step-comparison__head {
  font-weight: 700;
  color: #54c3f1;
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step-comparison__head {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step-comparison__head {
    font-size: 18px;
    font-size: 4.8vw;
  }
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step-comparison__text {
    margin-top: 12px;
    font-size: 0.9375rem;
    text-align: center;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step-comparison__text {
    margin-top: 4.8vw;
    font-size: 13px;
    font-size: 3.4666666667vw;
    line-height: 1.8;
  }
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step-comparison__list {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 53px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step-comparison__list {
    margin-top: 12.2666666667vw;
  }
}
.sec-about .list .item.item2 .step {
  position: relative;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step {
    width: fit-content;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step {
    width: 100%;
  }
  .sec-about .list .item.item2 .step + .step {
    margin-top: 6.6666666667vw;
  }
}
.sec-about .list .item.item2 .step .step__head {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step .step__head {
    top: -16px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step .step__head {
    top: -2.6666666667vw;
  }
}
.sec-about .list .item.item2 .step .step__body {
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step .step__body {
    border-radius: 10px;
    padding: 45px 0 26px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step .step__body {
    border-radius: 2.6666666667vw;
    padding: 7.2vw 0 6.1333333333vw;
  }
}
.sec-about .list .item.item2 .step .step__list {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step .step__list {
    gap: 50px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step .step__list {
    gap: 6.6666666667vw;
  }
}
.sec-about .list .item.item2 .step .step__item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step .step__item {
    width: 56px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step .step__item {
    width: 9.3333333333vw;
  }
}
.sec-about .list .item.item2 .step .step__item + .step__item::before {
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step .step__item + .step__item::before {
    width: 10px;
    height: 21px;
    top: 18px;
    left: -29px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step .step__item + .step__item::before {
    width: 1.568vw;
    height: 3.3146666667vw;
    top: 3.7333333333vw;
    left: -4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step .step__item.step-read {
    margin-right: 10px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step .step__item.step-read {
    margin-right: 2.1333333333vw;
  }
}
.sec-about .list .item.item2 .step .step__item p {
  position: relative;
  text-align: center;
  white-space: nowrap;
  color: #5d5d5d;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step .step__item p {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step .step__item p {
    font-size: 12px;
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step .step__text {
    margin-top: 1em;
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.7857142857;
    text-indent: -1.2em;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step .step__text {
    margin-top: 5.0666666667vw;
    font-size: 13px;
    font-size: 3.4666666667vw;
    line-height: 1.6153846154;
  }
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step.step-ordinary {
    width: 354px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step.step-ordinary {
    width: 62.6666666667vw;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step.step-ordinary .step__body {
    border: 4px solid #484440;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step.step-ordinary .step__body {
    border: 3px solid #484440;
  }
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step.step-ordinary .step__head {
    width: 188px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step.step-ordinary .step__head {
    width: 31.4666666667vw;
  }
}
.sec-about .list .item.item2 .step.step-ordinary .step__item + .step__item::before {
  background-image: url("../../common/img/tri-arrow-right-g.svg");
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step.step-yamaha {
    width: 604px;
  }
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step.step-yamaha .step__body {
    border: 4px solid #30B0E6;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step.step-yamaha .step__body {
    border: 3px solid #30B0E6;
  }
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item2 .step.step-yamaha .step__head {
    width: 366px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item2 .step.step-yamaha .step__head {
    width: 61.3333333333vw;
  }
}
.sec-about .list .item.item2 .step.step-yamaha .step__item + .step__item::before {
  background-image: url("../../common/img/tri-arrow-right-g.svg");
}
.sec-about .list .item.item2 .step.step-yamaha .step__item p {
  color: #30B0E6;
}
.sec-about .list .item.item3 .item-ttl {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item3 .item-ttl {
    width: calc(100% - 320px);
    padding-right: 60px;
  }
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item3 .item-ph {
    width: 320px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item3 .item-ph {
    width: 100%;
  }
}
.sec-about .list .item.item3 .inner {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item3 .inner {
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item3 .inner {
    flex-direction: column;
    gap: 8.5333333333vw;
  }
}
.sec-about .list .item.item3 .irohabook {
  background-color: #FFDC4E;
}
.sec-about .list .item.item3 .irohabook .bg-character {
  position: absolute;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item3 .irohabook .bg-character {
    right: -10px;
    bottom: -20px;
    width: 92px;
    height: 160px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item3 .irohabook .bg-character {
    width: 18.4346666667vw;
    height: 32vw;
    right: -2.6666666667vw;
    bottom: 27.9733333333vw;
  }
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item3 .irohabook {
    display: grid;
    margin-top: 80px;
    grid-template-areas: "heading image" "text image" "button image" "blank image";
    width: 1000px;
    margin-inline: auto;
    border-radius: 20px;
    padding-top: 56px;
    padding-bottom: 56px;
    padding-left: 118px;
    padding-right: 146px;
    grid-template-columns: 1fr 185px;
    grid-template-rows: auto auto auto auto;
    column-gap: 40px;
    row-gap: 1em;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item3 .irohabook {
    margin-top: 16vw;
    border-radius: 5.3333333333vw;
    padding: 8.5333333333vw;
  }
}
.sec-about .list .item.item3 .irohabook .irohabook__heading {
  color: #30B0E6;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item3 .irohabook .irohabook__heading {
    grid-area: heading;
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item3 .irohabook .irohabook__heading {
    font-size: 5.3333333333vw;
    line-height: 1.8888888889;
  }
}
.sec-about .list .item.item3 .irohabook .irohabook__text {
  color: #5D5D5D;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item3 .irohabook .irohabook__text {
    grid-area: text;
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item3 .irohabook .irohabook__text {
    margin-top: 5.3333333333vw;
    font-size: 4.2666666667vw;
    line-height: 1.7692307692;
  }
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item3 .irohabook .irohabook__image {
    grid-area: image;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item3 .irohabook .irohabook__image {
    margin-top: 8.5333333333vw;
    width: 49.3333333333vw;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item3 .irohabook .irohabook__button {
    margin-top: 1em;
    grid-area: button;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item3 .irohabook .irohabook__button {
    margin-top: 5.3333333333vw;
  }
}
.sec-about .list .item.item3 .irohabook .irohabook__button .c-oval-btn {
  text-indent: -1.5em;
}
@media screen and (min-width: 768px) {
  .sec-about .list .item.item3 .irohabook .irohabook__button .c-oval-btn {
    width: 260px;
    height: 50px;
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .sec-about .list .item.item3 .irohabook .irohabook__button .c-oval-btn {
    width: 69.3333333333vw;
  }
}

/* 「募集中のコース」セクション
----------------------------------------*/
.sec-courses {
  background-color: #7dd1f4;
}
@media screen and (min-width: 768px) {
  .sec-courses .l-section-inner {
    padding-top: 128px;
    padding-bottom: 120px;
  }
}
@media screen and (max-width: 767px) {
  .sec-courses .l-section-inner {
    width: 89.3333333333vw;
    padding-top: 17.6vw;
    padding-bottom: 32vw;
  }
}
.sec-courses .bg-character {
  position: absolute;
}
@media screen and (min-width: 768px) {
  .sec-courses .bg-character {
    width: 109px;
    left: 0;
    bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .sec-courses .bg-character {
    width: 16vw;
    left: 1.6vw;
    bottom: 18.6666666667vw;
  }
}

/* 「無料体験レッスンでできること」セクション
----------------------------------------*/
.sec-free-trial {
  background-color: #edf8ff;
}
@media screen and (min-width: 768px) {
  .sec-free-trial {
    padding-top: 120px;
    padding-bottom: 118px;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial {
    padding-top: 20.5333333333vw;
    padding-bottom: 29.8666666667vw;
  }
}
.sec-free-trial .head {
  position: relative;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .head {
    padding: 1em 0;
    margin-bottom: 56px;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .head {
    padding: 0.7em 0.5em;
    margin-bottom: 8.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .sec-free-trial .head::before, .sec-free-trial .head::after {
    border-radius: 16px;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .head::before, .sec-free-trial .head::after {
    border-radius: 4.2666666667vw;
  }
}
.sec-free-trial .head::before {
  z-index: 0;
  display: block;
  content: "";
  background: #fff;
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .head::before {
    top: 8px;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .head::before {
    top: 1.3333333333vw;
  }
}
.sec-free-trial .head::after {
  z-index: 0;
  display: block;
  content: "";
  background: #EE86A8;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.sec-free-trial .head > span {
  display: block;
  position: relative;
  z-index: 1;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .head > span {
    font-size: 30px;
    line-height: 1.6333333333;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .head > span {
    font-size: 5.3333333333vw;
    line-height: 1.75;
  }
}
.sec-free-trial .free-trial-text {
  text-align: center;
  font-weight: bold;
  color: #5D5D5D;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .free-trial-text {
    margin-top: 60px;
    font-size: 1.125rem;
    line-height: 1.6em;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .free-trial-text {
    margin-top: 8vw;
    font-size: 16px;
    font-size: 4.2666666667vw;
    line-height: 1.8;
  }
}
@media screen and (min-width: 768px) {
  .sec-free-trial .feature {
    margin-top: 58px;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .feature {
    margin-top: 7.4666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .feature .swiper-navigation {
    top: 28.8vw;
  }
}
.sec-free-trial .feature-list {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .feature-list {
    gap: 30px;
  }
}
.sec-free-trial .feature-list li {
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .feature-list li {
    padding-top: 15px;
    width: 380px;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .feature-list li {
    width: 73.0666666667vw;
    padding: 2.9333333333vw 1.8666666667vw 0;
  }
}
.sec-free-trial .feature-item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: #f9d3e0;
  flex: 1 0 auto;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .feature-item {
    border-radius: 20px;
    padding: 38px 52px 36px;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .feature-item {
    margin: auto;
    border-radius: 5.3333333333vw;
    padding: 6.1333333333vw 9.8666666667vw 6.1333333333vw;
  }
}
.sec-free-trial .feature-item .feature-item__head {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
  color: #fff;
  background-color: #ee86a8;
  border-radius: 9999px;
  width: fit-content;
  line-height: 1em;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .feature-item .feature-item__head {
    font-size: 0.875rem;
    padding: 8px 20px 12px;
    transform: translateY(-13px);
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .feature-item .feature-item__head {
    font-size: 13px;
    font-size: 3.4666666667vw;
    padding: 1.0666666667vw 4vw 1.0666666667vw;
    transform: translateY(-11px);
  }
}
.sec-free-trial .feature-item .feature-item__head span {
  vertical-align: bottom;
}
.sec-free-trial .feature-item .feature-item__head span:last-child {
  line-height: 1em;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .feature-item .feature-item__head span:last-child {
    font-size: 1.25rem;
    line-height: 0.8em;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .feature-item .feature-item__head span:last-child {
    font-size: 18px;
    font-size: 4.8vw;
  }
}
.sec-free-trial .feature-item .feature-item__head span + span {
  margin-left: 0.1em;
}
.sec-free-trial .feature-item .feature-item__title {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1 0 auto;
  text-align: center;
  line-height: 1.4;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .feature-item .feature-item__title {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .feature-item .feature-item__title {
    font-size: 16px;
    font-size: 4.2666666667vw;
  }
}
.sec-free-trial .feature-item .feature-item__image {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .feature-item .feature-item__image {
    border-radius: 6px;
    margin-top: 17px;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .feature-item .feature-item__image {
    border-radius: 2.6666666667vw;
    margin-top: 2.9333333333vw;
  }
}
.sec-free-trial .c-dotline-head {
  border-color: #EE86A8;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .c-dotline-head {
    margin-top: 85px;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .c-dotline-head {
    margin-top: 17.6vw;
  }
}
.sec-free-trial .lesson-text {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .lesson-text {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .lesson-text {
    margin-top: 3.2vw;
    font-size: 15px;
    font-size: 4vw;
    line-height: 1.8;
  }
}
@media screen and (min-width: 768px) {
  .sec-free-trial .lesson {
    margin-top: 45px;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .lesson {
    margin-top: 8vw;
  }
}
@media screen and (min-width: 768px) {
  .sec-free-trial .lesson.swiper {
    z-index: auto;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .lesson .swiper-navigation {
    top: 29.6vw;
    padding: 0 2.6666666667vw;
  }
}
.sec-free-trial .lesson-list {
  display: flex;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .lesson-list {
    justify-content: space-between;
    flex-wrap: wrap;
    margin: auto;
    row-gap: 0;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .lesson-list {
    padding-top: 2.6666666667vw;
  }
}
.sec-free-trial .lesson-list > li {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .lesson-list > li {
    margin-top: 30px;
    width: 580px;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .lesson-list > li {
    width: 73.0666666667vw;
    padding: 0 1.8666666667vw;
  }
}
.sec-free-trial .lesson-item {
  position: relative;
  display: flex;
  flex-direction: column;
  border-style: solid;
  background-color: #fff;
  flex: 1 0 auto;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .lesson-item {
    border-radius: 20px;
    border-width: 4px;
    padding: 20px 26px 30px;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .lesson-item {
    margin: auto;
    border-radius: 5.3333333333vw;
    border-width: 1.0666666667vw;
    padding: 4vw 6.9333333333vw 4vw;
  }
}
.sec-free-trial .lesson-item .lesson-item__label {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgb(233, 245, 247) 0%, rgb(233, 245, 247) 50%, rgb(255, 255, 255) 50%, rgb(255, 255, 255) 100%);
  display: flex;
  align-items: center;
  font-weight: bold;
  padding: 0 1em;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .lesson-item .lesson-item__label {
    height: 40px;
    top: -22px;
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .lesson-item .lesson-item__label {
    height: 10.6666666667vw;
    top: -5.8666666667vw;
    font-size: 4.8vw;
  }
}
.sec-free-trial .lesson-item .lesson-item__head {
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .lesson-item .lesson-item__head {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .lesson-item .lesson-item__head {
    font-size: 24px;
    font-size: 6.4vw;
    font-feature-settings: "palt";
  }
}
@media screen and (min-width: 768px) {
  .sec-free-trial .lesson-item .lesson-item__head span {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .lesson-item .lesson-item__head span {
    font-size: 14px;
    font-size: 3.7333333333vw;
  }
}
.sec-free-trial .lesson-item .lesson-item__list,
.sec-free-trial .lesson-item .lesson-item__text {
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .sec-free-trial .lesson-item .lesson-item__list,
  .sec-free-trial .lesson-item .lesson-item__text {
    margin-top: 10px;
    font-size: 0.8125rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-free-trial .lesson-item .lesson-item__list,
  .sec-free-trial .lesson-item .lesson-item__text {
    margin-top: 4.2666666667vw;
    font-size: 13px;
    font-size: 3.4666666667vw;
  }
}
.sec-free-trial .lesson-item .lesson-item__list li {
  padding-left: 1.5em;
  text-indent: -1.5em;
}
.sec-free-trial .lesson-item .lesson-item__list li::before {
  content: "●";
  margin-right: 0.5em;
}
.sec-free-trial .lesson-item.lesson-item--doremiland {
  border-color: #e73656;
}
.sec-free-trial .lesson-item.lesson-item--doremiland .lesson-item__head {
  color: #e73656;
}
@media screen and (max-width: 767px) {
  .sec-free-trial .lesson-item.lesson-item--doremiland .lesson-item__head span {
    display: block;
  }
}
.sec-free-trial .lesson-item.lesson-item--doremiland .lesson-item__list li::before {
  color: #e73656;
}
.sec-free-trial .lesson-item.lesson-item--primary {
  border-color: #32b0e6;
}
.sec-free-trial .lesson-item.lesson-item--primary .lesson-item__head {
  color: #32b0e6;
}
@media screen and (max-width: 767px) {
  .sec-free-trial .lesson-item.lesson-item--primary .lesson-item__head span {
    display: block;
  }
}
.sec-free-trial .lesson-item.lesson-item--primary .lesson-item__list li::before {
  color: #32b0e6;
}
.sec-free-trial .lesson-item.lesson-item--prejunior {
  border-color: #009b63;
}
.sec-free-trial .lesson-item.lesson-item--prejunior .lesson-item__head {
  color: #009b63;
}
@media screen and (max-width: 767px) {
  .sec-free-trial .lesson-item.lesson-item--prejunior .lesson-item__head span {
    display: block;
  }
}
.sec-free-trial .lesson-item.lesson-item--prejunior .lesson-item__list li::before {
  color: #009b63;
}

/* 「ヤマハを選んだ人たち」セクション
----------------------------------------*/
.sec-voices {
  background: #fff;
}
@media screen and (min-width: 768px) {
  .sec-voices {
    padding-top: 84px;
    padding-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .sec-voices {
    padding-top: 21.3333333333vw;
    padding-bottom: 12vw;
  }
}
.sec-voices .head {
  position: relative;
}
@media screen and (min-width: 768px) {
  .sec-voices .head {
    padding: 1em 0;
    margin-bottom: 56px;
  }
}
@media screen and (max-width: 767px) {
  .sec-voices .head {
    padding: 0.7em 0.5em;
    margin-bottom: 8.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .sec-voices .head::before, .sec-voices .head::after {
    border-radius: 16px;
  }
}
@media screen and (max-width: 767px) {
  .sec-voices .head::before, .sec-voices .head::after {
    border-radius: 4.2666666667vw;
  }
}
.sec-voices .head::before {
  z-index: 0;
  display: block;
  content: "";
  background: #fff;
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .sec-voices .head::before {
    top: 8px;
  }
}
@media screen and (max-width: 767px) {
  .sec-voices .head::before {
    top: 1.3333333333vw;
  }
}
.sec-voices .head::after {
  z-index: 0;
  display: block;
  content: "";
  background: #EE86A8;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.sec-voices .head > span {
  display: block;
  position: relative;
  z-index: 1;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sec-voices .head > span {
    font-size: 30px;
    line-height: 1.6333333333;
  }
}
@media screen and (max-width: 767px) {
  .sec-voices .head > span {
    font-size: 5.3333333333vw;
    line-height: 1.75;
  }
}
.sec-voices .about__video {
  position: relative;
}
@media screen and (min-width: 768px) {
  .sec-voices .about__video {
    margin: 100px auto 0;
    width: 500px;
  }
}
@media screen and (max-width: 767px) {
  .sec-voices .about__video {
    width: 89%;
    margin: 21.3333333333vw auto 0;
  }
}
.sec-voices .about__iframe-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .sec-voices .about__iframe-wrapper {
    border-radius: 6px;
  }
}
@media screen and (max-width: 767px) {
  .sec-voices .about__iframe-wrapper {
    border-radius: 1.6vw;
  }
}
.sec-voices .about__iframe-wrapper iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .sec-voices .voice {
    margin-top: 66px;
  }
}
@media screen and (max-width: 767px) {
  .sec-voices .voice {
    margin-top: 8vw;
  }
}
@media screen and (max-width: 767px) {
  .sec-voices .voice .swiper-navigation {
    top: 53.8666666667vw;
  }
}
.sec-voices .voice__list {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .sec-voices .voice__list {
    column-gap: 30px;
  }
}
.sec-voices .voice__list li {
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .sec-voices .voice__list li {
    padding-top: 14px;
    width: 380px;
  }
}
@media screen and (max-width: 767px) {
  .sec-voices .voice__list li {
    padding: 3.4666666667vw 1.8666666667vw 0;
    width: 73.0666666667vw;
  }
}
.sec-voices .voice-item {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  flex: 1 0 auto;
}
@media screen and (min-width: 768px) {
  .sec-voices .voice-item {
    border-radius: 20px;
    padding: 32px 35px 36px;
  }
}
@media screen and (max-width: 767px) {
  .sec-voices .voice-item {
    margin: auto;
    border-radius: 5.3333333333vw;
    padding: 9.0666666667vw 6.9333333333vw 7.2vw;
  }
}
.sec-voices .voice-item .voice-item__head {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
  background-color: #4b1e78;
  color: #fff;
  font-weight: 700;
  text-align: center;
  border-radius: 9999px;
}
@media screen and (min-width: 768px) {
  .sec-voices .voice-item .voice-item__head {
    transform: translateY(-14px);
    width: 153px;
    font-size: 0.875rem;
    padding: 4px 0;
  }
}
@media screen and (max-width: 767px) {
  .sec-voices .voice-item .voice-item__head {
    transform: translateY(-3.4666666667vw);
    width: 35.4666666667vw;
    font-size: 12px;
    font-size: 3.2vw;
    padding: 1.6vw 0;
  }
}
.sec-voices .voice-item .voice-item__person {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .sec-voices .voice-item .voice-item__person {
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .sec-voices .voice-item .voice-item__person {
    gap: 2.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .sec-voices .voice-item .voice-item__person img {
    width: 120px;
  }
}
@media screen and (max-width: 767px) {
  .sec-voices .voice-item .voice-item__person img {
    width: 22.9333333333vw;
  }
}
.sec-voices .voice-item .voice-item__person figcaption {
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .sec-voices .voice-item .voice-item__person figcaption {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-voices .voice-item .voice-item__person figcaption {
    font-size: 12px;
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .sec-voices .voice-item .voice-item__person figcaption span {
    line-height: 1em;
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-voices .voice-item .voice-item__person figcaption span {
    line-height: 2em;
    font-size: 16px;
    font-size: 4.2666666667vw;
  }
}
.sec-voices .voice-item .voice-item__person figcaption small.note {
  display: block;
  font-weight: normal;
  margin-top: 0.7em;
  font-size: 0.8em;
}
.sec-voices .voice-item .voice-item__text {
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .sec-voices .voice-item .voice-item__text {
    margin-top: 20px;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-voices .voice-item .voice-item__text {
    margin-top: 4vw;
    font-size: 13px;
    font-size: 3.4666666667vw;
  }
}

/* 「安心安全な教室づくり」セクション
----------------------------------------*/
.sec-information {
  background: #fff;
}
@media screen and (min-width: 768px) {
  .sec-information {
    padding-top: 138px;
    padding-bottom: 120px;
  }
}
@media screen and (max-width: 767px) {
  .sec-information {
    padding-top: 10.6666666667vw;
    padding-bottom: 21.3333333333vw;
  }
}
.sec-information .head {
  position: relative;
}
@media screen and (min-width: 768px) {
  .sec-information .head {
    padding: 1em 0;
    margin-bottom: 56px;
  }
}
@media screen and (max-width: 767px) {
  .sec-information .head {
    padding: 0.7em 0.5em;
    margin-bottom: 8.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .sec-information .head::before, .sec-information .head::after {
    border-radius: 16px;
  }
}
@media screen and (max-width: 767px) {
  .sec-information .head::before, .sec-information .head::after {
    border-radius: 4.2666666667vw;
  }
}
.sec-information .head::before {
  z-index: 0;
  display: block;
  content: "";
  background: #fff;
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .sec-information .head::before {
    top: 8px;
  }
}
@media screen and (max-width: 767px) {
  .sec-information .head::before {
    top: 1.3333333333vw;
  }
}
.sec-information .head::after {
  z-index: 0;
  display: block;
  content: "";
  background: #EE86A8;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.sec-information .head > span {
  display: block;
  position: relative;
  z-index: 1;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sec-information .head > span {
    font-size: 30px;
    line-height: 1.6333333333;
  }
}
@media screen and (max-width: 767px) {
  .sec-information .head > span {
    font-size: 5.3333333333vw;
    line-height: 1.75;
  }
}
.sec-information .information-lead {
  color: #5D5D5D;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .sec-information .information-lead {
    margin-top: 60px;
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-information .information-lead {
    font-size: 16px;
    font-size: 4.2666666667vw;
    line-height: 1.8;
    width: 100vw;
    margin-left: -6.9333333333vw;
    margin-top: 7.4666666667vw;
  }
}
.sec-information .information-box {
  background-color: #fff;
  margin: auto;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .sec-information .information-box {
    margin-top: 37px;
    width: 800px;
    border-radius: 20px;
    padding: 26px 40px 26px;
  }
}
@media screen and (max-width: 767px) {
  .sec-information .information-box {
    margin-top: 4.8vw;
    border-radius: 5.3333333333vw;
    padding: 4.2666666667vw 5.3333333333vw 4.8vw;
  }
}
.sec-information .information-box .information-box__head {
  font-weight: 700;
  padding-bottom: 0.5em;
  border-bottom-style: solid;
  border-color: #dbdbdb;
}
@media screen and (min-width: 768px) {
  .sec-information .information-box .information-box__head {
    font-size: 1rem;
    border-width: 2px;
  }
}
@media screen and (max-width: 767px) {
  .sec-information .information-box .information-box__head {
    font-size: 16px;
    font-size: 4.2666666667vw;
    border-width: 0.5333333333vw;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .sec-information .information-box .information-box__body {
    padding-top: 14px;
  }
}
.sec-information .information-box .information-box__list {
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .sec-information .information-box .information-box__list {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-information .information-box .information-box__list {
    font-size: 13px;
    font-size: 3.4666666667vw;
    margin-top: 2.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .sec-information .information-box .information-box__list li {
    padding-left: 1.5em;
    text-indent: -1.5em;
  }
}
@media screen and (max-width: 767px) {
  .sec-information .information-box .information-box__list li {
    display: inline;
  }
}
.sec-information .information-box .information-box__list li::before {
  content: "●";
  margin-right: 0.5em;
}
@media screen and (max-width: 767px) {
  .sec-information .information-box .information-box__list li + li {
    margin-left: -0.2666666667vw;
  }
}
