@charset "utf-8";

/*============================================
mv
============================================*/

.mv {
    position: relative;
    width: 100%;
    padding: 14.6rem 0 12.6rem;
    margin-top: -14.6rem;
    background: url(../../img/lp/re-work/mv_bg_pc.jpg) no-repeat center center / cover;
}
.mv::before {
    content: "";
    display: block;
    position: absolute;
    top: 63px;
    left: calc(50% - 171px);
    width: 212px;
    height: 212px;
    background: url(../../img/lp/re-work/mv_deco.svg) no-repeat center center / contain;
}
.mv::after {
    content: "";
    display: block;
    position: absolute;
    top: 173px;
    left: calc(50% + -25px);
    width: 212px;
    height: 212px;
    background: url(../../img/lp/re-work/mv_deco2.svg) no-repeat center center / contain;
}
.mv__inner {
    position: relative;
    max-width: 1260px;
    margin: 0 auto;
    z-index: 1;
}
.mv__box {
    margin-bottom: 3rem;
}
.mv__text:nth-of-type(1) {
    font-size: 3.2rem;
    font-weight: 700;
    color: #0a73bb;
    margin-bottom: 3.2rem;
}
.mv__text:nth-of-type(2) {
    position: relative;
    font-size: 2.4rem;
    padding-bottom: 3.5rem;
    margin-bottom: .4rem;
}
.mv__text:nth-of-type(2)::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 370px;
    height: 17px;
    background: url(../../img/lp/re-work/mv_line_pc.png) no-repeat center center / cover;
}
.mv__title {
    font-size: 7rem;
    line-height: 1.74; /* calc(115 / 66) */
}
.mv__title span {
    font-size: 4.8rem;
}
.mv .cmn-btn a {
    width: 628px;
}
.mv__box--right {
    position: absolute;
    bottom: -74px;
    right: -74px;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.6; /* calc(32 / 20) */
}
.mv__text--blue {
    width: 31rem;
    background-color: #0a73bb;
    color: #fff;
    line-height: 1;
    text-align: center;
    padding: 2.3rem 2rem 2.8rem;
    margin-bottom: 1rem;
    border-radius: 10px;
}
.mv__text--blue p:first-child {
    margin-bottom: .7rem;
    font-size: 1.8rem;
    line-height: 1.3;
}
.mv__text--blue p:first-child span {
    font-size: 1.2rem;
}
.mv__text--blue p:last-child {
    font-size: 2.4rem;
}
.mv__text--blue p:last-child span {
    font-size: 5.6rem;
}
.mv__deco-text {
    position: absolute;
    top: -3px;
    left: calc(50% - 133px);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.6; /* calc(32 / 20) */
    text-align: center;
}
.mv__deco-text:last-of-type {
    top: 110px;
    left: calc(50% + 13px);
}

@media screen and (max-width: 599px) {
    .mv {
        padding: 6.8rem 0 1.5rem;
        margin-top: -7.1rem;
        background: url(../../img/lp/re-work/mv_bg_sp.jpg) no-repeat right 18% center / cover;
    }
    .mv::before {
        top: 134px;
        left: calc(50% - 132px);
        width: 92px;
        height: 92px;
        background: url(../../img/lp/re-work/mv_deco.svg) no-repeat center center / contain;
    }
    .mv::after {
        top: 181px;
        left: calc(50% - 68px);
        width: 92px;
        height: 92px;
        background: url(../../img/lp/re-work/mv_deco2.svg) no-repeat center center / contain;
    }
    .mv__inner {
        width: 100%;
        padding: 0 2rem;
    }
    .mv__box {
        margin-bottom: 9.2rem;
    }
    .mv__text:nth-of-type(1) {
        font-size: 2rem;
        margin-bottom: 1.3rem;
    }
    .mv__text:nth-of-type(2) {
        display: inline-block;
        font-size: 1.2rem;
        padding-bottom: 1.5rem;
        margin-bottom: 13.2rem;
    }
    .mv__text:nth-of-type(2)::before {
        width: 100%;
        height: 8px;
        background: url(../../img/lp/re-work/mv_line_sp.png) no-repeat left center / cover;
    }
    .mv__title {
        font-size: 3.2rem;
        font-size: min(3.2rem, 8vw);
        line-height: 1.4;
    }
    .mv__title span {
        font-size: 2rem;
        font-size: min(2rem, 5vw);
    }
    .mv .cmn-btn a {
        width: 100%;
    }
    .mv__box--right {
        bottom: 59px;
        right: 50%;
        transform: translateX(50%);
        white-space: nowrap;
    }
    .mv__text--blue {
        display: flex;
        align-items: center;
        width: auto;
        padding: 1.6rem 1.9rem;
        margin-bottom: 0;
        border-radius: 5px;
    }
    .mv__text--blue p:first-child {
        font-size: 1.2rem;
        line-height: 1.1;
        text-align: left;
        margin-bottom: 0;
        margin-right: 1.5rem;
    }
    .mv__text--blue p:first-child span {
        font-size: .7rem;
    }
    .mv__text--blue p:last-child {
        font-size: 1.2rem;
    }
    .mv__text--blue p:last-child span {
        font-size: 2.8rem;
    }
    .mv__deco-text {
        top: 98px;
        left: calc(50% - 117px);
        font-size: .9rem;
    }
    .mv__deco-text:last-of-type {
        top: 148px;
        left: calc(50% - 52px);
    }
}

/*============================================
tel-consultation
============================================*/
.tel-consultation {
    background-color: #0a73bb;
    padding-top: 50px;
    padding-bottom: 50px;
    color: #fff;
    font-weight: bold;
}
.tel-consultation-inner {
    text-align: center;
}
.tel-consultation-title {
    font-size: 2.8rem;
    margin-bottom: 20px;
}
.tel-consultation-title span {
    font-size: 2rem;
}
.tel-consultation-number {
    font-size: 5.2rem;
}
.tel-consultation-number span {
    font-size: 3rem;
}
.tel-consultation-number a {
    pointer-events: none;
}
@media screen and (max-width: 599px) {
    .tel-consultation {
        background-color: #fff;
        padding-top: 0px;
        padding-bottom: 0px;
        margin-top: 30px;
    }
    .tel-consultation-inner {
        background-color: #0a73bb;
        box-shadow: 0 3px #003f96;
        margin: 0px 5%;
        border-radius: 30px;
        padding: 10px;
    }
    .tel-consultation-title {
        font-size: 1.4rem;
        margin-bottom: 5px;
    }
    .tel-consultation-title span {
        font-size: 1rem;
    }
    .tel-consultation-number {
        font-size: 1.6rem;
    }
    .tel-consultation-number span {
        font-size: 1rem;
    }
    .tel-consultation-number a {
        pointer-events: auto;
    }
}


/*============================================
about
============================================*/

.about__text {
    line-height: 2;
    margin: 5rem auto 0;
    max-width: 740px;
}

@media screen and (max-width: 599px) {
    .about .section__title {
        margin: 0 -1rem;
    }
    .about__text {
        margin: 2.5rem auto 0;
        font-size: 1.2rem;
    }
}

/*============================================
free-service
============================================*/

.free-service {
    background: #f7f5f2;
}
.free-service .section__title {
    margin-bottom: 2.3rem;
}
.free-service .section__title span {
    display: inline-block;
}
.free-service__box {
    display: flex;
    margin-bottom: 3rem;
}
.free-service__textBox {
    width: 100%;
    max-width: 673px;
    padding: 4.2rem 0 2.6rem;
    margin-right: 6.8rem;
}
.free-service__lead {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 2;
    margin-bottom: 3.3rem;
}
.free-service__lead span {
    background: linear-gradient(to bottom, transparent 65%, #f3d900 65%);
}
.free-service__text {
    line-height: 2;
}
.free-service__text span {
    padding-left: 1em;
}
.free-service__imgBox {
    position: relative;
    width: 100%;
    max-width: 259px;
    margin-top: 6rem;
    padding-right: 5rem;
}
.free-service__imgBox::before {
    content: "";
    display: block;
    position: absolute;
    top: 18px;
    left: -180px;
    width: 220px;
    height: 220px;
    background: url(../../img/lp/re-work/mv_deco.svg) no-repeat center center / contain;
}
.free-service__imgBox__text {
    position: absolute;
    top: 100px;
    left: -144px;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
}
.free-service__imgBox img {
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 599px) {
    .free-service .section__title {
        margin-bottom: 3rem;
    }
    .free-service__box {
        display: block;
        padding: 0 2rem;
        margin-bottom: 1.8rem;
    }
    .free-service__textBox {
        padding: 0;
        margin-bottom: 1.6rem;
        text-align: center;
    }
    .free-service__lead {
        font-size: 1.5rem;
        line-height: 1.86; /* calc(56 / 30) */
        margin-bottom: .9rem;
    }
    .free-service__text {
        font-size: 1.2rem;
        line-height: 1.79; /* calc(21.5 / 12) */
    }
    .free-service__text span {
        padding-left: 0;
    }
    .free-service__imgBox {
        max-width: 100%;
        margin-top: 0;
        padding-right: 0;
        text-align: center;
    }
    .free-service__imgBox::before {
        top: 11px;
        left: calc(50% - 102px);
        width: 129px;
        height: 129px;
    }
    .free-service__imgBox__text {
        top: 61px;
        left: calc(50% - 79px);
        font-size: 1.1rem;
    }
    .free-service__imgBox img {
        left: 63px;
        width: 128px;
    }
}

/*============================================
problem
============================================*/

.section.problem {
    padding: 8rem 0 0;
}
.problem .section__title {
    margin-bottom: 6rem;
}
.problem__box {
    width: 1000px;
    margin: 0 auto 8.2rem;
    text-align: center;
}
.problem__box ul {
    display: flex;
    justify-content: space-between;
}
.problem__box ul li {
    width: 33%;
}
.problem__imgBox {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 212px;
    margin-bottom: 3.4rem;
}
.problem__imgBox img {
    max-height: 100%;
}
.problem__box ul li:nth-child(1) .problem__imgBox img {
    transform: scale(.95);
}
.problem__box ul li:nth-child(3) .problem__imgBox img {
    transform: scale(.9);
}
.problem__text {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.6; /* calc(32 / 20) */
}
.to-solve__box {
    position: relative;
    background: #f7f5f2;
    padding: 6.6rem 0 8rem;
}
.to-solve__box::before {
    content: "";
    display: block;
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 188px;
    height: 65px;
    background: url(../../img/lp/cmn/icon_arrow.svg) no-repeat center center / contain;
}
.to-solve__title {
    font-size: 4.8rem;
    color: #0a73bb;
    line-height: 1.6; /* calc(77 / 48) */
    text-align: center;
    margin-bottom: 5rem;
}
.to-solve__box ul {
    width: 1000px;
    margin: 0 auto;
    padding-left: 18.4rem;
}
.to-solve__box ul li {
    display: flex;
    align-items: center;
}
.to-solve__box ul li:not(:last-child) {
    margin-bottom: 5rem;
}
.to-solve__imgBox {
    width: 58px;
    margin-right: 4.3rem;
}
.to-solve__text {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.58; /* calc(38 / 24) */
}
@media screen and (max-width: 599px) {
    .section.problem {
        padding: 4rem 0 0;
    }
    .problem .section__title {
        padding: 4.1rem 2rem 0;
        margin-bottom: 4.3rem;
    }
    .problem__box {
        width: 100%;
        padding: 0 2rem;
        margin-bottom: 4.3rem;
    }
    .problem__box ul {
        display: block;
    }
    .problem__box ul li {
        width: 100%;
    }
    .problem__box ul li:not(:last-child) {
        margin-bottom: 3.5rem;
    }
    .problem__imgBox {
        height: auto;
    }
    .problem__box ul li:nth-child(1) .problem__imgBox {
        margin-bottom: 2.2rem;
    }
    .problem__box ul li:nth-child(2) .problem__imgBox {
        margin-bottom: 2.5rem;
    }
    .problem__box ul li:nth-child(3) .problem__imgBox {
        margin-bottom: 1.8rem;
    }
    .problem__box ul li:nth-child(1) .problem__imgBox img {
        max-width: 216px;
        transform: scale(1);
    }
    .problem__box ul li:nth-child(2) .problem__imgBox img {
        max-width: 216px;
    }
    .problem__box ul li:nth-child(3) .problem__imgBox img {
        max-width: 235px;
        transform: scale(1);
    }
    .problem__text {
        font-size: 1.5rem;
        line-height: 1.4; /* calc(21 / 15) */
    }
    .to-solve__box {
        padding: 5rem 1.5rem 4.2rem;
    }
    .to-solve__box::before {
        top: -14px;
        width: 94px;
        height: 32px;
    }
    .to-solve__title {
        font-size: 2.8rem;
        line-height: 1.4; /* calc(39 / 28) */
        margin-bottom: 3rem;
    }
    .to-solve__box ul {
        width: 100%;
        padding: 0 2rem;
    }
    .to-solve__box ul li {
        flex-direction: column;
    }
    .to-solve__box ul li:not(:last-child) {
        margin-bottom: 3rem;
    }
    .to-solve__imgBox {
        width: 36px;
        margin-right: 0;
        margin-bottom: 2rem;
    }
    .to-solve__text {
        font-size: 1.5rem;
        line-height: 1.4; /* calc(21 / 15) */
        text-align: center;
    }
}

/*============================================
reason
============================================*/

.reason .section__title {
    line-height: 1.2;
    margin-bottom: 5rem;
}
.reason .section__title span {
    font-size: 7rem;
    color: #e45700;
}
.reason__box {
    display: flex;
}
.reason__box:nth-child(2n) {
    flex-direction: row-reverse;
}
.reason__box:not(:last-child) {
    margin-bottom: 5rem;
}
.reason__box__imgBox {
    position: relative;
    width: 100%;
    max-width: 485px;
    min-height: 420px;
    overflow: hidden;
    border-radius: 10px;
}
.reason__box__imgBox img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.reason__box:nth-child(2n+1) .reason__box__imgBox {
    margin-right: 3.2rem;
}
.reason__box.orange .reason__box__imgBox img {
    object-position: 21% 50%;
}
.reason__box.yellow .reason__box__imgBox img {
    object-position: 74% 50%;
}
.reason__box.turquoise .reason__box__imgBox img {
    object-position: 62% 50%;
}
.reason__box__textBox {
    width: 100%;
    max-width: 483px;
}
.reason__box:nth-child(2n) .reason__box__textBox {
    margin-right: 3.2rem;
}
.reason__box__title {
    position: relative;
    font-size: 3.2rem;
    line-height: 1.59; /* calc(51 / 32) */
    padding-left: 9.5rem;
    padding-bottom: 1.8rem;
    margin-bottom: 1.6rem;
}
.reason__box__title::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 100%;
    font-size: 6.4rem;
    font-weight: 700;
}
.reason__box.orange .reason__box__title {
    border-bottom: 6px solid #fc9f00;
}
.reason__box.orange .reason__box__title::before {
    content: "01";
    color: #fc9f00;
}
.reason__box.yellow .reason__box__title {
    border-bottom: 6px solid #f7d500;
}
.reason__box.yellow .reason__box__title::before {
    content: "02";
    color: #f7d500;
}
.reason__box.green .reason__box__title {
    border-bottom: 6px solid #b6e611;
}
.reason__box.green .reason__box__title::before {
    content: "03";
    color: #b6e611;
}
.reason__box.blue .reason__box__title {
    border-bottom: 6px solid #5bdfeb;
}
.reason__box.blue .reason__box__title::before {
    content: "04";
    color: #5bdfeb;
}
.reason__box.turquoise .reason__box__title {
    border-bottom: 6px solid #55c3c0;
}
.reason__box.turquoise .reason__box__title::before {
    content: "05";
    color: #55c3c0;
}
.reason__box.purple .reason__box__title {
    border-bottom: 6px solid #994ce5;
}
.reason__box.purple .reason__box__title::before {
    content: "06";
    color: #994ce5;
}
.reason__box__text {
    line-height: 2; /* calc(32 / 16) */
}
@media screen and (max-width: 599px) {
    .reason .section__title span {
        font-size: 3.3rem;
    }
    .reason__box,
    .reason__box:nth-child(2n) {
        flex-direction: column-reverse;
        align-items: center;
    }
    .reason__box:not(:last-child) {
        margin-bottom: 4.2rem;
    }
    .reason__box__title {
        font-size: 2rem;
        padding: 0 2.1rem .9rem 5.5rem;
        margin-bottom: 1.4rem;
    }
    .reason__box__title::before {
        width: 55px;
        font-size: 3.5rem;
    }
    .reason__box.orange .reason__box__title,
    .reason__box.yellow .reason__box__title,
    .reason__box.green .reason__box__title,
    .reason__box.blue .reason__box__title,
    .reason__box.turquoise .reason__box__title,
    .reason__box.purple .reason__box__title {
        border-width: 3px;
    }
    .reason__box__text {
        font-size: 1.2rem;
    }
    .reason__box:nth-child(2n+1) .reason__box__imgBox {
        margin-right: 0;
    }
    .reason__box:nth-child(2n) .reason__box__textBox {
        margin-right: 0;
    }
    .reason__box__imgBox {
        min-height: unset;
        margin-bottom: 2rem;
        padding-top: calc(558 / 670 * 100%);
    }
    .reason__box__imgBox img {
        display: block;
    }
    .reason__box.turquoise .reason__box__imgBox img {
        transform: scale(1.15);
    }
}

/*============================================
program
============================================*/

.program .section__title {
    line-height: 1.6; /* calc(77 / 48) */
    margin-bottom: 4.2rem;
}
.program__box:not(:last-child) {
    margin-bottom: 5.5rem;
}
.program__box__title {
    font-size: 3.2rem;
    line-height: 1.59; /* calc(51 / 32) */
    text-align: center;
    margin-bottom: 4rem;
}
.program__box__title span {
    display: block;
    font-size: 2.4rem;
    line-height: 1.58; /* calc(38 / 24) */
    color: #e45700;
}
.program__box__body {
    display: flex;
}
.program__box__imgBox {
    width: 100%;
    max-width: 372px;
    margin-right: 2.6rem;
    border-radius: 10px;
    overflow: hidden;
}
.program__box__imgBox .object-fit-img {
    object-fit: cover;
    font-family: 'object-fit: cover;';
}
.program__box:nth-child(1) .program__box__imgBox {
    max-height: 250px;
    text-align: center;
    background: #fafafa;
}
.program__box:nth-child(1) .program__box__imgBox img {
    transform: scale(.75) translateY(-40%);
}
.program__box:nth-child(3) .program__box__imgBox {
    max-height: 273px;
}
.program__box__img {
    overflow: hidden;
    border-radius: 10px;
}
.program__box__img:first-child {
    margin-bottom: .7rem;
}
.program__box__img:first-child img {
    transform-origin: right bottom;
    transform: scale(1.1);
}
.program__box__textBox {
    width: 100%;
    max-width: 602px;
    transform: translateY(-8px); /* line-height分の調整 */
}
.program__box__text {
    line-height: 2; /* calc(32 / 16) */
    margin-bottom: 2rem;
}
.program__box__textBox dl {
    border: 1px solid #0a73bb;
}
.program__box__textBox dl dt {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.58; /* calc(38 / 24) */
    text-align: center;
    padding: 1.5rem;
    background: #d8eefd;
}
.program__box__textBox dl dd {
    padding: 1em;
    line-height: 2; /* calc(32 / 16) */
}
.program__box__textBox dl dd ul {
    display: flex;
    flex-wrap: wrap;
}
.program__box__textBox dl dd ul li {
    margin-right: 1em;
}
@media screen and (max-width: 599px) {
    .program .section__title {
        margin-bottom: 2.7rem;
    }
    .program__box:not(:last-child) {
        margin-bottom: 3rem;
    }
    .program__box__title {
        font-size: 2rem;
        line-height: 1.6; /* calc(32 / 20) */
        margin-bottom: 1.7rem;
    }
    .program__box__title span {
        font-size: 1.5rem;
        line-height: 1.6; /* calc(24 / 15) */
        margin-bottom: .5rem;
    }
    .program__box__body {
        display: block;
    }
    .program__box__imgBox {
        max-width: 100%;
        margin-bottom: 2rem;
    }
    .program__box__img:first-child img {
        transform: scale(1);
    }
    .program__box__text {
        font-size: 1.2rem;
        line-height: 1.8; /* calc(21.5 / 12) */
        margin-bottom: 1.2rem;
    }
    .program__box__textBox dl dt {
        font-size: 1.5rem;
        line-height: 1.6; /* calc(24 / 15) */
        padding: .5rem 1rem;
    }
    .program__box__textBox dl dd {
        font-size: 1.2rem;
        padding: 1.2rem 1.5rem 1.2rem 2rem;
    }
}

/*============================================
report
============================================*/

.report .section__title {
    line-height: 1.6; /* calc(77 / 48) */
    margin-bottom: 4.2rem;
}
.report__box {
    display: flex;
    align-items: center;
    padding: 4.5rem 5.5rem 5rem;
    border: 2px solid #e45700;
    border-radius: 10px;
}
.report__box__textBox {
    width: 100%;
    max-width: 692px;
    margin-right: 6.5rem;
}
.report__box__title {
    font-size: 3.2rem;
    line-height: 1.59; /* calc(51 / 32) */
    margin-bottom: 2.8rem;
}
.report__box__text {
    line-height: 2; /* calc(32 / 16) */
}
.report__box__imgBox {
    width: 100%;
    max-width: 243px;
}
@media screen and (max-width: 599px) {
    .report .section__title {
        margin-bottom: 2.3rem;
    }
    .report__box {
        flex-direction: column-reverse;
        padding: 2.5rem 2rem 3rem;
        border: 1px solid #e45700;
        border-radius: 5px;
    }
    .report__box__textBox {
        margin-right: 0;
    }
    .report__box__title {
        font-size: 1.5rem;
        line-height: 1.4; /* calc(21 / 15) */
        margin: 0 -0.5rem 2rem;
        text-align: center;
    }
    .report__box__text {
        font-size: 1.2rem;
        line-height: 1.8; /* calc(21.5 / 12) */
    }
    .report__box__imgBox {
        text-align: center;
        margin-bottom: 2rem;
    }
    .report__box__imgBox img {
        width: 130px;
    }
}
