@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700;800;900&display=swap');

/* *{
    border: 1px solid red;
} */
/* Reset CSS example */
html, body, h1, h2, h3, p, ul, ol, li {
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    line-height: 1.5;
    background-color: #fff;
    width: 100%;
    color: #3F3B3A;
}

a{
    text-decoration: none;
}

.indent-tab{
    display: none;
}
.indent-sp,
.indent-tab{
    display: none;
}
@media screen and (max-width: 1024px){
    .indent-tab{
        display: block;
    }
}
@media screen and (max-width: 768px){
    .indent-pc{
        display: none;
    }
    .indent-sp{
        display: block !important;
    }
}

header{
    z-index: 99;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 110px;
    background: #FFFFFF;
    opacity: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
}
.headerLogo{
    width: 15%;
}
.headerLogo img{
    width: 100%;
    object-fit: contain;
}
.header-right{
    width: 50%;
    display: flex;
    justify-content: end;
}
.header-right img{
    width: 40%;
    object-fit: contain;
    margin-right: 25px;
}
.header-right .siryou,
.header-right .contact{
    position: relative;
    width: 180px;
    height: 50px;
    box-shadow: 0px 3px 6px #00000029;
    border-radius: 51px;
    color: #fff;
    text-align: left;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 1.6px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.header-right .siryou{
    background: transparent linear-gradient(180deg, #0083DA 0%, #06BBEB 100%) 0% 0% no-repeat padding-box;
    border: 2px solid #387EB1;
    margin-right: 15px;
}
.header-right .contact{
    background: transparent linear-gradient(180deg, #FB5E00 0%, #FAB407 100%) 0% 0% no-repeat padding-box;
    border: 2px solid #DF5A2E;
}
.header-right .siryou::before,
.header-right .contact::before{
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 7px solid #fff;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}
.bottom-menu{
    display: none;
}

@media screen and (max-width: 1024px) {
    header{
        height: 80px;
    }
    .headerLogo{
        width: 20%;
    }
    .header-right{
        width: 60%;
        display: flex;
        justify-content: end;
    }
    .header-right .siryou,
    .header-right .contact{
        width: 220px;
    }
    .header-right .siryou::before,
    .header-right .contact::before{
        display: none;
    }
}
@media screen and (max-width: 768px){
    header{
        height: 60px;
    }
    .headerLogo{
        width: 30%;
    }
    .header-right{
        width: 50%;
        display: flex;
        justify-content: end;
    }
    .header-right img{
        width: 100%;
        margin: 0;
    }
    .header-right .siryou,
    .header-right .contact{
        display: none;
    }
    .bottom-menu{
        display: flex;
        justify-content: center;
        padding: 5%;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 90%;
        box-shadow: 0px -4px 8px -1px #00000017;
        background: transparent linear-gradient(90deg, #83DBE2 0%, #60C2E8 49%, #1A91D5 100%) 0% 0% no-repeat padding-box;
    }
    .bottom-menu .siryou,
    .bottom-menu .contact{
        position: relative;
        width: 45%;
        height: 40px;
        box-shadow: 0px 2px 3px #00000029;
        border-radius: 51px;
        color: #fff;
        text-align: left;
        font-size: 16px;
        font-weight: bold;
        letter-spacing: 1.6px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .bottom-menu .siryou{
        background: transparent linear-gradient(180deg, #0083DA 0%, #06BBEB 100%) 0% 0% no-repeat padding-box;
        border: 1px solid #387EB1;
        margin-right: 15px;
    }
    .bottom-menu .contact{
        background: transparent linear-gradient(180deg, #FB5E00 0%, #FAB407 100%) 0% 0% no-repeat padding-box;
        border: 1px solid #DF5A2E;
    }
}

/* main-visual */
#main-visual{
    background: url("../lp2-img/main-back-pc.jpg") no-repeat top / cover;
    width: 85%;
    padding-top: 180px;
    padding-left: 15%;
    padding-bottom: 250px;
}
.mv-set{
    position: relative;
}
.mv{
    position: absolute;
    width: 30%;
    top: 75%;
    right: 25%;
}
#main-visual h1{
    text-align: left;
    font-weight: bold;
    font-size: 3.7em;
    line-height: 115px;
    letter-spacing: -3.02px;
    color: #F0FF99;
}
.mvLogo{
    width: 44%;
    margin-left: 7px;
}
.authority-area{
    margin-top: 20px;
    width: 49%;
}
.authority-area img{
    width: 30%;
}
#main-visual .mv-p{
    text-align: left;
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 0px;
    color: #FFFFFF;
    text-shadow: 0px 3px 6px #106990;
    margin-left: 5px; 
}
.top-cta{
    display: flex;
    margin-top: 50px;
    margin-left: 6%;
}
.top-cta a{
    color: #fff;
    font-size: 30px;
    letter-spacing: 3px;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.top-cta .cta1,
.top-cta .cta2{
    position: relative;
    width: 440px;
    height: 80px;
    box-shadow: 0px 3px 6px #00000029;
    border-radius: 51px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.top-cta .cta1{
    background: transparent linear-gradient(180deg, #0083DA 0%, #06BBEB 100%) 0% 0% no-repeat padding-box;
    border: 2px solid #387EB1;
    border-bottom: 6px solid #387EB1;
    margin-right: 60px;
}
.top-cta .cta2{
    background: transparent linear-gradient(180deg, #FB5E00 0%, #FAB407 100%) 0% 0% no-repeat padding-box;
    border: 2px solid #DF5A2E;
    border-bottom: 6px solid #CB522A;
}
.top-cta .cta1 a::before,
.top-cta .cta2 a::before{
    content: '';
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 12px solid #fff;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
}
.top-cta .hukidashi{
    position: absolute;
    text-align: center;
    width: 70%;
    object-fit: contain;
    top: -20%;
    left: 50%;
    transform: translateX(-50%);
    /* opacity: 0; */
}
.top-cta .cta2 p{
    position: absolute;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0px;
    color: #3F3B3A;
    bottom: -80%;
}

@media screen and (max-width: 1800px){
    #main-visual h1{
        font-size: 3.6em;
    }
    .mvLogo{
        width: 50%;
    }
    .mv{
        right: 20%;
    }
    .authority-area{
        width: 55%;
        margin-left: 0;
    }
    #main-visual .mv-p{
        font-size: 25px;
    }
    .top-cta{
        margin-left: 5%;
    }
}
@media screen and (max-width: 1537px){
    #main-visual{
        padding-top: 150px;
    }    
    #main-visual h1{
        font-size: 3.4em;
    }
    .mvLogo{
        width: 52%;
    }
    .mv{
        width: 33%;
        right: 12%;
    }
    .authority-area{
        width: 58%;
        margin-left: 0;
    }
    #main-visual .mv-p{
        font-size: 25px;
    }
}
@media screen and (max-width: 1440px) {
    #main-visual {
        width: 88%;
        padding-left: 12%;
    }
    .mvLogo{
        width: 53%;
    }
    .mv{
        right: 9%;
    }
    .authority-area{
        width: 60%;
    }
    #main-visual .mv-p{
        font-size: 23px;
    }
}
@media screen and (min-width: 1025px){
    .top-cta .hukidashi{
        opacity: 0;
        transition: .3s;
    }
    .top-cta .cta1:hover .hukidashi,
    .top-cta .cta2:hover .hukidashi{
        opacity: 1;        
    }
}
@media screen and (max-width: 1024px){
    #main-visual{
        width: 95%;
        padding-top: 80px;
        padding-left: 5%;
        padding-bottom: 250px;
    }
    #main-visual h1{
        font-size: 2em;
        line-height: 80px;
    }
    .mvLogo{
        width: 25%;
    }
    .authority-area{
        margin-top: 10px;
        width: 45%;
    }
    .mv{
        width: 35%;
        top: 17%;
    }
    #main-visual .mv-p{
        font-size: 16px;
    }
    .top-cta{
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }
    .top-cta a{
        color: #fff;
        font-size: 22px;
        letter-spacing: 3px;
    }
    .top-cta .cta1,
    .top-cta .cta2{
        width: 300px;
        height: 50px;
    }
    .top-cta .cta1 a::before,
    .top-cta .cta2 a::before{
        content: '';
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-left: 9px solid #fff;
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
    }
    .top-cta .hukidashi{
        width: 290px;
        object-fit: contain;
        bottom: -85%;
        left: 50%;
        transform: translateX(-50%);
        /* opacity: 0; */
    }
    .top-cta .cta2 p{
        bottom: -250%;
    }
}
@media screen and (max-width: 768px){
    #main-visual{
        width: 95%;
        background: url("../lp2-img/main-back-sp.png") no-repeat top / contain;
        padding-top: 80px;
        padding-left: 5%;
        padding-bottom: 150px;
    }
    .mv{
        position: relative;
        width: 70%;
        margin: 30px auto 0 auto;
        display: flex;
        justify-content: center;
        padding-left: 40px;
    }
    #main-visual h1{
        font-size: 2em;
        line-height: 1.5em;
        letter-spacing: 3px;
        padding-top: 0;
        text-align: center;
    }
    .mvLogo{
        width: 60%;
        margin: 10px auto 0 auto;
        display: flex;
    }
    .authority-area{
        margin: 10px auto 0 auto;
        width: 100%;
    }
    .authority-area img{
        width: 31%;
    }
    #main-visual .mv-p{
        font-size: 20px;
        font-weight: bold;
        letter-spacing: 0px;
        color: #FFFFFF;
        text-shadow: 0px 3px 6px #106990;
        margin-left: 5px; 
    }
    .top-cta{
        display: flex;
        flex-direction: column;
        margin-top: 50px;
        justify-content: center;
    }
    .top-cta a{
        font-size: 16px;
        letter-spacing: 3px;
    }
    .top-cta .cta1,
    .top-cta .cta2{
        width: 90%;
        height: 50px;
    }
    .top-cta .cta1{
        border: 1px solid #387EB1;
        margin-right: 0;
        margin-bottom: 40px;
    }
    .top-cta .cta2{
        border: 1px solid #DF5A2E;
    }
    .top-cta .cta1 a::before,
    .top-cta .cta2 a::before{
        border-left: 8px solid #fff;
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
    }
    .top-cta .hukidashi{
        width: 90%;
        top: -50%;
        /* opacity: 0; */
    }
    .top-cta .cta2 p{
        position: absolute;
        bottom: -180%;
    }
}

/* kyoukan */
#kyoukan{
    text-align: center;
    font-size: 30px;
    line-height: 58px;
    font-weight: bold;
    letter-spacing: 0px;
    color: #1658AF;
}
#kyoukan span{
    font-size: .9em;
}
#kyoukan img{
    width: 2%;
    margin-top: 50px;
}

@media screen and (max-width: 1024px){
    #kyoukan{
        font-size: 22px;
        line-height: 48px;
    }
    #kyoukan img{
        width: 4%;
        margin-top: 30px;
    } 
}
@media screen and (max-width: 768px){
    #kyoukan{
        font-size: 18px;
        line-height: 35px;
    }
    #kyoukan img{
        width: 6%;
    } 
}

/* toDo */
#toDo{
    width: 100%;
    padding-top: 100px;
    position: relative;
}

#toDo h2{
    text-align: center;
    font-size: 50px;
    line-height: 58px;
    color: #1658AF;
}
.cn{
    font-size: 1.1em;
    margin-right: 5px;
    position: relative;
}
.cn::before{
    content: 'サーキュラーナビ';
    position: absolute;
    top: -35%;
    left: 50%;
    transform: translateX(-50%);
    font-size: .35em;
    width: 100%;
}
.midashi{
    z-index: -1;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    font-size: 7em;
    font-weight: bold;
    letter-spacing: 0px;
    color: #2C9CD9;;
    opacity: .09;
}
.toDo-area{
    padding-top: 50px;
    padding-bottom: 0;
    position: relative;
}
.toDo-area img{
    width: 43%;
    object-fit: contain;
}
.toDo-detail{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-40%, -50%);
}
.toDo-detail li{
    position: relative;
    background-color: #fff;
    box-shadow: 0px 2px 7px #00000029;
    margin-bottom: 25px;
    width: 850px;
    height: 110px;
    display: flex;
    justify-content: start;
    align-items: center;
}
.toDo-detail li img{
    position: absolute;
    top: 3%;
    left: 2%;
    width: 4%;
}
.toDo-detail li p{
    font-size: 22px;
    color: #3F3B3A;
    margin-left: 70px;
}

@media screen and (max-width: 1440px) {
    .toDo-detail{
        transform: translate(-35%, -40%);
    }
    
    .toDo-detail li{
        height: 90px;
        align-items: center;
    }
}
@media screen and (max-width: 1024px){
    #toDo{
        padding-top: 60px;
    }
    #toDo h2{
        font-size: 36px;
    }
    .cn::before{
        top: -45%;
    }
    .midashi{
        font-size: 5em;
    }
    .toDo-area{
        padding-top: 50px;
        padding-bottom: 50px;
        position: relative;
    }
    .toDo-area img{
        width: 100%;
    }
    .toDo-detail{
        width: 90%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    .toDo-detail li{
        position: relative;
        background-color: #fff;
        box-shadow: 0px 2px 7px #00000029;
        margin-bottom: 25px;
        width: 100%;
        height: 110px;
        display: flex;
        justify-content: start;
        align-items: center;
    }
    .toDo-detail li img{
        position: absolute;
        top: 3%;
        left: 2%;
        width: 4%;
    }
    .toDo-detail li p{
        font-size: 22px;
        color: #3F3B3A;
        margin-left: 70px;
    }
}
@media screen and (max-width: 768px){
    #toDo{
        padding-top: 60px;
    }
    #toDo h2{
        font-size: 24px;
    }
    .cn::before{
        top: -75%;
    }
    .toDo-area{
        padding-top: 50px;
        padding-bottom: 30px;
    }
    .toDo-area img{
        width: 100%;
    }
    .toDo-detail li{
        margin-bottom: 25px;
        width: 96%;
        height: 70px;
        padding: 2%;
    }
    .toDo-detail li img{
        position: absolute;
        top: 3%;
        left: 2%;
        width: 8%;
    }
    .toDo-detail li p{
        font-size: 16px;
        color: #3F3B3A;
        margin-left: 30px;
    }
}

/* ce */
.ce{
    padding: 50px 0 75px 0;
    text-align: center;
    width: 100%;
    background: url("../lp2-img/ce-back.jpg") no-repeat center / cover;
}
.ce img{
    width: 7px;
    margin-bottom: 40px;
}
.ce-area{
    width: 50%;
    margin: auto;
    padding: 2% 3%;
    background: transparent linear-gradient(180deg, #1A91D5 0%, #50B7DE 52%, #71CCD3 100%) 0% 0% no-repeat padding-box;
    border-radius: 36px;
    color: #fff;
}
.ce-area h3{
    font-size: 40px;
    line-height: 63px;
    font-weight: bold;
    position: relative;
}
.ce-area h3::before,
.ce-area h3::after{
    content: '';
    position: absolute;
    bottom: -38px;
    height: 5px;
}
.ce-area h3::before{
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    background-color: #C7D903;
}

.ce-area h3::after{
    left: calc(50% + 20px);
    transform: translateX(-50%);
    width: 40px;
    background-color: #6F9F0F;
}
.ce-detail{
    width: 100%;
    margin-top: 77px;
    display: flex;
    text-align: left;
}
.ce-detail p{
    width: 65%;
    font-size: 20px;
    line-height: 38px;
    font-weight: 100;
}
.ce-detail img{
    width: 35%;
    object-fit: contain;
    margin: 0;
}

@media screen and (max-width: 1440px) {
    .ce-area h3{
        font-size: 36px;
    }
    .ce-detail p{
        width: 65%;
        font-size: 16px;
        line-height: 32px;
    }
}
@media screen and (max-width: 1024px){
    .ce{
        padding: 0 0 50px 0;
    }
   .ce-area{
        width: 80%;
    }
}
@media screen and (max-width: 768px){
    .ce{
        padding: 0 0 40px 0;
        text-align: center;
        width: 100%;
        background: url("../lp2-img/ce-back.jpg") no-repeat center / cover;
    }
    .ce img{
        width: 5px;
        margin-bottom: 30px;
    }
    .ce-area{
        width: 80%;
        padding: 8% 5%;
        text-align: center;
        border-radius: 20px;
    }
    .ce-area h3{
        font-size: 24px;
        line-height: 38px;
    }
    .ce-area h3::before,
    .ce-area h3::after{
        bottom: -25px;
        height: 3px;
    }
    .ce-area h3::before{
        left: 50%;
        transform: translateX(-50%);
        width: 60px;
    }
    .ce-area h3::after{
        left: calc(50% + 15px);
        transform: translateX(-50%);
        width: 30px;
    }
    .ce-detail{
        width: 100%;
        margin-top: 50px;
        display: flex;
        text-align: left;
        flex-direction: column-reverse;
    }
    .ce-detail p{
        width: 100%;
        font-size: 14px;
        line-height: 28px;
    }
    .ce-detail img{
        width: 100%;
        object-fit: contain;
        margin: 0;
    }
}

/* webner */
.webner{
    width: 100%;
    padding: 75px 0;
    position: relative;
    text-align: center;
}
.webner-texture-l,
.webner-texture-r{
    z-index: -1;
    position: absolute;
    width: 25%;
}
.webner-texture-l{
    top: 0;
    left: 0;
}
.webner-texture-r{
    bottom: 0;
    right: 0;
}
.webner-text{
    width: 40%;
}
.webner h3{
    font-size: 45px;
    color: #1658AF;
    margin-top: 10px;
    margin-bottom: 50px;
}
.webner .banner{
    width: 40%;
}
.webner p{
    font-size: 20px;
    margin-top: 50px;
}
.webner p small{
    font-size: .7em;
}

@media screen and (max-width: 1440px) {
    .webner p small{
        font-size: .6em;
    }
}

@media screen and (max-width: 768px){
    .webner{
        width: 90%;
        padding: 60px 5%;
    }
    .webner-texture-l,
    .webner-texture-r{
        z-index: -1;
        position: absolute;
        width: 40%;
    }
    .webner-text{
        width: 100%;
    }
    .webner h3{
        font-size: 24px;
        margin-bottom: 25px;
    }
    .webner .banner{
        width: 80%;
    }
    .webner p{
        font-size: 13px;
        margin-top: 25px;
    }
    .webner p small{
        font-size: .7em;
    }
}

/* cn-about */
.cn-about{
    width: 100%;
    padding: 75px 0;
    text-align: center;
    background: transparent linear-gradient(0deg, #71CCD3 0%, #50B7DE 24%, #279AD7 74%, #026CB5 100%) 0% 0% no-repeat padding-box;
    opacity: 0.9;
    position: relative;
}
.cn-about .cn::before{
    top: -50%;
}
.cn-texture-l,
.cn-texture-r{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 12%;
    mix-blend-mode: screen;
}
.cn-texture-l{
    left: 5%;
}
.cn-texture-r{
    right: 5%;
}
.cn-about .cn-top{
    font-size: 45px;
    line-height: 70px;
    font-weight: bold;
    color: #fff;
}
.cn-about .change1{
    color: #F0FF99;
    font-size: .9em;
}
.cn-about .change2{
    color: #F0FF99;
    font-size: 1.2em;
}
.cn-about-area{
    padding: 2%;
    background-color: #fff;
    box-shadow: 0px 3px 10px #00000017;
    border: 1px solid #707070;
    border-radius: 24px;
    width: 50%;
    margin: 50px auto 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.cn-about-text{
    text-align: left;
    width: 55%;
}
.cn-about-text h3{
    font-size: 38px;
    letter-spacing: 2px;
    color: #1658AF;
    margin-bottom: 20px;
}
.cn-about-text p{
    font-size: 20px;
    letter-spacing: 2px;
    line-height: 30px;
    color: #404143;
    width: 90%;
}
.cn-about-area img{
    width: 35%;
}

@media screen and (max-width: 1440px) {
    .cn-about .cn-top{
        font-size: 40px;
        line-height: 55px;
    }
    .cn-about .change2{
        font-size: 1.1em;
    }
    .cn-about-area{
        padding: 3% 0.5%;
    }
    .cn-about-text h3{
        font-size: 30px;
        white-space: nowrap;
    }
    .cn-about-text p{
        font-size: 18px;
    }
    .cn-about-area img{
        width: 35%;
    }
}
@media screen and (max-width: 1024px){
    .cn-texture-l,
    .cn-texture-r{
        width: 20%;
    }
    .cn-about-area{
        width: 80%;
    }
}
@media screen and (max-width: 768px){
    .cn-about{
        padding: 60px 5%;
        text-align: left;
        width: 90%;
    }
    .cn-texture-l,
    .cn-texture-r{
        display: none;
    }
    .cn-about .cn-top{
        font-size: 24px;
        line-height: 38px;
    }
    .cn-about-area{
        padding: 5%;
        width: 90%;
        margin: 30px auto 0 auto;
        box-shadow: 0px 2px 5px #00000017;
        border: 0;
        border-radius: 18px;
        flex-direction: column;
    }
    .cn-about-text{
        width: 100%;
    }
    .cn-about-text h3{
        font-size: 23px;
        letter-spacing: 2px;
        color: #1658AF;
        margin-bottom: 20px;
    }
    .cn-about-text p{
        font-size: 14px;
        line-height: 25px;
        width: 100%;
    }
    .cn-about-area img{
        width: 50%;
        object-fit: contain;
    }
}
@media screen and (max-width: 380px){
    .cn-about-text h3{
        font-size: 20px;
        letter-spacing: 2px;
        color: #1658AF;
        margin-bottom: 20px;
    }
}

/* feature */
#feature{
    overflow-x: hidden;
    width: 100%;
    text-align: center;
    position: relative;
    padding: 150px 0 75px 0;
}
.feature-texture-l,
.feature-texture-r{
    position: absolute;
    width: 30%;
    top: 50%;
}
.feature-texture-l{
    left: 0;
    transform: translate(-50%, -50%);
}
.feature-texture-r{
    right: 0;
    transform: translate(50%, -50%);
}

#feature h2{
    text-align: center;
    font-size: 50px;
    line-height: 58px;
    color: #1658AF;
    margin-bottom: 50px;
}
#feature .midashi{
    top: 50px;
}

#feature .pc{
    width: 25%;
}
.feature-area{
    width: 55%;
    margin: 50px auto 0 auto;
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px 25px;

}
.feature-area li{
    width: 25%;
    display: flex;
    flex-direction: column;
    background-color: #ECF6FC;
    border-radius: 20px;
    position: relative;
    padding: 3% 1%;
}
.feature-area li .number{
    font-size: 90px;
    font-family: "din-2014", sans-serif;
    font-weight: bold;
    letter-spacing: 0px;
    color: #1658AF;
    opacity: 0.09;
    position: absolute;
    top: -20%;
    left: 50%;
    transform: translateX(-50%);
}
.feature-area li img{
    width: 70%;
    margin: 20px auto 0 auto;
    object-fit: contain;
}
.feature-area li p{
    font-size: 18px;
    font-weight: bold;
    line-height: 30px;
}
.feature-area li p span{
    font-size: 1.2em;
    color: #1658AF;
}


@media screen and (max-width: 1440px) {
    .feature-area{
        width: 65%;
    }
    .feature-area li .number{
        font-size: 80px;
    }
    .feature-area li p{
        font-size: 16px;
    }
    .feature-area li p span{
        font-size: 1.2em;
    }
}
@media screen and (max-width: 1024px){
    #feature{
        width: 100%;
        text-align: center;
        position: relative;
        padding: 110px 0 75px 0;
    }
    
    #feature h2{
        font-size: 36px;
        line-height: 40px;
    }
    .feature-area{
        width: 90%;
    }
    .feature-area li p{
        font-size: 14px;
    }
}
@media screen and (max-width: 768px){
    #feature{
        width: 90%;
        padding: 80px 5% 60px 5%;
    }
    .feature-texture-l,
    .feature-texture-r{
        width: 50%;
    }
    .feature-texture-l{
        transform: translate(-50%, 50%);
    }
    .feature-texture-r{
        transform: translate(50%, -120%);
    }    
    #feature h2{
        text-align: center;
        font-size: 24px;
        margin-bottom: 30px;
    }
    #feature .midashi{
        font-size: 4em;
        top: 40px;
    }
    #feature .pc{
        width: 60%;
    }
    .feature-area{
        width: 100%;
        gap: 30px 15px;
    }
    .feature-area li{
        width: 100%;
        display: flex;
        flex-direction: row;
        align-items: center;
        padding: 5% 3%;
        justify-content: baseline;
        border-radius: 10px;
    }
    .feature-area li .number{
        font-size: 40px;
    }
    .feature-area li p{
        width: 60%;
        text-align: left;
        font-size: 14px;
        line-height: 20px;
    }
    .feature-area li img{
        width: 40%;
        height: 100px;
        margin: 0;
        object-fit: cover;
        transform: scale(.8);
    }
    .feature-area li p span{
        font-size: 1.2em;
    }
}

/* case */
#case{
    z-index: 1;
    width: 100%;
    text-align: center;
    position: relative;
    padding: 150px 0 75px 0;
    background: url("../lp2-img/case-back.jpg") no-repeat center / cover;
}
#case h2{
    text-align: center;
    font-size: 50px;
    line-height: 58px;
    color: #1658AF;
    margin-bottom: 50px;
    z-index: 2;
}
#case .midashi{
    color: #fff;
    opacity: 0.49;
    top: 50px;
}
.case-area{
    width: 50%;
    padding: 3% 5%;
    margin: auto;
    text-align: left;
    background: #FFFFFF;
    box-shadow: 0px 2px 11px #00000029;
    border-radius: 37px;
    display: flex;
    flex-direction: column;
}
.company-logo{
    width: 40% !important;
    text-align: left;
    margin-bottom: 20px;
}
.case-area p{
    font-size: 38px;
    font-weight: bold;
    letter-spacing: 0px;
    color: #1658AF;
}
.case-area a{
    text-align: center;
    width: 70%;
    margin: auto;
}
.case-area a img{
    width: 100%;
    margin: 20px auto;
}
.case-area small{
    text-align: center;
}

@media screen and (max-width: 1440px){
    .case-area p{
        font-size: 30px;
    }
}
@media screen and (max-width: 1024px){
    #case{
        padding: 110px 0 75px 0;
    }
    #case h2{
        font-size: 36px;
        line-height: 40px;
    }
    .case-area{
        width: 70%;
    }
    .company-logo{
        text-align: left;
        margin-bottom: 10px;
    }
    .case-area p{
        font-size: 26px;
        font-weight: bold;
        letter-spacing: 0px;
        color: #1658AF;
    }
}
@media screen and (max-width: 768px){
    #case{
        width: 90%;
        padding: 90px 5% 60px 5%;
    }
    #case h2{
        font-size: 24px;
        line-height: 30px;
        margin-bottom: 30px;
    }
    #case .midashi{
        color: #fff;
        opacity: 0.49;
        top: 10px;
    }
    .case-area{
        width: 90%;
        box-shadow: 0px 1px 7px #00000029;
        border-radius: 19px;
        padding: 8% 5%;
    }
    .case-area p{
        font-size: 18px;
    }
    .case-area a{
        width: 80%;
    }
    .case-area a img{
        margin: 20px auto;
    }
    .case-area small{
        font-size: .7em;
    }
}


/* cta */
#cta{
    width: 100%;
    background: transparent linear-gradient(90deg, #83DBE2 0%, #60C2E8 49%, #1A91D5 100%);
    text-align: center;
    padding: 50px 0;
}
#cta p{
    font-size: 36px;
    font-weight: bold;
    color: #fff;
}
.cta-area{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 50px;
    gap: 50px;
}
.cta-area a{
    color: #fff;
    font-size: 30px;
    letter-spacing: 3px;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.cta-area .cta1,
.cta-area .cta2{
    position: relative;
    width: 440px;
    height: 80px;
    box-shadow: 0px 3px 6px #00000029;
    border-radius: 51px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cta-area .cta1{
    background: transparent linear-gradient(180deg, #0083DA 0%, #06BBEB 100%) 0% 0% no-repeat padding-box;
    border: 2px solid #387EB1;
    border-bottom: 6px solid #387EB1;
    margin-right: 15px;
}
.cta-area .cta2{
    background: transparent linear-gradient(180deg, #FB5E00 0%, #FAB407 100%) 0% 0% no-repeat padding-box;
    border: 2px solid #DF5A2E;
    border-bottom: 6px solid #CB522A;
}
.cta-area .cta1 a::before,
.cta-area .cta2 a::before{
    content: '';
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 12px solid #fff;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
}
.cta-area .hukidashi{
    position: absolute;
    text-align: center;
    width: 70%;
    object-fit: contain;
    top: -20%;
    left: 50%;
    transform: translateX(-50%);
    /* opacity: 0; */
}
.cta-area .cta2 p{
    position: absolute;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0px;
    color: #3F3B3A;
    bottom: -150%;
}

@media screen and (max-width: 1024px){
    .cta-area{
        gap: 20px;
    }
    .cta-area a{
        font-size: 22px;
    }
    .cta-area .cta1,
    .cta-area .cta2{
        width: 320px;
        height: 60px;
    }
    .cta-area .hukidashi{
        width: 90%;
        top: -40%;
        /* opacity: 0; */
    }
}
@media screen and (min-width: 1025px){
    .cta-area .hukidashi{
        opacity: 0;
        transition: .3s;
    }
    .cta-area .cta1:hover .hukidashi,
    .cta-area .cta2:hover .hukidashi{
        opacity: 1;        
    }
}
@media screen and (max-width: 768px){
    #cta{
        width: 90%;
        padding: 25px 5%;
    }
    #cta p{
        font-size: 23px;
        font-weight: bold;
        color: #fff;
    }
    .cta-area{
        display: flex;
        flex-direction: column;
        margin-top: 50px;
        gap: 40px;
    }
    .cta-area a{
        font-size: 16px;
        letter-spacing: 3px;
    }
    .cta-area .cta1,
    .cta-area .cta2{
        position: relative;
        width: 100%;
        height: 50px;
        box-shadow: 0px 2px 3px #00000029;
    }
    .cta-area .cta1{
        border: 1px solid #387EB1;
        border-bottom: 5px solid #387EB1;
        margin-right: 0;
    }
    .cta-area .cta2{
        border: 1px solid #DF5A2E;
        border-bottom: 3px solid #CB522A;
    }
    .cta-area .cta1 a::before,
    .cta-area .cta2 a::before{
        border-left: 6px solid #fff;
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
    }
    .cta-area .hukidashi{
        width: 90%;
        top: -50%;
    }
    .cta-area .cta2 p{
        position: absolute;
        font-size: 12px;
        line-height: 16px;
        letter-spacing: 0px;
        color: #3F3B3A;
        bottom: -150%;
    }
}

/* problem */
#problem{
    width: 100%;
    text-align: center;
    position: relative;
    padding: 150px 0 75px 0;
}
#problem h2{
    text-align: center;
    font-size: 50px;
    line-height: 58px;
    color: #1658AF;
    margin-bottom: 50px;
}
#problem .midashi{
    top: 50px;
}
.problem-area{
    width: 55%;
    margin: auto;
    text-align: left;
    padding-bottom: 90px;
}
.problem-area li{
    font-size: 20px;
}
.problem-area li .number{
    font-family: "din-2014", sans-serif;
    font-size: 33px;
    color: #026CB5;
    margin-right: 5px;
}
.problem-area li .change-color{
    font-weight: bold;
    font-size: 1.2em;
    color: #026CB5;
}

.problem-main{
    position: relative;
}
.direction{
    width: 2%;
    margin-top: 50px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
}

@media screen and (max-width: 1440px) {
    .problem-area{
        width: 55%;
    }
    .problem-area li{
        font-size: 18px;
    }
    .problem-area li .number{
        font-size: 30px;
    }
}
@media screen and (max-width: 1024px){
    #problem{
        padding: 110px 0 75px 0;
    }
    #problem h2{
        font-size: 36px;
        line-height: 40px;
    }
    .problem-area{
        width: 80%;
    }
    .direction{
        width: 4%;
    }
}
@media screen and (max-width: 768px){
    #problem{
        width: 100%;
        padding: 80px 0 60px 0;
    }
    #problem h2{
        font-size: 24px;
        line-height: 35px;
        margin-bottom: 30px;
    }
    #problem .midashi{
        top: 40px;
        font-size: 4em;
    }
    .problem-area{
        width: 90%;
        padding: 0 5% 50px 5%;
    }
    .problem-area li{
        font-size: 14px;
        margin-bottom: 8px;
    }
    .problem-area li .number{
        font-size: 23px;
    }
    .problem-area li .change-color{
        font-size: 1.2em;
    }    
    .problem-main{
        position: relative;
    }
    .direction{
        width: 6%;
        margin-top: 50px;
    }
}

/* jems */
.jems{
    z-index: -2;
    width: 100%;
    padding: 150px 0 500px 0;
    background: url("../lp2-img/jemes-back.jpg") no-repeat center / cover;
}
.jems p{
    font-size: 33px;
    font-weight: bold;
    letter-spacing: 0px;
    color: #1658AF;
}
.jems p img{
    width: 12%;
    margin-top: 10px;
    margin-right: 10px;
    margin-bottom: -10px;
}
.jems p span{
    font-size: 1.3em;

}
.jems-point{
    display: flex;
    flex-direction: row;
    width: 55%;
    margin: 30px auto;
    gap: 25px;
}
.jems-point li{
    width: 33%;
}
.jems-point li img{
    width: 100%;
}
.jems-point li img:nth-child(2){
    display: none;
}
.cn-text{
    z-index: 2;
    background-color: #026DB8;
    padding: 2%;
    color: #fff !important;
    width: 50%;
    margin: auto;
    position: relative;
}
.cn-text .cn::before{
    top: -10px;
}
.cn-text::before{
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    border-top: 20px solid #026DB8;
    border-right: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 20px solid transparent;
}
.jems-pc{
    width: 40%;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

@media screen and (max-width: 1600px){
    .jems{
        padding: 150px 0 400px 0;
    }
}
@media screen and (max-width: 1440px) {
    .jems{
        padding: 150px 0 350px 0;
    }
}
@media screen and (max-width: 1024px){
    .jems{
        padding: 75px 0 350px 0;
    }
    .jems p{
        font-size: 26px;
    }
    .jems p img{
        width: 16%;
        margin-top: 10px;
        margin-right: 10px;
        margin-bottom: -5px;
    }
    .jems-point{
        width: 90%;
    }
    .cn-text{
        padding: 2%;
        color: #fff !important;
        width: 86%;
        margin: auto;
        position: relative;
    }
    .jems-pc{
        width: 60%;
    }
}
@media screen and (max-width: 768px){
    .jems{
        width: 90%;
        padding: 90px 5% 200px 5%;
    }
    .jems p{
        font-size: 26px;
    }
    .jems p img{
        width: 35%;
        margin-top: 10px;
        margin-right: 10px;
        margin-bottom: -5px;
    }
    .jems p span{
        font-size: 1.1em;
    }
    .jems-point{
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
        margin: 20px auto;
        gap: 5px;
    }
    .jems-point li{
        width: 100%;
    }
    .jems-point li img{
        width: 100%;
    }
    .jems-point li img:nth-child(1){
        display: none;
    }
    .jems-point li img:nth-child(2){
        display: block;
    }
    
    .cn-text{
        padding: 5%;
        width: 90%;
        font-size: 20px !important;
    }
    .cn-text .cn::before{
        top: -10px;
    }
    .cn-text::before{
        bottom: -25px;
        border-top: 15px solid #026DB8;
        border-right: 15px solid transparent;
        border-bottom: 15px solid transparent;
        border-left: 15px solid transparent;
    }
    .jems-pc{
        width: 80%;
        bottom: 10px;
    }
}

/* kankyo-business */
#kankyo-business{
    width: 100%;
    position: relative;
    padding: 75px 0;
    text-align: center;
}
#kankyo-business h2{
    font-size: 40px;
    line-height: 58px;
    color: #1658AF;
    margin-bottom: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#kankyo-business h2 img{
    width: 30px;
    margin: 0 20px;
}
#kankyo-business img{
    width: 35%;
}
#kankyo-business p{
    color: #3B3B3B;
    font-size: 20px;
    margin-top: 30px;
}
#kankyo-business p .cn{
    font-weight: bold;
}
#kankyo-business p .cn::before{
    top: -8px;
}

@media screen and (max-width: 1024px){
    #kankyo-business{
        padding: 50px 0;
        text-align: center;
    }
    #kankyo-business h2{
        font-size: 30px;
        line-height: 30px;
    }
    #kankyo-business img{
        width: 45%;
    }
}
@media screen and (max-width: 768px){
    #kankyo-business{
        width: 90%;
        padding: 60px 5%;
    }
    #kankyo-business h2{
        width: 100%;
        font-size: 24px;
        line-height: 35px;
        margin-bottom: 30px;
    }
    #kankyo-business .midashi{
        top: 10px;
        font-size: 4em;
    }
    #kankyo-business h2 img{
        width: 20px;
        margin: 0 10px;
    }
    #kankyo-business img{
        width: 80%;
    }
    #kankyo-business p{
        font-size: 14px;
        line-height: 20px;
        margin-top: 20px;
    }
    #kankyo-business p .cn::before{
        top: -13px;
    }
    
}

/* solution */
#solution{
    width: 60%;
    padding: 90px 20%;
    background: url("../lp2-img/solution-back.jpg") no-repeat center / cover;
    color: #fff;
    position: relative;
}
.solution-text{
    width: 40%;
}
#solution h2{
    font-size: 40px;
    line-height: 60px;
    margin-top: 20px;
}
#solution p{
    font-size: 18px;
    line-height: 31px;
    margin-top: 50px;
    width: 60%;
    font-weight: 100;
}
#solution small{
    width: 100%;
    font-weight: 200;
    margin-top: 30px;
    display: inline-block;
}
.solution-image{
    position: absolute;
    top: 35%;
    right: 20%;
    width: 22%;
}

@media screen and (max-width: 1600px){
    .solution-image{
        top: 45%;
        right: 18%;
        width: 22%;
    }    
}
@media screen and (max-width: 1440px) {
    .solution-image{
        top: 42%;
        right: 18%;
    }
    #solution h2{
        font-size: 33px;
    }
    #solution p{
        font-size: 16px;
    }
}
@media screen and (max-width: 1024px){
    #solution{
        width: 90%;
        padding: 75px 5%;
    }
    .solution-text{
        width: 50%;
    }
    .solution-image{
        top: 45%;
        right: 5%;
        width: 30%;
    }
}
@media screen and (max-width: 768px){
    #solution{
        width: 90%;
        padding: 60px 5% 40px 5%;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .solution-text{
        width: 80%;
    }
    #solution h2{
        font-size: 24px;
        line-height: 35px;
        margin-top: 20px;
    }
    #solution p{
        font-size: 14px;
        line-height: 25px;
        margin-top: 20px;
        width: 100%;
    }
    #solution small{
        width: 100%;
        font-weight: 100;
        margin-top: 20px;
        font-size: 12px;
    }
    .solution-image{
        position: relative;
        width: 70%;
        margin: 0 auto;
        object-fit: contain;
        padding-left: 30px;
    }
}

/* strength */
#strength{
    overflow-x: hidden;

    width: 100%;
    position: relative;
    padding: 150px 0 75px 0;
}
#strength h2{
    text-align: center;
    font-size: 50px;
    line-height: 58px;
    color: #1658AF;
    margin-bottom: 50px;
}
#strength .midashi{
    top: 50px;
}
.strength1,
.strength2,
.strength3{
    display: flex;
    width: 80%;
    position: relative;
    justify-content: start;
    align-items: center;
    z-index: -2;
    margin-left: 20%;
}
.strength1,
.strength2{
    margin-bottom: 150px;
}
.strength1,
.strength3{
    flex-direction: row-reverse;
    padding: 3%;
    background-color: rgba(80, 183, 222, 0.13);
}
.strength2{
    flex-direction: row;
}
.strength1 .left,
.strength2 .right,
.strength3 .left{
    width: 35%;
    margin-right: 40px;
}
.strength1 .right,
.strength2 .left{
    width: 40%;
    display: flex;
    flex-direction: column;
}
.strength3 img{
    width: 36%;
    display: flex;
    flex-direction: column;
}
.strength1 .right img,
.strength2 .left img{
    width: 90%;
}
.strength1 .right small,
.strength2 .left small{
    margin-left: 20px;
    margin-top: 10px;
}
.strength1 .number,
.strength2 .number,
.strength3 .number{
    position: absolute;
    font-family: "din-2014", sans-serif;
    font-size: 90px;
    font-weight: bold;
    top: 5px;
    z-index: -1;
}
.strength1 .number,
.strength3 .number{
    color: #fff;
    left: 25px;
    opacity: 0.62;
}
.strength2 .number{
    color: #50B7DE;
    opacity: 0.17;
    right: 25%;
}
.strength1 h3,
.strength2 h3,
.strength3 h3{
    z-index: 2;
    letter-spacing: 0px;
    color: #026CB5;
    font-size: 30px;
}
.strength1 h3,
.strength3 h3{
    line-height: 63px;
}
.strength2 h3{
    line-height: 39px;
}
.strength1 h3 span,
.strength2 h3 span,
.strength3 h3 span{
    font-size: 1.5em;
    position: relative;
}
.strength2 h3 span{
    line-height: 63px;

}
.strength1 h3 span::before,
.strength2 h3 span::before,
.strength3 h3 span::before{
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 15px;
    background-color: #EBFF8C;
    z-index: -1;
}
.strength3 h3 span::after{
    content: '';
    position: absolute;
    bottom: 70px;
    right: -15%;
    width: 115%;
    height: 15px;
    background-color: #EBFF8C;
    z-index: -1;
}
.strength1 p,
.strength2 p,
.strength3 p{
    font-size: 18px;
    line-height: 35px;
    color: #3F3B3A;
    margin-top: 30px;
    font-weight: 100;
}
.dot-line{
    position: absolute;
    width: 550px;
    bottom: -30%;
    left: 16%;
}

@media screen and (max-width: 1440px) {
    .strength1 .number,
    .strength2 .number,
    .strength3 .number{
        font-size: 80px;
        top: -10px;
        z-index: -1;
    }
    .strength1 h3,
    .strength2 h3,
    .strength3 h3{
        font-size: 26px;
    }
    .strength1 h3,
    .strength3 h3{
        line-height: 53px;
    }
    .strength2 h3{
        line-height: 39px;
    }
    .strength1 h3 span,
    .strength2 h3 span,
    .strength3 h3 span{
        font-size: 1.5em;
    }
    .strength3 h3 span::after{
        bottom: 60px;
    }
    .strength1 p,
    .strength2 p,
    .strength3 p{
        font-size: 14px;
        line-height: 25px;
    }
    .dot-line{
        width: 450px;
        bottom: -35%;
        left: 16%;
    }
}
@media screen and (max-width: 1024px){
    #strength{
        padding: 110px 0 75px 0;
    }
    #strength h2{
        font-size: 36px;
        line-height: 40px;
    }
    #strength .midashi{
        top: 50px;
    }
    #strength .cn::before{
        top: -35%;
    }
    .strength1,
    .strength2,
    .strength3{
        width: 100%;
        margin-left: 0;
    }
    .strength1,
    .strength3{
        padding: 5%;
    }
    .strength2{
        padding: 5%;
    }
    .strength1 .left,
    .strength2 .right,
    .strength3 .left{
        width: 50%;
        margin-right: 40px;
    }
    .strength1 .right,
    .strength2 .left,
    .strength3 img{
        width: 35%;
    }
    .strength2 .left{
        margin-right: 40px;
    }
    .strength1 .right img,
    .strength2 .left img{
        width: 100%;
    }
    .strength2 .number{
        right: 15%;
    }
}
@media screen and (max-width: 768px){
    #strength{
        width: 90%;
        padding: 90px 5% 60px 5%;
    }
    #strength h2{
        font-size: 24px;
        line-height: 35px;
    }
    #strength .midashi{
        top: 40px;
        font-size: 3.5em;
    }
    #strength .cn::before{
        top: -35%;
    }
    .strength1,
    .strength2,
    .strength3{
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 90%;
        padding: 15% 5%;
        background-color: rgba(80, 183, 222, 0.13);
    }
    .strength1,
    .strength2{
        margin-bottom: 50px;
    }
    .strength1 .left,
    .strength2 .right,
    .strength3 .left{
        width: 100%;
        margin-right: 0;
    }
    .strength2 .left{
        margin-right: 0;
    }
    .strength1 .right,
    .strength2 .left,
    .strength3 img{
        width: 80%;
        margin-bottom: 20px;
    }
    .strength1 .number,
    .strength2 .number,
    .strength3 .number{
        font-size: 3em;
        font-weight: bold;
        top: 5px;
        left: 15px !important;
        z-index: -1;
    }
    .strength1 .right small,
    .strength2 .left small{
        margin-left: 10px;
        margin-top: 5px;
        font-size: 11px;
    }
    .strength1 h3,
    .strength2 h3,
    .strength3 h3{
        font-size: 20px;
        text-align: center;
    }
    .strength1 h3,
    .strength3 h3{
        line-height: 35px;
    }
    .strength2 h3{
        line-height: 28px;
    }
    .strength3 h3 span::after{
        bottom: 43px;
    }
    .strength1 p,
    .strength2 p,
    .strength3 p{
        font-size: 13px;
        line-height: 20px;
        margin-top: 20px;
    }
    .dot-line{
        display: none;
    }
}

/* faq */
#faq{
    z-index: -2;
    width: 100%;
    position: relative;
    padding: 150px 0 75px 0;
    background-color: #F0F5F8;
}
#faq h2{
    text-align: center;
    font-size: 50px;
    line-height: 58px;
    color: #1658AF;
    margin-bottom: 50px;
}
#faq .midashi{
    top: 50px;
}
.faq-area{
    width: 55%;
    display: flex;
    flex-direction: column;
    margin: 40px auto 0 auto;
}
.faq-detail{
    margin-bottom: 20px;
}
.faq-detail h3{
    display: flex;
    color: #026CB5;
    font-size: 23px;
}
.faq-detail h3 img{
    width: 30px;
    margin-right: 10px;
    object-fit: contain;
}
.faq-detail p{
    padding: 3% 5%;
    background-color: #fff;
    border-radius: 14px;
    margin: 20px 0;
    font-size: 18px;
    line-height: 31px;
}

@media screen and (max-width: 1024px){
    #faq{
        padding: 110px 0 75px 0;
    }
    #faq h2{
        font-size: 36px;
        line-height: 40px;
    }
    .faq-area{
        width: 80%;
    }
}
@media screen and (max-width: 768px){
    #faq{
        width: 90%;
        padding: 90px 5% 40px 5%;
    }
    #faq h2{
        font-size: 24px;
        line-height: 35px;
        margin-bottom: 30px;
    }
    #faq .midashi{
        top: 10px;
    }
    .faq-area{
        width: 90%;
        margin: 30px auto 0 auto;
    }
    .faq-detail{
        margin-bottom: 20px;
    }
    .faq-detail h3{
        font-size: 18px;
    }
    .faq-detail p{
        padding: 5%;
        border-radius: 8px;
        margin: 10px 0;
        font-size: 14px;
        line-height: 23px;
    }
}

/* contact */
#contact{
    z-index: 2;
    width: 100%;
    position: relative;
    padding: 150px 0 75px 0;
    text-align: center;
}
#contact h2{
    text-align: center;
    font-size: 50px;
    line-height: 58px;
    color: #1658AF;
    margin-bottom: 50px;
}
#contact p{
    text-align: center;
}
#contact .midashi{
    top: 50px;
}
.g-naked-item{
	margin: 0 !important;
	padding: 0 !important;
}
.mw_wp_form_g-naked{
	font-size: 75%;
}
#mw_wp_form_mw-wp-form-4350{
    width: 55%;
    margin: 30px auto;
}
#mw_wp_form_mw-wp-form-4350 div{
    width: 100%;
    display: flex;
	border: 1px solid #D4D4D4;
    position: relative;
}
#mw_wp_form_mw-wp-form-4350 div .text{
    width: 31%;
    background: #5EC6DB;
    color: #fff;
    font-size: 1em;
    font-weight: 100;
    padding: 4% 0 4% 3%;
	text-align: left;
    position: relative;
}
#mw_wp_form_mw-wp-form-4350 div .text small{
    font-size: .5em;
}
.require-text{
    background-color: #CC0000;
    padding: 3px 5px;
    font-size: .8em;
    font-weight: 300;
    position: absolute;
    top: 25px;
    right: 20px;
}
.require{
	display:none;
}
.bikou{
	display:block !important;
}
.mw_wp_form_g-naked input[type="text"],
.mw_wp_form_g-naked input[type="password"],
.mw_wp_form_g-naked input[type="number"],
.mw_wp_form_g-naked input[type="email"], 
.mw_wp_form_g-naked input[type="url"],
.mw_wp_form_g-naked textarea{
	padding: 1% 2% !important;
}
#contact input[type="text"]{
    width: 40%;
	 margin: 3% 2%;
}
#contact #email{
    width: 45%;
	margin: 3% 2%;
}
.mwform-tel-field{
	display: flex;
	flex-direction: row;
	width: 50%;
	align-items: baseline;
	margin: 2% 1.5%;
}
.mw_wp_form_g-naked textarea{
	margin: 3% 2% !important;
}
#mw_wp_form_mw-wp-form-4350 div:nth-child(n+8){
    width: 100%;
    display: flex;
    justify-content: center;
	border: 0;
}
.mw_wp_form_g-naked label{
    border: 0;
    width: 100%;
    display: flex !important;
	flex-direction: row;
	align-items: center;
	margin: 30px auto 0 auto !important;
}
.mwform-checkbox-field label span{
    margin-left: 10px;
}
.underline {
	text-decoration: underline;
}
.underline:hover {
	text-decoration: none;
}
.action-buttons{
	display: flex;
	justify-content: center;
	margin-top: 50px;
}
#mw_wp_form_mw-wp-form-4350 input[type="submit"] {
    background: #026CB5;
    border-radius: 51px;
    color: #fff;
	margin: auto;
    padding: 2% 3%;
    font-size: 1.3em;
    font-weight: bold;
    letter-spacing: 3px;
    border: 3px solid #026CB5;
	width: 55% !important;
	position: relative;
	cursor: pointer;
	transition: .3s;
	box-shadow: none;
	text-shadow:none;
}
#mw_wp_form_mw-wp-form-4350 input[name="submitBack"] {
    background: #999999;
    color: #fff;
    border: 3px solid #999999;
	margin-right: 20px;
}
#mw_wp_form_mw-wp-form-4350 input[type="submit"]:hover{
    background: white;
    color: #026CB5;
    border: 3px solid #026CB5;
}
#mw_wp_form_mw-wp-form-4350 input[name="submitBack"]:hover{
    background: #ccc;
    color: #3F3B3A;
    border: 3px solid #999999;
}

@media screen and (min-width: 769px){
    #mw_wp_form_mw-wp-form-4350 div .error{
        position: absolute;
        bottom: 6%;
        left: 37%;
    }
    #mw_wp_form_mw-wp-form-4350 div:nth-child(8) .error{
        bottom: -50%;
        left: 38%;
    }
}
@media screen and (max-width: 1024px){
    #contact{
        padding: 110px 0 75px 0;
    }
    #contact h2{
        font-size: 36px;
        line-height: 40px;
    }
    #mw_wp_form_mw-wp-form-4350{
        width: 90%;
        margin: 30px auto;
        text-align: left;
    }
}
@media screen and (max-width: 768px){
    #contact{
        width: 96%;
        padding: 90px 2% 60px 2%;
    }
    #contact h2{
        font-size: 24px;
        line-height: 35px;
        margin-bottom: 30px;
    }
	 #contact p{
		 padding: 0 5% 5% 5%;
    }
    #contact .midashi{
        top: 40px;
        font-size: 4em;
    }
    #mw_wp_form_mw-wp-form-4350{
        width: 100%;
			margin: 0;
    }
	 #mw_wp_form_mw-wp-form-4350 div{
        display: flex;
        flex-direction: column;
			border: 0;
			margin-bottom: 10px;
    }
	#mw_wp_form_mw-wp-form-4350 div br{
			display: none;
    }
    #mw_wp_form_mw-wp-form-4350 div .text{
        width: 90%;
        border: 0;
        padding: 5%;
    }
    .require-text{
        top: 50%;
        transform: translateY(-50%);
    }
	.mw_wp_form_g-naked input[type="text"],
	.mw_wp_form_g-naked input[type="password"],
	.mw_wp_form_g-naked input[type="number"],
	.mw_wp_form_g-naked input[type="email"], 
	.mw_wp_form_g-naked input[type="url"],
	.mw_wp_form_g-naked textarea{
        width: 93% !important;
        padding: 5% 3% !important;
    }
	.mwform-tel-field
	{
        width: 90%;
    }
   .contact-table__area{
        padding: 3%;
        border: 1px solid #D4D4D4;
        border-radius: 4px;
    }
	.mw_wp_form_g-naked label{
        margin: 0 auto 30px auto !important;
        display: flex;
        justify-content: end;
        padding-right: 0;
    }
    .mwform-checkbox-field label span{
        border: 0;
        width: 85%;
        display: flex;
        justify-content: start;
        padding-left: 0;
        margin-top: 0;
    }
	.action-buttons input{
		padding: 2% 3%;
		font-size: 1.2em;
		width: 80% !important;
	}
	#mw_wp_form_mw-wp-form-4350 input[name="submitBack"] {
		margin-bottom: 20px;
		margin-right: auto;
	}
}

/* footer */
footer{
    width: 100%;
    display: flex;
    flex-direction: column;
}
.footer-menu{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
    gap: 60px;
    background-color: #D4D4D4;
}
.footer-menu a{
    color: #3F3B3A;
    position: relative;
}
.footer-menu a:nth-child(1)::before{
    content: '';
    position: absolute;
    right: -30px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 18px;
    background-color: #3F3B3A;
}
footer small{
    width: 100%;
    background-color: #1658AF;
    color: #fff;
    padding: 20px 0;
    text-align: center;
}
@media screen and (max-width: 768px){
    .footer-menu{
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 10px 0;
        gap: 30px;
        background-color: #D4D4D4;
    }
    .footer-menu a{
        font-size: 11px;
    }
    .footer-menu a:nth-child(1)::before{
        right: -15px;
        height: 12px;
    }
    footer small{
        padding: 10px 0;
    }
}