@charset "UTF-8";
/* common
-------------------------------------------- */
:root {
    --color-background: #ffffff;
    --color-foreground: #505B64;
    --color-primary: #ff81a9;
    --color-secondary: #f2d3d3;
    --color-accent: #E95079;
    --color-tertiary: #f7e6e6;
    --color-white: #ffffff;
    --color-yellow: #FEF288;
    --color-cream: #FFFCDB;
    --border-radius: 0.4rem;
}
html {
    font-size: 0.625rem;
}
body {
    color: var(--color-foreground);
    background-color: var(--color-tertiary);
    text-align: justify;
}
img{
    height: auto;
}
.center {
    text-align: center;
}
.inner {
    width: min(100% - 20px, 1080px);
    margin-inline: auto;
}
.inner.narrow {
    width: min(100% - 20px, 800px);
}
.txt-dashed {
    background-color: #fff;
    background-image:
        linear-gradient(90deg, rgba(100, 100, 100, 0) 0%, rgba(100, 100, 100, 0) 50%, #fff 0%, #fff 100%), linear-gradient(180deg, rgba(100, 100, 100, 0) 0%, rgba(100, 100, 100, 0) 95%, var(--color-primary) 100%);
    background-size: 0.6rem 100%, 100% 2.1em;
    line-height: 3.2rem;
    text-align: left;
}
.marker_primary {
    white-space: nowrap;
    -webkit-box-decoration-break: clone;
    line-height: 1.8em;
    display: inline;
    color: var(--color-white);
    background-color: var(--color-primary);
    padding: 0.5rem 0.8rem;
}
.marker_gradation {
    white-space: nowrap;
    -webkit-box-decoration-break: clone;
    display: inline;
    color: var(--color-white);
    font-weight: bold;
    padding: 0.3em 0.3em;
    background: #e95785;
    /*background: linear-gradient(90deg, #e95785 0%, #ffb658 100%);*/
    line-height: 2.4em;
}
.cards {
    display: flex;
    gap: 1.5rem;
    flex-wrap: nowrap;
}
@media screen and (max-width: 768px) {
    .cards {
        flex-direction: column;
        max-width: 41.4rem;
        margin-inline: auto;
    }
}
.card {
    background-color: var(--color-white);
    padding: 2.4rem;
    width: 100%;
}
.heading-primary-wrap {
    text-align: center;
    font-size: clamp(2.8rem, 4vw, 3.6rem);
    font-weight: bold;
    margin-bottom: clamp(3rem, 4vw, 4.8rem);
    position: relative;
    overflow-anchor: auto;
}
.heading-primary-wrap.has-en-ttl:before {
    content: '';
    display: block;
    position: absolute;
    top: -10rem;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
    width: 100%;
    height: 200%;
}
@media screen and (max-width: 768px) {
    .promises .heading-primary-wrap.has-en-ttl,
    .voices .heading-primary-wrap.has-en-ttl,
    .step-to-job .heading-primary-wrap.has-en-ttl,
    .plan-block .heading-primary-wrap.has-en-ttl {
        margin-top: -2.4rem;
    }
    .step-to-job .heading-primary-wrap.has-en-ttl:before,
    .plan-block .heading-primary-wrap.has-en-ttl:before {
        top: -16rem;
    }
}
.heading-primary-sub {
    font-size: 0.9em;
    margin-block: 1.4rem;
}
@media screen and (max-width: 768px) {
    .heading-primary-sub {
        font-size: 0.7em;
    }
}
.underline_y {
    text-underline-offset: -0.2em;
    text-decoration-thickness: 0.6em;
    text-decoration-color: var(--color-yellow);
    text-decoration-skip-ink: none;
}

.deco_linebaloon {
    position: relative;
    width: 100%;
    padding: 0.4rem 0;
    border-bottom: 1px solid #333333;
    background-color: #ffffff;
    margin-bottom: 2rem;
    display: block;
    text-align: center;
    font-weight: bold;
    z-index: 1;
}
.deco_linebaloon:before,
.deco_linebaloon:after {
    content: '';
    position: absolute;
}
.deco_linebaloon:before {
    bottom: -5px;
    left: 50%;
    width: 15px;
    height: 15px;
    box-sizing: border-box;
    background-color: #ffffff;
    rotate: 135deg;
    translate: -50%;
    z-index: -1;
}
.deco_linebaloon:after {
    top: calc(100% + 5px);
    left: calc(50% - 4.5px);
    z-index: 1;
    width: 14px;
    height: 0.1rem;
    transform: rotate(-40deg);
    box-sizing: border-box;
    background-color: #000000;
}
.has-list-icon {
    padding-left: 1.2rem;
    position: relative;
}
.has-list-icon:before {
    content: '';
    width: 0.5rem;
    height: 0.5rem;
    position: absolute;
    left: 0;
    top: 0.5rem;
    display: inline-block;
    background-color: var(--color-foreground);
    border-radius: 100%;
}
.has-list-icon:not(:last-child) {
    margin-bottom: 1.2rem;
}
.flexbox {
    display: flex;
    align-items: flex-start;
}
.yellow-circle {
    background-color: var(--color-yellow);
    text-align: center;
    width: clamp(8rem, 10vw, 15rem);
    height: clamp(8rem, 10vw, 15rem);
    border-radius: 100%;
    font-size: clamp(1.7rem, 2vw, 3.2rem);
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    padding-bottom: 0.5rem;
}
.success .heading-primary-wrap.has-en-ttl:before {
    background-image: url(/assets/img/lp/design_01/heading-success.svg);
    top: -13rem;
}
@media screen and (max-width: 768px) {
    .success .heading-primary-wrap.has-en-ttl:before {
        top: -15rem;
    }
}
.checkpoints .heading-primary-wrap.has-en-ttl:before {
    background-image: url(/assets/img/lp/design_01/heading-check.svg);
    top: -15rem;
}
@media screen and (max-width: 768px) {
    .checkpoints .heading-primary-wrap.has-en-ttl:before {
        top: -15rem;
    }
}
.first-job-support .heading-primary-wrap.has-en-ttl:before {
    background-image: url(/assets/img/lp/design_01/heading-debut.svg);
    top: -18rem;
}
@media screen and (max-width: 768px) {
    .first-job-support .heading-primary-wrap.has-en-ttl:before {
        top: -20rem;
    }
}
.learning-backup .heading-primary-wrap.has-en-ttl:before {
    background-image: url(/assets/img/lp/design_01/heading-support.svg);
}
.promises .heading-primary-wrap.has-en-ttl:before {
    background-image: url(/assets/img/lp/design_01/heading-promise.svg);
    top: -14rem;
}
.voices .heading-primary-wrap.has-en-ttl:before {
    background-image: url(/assets/img/lp/design_01/heading-voice.svg);
    top: -14rem;
}
.step-to-job .heading-primary-wrap.has-en-ttl:before {
    background-image: url(/assets/img/lp/design_01/heading-flow.svg);
    top: -14rem;
}
.plan-block .heading-primary-wrap.has-en-ttl:before {
    background-image: url(/assets/img/lp/design_01/heading-plan.svg);
}
/* cta
-------------------------------------------- */
.cv-btn {
    background: #1C8C4B;
    background: linear-gradient(0deg, rgba(28, 140, 75, 1) 0%, rgba(33, 166, 88, 1) 100%);
    color: var(--color-white);
    padding: 1.9rem 1.2rem;
    display: inline-block;
    font-size: clamp(1.8rem, 6vw, 2.7rem);
    font-weight: bold;
    width: 100%;
    max-width: 53.4rem;
    padding: 1.8rem;
    border-radius: 0.8rem;
    position: relative;
    z-index: 1;
    box-shadow: 0 0.25rem 0 0 #1C8C4B;
}
.cv-btn:before {
    content: '';
    background: #21A658;
    box-shadow: inset 0 0 1.5rem 0.2rem rgb(54 255 171 / 80%);
    width: calc(100% - 0.24em);
    height: calc(100% - 0.24em);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: -1;
    border-radius: 0.5rem;
}
.cv-btn:after {
    content: '';
    background: url(/assets/img/lp/design_01/cv-badge.svg) center / contain no-repeat;
    width: clamp(4.5rem, 10vw, 5.5rem);
    height: clamp(4.5rem, 10vw, 5.5rem);
    position: absolute;
    top: 50%;
    transform: translateY(-50%) translateX(0);
    left: 2rem;
}
.cv-box {
    text-align: center;
    padding-block: 1.8rem 2rem;
}
.mv-cv-box {
    background-color: var(--color-white);
}
.cv-ttl {
    color: var(--color-accent);
    font-weight: bold;
    font-size: clamp(1.4rem, 5.3vw, 2.1rem);
    margin-bottom: 0.8rem;
    display: inline-block;
}
.cv-ttl:before, .cv-ttl:after {
    content: '';
    height: 0.2rem;
    width: 3rem;
    display: inline-block;
    background-color: var(--color-accent);
    vertical-align: super;
}
.cv-ttl:before {
    transform: rotate(70deg);
}
.cv-ttl:after {
    transform: rotate(-70deg);
}
.cv-box .cv-tags {
    border-top-width: 0.1rem;
    border-bottom-width: 0.1rem;
    width: min(33.5rem, 100%);
    margin-inline: auto;
    margin-top: 1.5rem;
    padding-block: 0.5rem;
    border-color: var(--color-accent);
    display: flex;
    justify-content: space-between;
}
.cv-box .cv-tags .cv-tag {
    font-weight: bold;
    font-size: clamp(1.2rem, 4vw, 1.5rem);
}
.cv-box .cv-tags .cv-tag:before {
    content: '';
    width: 1.8rem;
    height: 1.8rem;
    display: inline-block;
    background: url(/assets/img/lp/design_01/icon-check.svg) center / contain no-repeat;
    margin-right: 0.6rem;
    vertical-align: sub;
}
@media screen and (max-width: 768px) {
    .cv-btn {
        padding-left: 5rem;
    }
}
/* cv
-------------------------------------------- */
.cv-top-message {
    background: linear-gradient(90deg, #e95785 0%, #ffb658 100%);
    color: var(--color-white);
    font-weight: bold;
}
.cv-top-message .inner {
    width: min(54rem, 100%);
    position: relative;
    padding-left: clamp(9rem,6vw,10rem);
    height: 18rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-bottom: 2rem;
}
.cv-top-message .inner:before {
    content: '';
    background: url(/assets/img/lp/design_01/cv-area-icon.svg) center / contain no-repeat;
    width: clamp(5.8rem, 8vw, 8.6rem);
    height: clamp(5.8rem, 8vw, 8.6rem);
    display: block;
    position: absolute;
    top: 20%;
    left: 0;
}
.cv-top-message .cv-lead {
    font-size: clamp(1.6rem, 4vw, 2.2rem);
}
.cv-top-message .cv-heading {
    font-size: clamp(2.2rem, 6vw, 3.6rem);
}
.cv-area .cv-info {
    background: url(/assets/img/lp/design_01/cv-bg.webp) left top / cover no-repeat;
    box-shadow: 0 1rem 1.5rem rgb(80 91 100 / 15%);
    margin-top: -2rem;
    display: grid;
    align-items: start;
    margin-bottom: 2.4rem;
    position: relative;
    grid-template-columns: 0.4fr 0.6fr;
}
.cv-area .cv-image {
    height: 32rem;
    grid-column: 1 / 2;
    grid-row: 1 / 4;
    object-fit: cover;
    height: 100%;
}
.cv-area .cv-image img {
    object-fit: cover;
    height: 100%;
}
.cv-area .cv-description {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    text-align: center;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 1%, rgba(255, 255, 255, 0.5) 10%, rgba(255, 255, 255, 0.5) 90%, rgba(255, 255, 255, 0) 99%);
    color: var(--color-primary);
    font-weight: bold;
    margin-block: 3.6rem 2.4rem;
    padding: 1.2rem 4rem;
    width: 100%;
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    margin-right: 3rem;
    position: relative;
    right: 2rem;
}
.cv-area .cv-points {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    background-color: var(--color-white);
    box-shadow: 0 0 1rem rgb(80 91 100 / 15%);
    padding: 0.8rem 2rem 2.4rem;
    margin-right: 2rem;
    font-size: clamp(1.5rem, 4vw, 1.8rem);
    font-weight: bold;
    margin-bottom: 3.6rem;
}
.cv-area .cv-points .cv-point {
    margin-block: 1.6rem 0;
    position: relative;
    padding-left: 2.4rem;
}
.cv-area .cv-points .cv-point u {
    text-underline-offset: 0.4rem;
    text-decoration-thickness: 0.1rem;
    text-decoration-color: var(--color-primary);
}
.cv-area .cv-points .cv-point em {
    color: var(--color-accent);
}
.cv-area .cv-points .cv-point:before {
    content: '';
    margin-right: 0.5rem;
    display: inline-block;
    position: absolute;
    border-bottom: 0.3rem solid var(--color-accent);
    border-left: 0.3rem solid var(--color-accent);
    height: 1rem;
    width: 1.6rem;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: -0.4rem;
    bottom: 0;
    left: 0;
    margin-block: 1rem auto;
}
@media screen and (max-width: 768px) {
    .cv-top-message .inner:before {
        left: 2rem;
    }
    .cv-top-message .inner {
        height: 13rem;
    }
    .cv-area .cv-info {
        grid-template-columns: 0.7fr 0.3fr;
        max-width: 41.4rem;
    }
    .cv-area .cv-points {
        grid-column: 1 / 3;
        margin-right: 0;
        margin-bottom: 0;
    }
    .cv-area .cv-image {
        grid-row: 1 / 2;
        height: 18rem;
    }
    .cv-area .cv-image img {
        object-position: right;
        height: 135%;
    }
    .cv-area .cv-description {
        padding-inline: 1.5rem;
        position: absolute;
        width: 22rem;
        grid-column: 1 / 3;
        margin-inline: 0;
        right: 0;
    }
}
/* 追尾バナー
-------------------------------------------- */
.fixed {
    position: fixed;
}
.cta__footerfixed {
    display: flex;
    position: fixed;
    right: 0;
    bottom: 0;
    opacity: 0;
    z-index: -1;
    transition: 0.3s;
    width: 100%;
    padding-bottom: 0;
}
.cta__footerfixed.fixed {
    opacity: 1;
    z-index: 9;
    padding-inline: 0;
}
.cta__footerfixed.cta__item_wrap {
    background-color: rgb(255 255 255 / 90%);
    display: block;
    width: 100%;
    text-align: center;
    padding-block: 1rem 1.5rem;
}
.cta__footerfixed .cv-box {
    padding-block: 0 0.3rem;
}
.cta__footerfixed .cv-ttl {
    font-size: 1.4rem;
}
.cta__footerfixed .cv-btn {
    max-width: 25rem;
    font-size: clamp(1.4rem, 6.5vw, 1.6rem);
    padding-left: 5rem;
}
.cta__footerfixed .cv-btn:after {
    width: 4.2rem;
    height: 4.2rem;
    left: 1rem;
}
/* ______________________________________________________________ header */

header {
  padding: 10px 5px;
  background-color: #fff;
}

header img {
  width: min(36vw, 170px);
  height: auto;
}

/* ______________________________________________________________ fv */

.fv_section {
  background-image: url("/assets/img/lp/design_01/fv_bg_pc.jpg");
  background-size: cover;
  background-position: center;
  color: #fff;
  padding-bottom: 0;
  overflow: hidden;
}

@supports (background-image: url("/assets/img/lp/design_01/fv_bg_pc.webp")) {
  .fv_section {
    background-image: url("/assets/img/lp/design_01/fv_bg_pc.webp");
  }
}

.fv_section>.inner {
  display: grid;
  grid-template-columns: 50% 50%;
  /*width: min(100% - 70px, 1240px);*/
}

.fv_section .fv_catch,
.fv_section .fv_features,
.fv_section .c-cv_area {
  grid-column: 1 / 2;
}

.fv_section .fv_catch,
.fv_section .fv_features,
.fv_section .c-cv_area,
.fv_section .note {
  z-index: 1;
}

.fv_section .fv_catch {
  grid-row: 1 / 2;
}
.fv_section .fv_features {
  grid-row: 2 / 3;
}
.fv_section .c-cv_area {
  grid-row: 3 / 4;
}

.fv_section .note {
  grid-column: 1 / 3;
  grid-row: 4 / 5;
  z-index: 1;
}

.fv_section .ttl {
  display: inline-block;
  font-size: clamp(4.5rem, 2.7vw, 4.2rem);
  line-height: 1.0;
  padding: 12px 17px;
  margin-top: 66px;
  margin-bottom: 20px;
  white-space: nowrap;
  color: #f30059;
  background-color: #fff;
  font-weight: bold;
}

.fv_section .ttl_sub {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: calc(100% + 20px);
  letter-spacing: 1.0px;
  font-size: 2.8rem;
  font-weight: bold;
  gap: 10px;
  color: #fff;
  filter: drop-shadow(0 4px 5px #8e003733);
}
.fv_section .ttl_sub small {
  font-size: 88%;
  padding: 0 2px;
}
.fv_section .ttl_sub picture {
  display: flex;
  width: 180px;
  height: auto;
}
.fv_section .ttl_sub img {
  width: 100%;
  height: auto;
}

.fv_section .c-cv_area {
  margin-left: 0;
  margin-right: auto;
  width: 100%;
  max-width: 45rem;
  margin-block: 1.5rem 2.7rem;
}

.fv_section .c-cv_area .c-cv_btn {
  position: relative;
  background-color: #00c805;
  border: solid 1px #1aaf4d;
  color: #fff;
  border-radius: 100px;
  text-align: center;
  font-weight: bold;
  max-width: 500px;
  display: block;
  padding: 2rem 35px 2rem 1rem;
  -webkit-box-shadow: 0 5px 7px #5e121233;
  box-shadow: 0 5px 7px #5e121233;
  margin: 0 auto;
  line-height: 1;
  cursor: pointer;
  font-size: clamp(2rem, 2rem, 2.4rem);
  width: 100%;
}

.fv_section .c-cv_area .c-cv_btn::before {
  position: absolute;
  top: 0;
  right: 18px;
  bottom: 0;
  margin: auto;
  width: 8px;
  height: 14px;
  content: '';
  background-color: #ffffff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.fv_section .c-cv_area .c-cv_btn__txt {
  position: relative;
  display: inline-block;
  margin: 0 auto clamp(1px, 1vw, 8px);
  font-size: 2.1rem;
  text-align: center;
  font-weight: bold;
  color: #ff406b;
}

.fv_section .fv_features {
  margin: 3rem auto 1.5rem 0;
  filter: drop-shadow(0 4px 5px #8e003733);
}

.fv_section .c-cv_btn__txt::before,
.fv_section .c-cv_btn__txt::after {
  position: absolute;
  bottom: 0;
  content: '';
  width: 2px;
  height: 90%;
  background-color: #ff406b;
}

.fv_section .c-cv_btn__txt::before {
  right: -15px;
  transform: rotate(45deg);
}
.fv_section .c-cv_btn__txt::after {
  left: -15px;
  transform: rotate(-45deg);
}

.fv_section .note {
  font-size: clamp(0.8rem, 4vw, 1.3rem);
  margin-top: auto;
  margin-bottom: 0;
  padding-block: 1rem;
  color: #9e9e9e;
}

@media only screen and (max-width: 1200px) {
  .fv_section .ttl_sub {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .fv_section .ttl_sub .sp {
    display: block;
  }
}

@media only screen and (max-width: 768px) {
  .fv_section {
    background-image: url("/assets/img/lp/design_01/fv_bg_sp.jpg");
    background-position: top center;
  }
  @supports (background-image: url("/assets/img/lp/design_01/fv_bg_sp.webp")) {
    .fv_section {
      background-image: url("/assets/img/lp/design_01/fv_bg_sp.webp");
    }
  }
  .fv_section>.inner {
    display: flex;
    flex-direction: column;
    width: min(92%, 768px);
  }
  .fv_section .fv_catch {
    order: 1;
  }
  .fv_section .fv_features {
    position: relative;
    order: 2;
    margin: 23vw auto 1rem 0;;
    margin-inline: auto;
    width: min(100%, 50rem);
  }
  .fv_section .fv_features::before {
    content: "";
    position: absolute;
    bottom: 35px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 8px;
    box-shadow: 0 40px 15px rgb(127 0 27 / 29%);
    background-color: transparent;
    border-radius: 80px / 4px;
    z-index: -1;
  }
  .fv_section .c-cv_area {
    order: 3;
    margin-inline: auto;
    margin-block: 0;
    max-width: 100%;
  }
  .fv_section .c-cv_area .c-cv_btn {
    padding-top: 18px;
    padding-bottom: 18px;
    width: 100%;
    max-width: 100%;
  }
  .fv_section .c-cv_area .c-cv_btn span {
    display: none;
  }
  .fv_section .note {
    order: 4;
    font-size: min(1.2rem, 2.7vw);
    color: #ffdada;
  }
  .fv_section .ttl {
    padding: 6px 8px;
    margin-top: 6.8vw;
    margin-bottom: 4.5vw;
    font-size: clamp(2rem, 6.7vw, 4rem);
  }
  .fv_section .ttl_sub {
    width: 100%;
    font-size: clamp(1rem, 4.6vw, 3.5rem);
    letter-spacing: 0.6px;
  }
  .fv_section .ttl_sub picture {
    width: min(36vw, 210px);
  }
  .fv_section .c-cv_area .c-cv_btn__txt {
    font-size: 1.8rem;
    color: #fff;
  }
  .fv_section .c-cv_area .c-cv_btn__txt::before,
  .fv_section .c-cv_area .c-cv_btn__txt::after {
    background-color: #fff;
  }
}

/* success
-------------------------------------------- */
.success .heading-primary-wrap .deco_linebaloon {
    background-color: transparent;
    width: fit-content;
    margin: 0rem auto 3rem;
    font-size: clamp(1.7rem, 4vw, 2rem);
}
.success .heading-primary-wrap .deco_linebaloon:before {
    background-color: var(--color-tertiary);
}
.success .heading-primary-wrap .deco_linebaloon img {
    vertical-align: baseline;
    margin-right: 0.5rem;
}
.success .card {
    box-shadow: 0 0.7rem 1rem rgb(133 162 204 / 20%);
}
.success .card .flexbox {
    margin-bottom: 2.4rem;
    gap: 1.2rem;
}
.success .card .flexbox img {
    flex: 1;
    border-radius: 0.4rem;
    width: 11rem;
}
.success .card h3 {
    width: 100%;
    flex: 2;
}
.success .card .income {
    font-size: 1.8rem;
    font-weight: bold;
    position: relative;
  transform: translateZ(0);
}
.success .card .income:before,
.success .card .income:after {
    opacity: 0.6;
    content: '';
    position: absolute;
    background: url(/assets/img/lp/design_01/icon-star.svg) center / contain no-repeat;
    width: 2.2rem;
    height: 2.2rem;
}
.success .card .income:before {
    bottom: 0;
    left: -4rem;
}
.success .card .income:after {
    top: -3rem;
    right: -5rem;
}
.success .card .income b {
    font-size: 1.4em;
    color: var(--color-primary);
}
.success .card .income b em {
    font-size: 1.4em;
}
.success .card p mark {
    color: var(--color-accent);
}
.success .card .deco_linebaloon {
    border-color: var(--color-primary);
    color: var(--color-primary);
    border-top-width: 0.1rem;
}
.success .card .deco_linebaloon:after {
    background-color: var(--color-primary);
}
.success-footer,
.success-footer .proven {
    display: grid;
}
.success-footer.narrow {
    width: min(100% - 20px, 950px);
    grid-template-columns: 0.7fr 0.3fr;
    gap: 1.2rem 0;
    margin-block: 3.6rem 2.4rem;
}
.success-footer .ttl {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    text-align: center;
    font-weight: bold;
    font-size: clamp(1.5rem, 4.4vw, 2.2rem);
    line-height: 2;
    margin-bottom: 1.2rem;
}
.success-footer .proven {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    width: min(45rem, 100%);
    margin-inline: auto;
}
.success-footer .success-footer-img {
    grid-column: 2 / 3;
    grid-row: 1 / 4;
    z-index: -1;
}
.success-footer .success-footer-img img {
    height: 110%;
    object-fit: cover;
    object-position: top 0 right 10%;
    overflow: visible;
    z-index: -1;
    margin-top: -10%;
}
.success-footer .success-footer-note {
    grid-column: 1 / 3;
    grid-row: 3 / 5;
    text-align: center;
    font-size: 1.2rem;
}
.success-footer .proven li img {
    filter: drop-shadow(0 0 2rem #ffffff);
    height: auto;
}
.success-footer .proven li:nth-child(1) {
    grid-column: 1/3;
    grid-row: 1/2;
}
.success-footer .proven li:nth-child(1) img {
    max-width: 34rem;
    margin-inline: auto;
    display: block;
    height: auto;
}
.success-footer .proven li:nth-child(2) {
    grid-column: 1/2;
    grid-row: 2/3;
    position: relative;
}
.success-footer .proven li:nth-child(2):before {
    content: '※1';
    display: inline-block;
    position: absolute;
    right: -1rem;
    bottom: 0.5rem;
    z-index: 1;
    font-size: clamp(0.8rem, 2vw, 1.2rem);
}
.success-footer .proven li:nth-child(3) {
    grid-column: 2/3;
    grid-row: 2/3;
    position: relative;
}
.success-footer .proven li:nth-child(3):before {
    content: '※2';
    display: inline-block;
    position: absolute;
    right: -1rem;
    bottom: 0.5rem;
    z-index: 1;
    font-size: clamp(0.8rem, 2vw, 1.2rem);
}
@media screen and (max-width: 768px) {
    .success {
        padding-top: 2.4rem;
    }
    .success-footer .ttl {
        grid-column: 1 / 3;
    }
    .success-footer .success-footer-img {
        grid-row: 2 / 4;
        height: 100%;
        position: relative;
    }
    .success-footer .success-footer-img img {
        height: 100%;
        width: initial;
        position: absolute;
        max-width: initial;
        right: 0;
    }
    .success-footer .proven li:nth-child(1) img {
        max-width: 20rem;
        width: 65%;
    }
}
/* gift-offer
-------------------------------------------- */
.gift-offer {
    background-color: var(--color-secondary);
    text-align: center;
    padding-block: 3.6rem;
}
.gift-offer .inner {
    background-color: var(--color-background);
    padding: 2.4rem 2.4rem 0;
}
.gift-offer .flexbox {
    justify-content: center;
    align-items: center;
    gap: 2.4rem;
}
.gift-offer .flexbox>picture img {
    max-width: 20rem;
    width: 80%;
}
.gift-offer .ttl {
    font-size: 2.2rem;
    font-weight: bold;
}
.gift-offer .ttl img {
    vertical-align: middle;
    margin-inline: 0.4rem;
}
.gift-offer .flexbox + picture img {
    width: min(50rem, 100%);
    margin-block: 2.4rem;
    height: auto;
}
.gift-offer-footer {
    position: relative;
}
.gift-offer-footer img {
    width: min(24rem, 100%);
    margin-left: -15%;
    margin-top: -4rem;
}
.gift-offer-footer .txt {
    position: absolute;
    top: 2rem;
    right: -24%;
    left: 0;
    font-weight: bold;
    font-size: clamp(1.6rem, 4vw, 2.2rem);
}
@media screen and (max-width: 768px) {
    .gift-offer {
        position: relative;
        padding-bottom: 16rem;
    }
    .gift-offer .flexbox {
        flex-direction: column;
    }
    .gift-offer .flexbox+img {
        margin-block: 1.2rem 2.4rem;
    }
    .gift-offer-footer {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
    }
    .gift-offer-footer img {
        margin-left: initial;
        margin-top: initial;
    }
    .gift-offer-footer .txt {
        top: 4rem;
        width: 80%;
        margin-inline: auto 0;
        right: 0;
    }
}
/* user-fears
-------------------------------------------- */
.user-fears {
    background: url(/assets/img/lp/design_01/user-fears-bg.jpg) left bottom / contain #a6acb0 no-repeat;
    color: var(--color-white);
    text-align: center;
    padding-block: 1.2rem 3.6rem;
}
.user-fears .inner {
    padding-block: 2.4rem;
}
.user-fears .ttl {
    white-space: nowrap;
    -webkit-box-decoration-break: clone;
    line-height: 2.5em;
    display: inline;
    color: var(--color-white);
    background-color: #65696c;
    padding: 0.4em;
    font-size: clamp(1.8rem, 6vw, 3.2rem);
    text-align: center;
    font-weight: bold;
    box-shadow: 0 0.3rem 0.5rem rgb(80 91 100 / 30%);
}
.user-fears .ttl em {
    color: var(--color-yellow);
}
.user-fears .flexbox {
    justify-content: space-between;
    gap: 1.5%;
}
.user-fears li {
    background-color: var(--color-white);
    color: var(--color-foreground);
    width: calc(100% / 3);
    padding: 1rem 0;
    border-radius: var(--border-radius);
    height: 10rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    font-size: clamp(1.5rem, 2vw, 1.7rem);
    font-weight: bold;
    position: relative;
    line-height: 1.8;
}
.user-fears li:before {
    content: '';
    right: 0;
    left: 0;
    margin-inline: auto;
    width: 1rem;
    display: inline-block;
    position: absolute;
    bottom: -0.75rem;
    border-right: 0.75rem solid transparent;
    border-top: 0.75rem solid var(--color-white);
    border-left: 0.75rem solid transparent;
}
.user-fears li u {
    text-underline-offset: 0.4rem;
    text-decoration-thickness: 0.1rem;
    text-decoration-color: var(--color-primary);
}
.user-fears .deco_linebaloon {
    background-color: transparent;
    width: fit-content;
    margin: 2.4rem auto 3rem;
    font-size: clamp(1.7rem, 4vw, 2rem);
    border-color: var(--color-white);
}
.user-fears .deco_linebaloon:before {
    background-color: #a6acb0;
}
.user-fears .deco_linebaloon:after {
    background-color: var(--color-white);
}
@media screen and (max-width: 768px) {
    .user-fears {
        background-size: cover;
        background-position: center;
    }
    .user-fears .flexbox {
        flex-direction: column;
        gap: 2.4rem;
        max-width: 30rem;
        margin-inline: auto;
    }
    .user-fears li {
        width: 100%;
        max-width: 23rem;
        height: initial;
    }
    .user-fears li:nth-child(even) {
        margin-right: 0;
        margin-left: auto;
    }
    .user-fears li:nth-child(odd):before {
        border-top: 0.75rem solid transparent;
        border-bottom: 0.75rem solid transparent;
        border-right: 0.75rem solid var(--color-white);
        right: initial;
        left: -1.4rem;
        transform: translateY(0%);
        bottom: initial;
        top: initial;
    }
    .user-fears li:nth-child(even):before {
        border-top: 0.75rem solid transparent;
        border-bottom: 0.75rem solid transparent;
        border-left: 0.75rem solid var(--color-white);
        right: -1.4rem;
        left: initial;
        transform: translateY(0%);
        bottom: initial;
        top: initial;
    }
}
/* checkpoints
-------------------------------------------- */
.checkpoints {
    padding-top: 3rem;
    background: url(/assets/img/lp/design_01/checkpoints-bg.webp) bottom / 100% auto no-repeat;
}
.checkpoints .yellow-circle {
    margin-top: -5rem;
}
.checkpoints .heading-primary-wrap {
    padding-top: 2rem;
}
.checkpoints ol.cards {
    counter-reset: checkpoints-num;
    z-index: 2;
    position: relative;
}
.checkpoints ol.cards li h3 {
    color: var(--color-primary);
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 2.4rem;
}
.checkpoints ol.cards>li h3:before {
    display: block;
    counter-increment: checkpoints-num;
    content: 'check point ' counter(checkpoints-num, decimal-leading-zero);
    text-align: center;
    text-transform: uppercase;
    font-size: 1.3rem;
    background: var(--color-primary);
    margin-inline: auto;
    width: fit-content;
    color: var(--color-white);
    padding: 0.25rem 0.6rem;
    margin-bottom: 2.4rem;
    font-weight: normal;
}
.checkpoints .card {
    background: url(/assets/img/lp/design_01/icon-check.svg) left 2rem top 1rem / 2.6rem auto no-repeat var(--color-white);
}
.checkpoints .card img {
    margin-bottom: 2.4rem;
    width: 100%;
    object-fit: cover;
}
.checkpoints-footer {
    position: relative;
    z-index: 1;
}
.checkpoints-footer img {
    position: relative;
    bottom: -9.5rem;
    margin-top: -7rem;
}
@media screen and (max-width: 768px) {
    .checkpoints-footer.inner {
        width: 100%;
    }
    .checkpoints-footer img{
        width: 100%;
        height: auto;
    }
}
/* first-job-support
-------------------------------------------- */
.first-job-support {
    background-color: var(--color-secondary);
    position: relative;
    padding-block: 20rem 4.8rem;
}
.first-job-support .heading-primary-wrap {
    z-index: 1;
}
.first-job-support .card {
    text-align: center;
    padding-block: 1.2rem;
}
.first-job-support .lead-text {
    background: linear-gradient(90deg, #ff7f9b 0%, #b57ede 100%);
    color: var(--color-white);
    padding: 0.6rem;
    font-weight: bold;
    position: relative;
}
.first-job-support .lead-text em {
    color: var(--color-yellow);
}
.first-job-support .lead-text:before {
    content: '';
    right: 0;
    left: 0;
    margin-inline: auto;
    width: 1rem;
    display: inline-block;
    position: absolute;
    bottom: -0.6rem;
    border-right: 0.6rem solid transparent;
    border-top: 0.6rem solid #e27fbb;
    border-left: 0.6rem solid transparent;
}
.first-job-support .ttl {
    font-size: 2rem;
    text-align: center;
    padding-block: 1.2rem;
    font-weight: bold;
    color: var(--color-primary);
}
.first-job-support .flexbox {
    justify-content: center;
}
.first-job-support figure {
    width: 50%;
}
.first-job-support figure:first-child {
    padding-right: 1rem;
}
.first-job-support figure:not(:first-child) {
    border-left: 0.1rem dashed var(--color-primary);
    padding-left: 1rem;
}
.first-job-support figure img {
    height: 5rem;
    display: block;
    margin: 0 auto 1.2rem;
}
.first-job-support figure figcaption {
    font-size: 1.3rem;
}
@media screen and (max-width: 768px) {
    .first-job-support {
        padding-bottom: 2.4rem;
    }
}
/* learning-backup
-------------------------------------------- */
.learning-backup {
    padding-top: 6rem;
}
.learning-backup ol.cards {
    counter-reset: learning-backup-num;
    padding-bottom: 6rem;
}
.learning-backup ol.cards .card img{
    width: 100%;
    object-fit: cover;
}
.learning-backup .card div:has(img) {
    position: relative;
    margin-bottom: 1rem;
}
.learning-backup .card div:has(img):before {
    display: block;
    counter-increment: learning-backup-num;
    content: 'サポート' counter(learning-backup-num, decimal-leading-zero);
    text-transform: uppercase;
    background: var(--color-white);
    margin-inline: auto;
    width: fit-content;
    color: var(--color-primary);
    padding: 0.25rem 0.6rem;
    position: absolute;
    font-weight: bold;
    font-size: 1.4rem;
    bottom: 0;
    left: 0;
}
.learning-backup .card h3 {
    font-size: clamp(1.4rem, 1.8vw, 1.8rem);
    font-weight: bold;
    line-height: 2.2em;
}
.learning-backup .card h3+p {
    margin-top: 1.5rem;
    line-height: 1.6;
}
.learning-backup .card h3+p em {
    color: var(--color-accent);
}
.artwork-block>.ttl {
    text-align: center;
    font-weight: bold;
    font-size: clamp(2.2rem, 4vw, 3.2rem);
    line-height: 1.6;
}
@media screen and (max-width: 768px) {
    .learning-backup ol.cards {
        padding-bottom: 3rem;
    }
    .learning-backup .card h3 {
        font-size: clamp(1.6rem, 6vw, 1.8rem);
    }
    .artwork-block.inner{
        width: 100%;
    }
    .artwork-block img {
        width: 100%;
        height: auto;
    }
}
/* promises
-------------------------------------------- */
.promises {
    padding-top: 4rem;
    background: url(/assets/img/lp/design_01/promises-bg.webp) bottom / 100% repeat-x;
}
.promise-intro {
    margin-bottom: 10rem;
}
.promise-intro {
    background: url(/assets/img/lp/design_01/promise-intro-img1.webp) center / 50% auto repeat;
}
.promise-intro>.inner.narrow {
    position: relative;
    height: clamp(13rem, 32vw, 30rem);
    text-align: center;
    width: min(100% - 20px, 60rem);
}
.promise-intro .highlight {
    padding: 2rem;
    text-align: center;
    background-color: var(--color-primary);
}
.promise-intro .highlight img {
    max-width: 29rem;
}
.promise-intro .img-block {
    position: absolute;
    bottom: 0;
    right: 0;
    width: clamp(17rem, 35vw, 40rem);
}
.promise-intro .txt-block-wrap {
    position: absolute;
    transform: translateY(-50%) translateX(-10%);
    top: 50%;
    z-index: 1;
}
.promise-intro .txt-block-wrap:before {
    content: '';
    width: 20vw;
    max-width: 13.5rem;
    height: 5rem;
    display: block;
    background: url(/assets/img/lp/design_01/promise-intro-img4.svg) center / contain no-repeat;
    position: absolute;
    top: -9rem;
    right: 0;
    left: 0;
    margin-inline: auto;
}
.promise-intro .txt-block {
    white-space: nowrap;
    -webkit-box-decoration-break: clone;
    line-height: 2.4em;
    display: inline;
    color: var(--color-white);
    background-color: var(--color-foreground);
    padding: 0.3em;
    font-size: clamp(1.8rem, 4vw, 3.2rem);
    text-align: center;
    font-weight: bold;
    box-shadow: 0 0.3rem 0.5rem rgb(80 91 100 / 30%);
    z-index: 1;
    position: relative;
}
.promises .list {
    background-color: var(--color-white);
    border: 0.1rem solid var(--color-primary);
    padding: 3rem;
    justify-content: space-evenly;
    margin-bottom: 4.8rem;
}
.promises .list li:not(:last-child) {
    border-right: 0.1rem dashed;
    padding-right: 2rem;
    width: calc(100% / 3);
}
.promises .list li:not(:first-child) {
    padding-left: 2rem;
}
.promises .list li:first-child,
.promises .list li:last-child {
    width: calc(100% / 3 - 2rem);
}
.promises .list .num {
    background: #8EB2D4;
    background: linear-gradient(145deg, #fb7094 50%, rgb(244 80 122) 50%);
    width: 6rem;
    height: 6rem;
    color: var(--color-white);
    display: block;
    border-radius: 100%;
    font-size: 1.3rem;
    font-weight: bold;
    text-align: center;
    padding-top: 1.2rem;
    line-height: 1;
}
.promises .list .num b {
    font-size: 2rem;
    display: block;
    margin-top: 0.5rem;
}
.promises .list li .flexbox {
    gap: 1.2rem;
    margin-bottom: 2rem;
}
.promises .list li .ttl {
    font-size: 1.8rem;
    font-weight: bold;
    width: calc(100% - 7.2rem);
}
.promises .list li .txt {
    text-align: left;
    line-height: 1.6;
}
.promises .list li .txt em {
    color: var(--color-accent);
}
.promises-footer {
    position: relative;
}
@media screen and (max-width: 768px) {
    .promises {
        padding-top: 0;
    }
    .promise-intro .txt-block-wrap:before {
        top: -14vw;
    }
    .promise-intro>.inner.narrow {
        padding-inline: 5%;
    }
    .promise-intro .txt-block {}
    .promise-intro .img-block {
        width: clamp(13rem, 6vw, 40rem);
        height: 48vw;
        right: 5%;
    }
    .promise-intro .img-block img {
        object-fit: cover;
        object-position: bottom right;
        height: 42vw;
        width: 100vw;
        overflow: visible;
        bottom: 0;
        right: -20%;
        position: absolute;
    }
    .promise-intro .txt-block-wrap {
        transform: translateY(-50%) translateX(0%);
    }
    .promises-footer {
        width: 100%;
    }
    .promises .list {
        flex-direction: column;
        max-width: 41.4rem;
        padding: 2rem 2rem 1.2rem;
        margin-bottom: 0;
    }
    .promises .list li {
        width: 100% !important;
        padding-bottom: 2rem;
    }
    .promises .list li:not(:first-child) {
        padding-inline: 0;
        padding-block: 1.2rem;
    }
    .promises .list li:not(:last-child) {
        border-bottom: 0.1rem dashed;
        border-right: none;
        padding-right: 0;
    }
    .promises .list li .txt {
        padding-inline: 2rem;
    }
    .section__background-img img{
        width: 100%;
        height: auto;
    }
}
/* voicess
-------------------------------------------- */
.voices {
    background-color: var(--color-secondary);
    position: relative;
    z-index: 0;
    padding-block: 10rem 4.8rem;
}
.voices .card {
    position: relative;
    padding-block: 3rem 3.6rem;
    font-size: 1.8rem;
}
.voices .card:before {
    content: '';
    width: clamp(12rem, 4vw, 15rem);
    height: 9.6rem;
    display: inline-block;
    position: absolute;
    top: -5rem;
    right: 2rem;
}
.voices .card:nth-child(1):before {
    background: url(/assets/img/lp/design_01/voices-img3.svg) center / contain no-repeat;
}
.voices .card:nth-child(2):before {
    background: url(/assets/img/lp/design_01/voices-img4.svg) center / contain no-repeat;
}
.voices .card .flexbox {
    margin-bottom: clamp(1.2rem, 3vw, 2.4rem);
    gap: 2.4rem;
    align-items: center;
}
.voices .card .flexbox picture {
    width: min(13.4rem, 100%);
    border-radius: 0.4rem;
    flex: 1;
}
.voices .card .flexbox h3 {
    font-weight: bold;
    color: var(--color-primary);
    line-height: 1.6;
    font-size: clamp(1.4rem, 4vw, 1.8rem);
    flex: 1;
}
.voices .card .flexbox,
.voices .card .txt-dashed {
    width: min(40rem, 100%);
    margin-inline: auto;
}
.voices .card .txt-dashed {
    background-size: 0.6rem 100%, 100% 2.4em;
    line-height: 2.4;
    font-size: clamp(1.4rem, 4vw, 1.8rem);
}
@media screen and (max-width: 768px) {
    .voices {
        padding-bottom: 2.4rem;
    }
    .voices .cards {
        gap: 4.8rem;
    }
    .voices .card {
        padding-bottom: 2.4rem;
    }
    .voices .card .flexbox picture{

    }
    .voices .card .txt-dashed{

    }
}
/* step-to-job
-------------------------------------------- */
.step-to-job {
    background-color: var(--color-background);
    position: relative;
    z-index: 0;
    padding-block: 10rem 4.8rem;
}
.step-to-job .cards {
    flex-direction: column;
    width: min(54rem, 100%);
    margin-inline: auto;
    gap: 10rem;
    margin-top: 8rem;
}
.step-to-job .card {
    position: relative;
    padding: 0;
    background: none;
}
.step-to-job .card:not(:last-child):before {
    content: '';
    position: absolute;
    bottom: -5rem;
    right: 0;
    left: 0;
    margin-inline: auto;
    width: 0.1rem;
    height: 2.6rem;
    background-color: var(--color-primary);
}
.step-to-job .card.card:not(:last-child):after {
    content: "";
    position: absolute;
    bottom: -4.8rem;
    right: 0;
    left: 0;
    margin-inline: auto;
    width: 1rem;
    height: 0.1rem;
    background-color: var(--color-primary);
    transform: rotate(135deg);
    transform-origin: calc(100% - 0.3rem) 50%;
}
.step-to-job .card:last-child:before {
    content: '';
    position: absolute;
    bottom: -7rem;
    right: 0;
    left: 0;
    margin-inline: auto;
    width: 0.1rem;
    height: 5rem;
    border-right: dotted 0.3rem var(--color-primary);
}
.step-to-job .step-heading {
    position: absolute;
    background-color: var(--color-primary);
    color: var(--color-white);
    text-align: center;
    border-radius: 100%;
    width: 17rem;
    height: 17rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 1rem;
    padding-top: 2.4rem;
    left: -4rem;
    top: -4rem;
    z-index: 1;
}
.step-to-job .step-heading:before,
.step-to-job .step-heading:after {
    content: "";
    z-index: -1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(to top left, #f66182 0%, #ffeaca 100%);
    opacity: 0.4;
    width: 17rem;
    height: 17rem;
    border-radius: 100%;
}
.step-to-job .step-heading:before {
    transform: translate3d(-5px, -5px, 0) scale(1);
}
.step-to-job .step-heading:after {
    transform: translate3d(5px, 5px, 0) scale(1);
}
.step-to-job .step-heading img {}
.step-to-job .step-heading .ttl {
    font-size: 1.8rem;
    font-weight: bold;
}
.step-to-job .step-heading .ttl span {
    font-size: 1.4rem;
}
.step-to-job .step-to-job-img-wrap {
    height: 20rem;
    width: 100%;
    margin-bottom: 2.4rem;
}
.step-to-job .step-to-job-img-wrap img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}
.step-to-job .card:nth-child(1) .step-to-job-img-wrap img {
    object-position: 0 -3rem;
}
.step-to-job .cards .txt {
    line-height: 1.6;
}
.step-to-job .cards .txt em {
    color: var(--color-accent);
}
@media screen and (max-width: 768px) {
    .step-to-job .cards {
        width: min(90% - 20px, 1080px);
    }
    .step-to-job .step-heading {
        left: 0;
    }
    .step-to-job .step-to-job-img-wrap {
        height: 18rem;
        overflow: hidden;
    }
    .step-to-job .card:nth-child(1) .step-to-job-img-wrap img {
        transform: scale(1.2);
        object-position: top -0.5rem right -3rem;
    }
    .step-to-job .card:nth-child(2) .step-to-job-img-wrap img {
        transform: scale(1.3) translateX(3rem);
    }
    .step-to-job .card:nth-child(3) .step-to-job-img-wrap img {
        transform: scale(1.2);
    }
}
/* full-support
-------------------------------------------- */
.full-support {
    padding-top: 6rem;
}
.full-support>.inner {
    background-color: var(--color-white);
    border: solid 0.1rem var(--color-primary);
    position: relative;
    text-align: center;
    font-size: 1.8rem;
    padding-bottom: 1.2rem;
}
.full-support>.inner:before,
.full-support>.inner:after {
    content: '';
    width: 1rem;
    height: 1rem;
    display: block;
    position: absolute;
    top: 0;
}
.full-support>.inner:before {
    border-right: 1.5rem solid var(--color-primary);
    border-bottom: 1.5rem solid transparent;
    right: 0;
}
.full-support>.inner:after {
    border-left: 1.5rem solid var(--color-primary);
    border-bottom: 1.5rem solid transparent;
    left: 0;
}
.full-support .lead-text {
    font-size: clamp(1.5rem, 4vw, 2.3rem);
    border: 0.1rem solid var(--color-primary);
    padding: 1rem;
    display: inline-block;
    background-color: var(--color-white);
    margin-top: -2rem;
}
.full-support .support-heading {
    font-size: clamp(2.4rem, 3vw, 3.5rem);
    font-weight: bold;
    color: var(--color-primary);
    white-space: nowrap;
    margin-block: 2.4rem 1.2rem;
}
@media screen and (max-width: 768px) {
    .full-support .support-heading {
        white-space: normal;
        line-height: 1.8;
    }
    .full-support .char-wrap {
        display: block;
        white-space: nowrap;
    }
}
.full-support .support-heading .char {
    border: 0.1rem solid var(--color-primary);
    padding: 0 0.5rem;
    margin-left: 0.25rem;
    border-radius: 0.2rem;
    background-color: var(--color-cream);
    font-size: 0.98em;
    aspect-ratio: 1 / 1;
    display: inline;
    vertical-align: middle;
}
.full-support .support-details {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.full-support .support-item {
    padding: 1rem 5%;
    line-height: 1.6;
    display: inline-block;
}
.full-support .support-item:before {
    content: '';
    width: 2rem;
    height: 2rem;
    display: inline-block;
    background: url(/assets/img/lp/design_01/full-support-img1.svg) center / contain no-repeat;
    vertical-align: middle;
    margin-right: 0.8rem;
}
.full-support .support-item .underline_y {
    color: var(--color-primary);
    font-weight: bold;
}
.full-support .support-details .highlight {
    position: relative;
    margin-block: 1.2rem;
    width: 100%;
}
.full-support .support-details .highlight:before {
    content: '';
    position: absolute;
    display: block;
    height: 0.1rem;
    border-bottom: dashed 0.1rem var(--color-primary);
    width: 100%;
    left: 0;
    top: 50%;
}
.full-support .support-details .highlight span {
    background-color: var(--color-primary);
    display: inline-block;
    padding: 0.8rem 0.5rem;
    font-size: clamp(1.5rem, 4vw, 2.4rem);
    color: var(--color-white);
    position: relative;
}
.full-support-footer {
    background-color: var(--color-primary);
    color: var(--color-white);
    text-align: center;
    margin-top: -4rem;
    padding-block: 6.4rem 2.4rem;
    font-size: clamp(1.8rem, 4vw, 2.9rem);
    font-weight: bold;
}
.full-support-footer img {
    display: block;
    margin: 2.4rem auto;
}
.full-support-footer em {
    font-size: 3.6rem;
}
.full-support-footer b {
    padding: 0 0.3em 0.1em;
    line-height: 2em;
    margin-right: 0.5rem;
}
/* compare-block
-------------------------------------------- */
.compare-block {
    padding-block: 6rem 4.8rem;
}
.compare-block table {
    width: 100%;
    table-layout: fixed;
}
.compare-block table th,
.compare-block table td {
    padding: 2.4rem 0.5rem;
}
.compare-block table thead th {
    vertical-align: middle;
    text-align: center;
    font-size: clamp(1.6rem, 4vw, 2.2rem);
}
.compare-block table thead th:nth-child(1) {
    width: 18rem;
}
.compare-block table thead th:nth-child(n+3) {
    background-color: #f3c9cc;
}
.compare-block table thead th.ninja {
    background: linear-gradient(90deg, #ff7f9d 0%, #bc7ed9 100%);
    color: var(--color-white);
}
.compare-block table tbody tr:not(:last-child) {
    border-bottom: 1px solid #CECECE;
}
.compare-block table tbody th {
    background-color: #89959F;
    color: var(--color-white);
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
}
.compare-block table tbody .ninja {
    background-color: var(--color-cream);
    color: var(--color-accent);
    font-weight: bold;
}
.compare-block table tbody td:not(.ninja) {
    background-color: var(--color-white);
}
.compare-block table tbody td {
    vertical-align: middle;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .compare-block.inner {
        width: 100%;
    }
    .compare-block .table_wrapper {
        overflow-x: scroll;
        overflow-y: hidden;
    }
    .compare-block table {
        width: calc(100% + 30rem);
        font-size: 1.3rem;
        table-layout: initial;
    }
    .compare-block table tbody th {
        width: 10%;
    }
    .compare-block table tbody td {
        width: 15%;
        padding-block: 1.2rem;
    }
    .compare-block table tbody td br {
        display: none;
    }
}
/* plan-block
-------------------------------------------- */
.plan-block {
    background-color: var(--color-secondary);
    position: relative;
    z-index: 0;
    padding-top: 10rem;
}
.plan-block .cards {
    padding-bottom: 3.6rem;
}
.plan-block .card {
    position: relative;
}
.plan-block .card img {
    position: absolute;
    top: 0;
    right: 0;
    max-width: 16.7rem;
}
.plan-block .card .ttl {
    color: var(--color-primary);
    font-weight: bold;
    font-size: 1.8rem;
    position: relative;
    margin-bottom: 2.4rem;
    width: min(18rem, 100%);
}
.plan-block .card .ttl b {
    font-size: 1.2em;
    display: block;
    white-space: nowrap;
}
.plan-block .card .has-list-icon {
    width: min(18rem, 100%);
}
.plan-block-cta {
    background-color: var(--color-white);
}
.plan-block-cta .flexbox {
    align-items: stretch;
}
.plan-block-cta div:nth-child(2) {
    margin-left: -10rem;
    max-width: 40rem;
    padding-block: 3.6rem 0;
    z-index: 1;
    flex: 1;
}
.plan-block-cta .cta-section__headline {
    position: relative;
    flex: 2;
}
.plan-block-cta .cta-section__background-img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}
.plan-block-cta .cta-section__headline-img {
    position: absolute;
    bottom: 20%;
    left: 0;
    width: clamp(24rem, 37vw, 37rem);
}
.plan-block-cta .cta-section__questions {
    border: solid 0.4rem var(--color-tertiary);
}
.plan-block-cta .cta-section__questions dt {
    background-color: var(--color-tertiary);
    text-align: center;
    color: var(--color-primary);
    font-size: clamp(1.5rem, 4vw, 1.8rem);
    padding: 0.5rem 1rem;
}
.plan-block-cta .cta-section__questions .flexbox {
    gap: 1rem;
    align-items: flex-end;
}
.plan-block-cta .cta-section__questions img {
    width: min(9.3rem, 100%);
    opacity: 0.3;
}
.plan-block-cta .cta-section__questions ul {
    padding-block: 0.5rem 1.5rem;
}
.plan-block-cta .cta-section__questions li {
    text-underline-offset: 0.25rem;
    text-decoration: underline;
    text-decoration-thickness: 0.1rem;
    text-decoration-color: #D3E4F3;
    margin-top: 1rem;
    padding-left: 0.8rem;
}
.plan-block-cta .cta-section__questions li.has-list-icon:before {
    width: 0.25rem;
    height: 0.25rem;
    top: 1rem;
}
.plan-block-cta .cta-section__desc {
    font-size: clamp(1.8rem, 4vw, 2.2rem);
    text-align: center;
    font-weight: bold;
    margin-bottom: 3.2rem;
}
.plan-block-cta .cta-section__desc .marker_gradation {
    margin-left: 0.25rem;
}
@media screen and (max-width: 768px) {
    .plan-block-cta .flexbox {
        flex-direction: column;
    }
    .plan-block-cta div:nth-child(2) {
        margin-left: initial;
        max-width: 100%;
        width: 100%;
        padding-block: 2.4rem;
    }
    .plan-block-cta .cta-section__questions .flexbox {
        display: flex;
        flex-direction: row;
    }
    .plan-block-cta .cta-section__desc {
        margin-bottom: 2rem;
    }
    .plan-block-cta .cta-section__headline-img,
    .plan-block-cta .cta-section__background-img img{
        height: auto;
    }
}
/* before-join-voice
-------------------------------------------- */
.before-join-voice {
    background-color: var(--color-cream);
    padding-block: 2.4rem 4.8rem;
}
.before-join-voice h2 {
    font-size: clamp(2rem, 4vw, 3.4rem);
    letter-spacing: 1rem;
    font-weight: bold;
    margin-block: 2.4rem 4.8rem;
}
.before-join-voice mark {
    background-color: var(--color-yellow);
    font-weight: bold;
}
.before-join-voice .card {
    gap: 2.4rem;
    box-shadow: 0.5rem 0.5rem 0 #f3bdbd;
}
.before-join-voice .card img {
    width: 7.5rem;
}
.before-join-voice .card p {
    width: calc(100% - 7.5rem);
    line-height: 1.6;
}
@media screen and (max-width: 768px) {
    .before-join-voice h2 {
        letter-spacing: 0.2em;
        margin-block: 2.4rem 2.4rem;
    }
}
/* form
-------------------------------------------- */
.info-form {
    margin-block: 4.8rem;
}
.info-form-table {
    background-color: var(--color-white);
    border: 0.1rem solid var(--color-primary);
    padding: 1.2rem;
    text-align: center;
    font-size: 1.3rem;
}
.cv_section .cv-ttl {
    display: block;
    text-align: center;
    font-size: clamp(1.4rem, 4.5vw, 2.1rem);
}
.cv_section > .ttl {
    background: linear-gradient(90deg, #e95785 0%, #ffb658 100%);
    color: var(--color-white);
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    text-align: center;
    font-weight: bold;
    padding: 0.8em 1rem;
    margin-bottom: 2.4rem;
}

.privacy_text_box h2.dec {
  background-color: #ff8fb7!important;
}

.privacy_text_box .text_wrapper{
    font-size: 1.3rem;
}

.privacy_text_box .ttl{
    font-size: 1.1em;
    font-weight: bold;
    margin-block: 1.2rem 0.6rem;
}
/* ______________________________________________________________ 問合せフォーム 確認事項*/

.cv_section .form_wrapper .form_wrapper_inner form .input_area dl dd.checkbox .day_item.confirm  {
  display: flex;
  align-items: flex-start;
}
.cv_section .form_wrapper .form_wrapper_inner form .input_area dl dd.checkbox .day_item.confirm label {
  text-align: left;
  margin-left: 3px;
}

/* footer-------------------------------------------- */
footer .footer_top_wrapper {
  background-color: #f45985!important;
}

/* ______________________________________________________________ banner_area */

.banner_area {
  padding-block: 5rem;
}

.banner_area img {
  width: min(100rem, 100%);
}

.banner_area .campaign_banner_area {
  margin: 0 auto;
  max-width: 1000px;
}

@media only screen and (max-width: 768px) {
  .banner_area {
    padding-block: 2rem;
  }

  .banner_area .campaign_banner_area {
    margin: 0 auto;
    width: calc(100% - 20px);
  }
}
