/* general
-------------------------------------------------- */

article{
    overflow-x: hidden;
}

.en {
    font-family: 'Lato', sans-serif;
}

img{
    max-width: 100%;
    height: auto;
}

.logoStyle{
    position: relative;
    display: inline-block;
    margin-bottom: 2em;
}

.logoStyle small{
    position:absolute;
    left: 0;
    bottom: -1.8em;
    font-size: 75%;
    width: 100%;
    text-align: center;
}

.more_area{
    text-align: center;
}

.more_area a.btn{
    width: 380px;
    margin: 0 auto;
}

.more_area a.btn._faq:before {
    content: "";
    display: block;
    background: url(/resources/img/cmn/ic_faq.svg) no-repeat center top;
    width: 24.95px;
    height: 28px;
    margin-right: 8px;
}


/* 競合改修
---------------------------------------------------*/

.c-page-sub__content h2 {
    position: static;
    padding-bottom: 0;
    margin: 0;
}

.c-page-sub__content h2:after {

    width: auto;
    height: auto;
    bottom:inherit;
    left: inherit;
    margin: 0;
}

.c-page-sub__content h3 {
    border-bottom: 0;
    padding-bottom: 0;
    margin: 0;
}


@media print, screen and (min-width: 768px){
    ._sp {
        display: none!important;
    }
}

@media screen and (max-width: 767px){
    ._pc {
        display: none!important;
    }
}

/* #accentBox
-------------------------------------------------- */
article > .accentBox {
    display: block;
    width: 100%;
    height: auto;
    background: url("../img/mv-00.jpg") no-repeat;
    background-size: cover;
}

.accentBox .container{
    width: 100%;
    max-width: 1440px;
    height: auto;
    padding: 45px 0 118px;
    margin: 0 auto;
}

    .accentBox .container .kv__area{
        display: block;
        width: 40%;
        height: auto;
        margin: 0 auto;
    }

    .accentBox .container .kv{
        width: 100%;
        height: auto;
        position: relative;
        margin-bottom: 37px;
    }

        .accentBox .container .kv img{
            width: 100%;
            height: auto;
            object-fit: cover;
        }

    .accentBox .container .kv::before{
        position: absolute;
        content: "";
        width: 277.39px;
        height: 309.84px;
        background: url("../img/kv_1.png") no-repeat;
        background-size: contain;
        bottom: -180px;
        left: -330px;
    }

    .accentBox .container .kv::after{
        position: absolute;
        content: "";
        width: 341.66px;
        height: 312.63px;
        background: url("../img/kv_2.png") no-repeat;
        background-size: contain;
        bottom: -180px;
        right: -330px;
    }

@media (max-width: 1020px) and (min-width: 768px){
    .accentBox .container .kv img{
        width: 45vw;
    }

    .accentBox .container .kv::before{
        width: 23vw;
        background-position: 0% 100%;
        left: -240px;
    }

    .accentBox .container .kv::after{
        width: 26vw;
        background-position: 0% 100%;
        right: -290px;
    }
}


.accentBox .container .lead,
.accentBox .container .buttonStyle,
.accentBox .linkText{
    text-align: center;
}

.accentBox .container .lead{
    font-size: 19px;
}

    .accentBox .container .lead span{
        font-weight: 800;
        line-height: 1.6;
        position: relative;
    }

    .accentBox .container .lead span::before,
    .accentBox .container .lead span::after{
        position: absolute;
        content: "";
        width: 17px;
        height: 25px;
        background: url("../img/slash.svg") no-repeat;
        background-size: contain;
        bottom: 0px;
        left: -25px;
        transform: scale(-1, 1);
    }

    .accentBox .container .lead span::after{
        left: auto;
        right: -25px;
        transform: none;
    }

.accentBox .container .buttonStyle{
    display: block;
    width: 375.41px;
    height: 74px;
    margin: 12px auto 22px;
}

    .accentBox .container .buttonStyle a{
        display: block;
        width: 100%;
        height: 100%;
        padding: 22px 0;
        color:  #fff;
        font-size: 21px;
        font-weight: 800;
        line-height: 1.6;
        border-radius: 37px;
        background-color: #FF8F20;
        box-shadow: 0px 6px #BC5E00;
        position: relative;
        text-decoration: none;
        cursor: pointer;
    }

        .accentBox .container .buttonStyle a::before{
            position: absolute;
            content: "";
            width: 12px;
            height: 12px;
            border-right: 3px solid #fff;
            border-bottom: 3px solid #fff;
            transform: rotate(315deg);
            bottom: 28px;
            right: 25px;
        }

        .accentBox .container .buttonStyle a:active{
            top: 5px;
            color: #fff;
            box-shadow: 0px 2px 0px #BC5E00;
        }

.accentBox .container .linkText a{
    color: #000;
}
.accentBox .container .linkText,
.accentBox .container .linkText span{
    font-size: 15px;
    line-height: 1.6;
    position: relative;
}

    .accentBox .container .linkText span::before{
        position: absolute;
        content: "";
        width: 8px;
        height: 8px;
        border-right: 1.5px solid #494949;
        border-bottom: 1.5px solid #494949;
        transform: rotate(315deg);
        bottom: 5px;
        right: -15px;
    }

/* scroll
-------------------------------------------- */
.accentBox .container {
    position: relative;
}

.scroll{
    position: absolute;
    bottom: -46px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    padding: 0 0 90px;
    overflow: hidden;
    color: #35A8E3;
    font-size: 100%;
    line-height: 1;
    z-index: 9;
}

    .scroll span{
        display:inline-block;
        color: #35A8E3;
        text-align: center;
        font-size: 72.22%;
        letter-spacing: 0.08em;
    }

    .scroll::after{
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 2px;
        height: 85px;
        background: #35A8E3;
        /*animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;*/
    }

    @keyframes sdl{
        0% {
          transform: scale(1, 0);
          transform-origin: 0 0;
        }
        50% {
          transform: scale(1, 1);
          transform-origin: 0 0;
        }
        50.1% {
          transform: scale(1, 1);
          transform-origin: 0 100%;
        }
        100% {
          transform: scale(1, 0);
          transform-origin: 0 100%;
        }
    }


/* confortable
-------------------------------------------------- */
#confortable .accentBox {
    background-color: #E3F6FF;
    position: relative;
    margin-bottom: 66px;
}

    #confortable .accentBox::before{
        position: absolute;
        content: "";
        width: 100%;
        height: 66px;
        background-color: #E3F6FF;
        background: url(../img/wave-footer.png) repeat-x 100% 100%;
        background-size: auto 100%;
        bottom: -66px;
        left: 0;
    }

#confortable .accentBox .container{
    padding: 70px 0;
}

    .accentBox .container .explain{
        display: block;
        width: 75%;
        max-width: 1000px;
        height: auto;
        margin: 0 auto;
    }

.accentBox .container .explain h3{
    text-align: center;
    margin-bottom: 70px;
    position: relative;
}

    .accentBox .container .explain h3:after {
        content: "";
        display: block;
        width: 46px;
        height: 4px;
        background: url("../img/bar.svg") no-repeat;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
    }

.accentBox .container .explain .list{
    display: flex;
    width: 100%;
    height: auto;
    justify-content: space-between;
    align-items: stretch;
}

    .accentBox .container .explain .list .item{
        display: flex;
        width: calc((100% - 30px * 2) / 3);
        height: auto;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        gap: 20px;
    }

    #confortable  .accentBox .container .explain .list .item .text{
        font-size: 20px;
        line-height: 1.6;
        font-weight: 800;
        margin-left: 20px;
    }

/* step
-------------------------------------------------- */
#step .accentBox {
    background: none;
}

#step .list {
    margin: 77px 0 32px;
}

#step .list li {
    width: calc(( 100% - 88px) / 3);
    max-width: 304px;
    padding: 50px 27px 37px 27px;
    border: 3px solid #35A8E3;
    border-radius: 20px;
    position: relative;
}

    #step .list li:after {
        position: absolute;
        content: "";
        width: 26px;
        height: 26px;
        background: url(../img/arrow.svg) no-repeat 100% 100%;
        background-size: cover;
        top: 50%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        right: -38px;
    }

        #step .list li:last-child:after {
            content: none;
        }

    #step .list li .number {
        position: absolute;
        width: 68px;
        height: 68px;
        top: -34px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        z-index: 9;
    }

    #step .list li .title {
        font-size: 22px;
    }

    #step .list li .image {
        margin-top: 0;
    }

    #step .list li .text {
        font-size: 16px;
    }

    #step .lead {
        font-size: 20px;
    }

    #step .accentBox .container .buttonStyle {
        width: 513px;
    }

    #step .accentBox .container .buttonStyle a{
        font-size: 20px;
    }

/* faq
-------------------------------------------------- */
#faq .accentBox {
    background-color: #E3F6FF;
    position: relative;
    margin-bottom: 66px;
}

    #faq .accentBox:before,
    #faq .accentBox:after {
        position: absolute;
        content: "";
        width: 100%;
        height: 66px;
        background-color: #E3F6FF;
        background: url(../img/wave-footer.png) repeat-x 100% 100%;
        background-size: auto 100%;
        bottom: -66px;
        left: 0;
    }

    #faq .accentBox:after {
        background: url(../img/wave-header.png) repeat-x 100% 100%;
        background-size: auto 100%;
        bottom: auto;
        top: -66px;
    }

#faq ul.qa {
    position: relative;
}

    #faq ul.qa:before {
        position: absolute;
        content: "";
        width: 129px;
        height: 221px;
        background: url(../img/faq-decoration.png) no-repeat 100% 100%;
        background-size: cover;
        top: -218px;
        left: 66px;
        z-index: 9;
    }

#faq ul.qa li {
    margin-bottom: 20px;
}

#faq dl.ac {
    background-color: #FFF;
    border-radius: 20px;
    margin-bottom: 37px;
    letter-spacing: 0;
}

#faq dl.ac .question {
    position: relative;
    padding: 32px 120px 32px 96px;
    cursor: pointer;
    font-weight: bold;
}


#faq dl.ac .question:before {
    position: absolute;
    content: "";
    width: 35px;
    height: 33px;
    background: url("../img/q.svg") no-repeat;
    background-size: contain;
    top: 50%;
    left: 34px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

#faq dl.ac .question::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 32px;
    font-size: 72%;
    content: "開く";
    transform: translateY(-50%);
    font-weight: normal;
}
#faq dl.ac .question.open::after {
    content: "閉じる";
}
#faq dl.ac .question span {
    font-weight: bold;
}

    #faq dl.ac .question span:before,
    #faq dl.ac .question span:after {
        content: "";
        position: absolute;
        top: 50%;
        right: calc(2.4em + 32px);
        width: 20px;
        height: 2px;
        background: #FF8F20;
        transform: translateY(-50%);
        font-size: 72%;
    }

    #faq dl.ac .question span:after {
        right: calc(2.4em + 41px);
        width: 2px;
        height: 20px;
        background: #FF8F20;
        transition: .3s;
    }

    #faq dl.ac .question.open span:before {
        right: calc(3.4em + 32px);
    }

    #faq dl.ac .question.open span:after {
        top: 38%;
        right: calc(3.4em + 41px);

        transform: rotate(270deg);
    }

#faq dl.ac .answer {
    background-color: #F9F9F9;
    border-radius: 0 0 20px 20px;
    padding: 32px 32px 32px 96px;
    margin-bottom: 20px;
    position: relative;
    font-size: 16px;
    line-height: 1.8;
}

    #faq dl.ac .answer:before {
        position: absolute;
        content: "";
        width: 31px;
        height: 28px;
        background: url("../img/a.svg") no-repeat;
        background-size: contain;
        top: 50%;
        left: 34px;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
    }

    #faq ul.btnArea {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        max-width: 844px;
        margin: 0 auto;
    }

    #faq ul.btnArea .buttonStyle {
        display: block;
        width: 394px;
        height: 74px;
        padding-right: 56px;
        margin: 0;
    }

        #faq ul.btnArea .buttonStyle:last-child {
            padding-right: none;
        }

        #faq  ul.btnArea .buttonStyle a {
            font-size: 20px;
            color: #FF8F20;
            line-height: 1;
            background-color: #fff;
            border: 3px solid #FF8F20;
            box-shadow: 0px 3px #FF8F20;
        }
        #faq  ul.btnArea .buttonStyle a:hover {

            background-color: #fff1e4;
        }

        #faq  ul.btnArea .buttonStyle a:active{
            top: 3px;
            box-shadow: 0px 0px 0px #FF8F20;
        }

        #faq ul.btnArea .buttonStyle a:before {
            border-right: 3px solid #FF8F20;
            border-bottom: 3px solid #FF8F20;
        }

/* last-section
-------------------------------------------------- */
#last-section .accentBox {
    background: none;
}

#last-section .container {
    padding-bottom: 0;
    position: relative;
}

    #last-section .container:before {
        position: absolute;
        content: "";
        width: 210px;
        height: 163px;
        background: url(../img/foot-decoration.png) no-repeat 100% 100%;
        background-size: cover;
        bottom: 46px;
        right: 0;
        z-index: 1;
    }

#last-section .container .buttonStyle {
    width: 513px;
    margin-bottom: 96px;
}

#last-section .container .buttonStyle a{
    font-size: 20px;
}

#last-section .container .linkText {
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    background: #35A8E3;
    text-align: center;
}

    #last-section .container .linkText a {
        display: block;
        color: #fff;
        font-size: 16px;
        padding: 16px;
    }

    #last-section .container .linkText span::before {
        border-right: 1.5px solid #fff;
        border-bottom: 1.5px solid #fff;
        transform: rotate(225deg);
        bottom: 3px;
    }

.c-page-sub__main{
    margin-top:70px !important;
}

@media screen and (max-width: 767px) {

article > .accentBox{
    background-image: url("../img/mv-00_sp.jpg");
    background-size: cover
}

.accentBox .container{
    padding: 10px 0 17px;
}

    .accentBox .container .kv__area{
        width: 70%;
    }

    .accentBox .container .kv{
        margin-bottom: 15px;
    }

    .accentBox .container .kv::before{
        width: 72.79px;
        height: 81.23px;
        bottom: -100px;
        left: -40px;
    }

    .accentBox .container .kv::after{
        width: 90.2px;
        height: 81.25px;
        bottom: -100px;
        right: -45px;
    }

.accentBox .container .lead{
    font-size: 11px;
}

    .accentBox .container .lead span{
        font-weight: 800;
        line-height: 1.6;
        position: relative;
    }

    .accentBox .container .lead span::before,
    .accentBox .container .lead span::after{
        width: 8.55px;
        height: 13.43px;
        left: -10px;
    }

    .accentBox .container .lead span::after{
        left: auto;
        right: -10px;
        transform: none;
    }

.accentBox .container .buttonStyle{
    display: block;
    width: 60%;
    height: 38px;
    margin: 8px auto 11px;
}

    .accentBox .container .buttonStyle a{
        padding: 12px 0;
        color:  #fff;
        font-size: 12px;
        border-radius: 26px;
        box-shadow: 0px 2px #BC5E00;
    }



        .accentBox .container .buttonStyle a::before{
            width: 7px;
            height: 7px;
            bottom: 13px;
            right: 25px;
        }

        .accentBox .container .buttonStyle a:active{
            top: 5px;
            color: #fff;
            box-shadow: 0px 2px 0px #BC5E00;
        }
    .accentBox .container .linkText,
    .accentBox .container .linkText span{
        font-size: 11px;
    }

    .accentBox .container .linkText span::before{
        width: 5px;
        height: 5px;
        right: -10px;
    }

/* scroll
-------------------------------------------- */

.scroll{
    display: none;
}


/* confortable
-------------------------------------------------- */
#confortable .accentBox {
    margin-bottom: 80px;
}

#confortable .accentBox::before {
    height: 26px;
    bottom: -26px;
}

#confortable .accentBox .container{
    padding: 20px 0;
}

    .accentBox .container .explain{
        width: 100%;
    }

.accentBox .container .explain h3{
    margin-bottom: 35px;
}

.accentBox .container .explain .list{
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 30px;
}

    .accentBox .container .explain .list .item{
        width: 100%;
        gap: 20px;
    }

    #confortable  .accentBox .container .explain .list .item .text{
        font-size: 14px;
        margin-left: 20px;
    }

/* step
-------------------------------------------------- */

#step .list {
    margin: 77px 0 32px;
    gap: 80px;
}

#step .list li {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    max-width: 86%;
    padding: 40px 4vw 37px 27px;
}

    #step .list li:after {
        top: inherit;
        bottom: -40px;
        transform: translateX(-50%) rotate(90deg);
        -webkit-transform: translateX(-50%) rotate(90deg);
        left: 50%;
    }

    #step .list li .number {
        width: 50px;
        height: 50px;
        top: -25px;
    }

    #step .list li .title {
        font-size: 14px;
    }

    #step .list li .text {
        font-size: 12px;
    }

    #step .lead {
        font-size: 11px;
    }

    #step .accentBox .container .buttonStyle {
        width: 86%;
    }

    #step .accentBox .container .buttonStyle a{
        font-size: 12px;
    }

/* faq
-------------------------------------------------- */
#faq .accentBox {
    margin-top: 80px;
    margin-bottom: 66px;
}

#faq .accentBox:before, #faq .accentBox:after {
    height: 26px;
    bottom: -26px;
    left: 0;
}

#faq .accentBox:after {
    top: -26px;
}


#faq .accentBox .container .explain h3{
    width: 240px;
    margin:0 auto 35px;
}

    #faq ul.qa:before {
        position: absolute;
        content: "";
        width: 46.6968326px;
        height: 80px;
        top: -100px;
        left: 6%;
        z-index: 9;
    }

#faq ul.qa li {
    max-width: 86%;
    margin: 0 auto 20px;
}

#faq dl.ac {
    background-color: #FFF;
    border-radius: 20px;
    margin-bottom: 14px;
    letter-spacing: 0;
}

#faq dl.ac .question {
    position: relative;
    padding: 18px 80px 18px 58px;
}

#faq dl.ac .question:before {
    width: 25px;
    height: 23px;
    top: 50%;
    left: 20px;
}

#faq dl.ac .question span {
    font-size: 12px;
    font-weight: bold;
}

#faq dl.ac .question::after {
    right: 16px;
}

    #faq dl.ac .question span:before,
    #faq dl.ac .question span:after {
        right: calc(2.4em + 25px);
        top: 50%;
        width: 15px;
        height: 2px;
    }

    #faq dl.ac .question span:after {
        right: calc(2.4em + 31px);
        width: 2px;
        height: 15px;
    }

    #faq dl.ac .question.open span:after {
        top: 38%;
        right: calc(3.4em + 38px);
        opacity: 0;
    }

#faq dl.ac .answer {
    background-color: #F9F9F9;
    border-radius: 0 0 20px 20px;
    padding: 18px 32px 18px 58px;
    margin-bottom: 20px;
    position: relative;
    font-size: 12px;
    line-height: 1.8;
}

    #faq dl.ac .answer:before {
        width: 25px;
        height: 22px;
        background: url("../img/a.svg") no-repeat;
        background-size: contain;
        top: 50%;
        left: 20px;
    }

    #faq ul.btnArea {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 20px;
    }

    #faq ul.btnArea .buttonStyle {
        display: block;
        width: 86%;
        height: 40px;
        padding-right: 0px;
        margin: 0;
    }

        #faq  ul.btnArea .buttonStyle a {
            font-size: 12px;
            border: 1px solid #FF8F20;
            box-shadow: 0px 2px #FF8F20;
        }

/* last-section
-------------------------------------------------- */
#last-section .accentBox {
    background: none;
}

#last-section .container {
    padding-bottom: 0;
    position: relative;
}

    #last-section .container:before {
        display: none;
        width: 100px;
        height: 82.3232323px;
        bottom: 45px;
        right: 0;
        z-index: 9;
    }

#last-section .container .buttonStyle {
    width: 86%;
    margin-bottom: 96px;
}

#last-section .container .buttonStyle a{
    font-size: 12px;
}

    #last-section .container .linkText a {
        font-size: 12px;
    }

.c-page-sub__main{
    margin-top:60px !important;
}

}

/* 動画モーダル関連
-------------------------------------------------- */
.modal__bnr{
    padding: 0 20px;
}

.modal__bnr .__bnr img{
    border-radius: 20px;
    transition: opacity 0.3s ease;

    &:hover{
        opacity:0.7;
    }
}

.modal__bnr .__bnr:after{
    display: none;
}

@media (max-width: 991px) {
    .c-modal__inner {
        padding:20px;
    }
}
