main {
    overflow: hidden;
}

/* mv */
.mv{
    position: relative;

    width: 100%;
    overflow: hidden;
    padding-top: 150px;
}
.mv::before{
    content:"";
    position:absolute;
    inset:0;
    background-image: url("../../images/img-mv_bg.jpg");
    background-size: cover;
    background-position: center;
    z-index: -2;
}

.mv__box{
    position: relative;
    z-index: 1;
}

.mv__box {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 4.375rem;
    padding-bottom: 1.25rem;
}

.mv__text{
    font-family: "Noto Sans", sans-serif;
}

.mv__lead01{
    display: inline-flex;
    align-items: center;
    font-size: 1.25rem;
    color: #0D4290;
    font-weight: 900;
    text-shadow:
    .125rem .125rem 0 #FFF, -0.125rem -0.125rem 0 #FFF,
    -0.125rem .125rem 0 #FFF,  .125rem -0.125rem 0 #FFF,
    0rem .125rem 0 #FFF,  0rem -0.125rem 0 #FFF,
    -0.125rem 0rem 0 #FFF,  .125rem 0rem 0 #FFF;
}

.mv__lead01::before,.mv__lead01::after{
    content: "";
    display: inline-block;
    width: 1.875rem;
    height: .1875rem;
    background: #0D4290;
    filter:
    drop-shadow( .0625rem  .0625rem 0 #FFF)
    drop-shadow(-0.0625rem -0.0625rem 0 #FFF)
    drop-shadow(-0.0625rem  .0625rem 0 #FFF)
    drop-shadow( .0625rem -0.0625rem 0 #FFF)
    drop-shadow( 0rem  .0625rem 0 #FFF)
    drop-shadow( 0rem -0.0625rem 0 #FFF)
    drop-shadow(-0.0625rem  0rem 0 #FFF)
    drop-shadow( .0625rem  0rem 0 #FFF);
}

.mv__lead01::before {
    transform: rotate(45deg);
    margin-right: 0.5em;
}

.mv__lead01::after {
    transform: rotate(-45deg);
    margin-left: 0.5em;
}

.mv__lead02{
    font-size: 3rem;
    color: #0D4290;
    font-weight: 900;
    text-shadow:
        .125rem .125rem 0 #FFF, -0.125rem -0.125rem 0 #FFF,
        -0.125rem .125rem 0 #FFF,  .125rem -0.125rem 0 #FFF,
        0rem .125rem 0 #FFF,  0rem -0.125rem 0 #FFF,
        -0.125rem 0rem 0 #FFF,  .125rem 0rem 0 #FFF;
}
.mv__title{
    font-size: 4.375rem;
    color: #fff;
    font-weight: 900;
    text-align: center;
    background-color: #0D4290;
    padding: .25rem 1.5rem;
}

.mv__label{
    font-size: 2.25rem;
    font-weight: 900;
    background-color: #fff;
    padding: .125rem .5rem;
    margin-top: .625rem;
    text-align: center;
    margin-bottom: 3.125rem;
}

.mv__label span{
    color: #237AFC;
}

.swiper,
.swiper-wrapper,
.swiper-slide {
    width: 100%;
}

.swiper-slide {
    display: flex;
    justify-content: center;
}

.ai-swiper {
    width: 100%;
    overflow: visible;
}

.ai-swiper .swiper-wrapper {
    height: auto !important;
}

.ai-swiper .swiper-slide {
    min-height: 300px;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ai__form_box{
    flex-shrink: 0;
}

.ai__subtitle{
    font-size: 1.5rem;
    font-weight: 700;
}

.ai__headText{
    display: inline-flex;
    align-items: center;
    font-size: 1.25rem;
    margin-top: .625rem;
    font-weight: 700;
    color: #FF8400;
}

.ai__headText::before,
.ai__headText::after {
    content: "";
    width: 1.875rem;
    height: .1875rem;
    background: #ff6a00;
}

.ai__headText::before {
    transform: rotate(45deg);
    margin-right: 0.4em;
}

.ai__headText::after {
    transform: rotate(-45deg);
    margin-left: 0.4em;
}

.ai__btnWrap{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 17.5rem;
    background: #4F4E4D;
    margin-top: .5rem;
    text-decoration: none;
    cursor: pointer;
}

.ai__btnWrap:hover{
    opacity: .85;
}

.ai__btnText{
    padding: .5rem 0;
    color: #FFF;
    font-weight: 700;
    font-size: 1.375rem;
}

.ai_arrow{
    position: absolute;
    right: 20px;
    width: 15px;
    height: 15px;
    border-right: .125rem solid #fff;
    border-bottom: .125rem solid #fff;
    transform: rotate(-45deg);
}

.ai__frame{
    width: 31.875rem;
    max-width: 100%;
    aspect-ratio: 51 / 52;
    height: auto;
    background: #fff;
    padding: 24px;
    box-shadow: 0 10px 30px rgba(0,0,0,.15);
    outline: 2px solid #F5AD00;
    outline-offset: -0.625rem;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    text-align: center;
    justify-content: center;
    align-items: center;
    margin-bottom: 2.5rem;
    overflow: hidden;
}

.ai__frameTitle{
    font-weight: 700;
    font-size: 4rem;
}

.ai-diagnosis-wrapper {
    max-width: 600px;
    margin: 0 auto;
    position: relative;
    z-index: 5;
}

.ai-swiper {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    overflow: hidden;
}

.ai-swiper .swiper-wrapper {
    height: auto !important;
}

.ai-swiper .swiper-slide {
    min-height: auto;
    height: auto;
}

.ai__frame {
    display: flex;
    justify-content: center;
    align-items: center;
}

.ai-swiper {
    width: 100%;
}

.ai-swiper .swiper-slide {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
    padding: 0 1.25rem;
}

.ai-swiper .swiper-slide:first-child {
    justify-content: center;
}

.next-btn,
.submit-btn {
    display: block;
    padding: .75rem 2rem;
    font-size: 1.125rem;
    font-weight: 700;
    border: none;
    border-radius: .25rem;
    background: #4F4E4D;
    color: #fff;
    cursor: pointer;
}

.next-btn:hover,
.submit-btn:hover {
    opacity: .85;
}

.next__btnText{
    color: #fff;
    font-weight: 700;
    font-size: 1.125rem;
    padding: .625rem 0;
}

.prev-btn:hover {
    opacity: 0.5;
}

.ai-btn {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    width: 100%;
}

.ai-btn .ai__btnWrap {
    pointer-events: none;
}

.back-btn {
    background: none;
    border: none;
    font-weight: 700;
    font-size: 1.125rem;
    cursor: pointer;
    padding: 0;
    margin-top: .9375rem;
}

.ai-swiper .q-fields {
    width: 100%;
    max-width: 420px;
    margin: 0 auto 0;
}

.ai-swiper .field-block {
    margin-bottom: .875rem;
    text-align: left;
}

.ai-swiper .field-label {
    font-weight: 700;
    font-size: .875rem;
    margin-bottom: .25rem;
    display: block;
}

.ai-swiper .fixed-pref {
    background: #f4f4f4;
    border: 1px solid #F0F0F0;
    padding: .625rem;
    font-size: 1rem;
    border-radius: .25rem;
    width: 100%;
}

.ai-swiper .form-select,
.ai-swiper .q-fields input[type="text"] {
    width: 100%;
    padding: .625rem;
    font-size: 1rem;
    background: #F0F0F0;
    border-radius: .25rem;
    border: 1px solid #F0F0F0;
}

/* フォーカス時 */
.ai-swiper .q-fields input[type="text"]:focus {
    outline: none;
    border-color: #FF8400;
    box-shadow: 0 0 0 1px rgba(255,132,0,.4);
}

.q-title{
    font-size: 1.125rem;
    font-weight: 700;
    margin: .9375rem 0;
}

.q-subtitle{
    font-size: 1rem;
    margin-bottom: .9375rem;
    text-align: left;
}

.next__btnText{
    font-size: 1.125rem;
    color: #fff;
    font-weight: 700;
}


.ai-swiper .form-textarea {
    width: 100%;
    min-height: 7.5rem;
    padding: .75rem 1.3125rem;
    font-size: .875rem;
    line-height: 1.6;
    border-radius: 4px;
    border: 1px solid #F0F0F0;
    background: #F0F0F0;
    resize: vertical;
    box-sizing: border-box;
    transition: border-color .2s, box-shadow .2s;
}

.privacy-text{
    color: #818181;
}

.privacy-text a{
    text-decoration: underline;
    color: #818181;
}

/* フォーカス時 */
.ai-swiper .form-textarea:focus {
    outline: none;
    border-color: #FF8400;
    box-shadow: 0 0 0 1px rgba(255,132,0,.4);
}

.ai-swiper input[type="tel"],
.ai-swiper input[type="email"] {
    width: 100%;
    padding: .625rem;
    font-size: 1rem;
    box-sizing: border-box;
    border-radius: 4px;
    border: 1px solid #F0F0F0;
    background: #F0F0F0;
    transition: border-color .2s, box-shadow .2s;
}

.ai-swiper input[type="tel"]:focus,
.ai-swiper input[type="email"]:focus {
    outline: none;
    border-color: #FF8400;
    box-shadow: 0 0 0 1px rgba(255,132,0,.4);
}

.ai-swiper .form-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 2.75rem;
}

.ai-swiper .field-block:has(.form-select) {
    position: relative;
}

.ai-swiper .field-block:has(.form-select)::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 63%;
    width: 8px;
    height: 8px;
    border-right: 2px solid #4F4E4D;
    border-bottom: 2px solid #4F4E4D;
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
}

.form-select {
    color: #333;
}

/* placeholder 表示時（未選択） */
.form-select:has(option[value=""]:checked) {
    color: #c6c6c6;
}

.wpcf7 form.sent .wpcf7-response-output {
    color: #fff;
    font-weight: bold;
    border-color: #46b450;
}


@media (max-width: 560px) {
    .q-title{
        font-size: 1rem;
    }
    .is-cover {
        outline: none;
    }
}

@media (max-width: 1000px) {
    .mv {
        height: auto;
    }
    .mv__box{
        flex-direction: column;
        text-align: center;
        gap: 0px;
        padding-bottom: 3.75rem;
    }

}

@media (max-width: 768px) {
    .mv__lead01{
        text-shadow:
        .075rem .075rem 0 #FFF, -0.075rem -0.075rem 0 #FFF,
        -0.075rem .075rem 0 #FFF,  .075rem -0.075rem 0 #FFF,
        0rem .075rem 0 #FFF,  0rem -0.075rem 0 #FFF,
        -0.075rem 0rem 0 #FFF,  .075rem 0rem 0 #FFF;
    }
    .mv__lead01::before,
    .mv__lead01::after {
        filter:
            drop-shadow(.03rem .03rem 0 #FFF)
            drop-shadow(-0.03rem -0.03rem 0 #FFF)
            drop-shadow(-0.03rem .03rem 0 #FFF)
            drop-shadow(.03rem -0.03rem 0 #FFF)
            drop-shadow(0rem .03rem 0 #FFF)
            drop-shadow(0rem -0.03rem 0 #FFF)
            drop-shadow(-0.03rem 0rem 0 #FFF)
            drop-shadow(.03rem 0rem 0 #FFF) !important;
    }

    .mv__lead02 {
        font-size: 39px;
        text-shadow:
            .085rem .085rem 0 #FFF, -0.085rem -0.085rem 0 #FFF,
            -0.085rem .085rem 0 #FFF,  .085rem -0.085rem 0 #FFF,
            0rem .085rem 0 #FFF,  0rem -0.085rem 0 #FFF,
            -0.085rem 0rem 0 #FFF,  .085rem 0rem 0 #FFF;
    }
    .mv__label {
        font-size: 1.875rem;
    }
    .mv__title {
        font-size: 3.5rem;
    }
}

@media (max-width: 560px) {
    .mv__lead01 {
        font-size: 1rem;
    }
    .mv__lead02 {
        font-size: 1.5rem;
    }
    .navbar__logo-wrapper {
        display: flex;
        align-items: center;
        height: 100%;
        padding-left: .625rem;
        padding-right: 1.25rem;
    }

    .ai__frame.swiper {
        width: 100%;
        max-width: 20.625rem;
        height: 33.125rem;
        margin: 0 auto;
        padding: 0 .75rem;
        overflow: hidden;
    }
    .swiper-wrapper {
        height: 100%;
    }

    .swiper-slide {
        height: auto;
    }


    .ai-swiper .swiper-slide {
        padding: 1rem;
    }
    .ai__frame {
        width: 20rem;
    }

    .ai__frameTitle {
        font-size: 2.5rem;
    }
    .ai__headText {
        font-size: 1rem;
    }
    .ai__subtitle {
        font-size: 1rem;
    }
    .contact__btn {
        font-size: .875rem;
        width: 7.5rem;
    }
    .mail_icon {
        gap: .1875rem
    }
    .mail_icon::before {
        content: "";
        display: inline-block;
        width: 1.25rem;
        height: 1.125rem;
    }
    .ai__form_box {
        width: 100%;
    }
    .mv__title {
        font-size: 3.375rem;
    }
    .mv__label {
        font-size: 1.25rem;
    }
    .mv__box {
        gap: 0;
    }
}

@media (max-width: 360px) {
    .mv__lead02 {
        font-size: 1.4rem;
    }
    .mv__label {
        font-size: 1rem;
    }
    .mv__label {
        margin-bottom: 1.875rem;
    }
    .ai__frame {
        width: 18.125rem;
    }
    .ai__headText {
        font-size: .9375rem;
    }
    .ai__btnWrap {
        width: 13.75rem;
        margin-top: .6875rem;
    }
    .ai__btnText {
        font-size: 1.2rem;
    }
}

/* menu */
/* PC */
.nav__menuList{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3.375rem;
    padding: 2.25rem 0;
}

/* メニュー項目 */
.nav__menuItem a{
    font-weight: bold;
    position: relative;
    padding-left: 1.25rem;
    display: inline-block;
    white-space: nowrap;
}

.nav__menuItem a::before{
    content: "▶";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

@media (max-width: 768px) {
    .nav__menuList {
        display: grid;
        grid-template-columns: repeat(2, max-content);
        justify-content: center;
        column-gap: 1.5rem;
        row-gap: 1.25rem;
        padding: 2.25rem 0 0;
    }
}

/* section subsidy__message */
.subsidy__message{
    position: relative;
    text-align: center;
    background: #A0CBFF;
    margin-top: 5rem ;
    padding: 2.5rem 0;
}
.subsidy__message .container{
    width: 90%;

}
.subsidy__message::after{
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -2.9375rem;
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-color: #A0CBFF transparent transparent transparent;
    border-width: 144px 320px 0 320px;
    z-index: -1;
}
.subsidy__message h2{
    position: absolute;
    top: -1.875rem;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    font-size: 1.5rem;
    font-weight: 700;
    background: #205FBD;
    color: #fff;
    padding: .625rem 1.875rem;
    clip-path: polygon(16px 0%, 100% 0%, calc(100% - 16px) 100%, 0% 100%);
}

.subsidy__messageList{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.5rem;
}

.message__text__right{
    text-align: left;
}
.message__text__right p{
    font-weight: bold;
    font-size: 1.125rem;

}
.message__img__left img{
    margin-bottom: .5rem;
    width: 100%;
}
.message__img__left span{
    font-weight: bold;
}

@media (max-width: 768px) {
    .subsidy__message h2 {
        min-width: 14.4375rem;
    }
    .subsidy__messageList{
        flex-direction: column;
        gap: .9375rem;
    }
    .message__img__left img {
        height: 14.375rem;
        margin-top: 2.5rem;
    }
    .subsidy__message::after {
        bottom: -1.75rem;
        border-width: 176px 256px 0 256px;
    }
}

/* section consult */
section.consult{
    margin: 7.5rem 0 3rem 0;
}

section.consult .container{
    width: 90%;

}

.consult__Area{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}

.consult__heading{
    font-weight: 700;
    font-size: 48px;
    color: #E34038;
    margin-bottom: 2rem;
}

.consult_text{
    font-weight: bold;
    letter-spacing: .03rem;
    font-size: 1.125rem;
    margin-bottom: 1.875rem;
}

.consult__image img{
    width: 20rem;
}
ss
.consult__image2 img{
    width: 18rem;
}

.consult_cardList{
    display: flex;
    justify-content: space-between;
    text-align: center;
}

.consult__cardTitle{
    padding: 0px 0 .5625rem 0;
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 1.5rem;
    background: #FFAE2C;
    color: #fff;
}

.consult__contactGroup{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex: 1;
}

.consult__cardDate{
    font-size: 1.125rem;
    font-weight: bold;
    color: #E34038;
    display: inline-block;
    margin-bottom: .5rem;
}

.consult__cardText{
    font-weight: bold;
    font-size: 1.5rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .5625rem;
}

.consult__cardText::before{
    content: "";
    background-image: url("../../images/icon-mail.png");
    display: inline-block;
    width: 40px;
    height: 30px;
    background-size: contain;
    background-repeat: no-repeat;
}
.consult__cardText::after{
    content: "";
    background-image: url("../../images/icon-arrow.png");
    display: inline-block;
    width: 2.8125rem;
    height: 2.8125rem;
    background-size: contain;
    background-repeat: no-repeat;
}


.consult__cardTime{
    display: inline-block;
    color: #FF8400;
    font-weight: bold;
    font-size: 1.125rem;
    margin: .5rem 0;
}

.consult__cardNumber{
    font-size: 4.4375rem;
    font-family: "Bebas Neue", sans-serif;
    color: #FF8400;
    line-height: 1;
}

.consult__cardLeft,.consult__cardRight{
    width: 33rem;
    background: #fff;
    border: .375rem solid #FFAE2C;
    display: flex;
    flex-direction: column;
    box-shadow: .1875rem .25rem .875rem #00000026;
}

@media (max-width: 768px) {
    section.consult {
        margin: 3rem 0 1.875rem 0;
    }
    .consult__Area {
        flex-direction: column;
        gap: 0;
    }
    .consult__heading {
        text-align: center;
        margin-bottom: 1.25rem;
        margin-top: 1.25rem;
        font-size: 1.5rem;
    }
    .consult__image img {
        width: 11rem;
        margin-bottom: -3.125rem;
    }
    .consult__image2 img {
        width: 11rem;
        margin-bottom: -1.125rem;
    }
    .consult_cardList {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .consult__cardLeft, .consult__cardRight {
    width: 21.25rem;
    }
    .consult__cardLeft, .consult__cardRight {
        margin-bottom: .9375rem;
        width: 100%;
    }
    .consult__contactGroup {
        margin-bottom: .4375rem;
    }
    .consult__cardText {
        font-weight: bold;
        font-size: 1.3rem;
    }
    .consult__cardText::before {
        width: 2rem;
        height: 1.625rem;
}
    .consult__cardText::after {
        content: "";
        background-image: url(../../images/icon-arrow.png);
        display: inline-block;
        width: 2.1875rem;
        height: 2.1875rem;
    }
    .consult__cardNumber {
        font-size: 3.3rem;
    }
    .consult__cardDate {
        margin-bottom: 0;
    }
    .consult_text{
        font-size: 1rem;
    }
}


/* section problem */
section.problem{
    position: relative;
    text-align: center;
    background: #636363;
    padding: 3.75rem 0;
}
section.problem .container{
    width: 90%;
}
section.problem::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -2.9375rem;
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-color: #636363 transparent transparent transparent;
    border-width: 9rem 20rem 0 20rem;
    z-index: -1;
}
.problem__image{
    position: absolute;
    max-width: 12.5rem;
    bottom: 0;
    left: 0;
}

.problem__heading{
    font-weight: 700;
    color: #fff;
    font-size: 2.5rem;
    margin-bottom: 2rem;
}

.problem__List{
    display: block;
    margin: 0 auto;
    display: inline-block;
}

.problem__Item{
    position: relative;
    font-weight: bold;
    color: #fff;
    text-align: left;
    letter-spacing: .03rem;
    margin-bottom: .625rem;
    font-size: 1.5rem;
    padding-left: 2.1875rem;
}

.problem__Item::before{
    content: "";
    position: absolute;
    background-image: url(../../images/checkbox.png);
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    width: 1.5625rem;
    height: 1.5625rem;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

.problem__Item:nth-last-child(1){
    margin-bottom: 0;
}

.problem__Text{
    font-weight: 700;
    font-size: 1.5rem;
    color: #fff;
    margin-top: 2rem;
    padding: 0 1.25rem;
    position: relative;
}

.problem__Text::before,
.problem__Text::after {
    content: "";
    position: absolute;
    top: 65%;
    width: 3.625rem;
    height: .125rem;
    background: #fff;
}

.problem__Text::before {
    left: 3.125rem;
    transform: translateY(-50%) rotate(50deg);
}

.problem__Text::after {
    right: 3.9375rem;
    transform: translateY(-50%) rotate(-50deg);
}


@media (min-width: 768px) {
    .pc__brNone{
        display: none;
    }
}
@media (max-width: 768px) {
    section.problem  {
        padding: 2.5rem 0;
    }
    .problem__heading {
        font-size: 1.5rem;
        letter-spacing: 0;
    }
    .problem__Item {
        font-size: 1rem;
    }
    .sp__brNone{
        display: none;
    }
    .problem__Text {
        text-align: left;
        font-size: 1.4rem;
    }
    .problem__Text::before, .problem__Text::after {
        display: none;
    }
    .problem__image {
        display: none;
    }
    section.problem::after {
        bottom: -1.75rem;
        border-width: 176px 256px 0 256px;
    }
}

/* section result */
.result__heading{
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    margin-top: 6rem;
    line-height: 1.8;
    margin-bottom: 2rem;
}

.result .container{
    width: 90%;
}

.result__heading span{
    color: #205FBD;
}

.result__text{
    text-align: center;
    margin-bottom: 5rem;
    font-size: 1.125rem;
}

@media (max-width: 48rem) {
    .result__heading {
        font-size: 1.38rem;
    }
    .result__text {
        text-align: left;
    }
}

/* section benefit */
.benefit{
    background-color: #F4F4F4;
    padding: 5rem 0 4.375rem 0;
    position: relative;
}

.benefit .container{
    width: 90%;
}

.benefit h2{
    position: absolute;
    top: -1.875rem;
    left: 50%;
    width: 527px;
    transform: translateX(-50%);
    display: inline-block;
    font-size: 1.5rem;
    font-weight: 700;
    background-color: #205FBD;
    color: #fff;
    padding: .7rem 1.875rem;
    clip-path: polygon(16px 0%, 100% 0%, calc(100% - 16px) 100%, 0% 100%);
}

.benefit__list{
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(3, 1fr);
}

.benefit__item{
    text-align: center;
    flex-direction: column;
    display: flex;
    align-items: center;
}

.benefit__item img{
    margin-bottom: .9375rem;
    width: 9.375rem;
}

.benefit__item span{
    font-weight: 700;
    font-size: 1.375rem;
}

.benefit__color{
    color: #205FBD;
}

.benefit__supplement{
    font-size: .875rem;
    font-weight: 700;
}

@media (max-width: 768px) {
    .benefit {
        padding: 6.25rem 0 2.5rem 0;
    }
    .benefit h2 {
        text-align: center;
        max-width: 379px;
        font-size: 1.375rem;
    }
    .benefit__item span {
    font-size: 1rem;
    }
    .benefit__list{
        grid-template-columns: repeat(2, 1fr);
    }
}

/* section  achievement*/

section.achievement{
    position: relative;
    padding: 4rem 0;
    background-image: url(../../images/bg-achievement.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: auto;
    text-align: center;
    overflow: hidden;
    background-position: center;
}

section.achievement .container{
    width: 90%;
}

section.achievement::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 145, 255, 0.3);
    pointer-events: none;
    z-index: 1;
}
section.achievement .container{
    position: relative;
    z-index: 2;

}

.achievement__Title01{
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1.25rem;
}

.achievement__banner{
    width: 100%;
}

.caution{
    display: inline-block;
    font-size: 1rem;
    margin-top: .625rem;
}

.caution__wrap{
    text-align: right;
}

@media (max-width: 768px) {
    section.achievement {
        background-position: center;
    }
    section.achievement::before {
        background: rgb(139 207 255 / 60%);
    }
    .achievement__Title01 {
        font-size: 1.45rem;
    }
    .caution{
        text-align: left;
    }
}

/* section support */
section.support{
    background-color: #0052CD;
    padding: 3.75rem 0;
    position: relative;
    z-index: 1;
}

section.support .container{
    width: 90%;
}

section.support::before{
    content: "";
    position: absolute;
    background-image: url(../../images/bg-support.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
}

section.support .container{
    z-index: 2;
    position: relative;
}

section.support h2{
    position: absolute;
    top: -1.25rem;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    font-size: 2rem;
    color: #fff;
    font-weight: 700;
    background-color: #4F4E4D;
        padding: 1.25rem .625rem 1.25rem .625rem;
    z-index: 1;
    width: 815px;
    text-align: center;
    border-radius: 4.6875rem;
    max-width: 90vw;
}

section.support h2::after{
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -2.125rem;
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-color: #4F4E4D transparent transparent transparent;
    border-width: 6.5rem 6.25rem 0 6.5rem;
    z-index: -1;
}

.support__list{
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(4, 1fr);
    justify-content: center;
    margin-top: 7.5rem;
}

.support__image{
    width: auto;
    height: 6.25rem;
}

.support__item{
    background: #fff;
    padding: 2.5rem 1.5625rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.support__text{
    margin-top: 2.5rem;
    font-size: 1rem;
}

@media (max-width: 768px) {
    .support__list {
        grid-template-columns: repeat(1, 1fr);
        margin-top: 6.25rem;
    }
    section.support h2 {
        font-size: 1.125rem;
        padding: .75rem .75rem;
    }
    .support__item {
        display: flex;
        justify-content: center;
        align-items: unset;
        gap: .9375rem;
        padding: .9375rem;
        flex-direction: unset;
    }
    .support__text {
        margin-top: 0;
        letter-spacing: 0rem;
    }
    .support__image {
        height: 3.75rem;
    }
}


/* section difference */
section.difference{
    position: relative;
    background: #F2F2F2;
    padding: 3.75rem 0;
}

section.difference::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -2.9375rem;
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-color: #F2F2F2 transparent transparent transparent;
    border-width: 144px 320px 0 320px;
    z-index: -1;
}

section.difference .container{
    width: 90%;
}

/* table */
section.difference {
    padding: 3.75rem 0;
    background-color: #F2F2F2;
}

.difference__frame {
    background-color: #fff;
    padding: 2.5rem 1.25rem;
    border: solid .375rem #636363;
}

.difference__frame h2 {
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 2.5rem;
    color: #333;
    background-color: #636363;
    color: #fff;
    padding: 0 0 .625rem 0;
    margin: -2.5rem -1.25rem 1.5rem -1.25rem;
}

.difference__table {
    width: 100%;
    border-collapse: collapse;
    border-collapse: separate;
    border-spacing: .625rem 0;
}

.difference__thead th {
    padding: 1.25rem;
    text-align: center;
    font-size: 1.375rem;
    font-weight: bold;
    color: #fff;
}

.difference__th__empty {
    width: 20%;
    background-color: transparent;
}

.difference__th {
    width: 40%;
}
.difference__th__blue p{
    font-size: 1.375rem;
    color: #fff;
    background-color: #205FBD;
    padding: .625rem 0;
    border-radius: 3.125rem;
    font-weight: 700;
}

.difference__th__grey {
    width: 35%;
}

.difference__th__grey p{
    font-size: 1.375rem;
    color: #fff;
    background-color: #999999;
    padding: .625rem 0;
    border-radius: 3.125rem;
    font-weight: 700;
}

.difference__table tbody tr {
    border-bottom: .125rem dashed #999999;
    text-align: left;
}

.difference__table tbody tr:last-child {
    border-bottom: none;
}

.difference__label {
    width: 30%;
    padding: 1.875rem .9375rem;
    text-align: left;
    font-weight: bold;
    vertical-align: middle;
    font-size: 1.125rem;
    border-bottom: .0625rem dashed #787878;
}

.difference__content {
    width: 35%;
    padding: 1rem 1.25rem;
    vertical-align: middle;
    line-height: 1.25;
    font-size: 1.125rem;
    font-weight: bold;
    border-bottom: .0625rem dashed #787878;
}

.difference__contentBlue {
    background-color: #E8F4FF;
    border-left: .25rem solid #205FBD;
    border-right: .25rem solid #205FBD;
}

.difference__borderTop{
    border-top: .25rem solid #205FBD;
}
.difference__borderBottom{
    border-bottom: .25rem solid #205FBD;
}

.difference__contentGrey {
    background-color: #F2F2F2;
}

.difference__highlight {
    font-weight: bold;
    font-size: 1.125rem;
}

.difference__textBlue {
    color: #0052CD;
    font-weight: bold;
    font-size: 1.125rem;
}

.difference__content img {
    width: 100%;
    height: auto;
    display: block;
}

.difference__table tbody tr:last-child td {
    border-bottom: none;
}
@media (max-width: 768px) {
    .difference__frame {
        padding: 1.5rem .5rem;
        border-width: .25rem;
    }

    .difference__frame h2 {
        font-size: 1.5rem;
        padding: 1rem .5rem;
        margin: -1.5rem -0.5rem 1rem -0.5rem;
    }
    .difference__table__wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin: 0 -0.5rem;
        padding: 0 .5rem;
    }
    .difference__table {
        min-width: 600px;
        border-spacing: .3125rem 0;
    }

    .difference__thead th {
        padding: .75rem .5rem;
        font-size: .875rem;
    }

    .difference__th__blue p,
    .difference__th__grey p {
        font-size: .875rem;
        padding: .5rem 0;
    }

    .difference__label {
        font-size: .75rem;
        padding: 1rem .5rem;
        width: 15%;
    }

    .difference__content {
        font-size: .75rem;
        padding: .75rem .5rem;
    }

    .difference__highlight {
        font-size: .75rem;
    }

    .difference__textBlue {
        font-size: .875rem;
    }

    .difference__contentBlue {
        border-left-width: 2px;
        border-right-width: 2px;
    }

    .difference__borderTop {
        border-top-width: 2px;
    }

    .difference__borderBottom {
        border-bottom-width: 2px;
    }
    .difference__table__wrapper::after {
        content: "←→ スクロールできます";
        display: block;
        text-align: center;
        font-size: 1.5rem;
        color: #999;
        margin-top: .5rem;
        font-weight: bold;
    }
}

@media (max-width: 35rem) {
    section.difference::after {
        bottom: -1.75rem;
        border-width: 176px 256px 0 256px;
    }
}

/* section support__results */
.support__results{
    margin: 0 auto;
    padding: 3.75rem 0;
    width: 90%;
}

.support__results .container{
    width: 90%;
}

.support__resultsText{
    position: relative;
    font-weight: 700;
    font-size: 3rem;
    text-align: center;
    margin-top: .9375rem;
}

.support__resultsText::before, .support__resultsText::after {
    content: "";
    position: absolute;
    top: 65%;
    width: 6.625rem;
    height: .25rem;
    background: #205FBD;
    transform: translateY(-50%);
}

.support__resultsText::before{
    left: 50%;
    transform: translate(-29.375rem, -50%) rotate(65deg);
}

.support__resultsText::after {
    left: 50%;
    transform: translate(21.875rem, -50%) rotate(-65deg);
}

.support__color{
    color: #205FBD;
}

.support__message{
    background: #FFAE2C;
    margin-bottom: 3.75rem;
}

.support__message .container{
    width: 90%;
}

.support__messageArea{
    display: flex;
    justify-content: right;
    align-items: center;
    gap: 2rem;
}
.support__messageText{
    font-size: 2.1875rem;
    color: #fff;
    font-weight: 700;
    letter-spacing: .48px;
}
.support__messageImage{
    width: 300px;
    height: auto;
}

@media (max-width: 768px) {



    .support__resultsText {
        font-size: 1.75rem;
        line-height: 1.4;
    }

    .support__resultsText::before,
    .support__resultsText::after {
        width: 3.5rem;
        height: .1875rem;
        top: 74%;
    }

    .support__resultsText::before {
        transform: translate(-11.5rem, -50%) rotate(60deg);
    }

    .support__resultsText::after {
        transform: translate(7.5rem, -50%) rotate(-60deg);
    }









    .support__results{
        margin: 0 auto;
        padding: 3.75rem 0 2.5rem 0;
    }
    .support__resultsText {
        font-size: 1.5rem;
    }
    .support__message {
        padding: 1.7rem 0 2.5rem 0;
        margin-bottom: 2.5rem;
    }
    .support__messageArea {
        flex-direction: column-reverse;
        gap: 0;
    }
    .support__messageText {
        font-size: 1.4rem;
        text-align: center;
        margin-top: .625rem;
    }
    .support__messageImage {
        width: 9.5rem;
    }
}

/* section service */
section.service{
    padding-bottom: 3.75rem;
}

section.service .container{
    width: 90%;
}

.service__heading01{
    text-align: center;
    margin-bottom: 1.25rem;
}
.service__heading02,.service__heading03{
    margin-top: 5rem;
    text-align: center;
    margin-bottom: 1.25rem;
}

.service__number{
    font-weight: bold;
    color: #205FBD;
    font-size: 5rem;
    margin-bottom: 1.25rem;
    font-family: "Oswald", sans-serif;
}

.service__cardArea{
    display: flex;
    gap: 2.5rem;
    margin-top: 2.5rem;
}

.service__card{
    width: 50%;
}

.service__title{
    font-size: 2.1875rem;
    font-weight: 700;
    margin-bottom: 1.875rem;
    margin-top: 1.875rem;
}

.service__cardWrap01{
    text-align: center;
    background: #EBFFFF;
}

.service__cardTitle01{
    font-size: 2.1875rem;
    margin-bottom: 1.5625rem;
    background: #34BBBB;
    color: #fff;
    font-weight: 700;
    padding: .9375rem;
}

.card__inner{
    padding: 0 1.5625rem .75rem 1.5625rem;
}

.service__label01{
    font-size: 1.5rem;
    font-weight: 700;
    background: #9BE0E0;
    padding: .625rem 0;
}

.service__text{
    font-weight: 500;
    margin: .875rem 0;
    font-size: 1.25rem;
}


.service__cardWrap02{
    text-align: center;
    background: #ECF2E9;
}

.service__cardTitle02{
    font-size: 2.1875rem;
    margin-bottom: 1.5625rem;
    background: #75B050;
    color: #fff;
    font-weight: 700;
    padding: .9375rem;
}

.service__label02{
    font-size: 1.5rem;
    font-weight: 700;
    background: #ACD196;
    padding: .625rem 0;
}

.service__cardWrap03{
    text-align: center;
    background: #FBF6FF;
}

.service__cardTitle03{
    font-size: 2.1875rem;
    margin-bottom: 1.5625rem;
    background: #A162CF;
    color: #fff;
    font-weight: 700;
    padding: .9375rem;
}

.service__label03{
    font-size: 1.5rem;
    font-weight: 700;
    background: #DDC3F1;
    padding: .625rem 0;
}

.service__cardWrap04{
    text-align: center;
    background: #F4F4F4;
}

.service__cardTitle04{
    font-size: 2.1875rem;
    margin-bottom: 1.5625rem;
    background: #3F3F3F;
    color: #fff;
    font-weight: 700;
    padding: .9375rem;
}

.service__label04{
    font-size: 1.5rem;
    font-weight: 700;
    background: #D8D8D8;
    padding: .625rem 0;
}
.service__table{
    border: solid 2px #C9C9C9;
    width: 100%;
    table-layout: fixed;
}

.service__td{
    width: 40%;
    padding: 1rem 1.25rem;
    vertical-align: middle;
    line-height: 1.8;
    font-size: 1.125rem;
    font-weight: bold;
    border: solid .125rem #C9C9C9;
    text-align: center;
}
.service__tdBlue{
    background: #A0CBFF;
}

.service__th{
    padding: 1.25rem;
    text-align: center;
    font-size: 1.375rem;
    font-weight: bold;
    color: #fff;
    background-color: #205FBD;
    font-weight: bold;
        border: solid .125rem #C9C9C9;
}

.service__smallText{
    display: block;
    font-size: .875rem;
    font-weight: 500;
    color: #fff;
    line-height: 1.2em;

}

.service__caution{
    font-size: 1.5rem;
    color: #E34038;
    font-weight: 700;
    text-align: center;
    margin: 2.5rem 0;
}

/* service panel */
.service__panelArea{
    display: flex;
    gap: 2.5rem;
}

.service_panel{
    width: 50%;
    text-align: center;
    box-shadow: .1875rem .25rem .875rem #00000026;
}
.service_panelBottom{
    width: 100%;
    text-align: center;
    box-shadow: .1875rem .25rem .875rem #00000026;
}
.service__panelInner{
    padding: 1.5625rem;
}
.service__panelLabel{
    line-height: 1;
    font-size: 2rem;
    background-color: #205FBD;
    font-weight: 700;
    color: #fff;
    text-align: center;
    padding: 1.25rem;
}

.service__panelTitle{
    font-size: 1.5rem;
    font-weight: 700;
}

.service__panelText{
    font-weight: 500;
    font-size: 1.25rem;
    text-align: left;
    margin: 1.25rem 0 0 0;
}

@media (max-width: 48rem) {
    .service__number {
        font-size: 3rem;
    }
    .service__title {
        font-size: 1.5rem;
    }
    .service__cardArea {
        flex-direction: column;
    }
    .service__card {
        width: 100%;
    }
    .service__cardTitle01,
    .service__cardTitle02,
    .service__cardTitle03
    {
        font-size: 1.5rem;
    }
    .service__cardTitle04
    {
        font-size: 1.45rem;
    }
    .service__th {
        padding: .8rem;
        vertical-align: top;
        font-size: 1.125rem;
    }
    .service__td {
        padding: .5rem;
        height: 5rem;
    }
    .service__smallText {
        font-size: .75rem;
    }
    .service__caution{
        font-size: 1.125rem;
    }
    .service__panelArea {
        flex-direction: column;
    }
    .service_panel{
        width: 100%;
    }
    .service__panelInner {
        padding: .9375rem;
    }
    .service__panelLabel {
        font-size: 1.5rem;
        padding: .625rem;
    }
    .service__panelTitle {
        font-size: 1.1rem;
    }
    .service__panelText {
        font-size: 16px;
        margin: .625rem 0;
    }
    .service__heading02, .service__heading03 {
        margin-top: 2.5rem;
    }

}

/* section achievement02 */

.achievement .container{
    width: 90%;
}

.achievement__flame{
    padding: 2.5rem;
    background-color: #fff;
    margin-top: 2.5rem;

}

.achievement__table{
    width: 100%;
    text-align: center;
    margin-top: 1.5625rem;
    border-collapse: collapse;

}

.achievement__Title02{
    font-weight: 700;
    font-size: 2rem;
}

.achievement__th{
    background-color: #205FBD;
    font-weight: 700;
    color: white;
    padding: 1.5625rem 2.25rem;
    border: solid .0625rem #fff;
}
.achievement__th:nth-of-type(1){
    width: 230px;
}
.achievement__th:nth-of-type(2){
    width: 230px;
}



.achievement__td{
    padding: 1.5625rem 1.5625rem;
    vertical-align: middle;
    text-align: left;
}

.achievement__td:nth-child(1),
.achievement__td:nth-child(2) {
    font-weight: bold;
    text-align: center;
}

.achievement__trLight{
    background-color: #fff;
}

.achievement__trDark{
    background-color: #F2F2F2;
}

@media (max-width: 768px) {
    .section.achievement {
        padding: 2.5rem 0;
    }
    .achievement__flame {
        padding: .9375rem;
    }
    .achievement__th {
        padding: .625rem;
        width: 6.625rem;
    }
    .achievement__td {
        padding: .625rem;
        font-size: .8125rem;
        line-height: 17.6px;
    }
    .achievement__trDark td:nth-child(3) {
        text-align: left;
    }
    .achievement__trLight td:nth-child(3){
        text-align: left;
    }
    .achievement__th:nth-of-type(1){
        width: auto;
        max-width: none;
    }
    .achievement__th:nth-of-type(2){
        width: auto;
        max-width: none;
        width: 33%;
    }
    .achievement__th:nth-of-type(3){
        width: auto;
        max-width: none;
        width: 40%;
    }
}

/* section case */
section.case{
    padding: 3.75rem 0;
    text-align: center;
}

section.case .container{
    width: 90%;
}

.case__title{
    font-size: 2.5rem;
    font-weight: 700;
}

.case__supplement{
    font-size: 1.25rem;
    margin-bottom: 2.5rem;
}

.card__case01{
    display: flex;
    gap: 3.75rem;
    text-align: left;
    align-items: center;
    background-color: #A0CBFF;
    border-radius: 1.25rem;
}

.card__case01 img{
    width: 45%;
    border-radius: 1.25rem 0 0 1.25rem;
    object-fit: cover;
    height: 240px;
    object-position: center top;
}

.card_caseImage{
    width: 45%;
    border-radius: 1.25rem 0 0 1.25rem;
}

.case__frameNumber{
    font-weight: 700;
    color: #205FBD;
    font-family: "Oswald", sans-serif;
    font-size: 1.5625rem;
}

.case__frameNumber__grey{
    color: #4A4B4A;
    font-family: "Oswald", sans-serif;
    font-size: 1.5625rem;
}

.case__frameTitle{
    font-weight: 700;
    font-size: 2rem;
    margin: 1.25rem 0;
}

.case__inner{
    padding: .625rem 6.25rem;
}

.case__state01{
    position: relative;
    background: #F2F2F2;
    padding: 1.875rem;
    margin-top: 3.75rem;
    border-radius: 1.25rem;
}

.case__stateTitle01{
    position: absolute;
    top: -2.0625rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.625rem;
    font-weight: 700;
    background: #DEDEDE;
    width: 330px;
    border: solid 4px #4F4E4D;
    border-radius: 1.25rem;
    padding: .625rem 0;
}

.case__stateText01{
    font-weight: 700;
    font-size: 1.625rem;
    margin-top: 2.5rem;
}

.case__next{
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-color: #C9C9C9 transparent transparent transparent;
    border-width: 50px 50px 0 50px;
    margin-top: 1.875rem;
}

.case__state02{
    position: relative;
    background: #fff;
    padding: 1.875rem;
    margin-top: 3.75rem;
    border-radius: 20px;
    border: solid .25rem #4F4E4D;
}

.case__stateTitle02{
    position: absolute;
    top: -2.0625rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.625rem;
    font-weight: 700;
    background: #DEDEDE;
    width: 330px;
    border: solid 4px #4F4E4D;
    border-radius: 1.25rem;
    padding: .625rem 0;
}

.case__stateLead02{
    font-weight: 700;
    color: #205FBD;
    font-size: 1.75rem;
    margin-top: 2.5rem;
    border-bottom: solid .0625rem #787878;
    padding-bottom: .375rem;
}
.case__supplementBlue{
    color: #205FBD;
    font-size: 1.25rem;
    border-bottom: solid .0625rem #787878;
    padding-bottom: .625rem;
    font-weight: 500;

}

.case__item{
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: .9375rem 0;
    border-bottom: dotted 2px #787878;
}

.case__itemNum{
    font-family: "Bebas Neue", sans-serif;
    color: #205FBD;
    font-size: 2.375rem;
    font-weight: 400;
}

.case__itemWrap{
    flex-direction: column;
    text-align: left;
    flex: 1;
}

.case__itemTitle{
    font-weight: 700;
    font-size: 1.25rem;
    margin-bottom: .625rem;
}

.case__state03{
    position: relative;
    background: #fff;
    padding: 1.875rem;
    margin-top: 3.75rem;
    border-radius: 1.25rem;
    border: solid .25rem #A0CBFF;
}

.case__stateTitle03{
    position: absolute;
    top: -2.0625rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.625rem;
    font-weight: 700;
    background: #A0CBFF;
    width: 330px;
    border: solid 4px #4F4E4D;
    border-radius: 1.25rem;
    padding: .625rem 0;
}

.case__stateText03{
    font-weight: 700;
    font-size: 1.625rem;
    margin-top: 2.5rem;
}

.case__stateText__red{
    color: #E34038;
    font-size: 1.25rem;
    text-align: center;
    font-weight: 700;
    margin-top: 1.875rem;
    margin-bottom: 5rem;
}

.case__stateText__blue{
    color: #205FBD;
    font-weight: 700;
    font-size: 2.5rem;
}

.case__stateText__bill{
    font-size: 1.625rem;
    color: #205FBD;
}

.case__supplementRed{
    color: #E2474A;
    font-weight: 700;
    font-size: 2.1875rem;
}

.case__frameText{
    font-size: 1.125rem;
}
.case__itemText{
    font-weight: 500;
}

@media (max-width: 768px) {
    section.case {
        padding: 2.5rem 0;
    }
    .case__title {
        font-size: 1.5rem;
    }
    .card__case01 {
        flex-direction: column;
        gap: .9375rem;
        padding-bottom: 1.25rem;
        align-items: flex-start;
    }
    .case__textWrap{
        margin: 0 1.25rem;
    }
    .card__case01 img {
        width: 100%;
        max-height: 138px;
        border-radius: 1.25rem 1.25rem 0 0;
    }
    .case__frameTitle {
        margin: .3125rem 0;
        font-size: 1.5rem;
    }
    .case__stateText01 {
        font-size: 1.5rem;
        text-align: left;
        font-size: 1.125rem;
    }
    .case__inner {
        padding: 0;
    }
    .case__state01 {
        padding: 1.25rem;
        margin-top: 2.5rem;
    }
    .case__stateTitle01,
    .case__stateTitle02,
    .case__stateTitle03 {
        width: 250px;
    }
    .case__stateLead02 {
        font-size: 1.5rem;
    }
    .case__next {
        margin-top: 1.25rem;
    }
    .case__state02 {
        margin-top: 2.5rem;
    }
    .case__state03 {
        margin-top: 2.5rem;
        padding: 1.25rem;
    }
    .case__stateText03 {
        font-size: 1.125rem;
        text-align: left;
    }
    .case__stateText__red {
        margin-top: 1.25rem;
        margin-bottom: 2.5rem;
    }
    .case__supplementBlue{
        color: #205FBD;
        font-size: 1rem;
    }
    .case__itemTitle{
        font-size: 1rem;
    }
    .case__itemText{
        margin-top: .625rem;
    }
}

/* section suggestion */
section.suggestion{
    padding: 2.3125rem 0 0 0;
    background-color: #636363;
}

section.suggestion .container{
    width: 90%;
}

.suggestion__area{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.5rem;
}

.suggestion__left{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.25rem;
}

.suggestion__img{
    width: 18.0625rem;
}

.suggestion__lead{
    font-weight: 700;
    color: #fff;
    font-size: 2.1875rem;
    margin-top: 4.375rem;
    text-align: left;
}

.suggestion__arrow{
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-color: transparent transparent transparent #FFFFFF;
    border-width: 1.875rem 0 1.875rem 2.5rem;
    margin-top: 1.875rem;
}

@media (max-width: 768px) {
    section.suggestion{
        padding: 2.5rem 0;
    }
    .suggestion__lead {
        margin-top: 0;
        font-size: 1.5rem;
    }
    .suggestion__area {
        flex-direction: column;
        gap: 0;
    }
    .suggestion__arrow {
        width: 0;
        height: 0;
        margin: auto;
        border-style: solid;
        border-color: #FFFFFF transparent transparent transparent;
        border-width: 2.5rem 1.875rem 0 1.875rem;
        margin: 1.25rem 0;
    }
    .suggestion__left {
        position: relative;
        min-height: 200px;
        justify-content: center;
    }
    .suggestion__img {
        position: absolute;
        left: -52px;
        top: 50%;
        transform: translateY(-50%);
        width: 48%;
    }
    .suggestion__lead {
        position: relative;
        margin-top: 0;
        text-align: center;
        z-index: 2;
        line-height: 1.5;
        padding-left: 1.5625rem;
    }

}


/* section story */

section.story{
    position: relative;
    padding: 12.5rem 0 4rem 0;
    background-image: url(../../images/bg-story.jpg;);
    background-size: cover;
    background-repeat: no-repeat;
    overflow: hidden;
    width: 100%;
    height: auto;
    background-position: left center;
}

section.story .container{
    width: 90%;
}

section.story::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 79, 163, 0.7);
    pointer-events: none;
    z-index: 1;
}

section.story .container{
    position: relative;
    z-index: 2;
        display: flex;
    justify-content: flex-end;
}

.story__area{
    position: relative;
    background: #fff;
    padding: 2.1875rem;
    width: 49%;
    z-index: 3;
}

.story__lead{
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1.25rem;
    line-height: 1.8;
}

.story__textHighlight{
    margin-top: .625rem;
    color: #205FBD;
}

.story__img{
    position: absolute;
    max-width: 600px;
    height: auto;
    left: 16px;
    top: -120px;
    z-index: 2;
}

.story__text{
    font-size: 1rem;
    line-height: 1.8;
}

@media (max-width: 768px) {
    section.story {
        padding: 10.3125rem 0 2.5rem 0;
    }
    .section.story .container {
        flex-direction: column;
    }
    .story__area{
        width: 100%;
        padding: 1.25rem;
    }
    .story__lead {
        font-size: 1.5rem;
    }
    .story__img {
    max-width: 249px;
    left: 126px;
    top: -127px;
    overflow: hidden;
    }
}

/* section extra consult */

.extra__consult{
    padding: 3.75rem 0;
}

.extra__consult .container{
    width: 90%;
}

.extra__consultTitle{
    position: relative;
    font-weight: 700;
    font-size: 3rem;
    text-align: center;
    margin-top: .9375rem;
}

.extra__consultTitle::before, .extra__consultTitle::after {
    content: "";
    position: absolute;
    top: 65%;
    width: 6.625rem;
    height: .25rem;
    background: #205FBD;
    transform: translateY(-50%);
}

.extra__consultTitle::before{
    left: 44%;
    transform: translate(-29.375rem, -50%) rotate(65deg);
}

.extra__consultTitle::after {
    left: 55%;
    transform: translate(21.875rem, -50%) rotate(-65deg);
}

.extra__color{
    color: #205FBD;
}

.extra__consultText__bold{
    font-weight: 700;
    font-size: 1.5rem;
    text-align: center;
    margin: .9375rem 0 3.75rem 0;
}

@media (max-width: 48rem) {
    .extra__consult {
        padding: 2.5rem 0;
    }
    .extra__consultTitle {
        font-size: 1.4rem;
        margin-top: 0;
    }
    .extra__consultText__bold {
        font-size: 1rem;
        text-align: left;
    }
}

/* section flow */
section.flow{
    padding: 3.75rem 0;
    background-color: #F4F4F4;
}

section.flow .container{
    width: 90%;
}

.flow__title{
    font-weight: 700;
    font-size: 2.1875rem;
    text-align: center;
}
.marker{
    background: linear-gradient(transparent 65%, #A0CBFF 50%);
}

.flow__subTitle{
    font-weight: 700;
    text-align: center;
    font-size: 1.5rem;
    margin: 2.5rem 0;
}

.flow__list{
    background-color: #fff;
    padding: 3.75rem;
}

.flow__item{
    align-items: center;
    justify-content: center;
}

.flow__itemHeading{
    font-weight: 700;
    font-size: 1.375rem;
    padding: 1.875rem 0;
    border-top: dotted 1px #F2F2F2;border-bottom: dotted 1px #F2F2F2;
}
.flow__label{
    background-color: #205FBD;
    font-weight: bold;
    font-size: 1.5625rem;
    padding: .375rem 1.875rem;
    color: #fff;
    margin-right: .9375rem;
}
.flow__text{
    margin: .625rem 0 1.875rem 0;
    font-size: 1rem;
}
.flow__next{
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #A0CBFF transparent transparent transparent;
    margin: 1.875rem auto;
    border-width: 1.5625rem 1.1875rem 0 1.1875rem;
}

@media (max-width: 768px) {
    section.flow {
        padding: 2.5rem 0;
    }
    .flow__title {
        font-size: 1.5rem;
    }
    .flow__subTitle {
        font-size: 1.125rem;
        margin: 1.25rem 0;
    }
    .flow__label {
        display: block;
        margin-right: 0;
        margin-bottom: .3125rem;
        text-align: center;
        font-size: 1rem;
    }
    .flow__itemHeading {
        text-align: center;
        padding: 1.25rem 0;
        border-top: dotted 1px #fff;
    }
    .flow__next {
        margin: 1.25rem auto;
    }
    .flow__text {
        margin: .625rem 0;
    }
    .flow__list {
        padding: 1.25rem .9375rem;
    }
}

@media (max-width: 768px) {
    .customer__wrap {
        flex-direction: column;
    }
    .customer__textGroup {
        width: 100%;
    }
}

/* section customer */
section.customer{
    padding: 3.75rem 0;
}

section.customer .container{
    width: 90%;
}

.customer__title{
    font-weight: 700;
    font-size: 2.1875rem;
    text-align: center;
}
.customer__wrap{
    display: flex;
    text-align: center;
    justify-content: center;
    margin-top: 1.875rem;
    padding: 1.875rem;
    box-shadow: .1875rem .25rem .875rem #00000026;
    gap: 1.5625rem;
}
.customer__textGroup{
    text-align: left;
    width: 60%;
}
.customer__heading{
    font-weight: 700;
    font-size: 1.5rem;
    margin-bottom: .625rem;
}
.customer__imgGroup{
    width: 35%;
    text-align: left;
}
.customer__img{
    width: 100%;
    height: auto;
}
.customer__name{
    font-weight: 700;
    font-size: 1.25rem;
    margin: .3125rem 0;
}
.customer__text{
    font-size: 1rem;
}

@media (max-width: 48rem) {
    section.customer {
        padding: 2.5rem 0;
    }
    .customer__title {
        font-size: 1.5rem;
    }
    .customer__wrap {
        padding: .9375rem;
    }
    .customer__textGroup {
        width: 100%;
    }
    .customer__heading {
        font-size: 1.5rem;
    }
    .customer__imgGroup {
        width: 100%;
    }
    .customer__name{
        font-size: 1.125rem;
    }
}



/* section faq */
section.faq{
    padding: 3.75rem 0;
    background-color: #F4F4F4;
}

section.faq .container{
    width: 90%;
}

.faq__title{
    font-weight: 700;
    font-size: 2.1875rem;
    text-align: center;
}

.faq__list{
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-top: 2.5rem;
}
.faq__heading, .faq__contents {
    display: grid;
    gap: 1rem;
    grid-template-columns: 2rem 1fr 1.5rem;
    width: 100%;
    padding: 0;
}

.faq__item {
    background: #fff;
    padding: 2.5rem 2.5rem 0 2.5rem;
    width: 100%;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
}

.faq__item:last-child {
    padding-bottom: 2.5rem;
}

.faq__body {
    max-height: 0px;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out;
}

.faq__contents {
    max-width: 880px;
    padding-top: 1.5rem;
}
.faq__headingText {
    margin-left: .3125rem;
    align-self: center;
    color: #000;
    font-size: var(--fontMax24Min20);
    font-weight: 700;
    text-align: start;
    font-size: 1rem;
}
.faq__text{
    align-self: center;
    color: #000;
    font-size: 1rem;
    font-weight: 700;
    text-align: start;
    max-width: 800px;
    margin-left: .3125rem;
}
.faq__headingQ{
    display: block;
    text-align: center;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    color: #fff;
    background-color: #205FBD;
    border: solid 1px #205FBD;
    font-size: 2.0625rem;
    width: 42px;
    height: 42px;
    line-height: 42px;
}
.faq__textA{
    display: block;
    text-align: center;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    color: #205FBD;
    background-color: #fff;
    border: solid 1px #205FBD;
    font-size: 2.0625rem;
    width: 42px;
    height: 42px;
    line-height: 42px;
}

.faq__icon {
    width: 13px;
    height: 13px;
    border-right: .125rem solid #a0a0a0;
    border-bottom: .125rem solid #a0a0a0;
    transform: rotate(45deg);

}

.faq__item.open .faq__icon {
    transform: rotate(-135deg);
}

.faq__heading{
    border-bottom: dotted 1px #F2F2F2;
    padding-bottom: 1.5rem;
    max-width: 933px;
    align-items: center;
    /* margin: 0 auto; */
}

@media (max-width: 768px) {
    section.faq {
        padding: 2.5rem 0;
    }
    .faq__item {
        padding: 1.5rem 0;
        background: #fff;
        padding: 1.5rem 1.25rem 0 1.25rem;
        margin-bottom: 0;
    }
    .faq__title {
        font-size: 1.5rem;
    }
    .faq__heading, .faq__contents {
        gap: 0rem;
    }
    .faq__headingText {
        margin-left: 1.25rem;
    }
    .faq__text {
        margin-left: 1.25rem;
    }
}