@charset "UTF-8";
#lp {
  margin: 0;
}
#lp *,
#lp ::before,
#lp ::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#lp main {
  display: block;
}
#lp p {
  margin: 0;
}
#lp h1,
#lp h2,
#lp h3,
#lp h4,
#lp h5,
#lp h6 {
  font-size: inherit;
  margin: 0;
}
#lp ul,
#lp ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
#lp dd {
  margin-left: 0;
}
#lp a {
  display: inline-block;
  background-color: transparent;
  text-decoration: none;
  color: inherit;
  word-wrap: break-word;
}
#lp b,
#lp strong {
  font-weight: bolder;
}
#lp small {
  font-size: 80%;
}
#lp sub,
#lp sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
#lp sub {
  bottom: -0.25em;
}
#lp sup {
  top: -0.5em;
}
#lp svg,
#lp img,
#lp embed,
#lp object,
#lp iframe {
  vertical-align: bottom;
}
#lp picture {
  display: block;
  width: 100%;
  height: 100%;
}
#lp img {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

body {
  margin: 0;
}

#lp {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
  font-size: min(1.5vw, 16px);
  overflow-x: clip;
}
#lp * > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  #lp {
    font-size: 3.7vw;
  }
}

#lp .container {
  width: calc(100% - 40px);
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  #lp .container {
    width: calc(100% - 8vw);
  }
}

#lp .footer {
  margin: 4.5vw 0 0;
}
#lp .footer__main {
  color: #fff;
  background-color: #000;
  padding: 0.6em;
}
#lp .footer__menu {
  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;
}
#lp .footer__menu-item {
  font-size: 0.8em;
  line-height: 1.2;
}
#lp .footer__sub {
  padding: 0.6em;
}
#lp .footer__copyright {
  display: block;
  font-size: 0.8em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #lp .footer {
    margin: 13.3vw 0 0;
  }
}

#lp .sentence {
  font-size: 1em;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
#lp .sentence + .sentence {
  margin-top: 1.9em;
}

#lp .mv {
  background: url(../img/mv_bg.jpg) no-repeat center center/cover;
  padding: 60px 0 25px;
}
#lp .mv__main {
  margin: 0 0 15px;
}
#lp .mv__main-inner {
  position: relative;
}
#lp .mv__img-wrap01 {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  width: 16.6em;
  aspect-ratio: 266/480;
}
#lp .mv__balloon01 {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 10px;
  width: 10em;
  aspect-ratio: 1/1;
  background-color: #f8e87a;
  border-radius: 50%;
  font-size: 0.9em;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  -webkit-transform: rotate(-7deg);
          transform: rotate(-7deg);
  padding: 3.2em 0 0;
}
#lp .mv__balloon01 .dot {
  font-size: 1.1333333333em;
  background-position: top left 0px;
  background-repeat: repeat-x;
  background-size: 1em 0.2em;
  background-image: radial-gradient(0.1em 0.1em at center center, #333333, #333333 100%, transparent, transparent);
}
#lp .mv__balloon01 .lg {
  color: #ce000e;
  font-size: 1.7333333333em;
  font-weight: 700;
}
#lp .mv__img01 {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  width: 100%;
  aspect-ratio: 266/388;
}
#lp .mv__content-wrap01 {
  padding: 0 0 16px 18.4em;
}
#lp .mv__text-wrap01 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 12px;
  margin: 0 0 0 -42px;
}
#lp .mv__text-wrap01::before, #lp .mv__text-wrap01::after {
  content: "";
  display: inline-block;
  width: 1.9em;
  height: 2px;
  background: linear-gradient(10deg, #205081 0%, #205081 50%, #00bedb 150%);
}
#lp .mv__text01 {
  font-size: 1.9em;
  font-weight: 700;
  background: linear-gradient(95deg, #205081 0%, #205081 50%, #205081 90%, #00bedb 150%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#lp .mv__text01 .sm {
  font-size: 0.8em;
}
#lp .mv__catch {
  color: #205081;
  font-size: 4.8em;
  font-weight: 900;
  line-height: 1.4;
  margin: 0 0 20px;
}
#lp .mv__catch .sm {
  font-size: 0.9473684211em;
}
#lp .mv__catch .bg {
  display: inline-block;
  color: #fff;
  font-size: 1.1052631579em;
  line-height: 1;
  text-align: center;
  padding: min(0.5vw, 5px) min(0.9vw, 10px) min(0.9vw, 10px);
  background: linear-gradient(135deg, #205081 0%, #205081 50%, #00bedb 150%);
}
#lp .mv__catch .bg:not(:last-of-type) {
  margin-right: min(0.9vw, 10px);
}
#lp .mv__text02 {
  font-size: 1.6em;
  font-weight: 600;
  line-height: 1.6;
}
#lp .mv__text02 .line {
  color: #006AD7;
  font-style: italic;
  font-weight: 700;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(70%, transparent), color-stop(70%, #f8e87a), to(#f8e87a));
  background: linear-gradient(to bottom, transparent 0%, transparent 70%, #f8e87a 70%, #f8e87a 100%);
}
#lp .mv__content-wrap02 {
  color: #fff;
  background-color: #205081;
  border-radius: 8px;
  padding: 16px 25px 16px 18.4em;
}
#lp .mv__desc {
  font-size: 1.1em;
  font-weight: 500;
}
#lp .mv__img-wrap02 {
  position: absolute;
  bottom: min(6vw, 66px);
  right: -34px;
  width: 24.1em;
  aspect-ratio: 385/340;
}
#lp .mv__img02 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 30.6493506494%;
  aspect-ratio: 118/172;
  -webkit-transform: rotate(7deg);
          transform: rotate(7deg);
  margin: 0;
}
#lp .mv__balloon02 {
  position: absolute;
  top: 0;
  right: 0;
  width: 13.3333333333em;
  aspect-ratio: 240/135;
  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: 1.1em;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  background: url(../img/mv-balloon02_bg.png) no-repeat center center/contain;
}
#lp .mv__balloon03 {
  position: absolute;
  bottom: min(8.2vw, 90px);
  left: 0;
  width: 14.8888888889em;
  aspect-ratio: 268/135;
  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: 1.1em;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  background: url(../img/mv-balloon03_bg.png) no-repeat center center/contain;
}
#lp .mv__sub-inner {
  max-width: 1024px;
  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;
  gap: 2.7vw 10px;
}
#lp .mv__btn-wrap01 {
  width: 54.8828125%;
}
#lp .mv__btn01 {
  position: relative;
  height: 4.6em;
  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;
  background: -webkit-gradient(linear, left top, left bottom, from(#ff8b17), color-stop(#f39434), to(#cb6703));
  background: linear-gradient(to bottom, #ff8b17, #f39434, #cb6703);
  border-radius: 9999px;
}
#lp .mv__btn01-text {
  color: #fff;
  font-size: 1.4em;
  font-weight: 700;
}
#lp .mv__btn01-text .lg {
  font-size: 1.2727272727em;
}
#lp .mv__btn01-text .xl {
  font-size: 1.7272727273em;
}
#lp .mv__btn01-balloon {
  position: absolute;
  top: -40px;
  left: min(6.4vw, 70px);
  width: 5.25em;
  aspect-ratio: 1/1;
  color: #fe8b19;
  font-size: 1em;
  font-weight: 900;
  line-height: 1.1;
  text-align: center;
  background: url(../img/mv-btn01-balloon_bg.png) no-repeat center center/contain;
  padding: 1.25em 0 0;
}
#lp .mv__btn01-balloon .lg {
  font-size: 1.25em;
}
#lp .mv__btn-wrap02 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#lp .mv__btn02 {
  width: 100%;
  height: 4.6em;
  background-color: #fff;
  border-radius: 9999px;
  border: 2px solid #232f3e;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding: 0 0 10px;
}
#lp .mv__btn02-logo {
  width: auto;
  height: 70%;
  -o-object-fit: contain;
     object-fit: contain;
  margin: 0;
}
#lp .mv__btn-note {
  display: block;
  font-size: 0.8em;
  font-weight: 600;
  text-align: center;
  margin: 5px 0 0;
}
@media screen and (max-width: 768px) {
  #lp .mv {
    padding: 8vw 0;
  }
  #lp .mv__main {
    margin: 0 0 5.2vw;
  }
  #lp .mv__main-inner {
    display: grid;
    grid-template-areas: "content-wrap01 content-wrap01" "img-wrap01 img-wrap02" "content-wrap02 content-wrap02";
    grid-template-columns: 50% 50%;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
  }
  #lp .mv__content-wrap01 {
    grid-area: content-wrap01;
    padding: 0;
  }
  #lp .mv__text-wrap01 {
    width: 100%;
    gap: 0 1.9vw;
    margin: 0;
  }
  #lp .mv__text-wrap01::before, #lp .mv__text-wrap01::after {
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  #lp .mv__text01 {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    font-size: 1.3em;
  }
  #lp .mv__catch {
    font-size: 3em;
    text-align: center;
  }
  #lp .mv__text02 {
    font-size: 1em;
    text-align: center;
  }
  #lp .mv__img-wrap01 {
    grid-area: img-wrap01;
    position: relative;
    width: auto;
    margin: 0 0 0 -4vw;
  }
  #lp .mv__img-wrap02 {
    grid-area: img-wrap02;
    position: initial;
    width: auto;
    aspect-ratio: 209/424;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 -4vw 0 0;
  }
  #lp .mv__balloon02 {
    position: initial;
    -ms-flex-item-align: end;
        align-self: flex-end;
    width: 40vw;
    font-size: 0.9em;
  }
  #lp .mv__balloon03 {
    position: initial;
    -ms-flex-item-align: start;
        align-self: flex-start;
    width: 100%;
    font-size: 0.9em;
  }
  #lp .mv__img02 {
    position: initial;
    width: 71.7703349282%;
  }
  #lp .mv__content-wrap02 {
    grid-area: content-wrap02;
    width: calc(100% + 8vw);
    border-radius: 0;
    padding: 4vw;
    margin: 0 -4vw;
  }
  #lp .mv__desc {
    font-size: 1em;
  }
  #lp .mv__sub-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #lp .mv__btn-wrap01 {
    width: 100%;
  }
  #lp .mv__btn01-balloon {
    top: -16vw;
    left: 2.7vw;
  }
  #lp .mv__btn01-text {
    font-size: 1.3em;
  }
  #lp .mv__btn-wrap02 {
    width: 100%;
  }
}
#lp .benefit {
  padding: 95px 0 120px;
}
#lp .benefit__heading {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
  font-size: 3.3em;
  font-weight: 700;
  line-height: 1.2;
  background: linear-gradient(80deg, #382111, #a47234 60%, #382111);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding: 0.4em 1.6em 0.8em;
  margin: 0 auto -10px;
}
#lp .benefit__heading .lg {
  font-size: 1.3846153846em;
}
#lp .benefit__heading::before, #lp .benefit__heading::after {
  position: absolute;
  top: 0;
  content: "";
  display: inline-block;
  width: 1.8461538462em;
  aspect-ratio: 96/151;
  background: url(../img/benefit-heading_frame.png) no-repeat center center/contain;
}
#lp .benefit__heading::before {
  left: 0;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
#lp .benefit__heading::after {
  right: 0;
}
#lp .benefit__intro {
  font-size: 1.1em;
  text-align: center;
  margin: 0 0 24px;
}
#lp .benefit__item {
  position: relative;
  background-color: #fbf8f1;
}
#lp .benefit__item::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 14px;
  width: calc(100% - 28px);
  height: calc(100% - 28px);
  border: 1px solid;
  -o-border-image: linear-gradient(80deg, #382111, #c4965c 58%, #382111) 1;
     border-image: linear-gradient(80deg, #382111, #c4965c 58%, #382111) 1;
}
#lp .benefit__item:not(:last-of-type) {
  margin-bottom: 25px;
}
#lp .benefit__count {
  position: absolute;
  top: 0;
  left: 18px;
  width: min(6.7vw, 74px);
  aspect-ratio: 74/110;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
  font-size: 1.3em;
  font-weight: 700;
  line-height: 1.3;
  padding: 0.9em 0 0;
  background: url(../img/benefit-count_bg.png) no-repeat center center/contain;
}
#lp .benefit__count .num {
  font-size: 1.2em;
  font-style: italic;
  margin: 0 0 0 -0.25em;
}
#lp .benefit__content {
  padding: 35px 30px 30px min(10vw, 110px);
}
#lp .benefit__title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
  font-size: 1.4em;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 16px;
}
#lp .benefit__title .lg {
  font-size: 1.3636363636em;
}
#lp .benefit__title .sm {
  font-size: 0.7272727273em;
  font-weight: 600;
}
#lp .benefit__desc {
  font-size: 1em;
}
@media screen and (max-width: 768px) {
  #lp .benefit {
    padding: 10.7vw 0;
  }
  #lp .benefit__heading {
    font-size: 2.1em;
  }
  #lp .benefit__intro {
    font-size: 1em;
    margin: 0 0 5.3vw;
  }
  #lp .benefit__item::before {
    left: 2.7vw;
    top: 2.7vw;
    width: calc(100% - 5.3vw);
    height: calc(100% - 5.3vw);
  }
  #lp .benefit__count {
    left: 1.9vw;
    width: 13.3vw;
    font-size: 1em;
  }
  #lp .benefit__content {
    padding: 5.3vw 5.3vw 5.3vw 18.7vw;
  }
  #lp .benefit__title {
    font-size: 1em;
    line-height: 1.4;
    margin: 0 0 1.9vw;
  }
  #lp .benefit__title .lg {
    font-size: 1.2em;
  }
  #lp .benefit__title .sm {
    font-size: 0.9em;
  }
}
#lp .area01 {
  background: url(../img/area01_bg.jpg) no-repeat center center/cover;
  padding: 85px 0 80px;
}
#lp .area01__heading {
  color: #fff;
  font-size: 2.5em;
  font-weight: 600;
  text-align: center;
  margin: 0 0 70px;
}
@media screen and (max-width: 768px) {
  #lp .area01 {
    padding: 10.7vw 0;
  }
  #lp .area01__heading {
    font-size: 1.4em;
    margin: 0 0 8vw;
  }
}
#lp .greeting {
  margin: 0 0 80px;
}
#lp .greeting__body {
  max-width: 1200px;
  width: calc(100% - 40px);
  padding: 70px min(13.6vw, 150px);
  margin: 0 auto;
  background-color: #fff;
}
#lp .greeting__catch {
  font-size: 1.4em;
  font-weight: 500;
  border-bottom: 1px solid #333333;
  padding: 0 0 15px;
  margin: 0 0 40px;
}
@media screen and (max-width: 768px) {
  #lp .greeting {
    margin: 0 0 10.7vw;
  }
  #lp .greeting__body {
    padding: 8vw 4vw;
  }
  #lp .greeting__catch {
    font-size: 1.1em;
    margin: 0 0 5.3vw;
  }
}
#lp .profile__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2.1em 0;
}
#lp .profile__img-wrap {
  position: relative;
  z-index: 0;
  width: 26.1em;
  aspect-ratio: 420/365;
  padding: 0 min(1.8vw, 20px) 0 0;
}
#lp .profile__img {
  width: 68.1818181818%;
  aspect-ratio: 285/326;
  margin: 0 0 0 auto;
}
#lp .profile__typo {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  aspect-ratio: 418/144;
}
#lp .profile__content {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #fff;
}
#lp .profile__name {
  font-size: 1.7em;
  font-weight: 500;
  border-bottom: 1px solid #fff;
  padding: 0 0 25px;
  margin: 0 0 30px;
}
#lp .profile__name .furigana {
  font-size: 0.6666666667em;
}
@media screen and (max-width: 768px) {
  #lp .profile__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #lp .profile__img-wrap {
    width: 100%;
    padding: 0;
  }
  #lp .profile__img {
    margin: 0 auto;
  }
  #lp .profile__typo {
    width: 80%;
    right: initial;
    left: 0;
  }
  #lp .profile__name {
    font-size: 1.1em;
    padding: 0 0 2.7vw;
    margin: 0 0 3.7vw;
  }
}
#lp .book {
  background: url(../img/book_bg.jpg) no-repeat top center/cover;
  padding: 130px 0 40px;
}
#lp .book__heading {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 2.1em;
  font-weight: 600;
  padding: 0 0 0 1.5294117647em;
  margin: 0 auto 80px;
}
#lp .book__heading .balloon {
  position: absolute;
  top: -2.1818181818em;
  left: 0;
  width: 3.2727272727em;
  aspect-ratio: 1/1;
  font-size: 0.6470588235em;
  font-weight: 500;
  text-align: center;
  line-height: 1;
  border-radius: 50%;
  padding: 0.9em 0 0;
  background: url(../img/book-heading-balloon_bg.png) no-repeat center center/contain;
}
#lp .book__heading .bg {
  color: #fff;
  font-size: 1.4117647059em;
  font-weight: 700;
  background: linear-gradient(100deg, #205081 0%, #205081 50%, #00bedb 150%);
  padding: 0 0 min(0.5vw, 5px);
}
#lp .book__intro-wrap {
  text-align: center;
  margin: 0 0 90px;
}
#lp .book__intro {
  display: inline;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  font-size: 1.3em;
  font-weight: 600;
  line-height: 1.6;
  border-bottom: 1px solid #333333;
  padding: 0 0 0.25em;
}
#lp .book__intro .lg {
  font-size: 1.35em;
  font-weight: 700;
}
#lp .book__intro .xl {
  font-size: 1.95em;
  font-weight: 700;
}
#lp .book__intro .dot {
  background-position: top left 0px;
  background-repeat: repeat-x;
  background-size: 1em 0.2em;
  background-image: radial-gradient(0.1em 0.1em at center center, #205081, #205081 100%, transparent, transparent);
}
#lp .book__intro .bl {
  color: #006AD7;
  font-style: italic;
}
@media screen and (max-width: 768px) {
  #lp .book {
    padding: 18.7vw 0 10.7vw;
  }
  #lp .book__heading {
    font-size: 1.4em;
    text-align: center;
    line-height: 1.6;
    padding: 0;
    margin: 0 0 8vw;
  }
  #lp .book__heading .balloon {
    top: -9.6vw;
    left: -2.7vw;
    font-size: 0.8em;
  }
  #lp .book__heading .bg {
    font-size: 1.2em;
  }
  #lp .book__intro-wrap {
    margin: 0 0 8vw;
  }
  #lp .book__intro {
    font-size: 1em;
    line-height: 1.8;
  }
  #lp .book__intro .xl {
    font-size: 1.6em;
  }
}
#lp .book-chapter__list {
  max-width: 940px;
  margin: 0 auto 130px;
}
#lp .book-chapter__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.3em;
  font-weight: 600;
  line-height: 1.2;
}
#lp .book-chapter__item:not(:last-of-type) {
  margin-bottom: 10px;
}
#lp .book-chapter__count {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  width: 6em;
  color: #fff;
  text-align: center;
  background-color: #006AD7;
  padding: 0.5em;
  border-radius: 0.5em 0 0 0.5em;
}
#lp .book-chapter__title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background-color: #fff;
  border-radius: 0 0.5em 0.5em 0;
  padding: 0.5em 1em;
}
@media screen and (max-width: 768px) {
  #lp .book-chapter__item {
    font-size: 1em;
  }
}
#lp .book-feature {
  position: relative;
  background-color: #f3f8fe;
  padding: 60px 30px 50px;
}
#lp .book-feature__heading {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #205081;
  font-size: 1.6em;
  font-weight: 600;
  white-space: nowrap;
  border: 3px solid #205081;
  background-color: #fff;
  padding: 5px 2em;
}
#lp .book-feature__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: min(2.7vw, 30px) min(2.7vw, 30px);
}
#lp .book-feature__item {
  position: relative;
  width: calc((100% - min(5.5vw, 60px)) / 3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #e5eff8;
  padding: min(1.8vw, 20px) 0;
  border-radius: 10px;
  -webkit-box-shadow: 4px 4px 20px #99c3e9;
          box-shadow: 4px 4px 20px #99c3e9;
}
#lp .book-feature__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: min(4.7vw, 52px);
  aspect-ratio: 52/50;
  border-radius: 10px 0 10px 0;
  background: #006AD7 url(../img/check_ico_wh.svg) no-repeat center center/min(2.1vw, 23px) auto;
  -webkit-box-shadow: 4px 4px 20px #99c3e9;
          box-shadow: 4px 4px 20px #99c3e9;
}
#lp .book-feature__item:nth-of-type(4) .book-feature__img, #lp .book-feature__item:nth-of-type(5) .book-feature__img, #lp .book-feature__item:nth-of-type(6) .book-feature__img {
  width: 54.8387096774%;
}
#lp .book-feature__img {
  width: 61.935483871%;
  margin: 0 auto;
}
#lp .book-feature__desc {
  font-size: 1em;
  font-weight: 600;
  text-align: center;
  margin: auto 0 0;
}
@media screen and (max-width: 768px) {
  #lp .book-feature {
    padding: 8vw 4vw;
  }
  #lp .book-feature__heading {
    font-size: 1.4em;
    border-width: 2px;
  }
  #lp .book-feature__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #lp .book-feature__item {
    width: 100%;
    padding: 0 0 3.7vw;
  }
  #lp .book-feature__item::before {
    width: 10.7vw;
    border-radius: 2.7vw 0 2.7vw 0;
    background: #006AD7 url(../img/check_ico_wh.svg) no-repeat center center/4.8vw auto;
    -webkit-box-shadow: 4px 4px 5.3vw #99c3e9;
            box-shadow: 4px 4px 5.3vw #99c3e9;
  }
  #lp .book-feature__item:nth-of-type(4) .book-feature__img, #lp .book-feature__item:nth-of-type(5) .book-feature__img, #lp .book-feature__item:nth-of-type(6) .book-feature__img {
    width: 50%;
  }
  #lp .book-feature__img {
    width: 50%;
  }
}
#lp .benefit02__text01 {
  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: 1.4em;
  font-weight: 500;
  gap: 0 0.5em;
}
#lp .benefit02__text01 .logo {
  width: auto;
  height: 2.5909090909em;
  aspect-ratio: 124/57;
}
#lp .benefit02__heading {
  padding: 0;
  margin: 0 auto 70px;
}
#lp .benefit02__heading::before, #lp .benefit02__heading::after {
  content: none;
}
@media screen and (max-width: 768px) {
  #lp .benefit02 {
    margin: 0 0 8vw;
  }
  #lp .benefit02__text01 {
    font-size: 1em;
  }
  #lp .benefit02__heading {
    margin: 0 auto 8vw;
  }
}
#lp .step {
  margin: 0 0 100px;
}
#lp .step__heading {
  position: relative;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
  font-size: 2em;
  font-weight: 700;
  line-height: 1.2;
  color: #232f3e;
  padding: 0.4em 1.6em 0.8em;
  margin: 0 auto 60px;
}
#lp .step__heading .lg {
  font-size: 1.3846153846em;
}
#lp .step__flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10.7vw 4em;
}
#lp .step__item {
  position: relative;
  width: calc((100% - 8em) / 3);
  min-height: 24.4em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 3px solid #205081;
  border-radius: 12px;
  padding: 1.5em 1.6em 1.9em;
}
#lp .step__item:nth-of-type(1) {
  border-color: #5d8cbc;
}
#lp .step__item:nth-of-type(1)::after {
  content: "";
  position: absolute;
  bottom: 50%;
  right: -2.9em;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  display: inline-block;
  border-style: solid;
  border-width: 0.7em 0 0.7em 1.4em;
  border-color: transparent transparent transparent #3771ad;
}
#lp .step__item:nth-of-type(2) {
  border-color: #3771ad;
}
#lp .step__item:nth-of-type(2)::after {
  content: "";
  position: absolute;
  bottom: 50%;
  right: -2.9em;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  display: inline-block;
  border-style: solid;
  border-width: 0.7em 0 0.7em 1.4em;
  border-color: transparent transparent transparent #205081;
}
#lp .step__count {
  position: absolute;
  top: -1.9em;
  left: -1.9em;
  width: 5.1em;
  aspect-ratio: 1/1;
}
#lp .step__ico {
  width: 47.7272727273%;
  aspect-ratio: 1/1;
  margin: 0 0 10px;
}
#lp .step__title {
  font-size: 1.1em;
  font-weight: 600;
  text-align: center;
  margin: 0 0 16px;
}
#lp .step__desc {
  line-height: 1.2;
  margin: 0 0 10px;
}
#lp .step__btn01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: 100%;
  height: 54px;
  border: 1px solid #333333;
  border-radius: 9999px;
  padding: 0 0 10px;
  margin: auto 0 0;
}
#lp .step__btn01 .logo {
  width: auto;
  height: 60%;
  -o-object-fit: contain;
     object-fit: contain;
}
#lp .step__btn02 {
  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%;
  height: 54px;
  color: #205081;
  font-size: 0.9em;
  font-weight: 500;
  border: 1px solid #205081;
  border-radius: 9999px;
  margin: auto 0 0;
}
@media screen and (max-width: 768px) {
  #lp .step__heading {
    font-size: 1.6em;
    padding: 0;
  }
  #lp .step__flow {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #lp .step__item {
    width: 90%;
    min-height: initial;
    padding: 3.7vw;
    border-width: 2px;
  }
  #lp .step__item:nth-of-type(1)::after {
    content: "";
    position: absolute;
    bottom: -8vw;
    right: 50%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    border-width: 3.7vw 3.7vw 0 3.7vw;
    border-color: #3771ad transparent transparent transparent;
  }
  #lp .step__item:nth-of-type(2)::after {
    content: "";
    bottom: -8vw;
    right: 50%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    border-width: 3.7vw 3.7vw 0 3.7vw;
    border-color: #205081 transparent transparent transparent;
  }
  #lp .step__count {
    top: -5.3vw;
    left: -5.3vw;
    width: 16vw;
  }
  #lp .step__ico {
    width: 26.7vw;
  }
  #lp .step__desc {
    margin: 0 0 3.7vw;
  }
  #lp .step__btn01 {
    height: 14.4vw;
  }
  #lp .step__btn02 {
    height: 14.4vw;
  }
}
#lp .form table {
  margin: 0 auto;
}

#lp {
  /* adjustment */
}
#lp .u-weight--400 {
  font-weight: 400;
}
#lp .u-weight--500 {
  font-weight: 500;
}
#lp .u-weight--700 {
  font-weight: 700;
}
#lp .u-align--center {
  text-align: center;
}
#lp .u-display--sm {
  display: none;
}
@media screen and (max-width: 768px) {
  #lp .u-display--sm {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  #lp .u-hidden--sm {
    display: none;
  }
}

/* Amazonページ用トップバナー
----------------------------------------------- */
#lp .amazon-banner {
  width: 100%;
  background: linear-gradient(135deg, #205081 0%, #205081 50%, #00bedb 100%);
  color: #ffffff;
  text-align: center;
  padding: 10px 10px;
}

#lp .amazon-banner__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

#lp .amazon-banner__title {
  font-size: 0.8em;
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1.6;
}

/* SP向け調整 */
@media screen and (max-width: 768px) {
  #lp .amazon-banner {
    padding: 4vw 4vw;
  }

  #lp .amazon-banner__inner {
    padding: 0;
  }

  #lp .amazon-banner__title {
    font-size: 0.6em;
    line-height: 1.5;
  }
}

#step {
  /* 固定ヘッダーの高さ＋少し余白（例: 100px） */
  scroll-margin-top: 100px;
}

html {
  scroll-behavior: smooth;
}

/* 書籍情報ブロック（青背景の外に出す） */
#lp .mv__book-info {
  margin: 12px auto;     /* 青ブロックとの余白 */
  text-align: right;    /* 右揃え */
  color: #000;          /* 黒文字 */
  font-size: 10px;
  line-height: 1.6;
  max-width: 1080px;     /* 最大幅 */
}

@media screen and (max-width: 768px) {
  #lp .mv__book-info {
    margin: 4vw auto 8vw;    /* SP時の余白 */
    font-size: 8px;
    max-width: 330px;     /* 最大幅 */
  }  
}

#lp .mv__book-info-title {
  font-weight: 600;
  margin-bottom: 4px;
}

#lp .mv__book-info-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

#lp .mv__book-info-list li + li {
  margin-top: 2px;
}
