/* global
---------------------------------------------------- */
/* common
---------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  -webkit-text-size-adjust: none;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2vw;
  line-height: 1.2;
  /*font-feature-settings: "palt";*/
  padding: 0 0 22vw 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media screen and (min-width: 768px) {
  body {
    width: 100%;
    min-width: 1000px;
    font-size: 16px;
    padding: 0 0 130px 0;
  }
}

a {
  text-decoration: none;
  overflow: hidden;
  outline: none;
  transition: all 0.3s ease;
}
@media (hover: hover) {
  a:hover {
    opacity: 0.7;
  }
}
@media (hover: none) {
  a:active {
    opacity: 0.7;
  }
}

img {
  vertical-align: bottom;
  width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
  -webkit-backface-visibility: hidden;
}
@media screen and (min-width: 768px) {
  img {
    width: auto;
  }
}

.sp {
  display: block;
}
@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}

.pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
}

.center {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .wrap01 {
    width: 960px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (min-width: 768px) {
  .wrap02 {
    width: 820px;
    margin-left: auto;
    margin-right: auto;
  }
}

.color-primary {
  color: #1d59be;
}

.color-highlight {
  color: #fff600;
}

.bracket {
  margin-left: -0.5em;
}

/* header
---------------------------------------------------- */
.header {
  border-top: 1.2vw solid #ec5405;
}
@media screen and (min-width: 768px) {
  .header {
    border-top: 10px solid #ec5405;
  }
}
.header .wrap01 {
  height: 12vw;
  padding: 0 4.6666666667vw 0 2.6666666667vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .header .wrap01 {
    height: 80px;
    padding: 0 0 0 40px;
  }
}
.header__logo {
  width: 28.5333333333vw;
}
@media screen and (min-width: 768px) {
  .header__logo {
    width: 214px;
  }
}
.header__logo img {
  width: 100%;
}
.header__txt {
  font-size: 2.6666666667vw;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .header__txt {
    font-size: 14px;
  }
}

/* fv
---------------------------------------------------- */
.fv {
  padding: 2.6666666667vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .fv {
    padding: 30px 0 0 0;
  }
}
.fv__txt01 {
  width: 89.3333333333vw;
  height: 6.6666666667vw;
  font-size: 3.4666666667vw;
  font-weight: 900;
  color: #fff;
  letter-spacing: 0.02em;
  background: #17499d;
  border-radius: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .fv__txt01 {
    width: 540px;
    height: 40px;
    font-size: 21px;
  }
}
.fv h1 {
  margin: 3.2vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .fv h1 {
    margin: 16px 0 0 0;
  }
}
.fv h1 img {
  max-width: 840px;
}
.fv__box {
  width: 89.3333333333vw;
  padding: 3.7333333333vw 3.2vw 2.6666666667vw 3.2vw;
  border: 0.8vw solid #5e8cda;
  border-radius: 2.6666666667vw;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .fv__box {
    width: 820px;
    padding: 30px 62px 18px 62px;
    border: 4px solid #5e8cda;
    border-radius: 10px;
  }
}
.fv ul {
  display: flex;
  justify-content: space-between;
}
.fv li {
  width: 40vw;
}
@media screen and (min-width: 768px) {
  .fv li {
    width: 332px;
  }
  .fv li img {
    max-width: 100%;
  }
}
.fv__notes {
  font-size: 2.6666666667vw;
  line-height: 1.365;
  margin: 2vw -1.6vw 0;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 768px) {
  .fv__notes {
    font-size: 15px;
    margin: 13px 0 0 0;
  }
}
.fv + .cv {
  margin-top: 4.8vw;
}
@media screen and (min-width: 768px) {
  .fv + .cv {
    margin-top: 53px;
  }
}

/* box
---------------------------------------------------- */
.box:first-child {
  margin-top: 0;
}
.box:last-child {
  margin-bottom: 0;
}
.box__header {
  border-radius: 10px 10px 0 0;
  padding: 2.6666666667vw 0;
}
@media screen and (min-width: 768px) {
  .box__header {
    padding: 13px 0;
  }
}
.box01 .box__header {
  background-color: #17499d;
}
.box02 .box__header {
  background-color: #3a71cf;
}
.box__title {
  color: #fff;
  font-size: 3.4666666667vw;
}
@media screen and (min-width: 768px) {
  .box__title {
    font-size: 20px;
  }
}
.box__content {
  border-radius: 0 0 10px 10px;
}
.box01 .box__content {
  background-color: #e8eff9;
  padding: 5.3333333333vw 4vw 5.6vw;
}
@media screen and (min-width: 768px) {
  .box01 .box__content {
    padding: 20px 40px 35px;
  }
}
.box02 .box__content {
  background-color: #fff;
  border-right: 2px solid #3a71cf;
  border-bottom: 2px solid #3a71cf;
  border-left: 2px solid #3a71cf;
  padding: 4.2666666667vw 5.4666666667vw 3.2vw;
}
@media screen and (min-width: 768px) {
  .box02 .box__content {
    padding: 20px 40px 35px;
    border-width: 4px;
  }
}
.box__content img {
  max-width: 100%;
}

.box02 {
  margin: 4vw 0 3.3333333333vw;
}
@media screen and (min-width: 768px) {
  .box02 {
    margin: 15px 0;
  }
}

.box01 {
  margin: 4.6666666667vw 0 4.8vw;
}
@media screen and (min-width: 768px) {
  .box01 {
    margin: 28px 0 36px;
  }
}

/* cv
---------------------------------------------------- */
.cv {
  padding: 0 5.3333333333vw;
}
.cv__txt {
  font-size: 4vw;
  font-weight: 700;
  line-height: 1;
  margin: 0 0 3.2vw 0;
}
@media screen and (min-width: 768px) {
  .cv__txt {
    font-size: 22px;
    margin: 0 0 24px 0;
  }
}
@media screen and (min-width: 768px) {
  .cv a img {
    max-width: 600px;
  }
}

/* price
---------------------------------------------------- */
.price {
  height: 30vw;
  font-size: 5.7333333333vw;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.02em;
  background: #3a71cf;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 10.6666666667vw 0 0 0;
  position: relative;
  line-height: 1.5813953488;
}
@media screen and (min-width: 768px) {
  .price {
    line-height: 1.2;
    height: 140px;
    font-size: 32px;
    margin: 64px 0 0 0;
  }
}
.price::after {
  content: "";
  display: block;
  width: 5.3333333333vw;
  height: 4.5333333333vw;
  background-image: url(../img/price_arrow.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: contain;
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .price::after {
    top: calc(100% - 1px);
    width: 26px;
    height: 17px;
  }
}

/* course
---------------------------------------------------- */
.course {
  padding: 6.6666666667vw 5.3333333333vw 0 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .course {
    padding: 32px 0 0 0;
  }
}
.course h2 {
  font-size: 3.2vw;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-feature-settings: "palt";
  line-height: 1.6666666667;
}
@media screen and (min-width: 768px) {
  .course h2 {
    line-height: 1.6;
    font-size: 20px;
  }
}
.course__img01 {
  margin-top: 7.7333333333vw;
}
@media screen and (min-width: 768px) {
  .course__img01 {
    margin-top: 30px;
  }
  .course__img01 img {
    max-width: 600px;
  }
}
.course__txt01 {
  font-size: 4vw;
  font-weight: 700;
  margin: 6.6666666667vw 0 0 0;
  line-height: 1.7666666667;
}
@media screen and (min-width: 768px) {
  .course__txt01 {
    font-size: 24px;
    margin: 26px 0 0 0;
    line-height: 1.7916666667;
    text-align: center;
  }
}
.course__txt02 {
  font-size: 3.2vw;
  font-weight: 500;
  margin: 8vw 0 0 0;
  line-height: 1.6666666667;
}
@media screen and (min-width: 768px) {
  .course__txt02 {
    font-size: 18px;
    margin: 56px 0 0 0;
    line-height: 1.5;
  }
}
.course__txt02 > span {
  font-weight: bold;
}
.course__list {
  margin: 8.5333333333vw 0 0;
}
@media screen and (min-width: 768px) {
  .course__list {
    width: 605px;
    margin: 56px auto 0 auto;
  }
}
.course__list li {
  text-align: center;
  background-color: #e8eff9;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 5px;
  font-size: 4.368vw;
  color: #17499d;
  margin-bottom: 2.4vw;
  padding: 2.0666666667vw 0;
}
@media screen and (min-width: 768px) {
  .course__list li {
    border-radius: 10px;
    margin-bottom: 14px;
    font-size: 26px;
    padding: 15px 0;
    line-height: 1;
  }
}
.course__list li.plus {
  margin-top: 4.6666666667vw;
}
@media screen and (min-width: 768px) {
  .course__list li.plus {
    margin-top: 28px;
  }
}
.course__list li.plus::before {
  content: "";
  background-image: url(../img/course-plus.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  width: 7.6613333333vw;
  height: 7.6613333333vw;
  top: -6.1333333333vw;
}
@media screen and (min-width: 768px) {
  .course__list li.plus::before {
    width: 45px;
    height: 45px;
    top: -36px;
  }
}
.course__list li .select {
  font-size: 4.032vw;
  margin-top: -0.4vw;
  margin-left: 1.0666666667vw;
}
@media screen and (min-width: 768px) {
  .course__list li .select {
    margin-left: 9px;
    font-size: 24px;
    margin-top: 0;
  }
}
.course__list li .bracket {
  font-size: 4.032vw;
  margin-left: -0.5em;
  margin-top: -0.4vw;
}
@media screen and (min-width: 768px) {
  .course__list li .bracket {
    font-size: 24px;
    margin-top: 0;
  }
}
.course__list li .payment-type {
  position: absolute;
  right: 0;
  background-color: #f26522;
  color: #fff;
  text-align: center;
  letter-spacing: 0.02em;
  font-size: 3.2vw;
  border-radius: 5px;
  line-height: 6.708vw;
  width: 13.5986666667vw;
  right: 1.3333333333vw;
}
@media screen and (min-width: 768px) {
  .course__list li .payment-type {
    border-radius: 10px;
    line-height: 40px;
    right: 8px;
    width: 99px;
    font-size: 20px;
  }
}
.course + .cv {
  margin-top: 11.7333333333vw;
}
@media screen and (min-width: 768px) {
  .course + .cv {
    margin-top: 80px;
  }
}

/* point
---------------------------------------------------- */
.point {
  padding: 14.4vw 5.3333333333vw 6.4vw 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .point {
    padding: 62px 0 66px 0;
  }
}
.point h2 {
  padding: 0 0 32vw 0;
  background: url(../img/point-ponta.png) no-repeat 50% 100%;
  background-size: 38.9333333333vw auto;
}
@media screen and (min-width: 768px) {
  .point h2 {
    padding: 0 0 200px 0;
    background-size: 225px auto;
  }
}
.point h2 > span {
  display: block;
}
.point h2 > span:nth-child(1) {
  font-size: 4.8vw;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .point h2 > span:nth-child(1) {
    font-size: 28px;
  }
}
.point h2 > span:nth-child(2) {
  font-size: 6.1333333333vw;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.2;
  margin: 2.6666666667vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .point h2 > span:nth-child(2) {
    font-size: 36px;
    line-height: 1;
    margin: 22px 0 0 0;
  }
}
.point h2 > span:nth-child(2) span {
  color: #f55305;
}
.point h2 .emphasis {
  color: #000 !important;
  margin-left: -0.25em;
}
.point__txt01 {
  margin: 5.3333333333vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .point__txt01 {
    margin: 32px 0 0 0;
  }
}
.point__txt02 {
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1.4;
  margin: 5.0666666667vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .point__txt02 {
    font-size: 20px;
    margin: 25px 0 0 0;
  }
}
.point__link {
  font-size: 3.2vw;
  line-height: 1;
  margin: 5.3333333333vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .point__link {
    font-size: 14px;
    margin: 25px 0 0 0;
  }
}
.point__link a {
  color: #000;
  text-decoration: underline;
}
.point__notes {
  margin: 3.3333333333vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .point__notes {
    max-inline-size: -webkit-max-content;
    max-inline-size: -moz-max-content;
    max-inline-size: max-content;
    margin: 25px auto 0 auto;
  }
}
.point__notes li {
  font-size: 2.9333333333vw;
  line-height: 1.2;
  text-indent: -1em;
  padding: 0 0 0 1em;
}
@media screen and (min-width: 768px) {
  .point__notes li {
    font-size: 13px;
  }
}

/* feature-nav
---------------------------------------------------- */
.feature-nav {
  background: #e8eff9;
  padding: 12vw 5.3333333333vw 10.9333333333vw 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .feature-nav {
    padding: 62px 0 55px 0;
  }
}
.feature-nav h2 {
  width: 36.8vw;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .feature-nav h2 {
    width: 227px;
  }
}
.feature-nav h2 img {
  width: 100%;
}
.feature-nav__list {
  margin-top: 6vw;
}
@media screen and (min-width: 768px) {
  .feature-nav__list {
    margin-top: 45px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.feature-nav__list a {
  display: block;
  min-height: 26.6666666667vw;
  color: #000;
  background: #fff url(../img/arrow01.svg) no-repeat right 4vw top 50%;
  background-size: 5.0666666667vw auto;
  border-radius: 2.6666666667vw;
  padding: 4vw 0 3.3333333333vw 0;
  overflow: visible;
  width: 100%;
  min-height: 26.6666666667vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .feature-nav__list a {
    width: 306px;
    min-height: 220px;
    background: #fff;
    border-radius: 10px;
    padding: 64px 0 16px 0;
  }
}
.feature-nav__list > li {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
}
.feature-nav__list > li:not(:first-child) {
  margin: 4vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .feature-nav__list > li:not(:first-child) {
    margin: 0;
  }
}
.feature-nav__list h3 {
  font-size: 4.5333333333vw;
  font-weight: 900;
  line-height: 1.2;
  line-height: 1.4090909091;
}
@media screen and (min-width: 768px) {
  .feature-nav__list h3 {
    min-height: 3.6em;
    font-size: 22px;
    flex: 1;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
  }
}
.feature-nav__select {
  border-radius: 999px;
  border: 2px solid #1d59be;
  display: block;
  margin-left: auto;
  margin-right: auto;
  color: #1d59be;
  margin-bottom: 0.5333333333vw;
  font-size: 3.96vw;
  line-height: 5.58vw;
  width: 22.32vw;
}
@media screen and (min-width: 768px) {
  .feature-nav__select {
    line-height: 30px;
    padding-bottom: 2px;
    margin-bottom: 2px;
    width: 125px;
    font-size: 22px;
  }
}
.feature-nav__no {
  width: 7.7333333333vw;
  position: absolute;
  left: 2.8vw;
  top: -1.3333333333vw;
}
@media screen and (min-width: 768px) {
  .feature-nav__no {
    width: 48px;
    left: 50%;
    top: -8px;
    transform: translateX(-50%);
  }
}
.feature-nav__no img {
  width: 100%;
}
.feature-nav__notes {
  font-size: 2.9333333333vw;
  line-height: 1.2;
  text-indent: -1em;
  padding: 0 0 0 1em;
  margin: 3.7333333333vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .feature-nav__notes {
    font-size: 13px;
    text-align: center;
    margin: 25px 0 0 0;
  }
}
.feature-nav__icon {
  max-inline-size: -webkit-max-content;
  max-inline-size: -moz-max-content;
  max-inline-size: max-content;
  padding: 0 10vw;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .feature-nav__icon {
    max-inline-size: none;
    padding: 0;
  }
}
.feature-nav__icon::after {
  content: "";
  display: block;
  width: 9.6vw;
  height: 9.6vw;
  background: url(../img/feature-nav-icon.png) no-repeat 100% 0;
  background-size: 100%;
  position: absolute;
  right: 0;
  top: 0;
}
@media screen and (min-width: 768px) {
  .feature-nav__icon::after {
    width: 50px;
    height: 52px;
    background: url(../img/type-option.png) no-repeat 100% 0;
    background-size: 100%;
    right: auto;
    left: 12px;
    top: -40px;
  }
}
@media screen and (min-width: 768px) {
  .feature-nav__link {
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    padding: 0 20px 0 0;
    background: url(../img/arrow01.svg) no-repeat 100% 50%;
    background-size: 13px auto;
    margin: 30px 0 0 0;
  }
}
.feature-nav + .cv {
  margin-top: 11.3333333333vw;
}
@media screen and (min-width: 768px) {
  .feature-nav + .cv {
    margin-top: 50px;
  }
}

/* feature
---------------------------------------------------- */
.feature__ttl {
  background: #e8eff9;
  padding: 10.4vw 0 5.0666666667vw 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .feature__ttl {
    padding: 62px 0 28px 0;
    min-height: 170px;
  }
}
.feature h2 {
  font-size: 5.6vw;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 768px) {
  .feature h2 {
    font-size: 32px;
  }
}
.feature__no {
  width: 10vw;
  position: absolute;
  left: 45.3333333333vw;
  top: -1.7333333333vw;
}
@media screen and (min-width: 768px) {
  .feature__no {
    width: 58px;
    left: calc(50% - 5px);
    top: -10px;
    transform: translateX(-50%);
  }
}
.feature__no img {
  width: 100%;
}
.feature__select {
  display: block;
  background-color: #1d59be;
  color: #fff;
  margin-left: auto;
  margin-right: auto;
  border-radius: 999px;
  font-weight: 700;
  width: 31.36vw;
  line-height: 6.272vw;
  margin-bottom: 2.9333333333vw;
  font-size: 4.1066666667vw;
}
@media screen and (min-width: 768px) {
  .feature__select {
    width: 168px;
    line-height: 34px;
    margin-bottom: 12px;
    font-size: 22px;
    padding-bottom: 2px;
  }
}
.feature__inner {
  padding: 5.3333333333vw 5.3333333333vw 9.2vw 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .feature__inner {
    padding: 25px 0 80px 0;
  }
}
.feature__txt01 {
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .feature__txt01 {
    font-size: 18px;
  }
}
.feature__txt02 {
  font-weight: bold;
  letter-spacing: 0;
  font-size: 3.7333333333vw;
  line-height: 1.78;
}
@media screen and (min-width: 768px) {
  .feature__txt02 {
    font-size: 22px;
  }
}
.feature__notes {
  margin: 3.3333333333vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .feature__notes {
    margin: 20px 0 0 0;
  }
}
.feature__notes li {
  font-size: 2.6666666667vw;
  line-height: 1.5;
  text-indent: -1em;
  padding: 0 0 0 1em;
}
@media screen and (min-width: 768px) {
  .feature__notes li {
    line-height: 1.2;
    font-size: 13px;
  }
}
.feature__notes a {
  color: #000;
  text-decoration: underline;
}

/* feature01
---------------------------------------------------- */
.feature01 {
  padding: 1.7333333333vw 0 0 0;
  margin: 14.5333333333vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .feature01 {
    padding: 10px 0 0 0;
    margin: 64px 0 0 0;
  }
}
.feature01__txt01 {
  margin-right: -2vw;
  margin-left: -2vw;
}
@media screen and (min-width: 768px) {
  .feature01__txt01 {
    margin-left: auto;
    margin-right: auto;
  }
}
.feature01__txt01 .color-primary {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .feature01__box01 {
    margin-top: 26px;
  }
}
.feature01__box01 > .box__content {
  padding-top: 4vw;
}
@media screen and (min-width: 768px) {
  .feature01__box01 > .box__content {
    padding-top: 38px;
  }
}
.feature01__box02 {
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  .feature01__box02 {
    margin: 22px 0 19px;
  }
}
@media screen and (min-width: 768px) {
  .feature01__box02 .box__content {
    padding-bottom: 20px;
  }
}
.feature01__img01 {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .feature01__img01 {
    margin-bottom: 15px;
  }
}
.feature01__img01 img {
  width: 66.9333333333vw;
}
@media screen and (min-width: 768px) {
  .feature01__img01 img {
    width: 386px;
  }
}
.feature01__img01 + .feature__notes {
  margin-left: -4vw;
  margin-right: -4vw;
  margin-top: 1.3333333333vw;
}
.feature01__img01 + .feature__notes li {
  font-size: 2.6666666667vw;
  letter-spacing: -0.05em;
}
@media screen and (min-width: 768px) {
  .feature01__img01 + .feature__notes li {
    font-size: 13px;
    margin-top: 10px;
  }
}
.feature01__img02 {
  margin: 4vw 0 3.4666666667vw;
}
@media screen and (min-width: 768px) {
  .feature01__img02 {
    margin: 24px 0 18px;
  }
}
@media screen and (min-width: 768px) {
  .feature01__img02 img {
    width: 566px;
  }
}
.feature01__comment {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin: 5.2vw auto 6.6666666667vw;
  padding-right: 0.6666666667vw;
}
@media screen and (min-width: 768px) {
  .feature01__comment {
    width: 712px;
    margin: 44px auto 60px;
  }
}
.feature01__comment-img {
  padding-bottom: 2.6666666667vw;
  width: 24.8vw;
}
@media screen and (min-width: 768px) {
  .feature01__comment-img {
    padding-bottom: 0;
    width: 118px;
  }
}
.feature01__comment-content {
  background-color: #fff;
  border-radius: 10px;
  position: relative;
  width: 55.4666666667vw;
  padding: 3.2vw 2vw 3.2vw 2.4vw;
}
@media screen and (min-width: 768px) {
  .feature01__comment-content {
    width: 574px;
    padding: 24px 0 24px 18px;
  }
}
.feature01__comment-content::before {
  content: "";
  display: block;
  background-image: url(../img/comment-arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  right: calc(100% - 1px);
  top: 50%;
  transform: translateY(-50%);
  width: 3.3333333333vw;
  height: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .feature01__comment-content::before {
    width: 17px;
    height: 57px;
  }
}
.feature01__comment-content .feature__txt01 {
  font-weight: 500;
  letter-spacing: -0.01em;
}
.feature01__comment-content .feature__txt01 span {
  font-weight: 700;
}
.feature01__box03 .box__content {
  padding-top: 8vw;
  padding-bottom: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  .feature01__box03 .box__content {
    padding-top: 44px;
    padding-bottom: 42px;
  }
}
@media screen and (min-width: 768px) {
  .feature01__box03 + .feature__notes {
    padding-left: 12px;
    margin-top: 16px;
  }
}
.feature01__box03 .feature__txt01 {
  font-weight: 500;
}
.feature01__box03 .feature__txt01 > span {
  font-weight: 700;
}
.feature01__box03 dl {
  margin-bottom: 6.9333333333vw;
}
@media screen and (min-width: 768px) {
  .feature01__box03 dl {
    margin-bottom: 36px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.feature01__box03 dl:last-child {
  margin-bottom: 0;
}
.feature01__box03 dl dt {
  background-color: #e8eff9;
  color: #1d59be;
  font-weight: 700;
  text-align: center;
  border-radius: 999px;
  font-size: 3.9866666667vw;
  line-height: 6.76vw;
  height: 6.76vw;
  width: 100%;
  margin-bottom: 3.2vw;
}
@media screen and (min-width: 768px) {
  .feature01__box03 dl dt {
    width: 500px;
    line-height: 39px;
    height: 39px;
    font-size: 23px;
    margin-bottom: 8px;
  }
}
.feature01__box03 dl dd ol {
  margin-top: 1.3333333333vw;
  font-size: 2.9333333333vw;
}
@media screen and (min-width: 768px) {
  .feature01__box03 dl dd ol {
    font-size: 16px;
    margin-top: 6px;
  }
}
.feature01__box03 dl dd ol li {
  text-indent: -1em;
  padding-left: 1em;
  font-weight: 500;
  line-height: 1.6875;
}
.feature01__box03 dl dd ol li span {
  font-weight: 700;
}
.feature01__box03 .feature__txt01 {
  letter-spacing: -0.05em;
}
@media screen and (min-width: 768px) {
  .feature01__box03 .feature__txt01 {
    text-align: center;
    letter-spacing: 0;
  }
}

/* feature02
---------------------------------------------------- */
.feature02 {
  padding: 1.7333333333vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .feature02 {
    padding: 10px 0 0 0;
  }
}
@media screen and (min-width: 768px) {
  .feature02__box01 > .box__content, .feature02__box03 > .box__content {
    padding-top: 35px;
  }
}
@media screen and (min-width: 768px) {
  .feature02__box02 .box__content {
    padding-bottom: 25px;
  }
}
.feature02__img01 {
  margin: 1.6vw 0 2.9333333333vw;
}
@media screen and (min-width: 768px) {
  .feature02__img01 {
    margin: 0;
  }
}
.feature02__img01 img {
  width: 50.4vw;
}
@media screen and (min-width: 768px) {
  .feature02__img01 img {
    width: 270px;
  }
}
.feature02__img02 {
  margin: 0 -1.2vw 0.5333333333vw;
}
@media screen and (min-width: 768px) {
  .feature02__img02 {
    margin: 12px 0 8px;
  }
  .feature02__img02 img {
    width: 523px;
  }
}
.feature02 .feature__notes {
  margin-top: 4.6666666667vw;
}
@media screen and (min-width: 768px) {
  .feature02 .feature__notes {
    margin-top: 15px;
  }
}

/* feature03
---------------------------------------------------- */
.feature03 {
  padding: 1.7333333333vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .feature03 {
    padding: 10px 0 0 0;
  }
}
.feature03 .feature__inner {
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  .feature03__box01 {
    margin-top: 18px;
  }
}
@media screen and (min-width: 768px) {
  .feature03__box01 > .box__content {
    padding-top: 35px;
  }
}
@media screen and (min-width: 768px) {
  .feature03__txt02 {
    letter-spacing: -0.03em;
    margin-left: -1em;
    margin-right: -1em;
  }
}
.feature03__img01 {
  margin: 0 -2.2666666667vw 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  .feature03__img01 {
    margin: 12px 0 0;
  }
  .feature03__img01 img {
    width: 656px;
  }
}
.feature03 .feature__notes {
  margin-top: 4.6666666667vw;
}
@media screen and (min-width: 768px) {
  .feature03 .feature__notes {
    margin-top: 0;
  }
}
.feature03 + .cv {
  margin-top: 11.7333333333vw;
}
@media screen and (min-width: 768px) {
  .feature03 + .cv {
    margin-top: 53px;
  }
}

/* qa
---------------------------------------------------- */
.qa {
  background: #e8eff9;
  padding: 10.6666666667vw 5.3333333333vw 8vw 5.3333333333vw;
  margin: 14.6666666667vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .qa {
    padding: 60px 0 50px 0;
    margin: 70px 0 0 0;
  }
}
.qa h2 {
  font-size: 4.5333333333vw;
  font-weight: 900;
  line-height: 1;
  margin: 0 0 6.2666666667vw 0;
}
@media screen and (min-width: 768px) {
  .qa h2 {
    font-size: 26px;
    margin: 0 0 35px 0;
  }
}
.qa dl {
  background: #fff;
  padding: 5.2vw 4vw;
  border-radius: 1.3333333333vw;
}
@media screen and (min-width: 768px) {
  .qa dl {
    padding: 25px 40px;
    border-radius: 10px;
  }
}
.qa dl:not(:nth-of-type(1)) {
  margin-top: 3.3333333333vw;
}
@media screen and (min-width: 768px) {
  .qa dl:not(:nth-of-type(1)) {
    margin-top: 20px;
  }
}
.qa dt {
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1.5;
  padding: 0 9.3333333333vw 0 10.6666666667vw;
  cursor: pointer;
  position: relative;
}
@media screen and (min-width: 768px) {
  .qa dt {
    min-height: 42px;
    font-size: 20px;
    padding: 6px 35px 0 60px;
  }
}
.qa dt::before, .qa dt::after {
  content: "";
  display: block;
  position: absolute;
}
.qa dt::before {
  width: 4.5333333333vw;
  height: 4.5333333333vw;
  background-image: url(../img/icon-plus.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center;
  right: 0;
  top: 0.1em;
}
@media screen and (min-width: 768px) {
  .qa dt::before {
    width: 26px;
    height: 26px;
    top: 8px;
  }
}
.qa dt::after {
  width: 7.3333333333vw;
  height: 7.3333333333vw;
  background: url(../img/qa-q.png) no-repeat;
  background-size: 100%;
  left: 0;
  top: -0.3em;
}
@media screen and (min-width: 768px) {
  .qa dt::after {
    width: 42px;
    height: 42px;
    top: 0;
  }
}
.qa dt.is-active::before {
  background-image: url(../img/icon-minus.svg);
}
.qa dd {
  display: none;
  font-size: 3.2vw;
  font-weight: 500;
  line-height: 1.5;
  padding: 0 2.6666666667vw 0 10.6666666667vw;
  margin: 6.1333333333vw 0 0 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .qa dd {
    font-size: 18px;
    padding: 0 0 0 60px;
    margin: 35px 0 0 0;
  }
}
.qa dd::after {
  content: "";
  display: block;
  width: 7.3333333333vw;
  height: 7.3333333333vw;
  background: url(../img/qa-a.png) no-repeat;
  background-size: 100%;
  position: absolute;
  left: 0;
  top: -0.2em;
}
@media screen and (min-width: 768px) {
  .qa dd::after {
    width: 42px;
    height: 42px;
  }
}
.qa dd a {
  color: #000;
  text-decoration: underline;
}
.qa .mt {
  margin: 1em 0 0 0;
}

/* cannot-pay
---------------------------------------------------- */
.cannot-pay {
  padding: 9.3333333333vw 5.3333333333vw 0 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .cannot-pay {
    padding: 68px 0 0 0;
  }
}
.cannot-pay h2 {
  font-size: 4.5333333333vw;
  font-weight: 900;
  line-height: 1;
  margin: 0 0 5.3333333333vw 0;
}
@media screen and (min-width: 768px) {
  .cannot-pay h2 {
    font-size: 26px;
    margin: 0 0 35px 0;
  }
}
.cannot-pay section {
  padding: 5.6vw 1.3333333333vw 6.6666666667vw 3.6vw;
  background: #f3f3f3;
  border-radius: 5.3333333333vw;
  margin: 4.2666666667vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .cannot-pay section {
    padding: 32px 10px 45px 49px;
    border-radius: 20px;
    margin: 23px 0 0 0;
  }
}
.cannot-pay h3 {
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .cannot-pay h3 {
    font-size: 20px;
  }
}
.cannot-pay ul {
  margin: 4.6666666667vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .cannot-pay ul {
    margin: 35px 0 0 0;
  }
}
.cannot-pay li {
  font-weight: 700;
  padding: 0 0 0 5.6vw;
  background: url(../img/icon-check02.png) no-repeat;
  background-size: 4.2666666667vw auto;
}
@media screen and (min-width: 768px) {
  .cannot-pay li {
    font-size: 18px;
    padding: 0 0 0 34px;
    background-size: 25px auto;
  }
}
.cannot-pay li:not(:first-child) {
  margin: 4vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .cannot-pay li:not(:first-child) {
    margin: 30px 0 0 0;
  }
}

/* notes
---------------------------------------------------- */
.notes {
  padding: 9.3333333333vw 5.3333333333vw 0 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .notes {
    padding: 70px 0 0 0;
  }
}
.notes h2 {
  font-size: 4.5333333333vw;
  font-weight: 900;
  line-height: 1.2;
  margin: 0 0 5.3333333333vw 0;
}
@media screen and (min-width: 768px) {
  .notes h2 {
    font-size: 26px;
    margin: 0 0 35px 0;
  }
}
.notes li {
  text-indent: -1em;
  padding: 0 0 0 1em;
}
.notes li:not(:first-child) {
  margin: 0.5em 0 0 0;
}
.notes a {
  color: #000;
  text-decoration: underline;
}

/* agency
---------------------------------------------------- */
.agency {
  padding: 8vw 5.3333333333vw 5.3333333333vw 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .agency {
    padding: 40px 0 30px 0;
  }
}
@media screen and (min-width: 768px) {
  .agency__inner {
    display: flex;
    justify-content: space-between;
  }
}
.agency dl {
  border: 0.5333333333vw solid #e6e6e6;
  border-radius: 2.6666666667vw;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .agency dl {
    width: 398px;
    border: 2px solid #e6e6e6;
    border-radius: 10px;
  }
}
.agency dl:not(:nth-of-type(1)) {
  margin: 3.7333333333vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .agency dl:not(:nth-of-type(1)) {
    margin: 0;
  }
}
.agency dt {
  font-size: 4vw;
  font-weight: 700;
  line-height: 9.6vw;
  text-align: center;
  color: #333;
  background: #e6e6e6;
  border-bottom: 0.5333333333vw solid #e6e6e6;
}
@media screen and (min-width: 768px) {
  .agency dt {
    font-size: 18px;
    line-height: 41px;
    border-bottom: 2px solid #e6e6e6;
  }
}
.agency dd {
  font-size: 3.7333333333vw;
  line-height: 1.5;
  padding: 4.6666666667vw 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .agency dd {
    font-size: 16px;
    padding: 20px 25px;
  }
}
.agency dd li {
  text-indent: -1em;
  padding: 0 0 0 1em;
}
.agency__link {
  margin: 6vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .agency__link {
    margin: 20px auto 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .agency__link li {
    width: 394px;
    text-align: center;
  }
}
.agency__link li:not(:first-child) {
  margin: 3.7333333333vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .agency__link li:not(:first-child) {
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  .agency__link li.w100 {
    width: 100%;
    text-align: left;
    margin: 20px 0 0 6.2em;
  }
}
.agency__link a {
  display: inline-block;
  font-size: 3.7333333333vw;
  font-weight: 500;
  line-height: 1.4;
  color: #000;
  text-decoration: underline;
  padding: 0 3.7333333333vw 0 0;
  background: url(../img/arrow02.svg) no-repeat 100% 50%;
  background-size: 1.6vw auto;
}
@media screen and (min-width: 768px) {
  .agency__link a {
    font-size: 16px;
    padding: 0 18px 0 0;
    background-size: 9px auto;
  }
}

/* number
---------------------------------------------------- */
.number {
  font-size: 3.4666666667vw;
  text-align: right;
  line-height: 1;
  padding: 0 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .number {
    font-size: 12px;
    padding: 0;
  }
}

/* floating-btn
---------------------------------------------------- */
.floating-btn {
  position: fixed;
  bottom: -21.3333333333vw;
  left: 0;
  z-index: 10;
  width: 100%;
  padding: 4vw 0;
  text-align: center;
  background: rgba(255, 255, 255, 0.8);
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .floating-btn {
    bottom: -126px;
    padding: 20px 0;
  }
}
.floating-btn.is-show {
  bottom: 0;
}
.floating-btn img {
  width: 86.6666666667vw;
}
@media screen and (min-width: 768px) {
  .floating-btn img {
    width: 560px;
  }
}

/* copyright
---------------------------------------------------- */
.copyright {
  font-size: 2.6666666667vw;
  line-height: 13.3333333333vw;
  color: #fff;
  background: #eb5505;
  margin: 4.6666666667vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .copyright {
    font-size: 12px;
    line-height: 50px;
    margin: 35px 0 0 0;
  }
}

/* custome
---------------------------------------------------- */
/*# sourceMappingURL=main.css.map */
