@charset 'UTF-8';

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

    /* HEADER */
    .main-header__menu{
        gap:20px;
    }
    .main-header__menus{
        gap:14px;
    }
    .main-header__contactbox{
        width:320px;
    }

    /* FOOTER */
    .footer-contact__box{
        padding:100px 60px;
    }

    /* TOP */
    .top-concept__jptitle{
        font-size:50px;
    }
    .top-service__jptitle{
        font-size:50px;
    }
    .top-insert__text{
        font-size:48px;
    }
    .top-task__subtitle{
        font-size:28px;
    }
    .top-strength__strength__title{
        font-size:28px;
    }

    .top-case__box{
        width:100%;
    }
    .top-case__box__content{
        padding:60px 60px 120px;
    }

}



@media only screen and (max-width:1280px) and (min-width:1025px){

    body{
        min-width:1280px;
    }

}


.main-header__sptoggler,
.main-drawer{
    display:none;
}

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

    /* HEADER */
    .main-header__inner{
        padding:20px 20px 0;
    }

    .main-header__menus{
        display:none;
    }

    .main-header__contactbox{
        width:220px;
    }
    .main-header__contactlink{
        width:160px;
    }
    .main-header__contactlink__text small{
        display:none;
    }

    .main-header__sptoggler{
        display:block;
    }

    .sptoggle{
        position:relative;
        display:block;
        width:50px;
        height:50px;
        background:var(--color-main);
        border-radius:50%;
        cursor:pointer;
    }
    .sptoggle span{
        display:block;
        width:50%;
        height:3px;
        border-radius:100vh;
        background:#FFF;
        position:absolute;
        left:25%;
        transition:var(--transition);
    }
    .sptoggle span:nth-of-type(1){
        top:calc(35% - 1.5px);
    }
    .sptoggle span:nth-of-type(2){
        top:calc(50% - 1.5px);
    }
    .sptoggle span:nth-of-type(3){
        top:calc(65% - 1.5px);
    }
    .sptoggle.open span:nth-of-type(1){
        top:calc(50% - 1.5px);
        transform:rotate(-45deg);
    }
    .sptoggle.open span:nth-of-type(2){
        opacity:0;
    }
    .sptoggle.open span:nth-of-type(3){
        top:calc(50% - 1.5px);
        transform:rotate(45deg);
    }


    /* DRAWER */
    .main-drawer{
        display:block;
        position:fixed;
        z-index:998;
        top:0;
        left:0;
        right:0;
        width:100%;
        height:100dvh;
        color:#FFF;
        background:var(--color-main);
        padding:100px 40px;
        display:flex;
        align-items:center;
        justify-content:center;
        opacity:0;
        pointer-events:none;
        transition:var(--transition);
    }
    .main-drawer.open{
        pointer-events:all;
        opacity:1;
    }
    .main-drawer__inner{
        overflow-y:scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
        height:100%;
        display:flex;
        align-items:center;
        padding:40px 0;
    }
    .main-drawer__inner::-webkit-scrollbar {
        display:none;
    }
    .main-drawer__menus li:not(:last-child){
        margin-bottom:18px;
    }
    .main-drawer__menus li a{
        color:#FFF;
        font-weight:bold;
        font-size:24px;
        text-decoration:none;
    }


    /* FOOTER */
    .footer-contact__box{
        padding:60px;
    }
    .footer-contact__box__head{
        flex-wrap:wrap;
        gap:20px;
    }
    .footer-contact__box__head__title img{
        width:100%;
        max-width:400px;
    }
    .footer-contact__box__head__text{
        max-width:100%;
    }
    .footer-contact__box__banners{
        margin:0 auto;
        max-width:500px;
        grid-template-columns:1fr;
    }

    .footer-01__flex{
        gap:20px;
        flex-wrap:wrap;
    }
    .footer-menu{
        width:100%;
    }


    /* TOP */

    .top-mv__scroll{
        bottom:80px;
    }

    .top-mv__news{
        top:calc(100vh - 60px);
        left:0;
        width:100%;
        height:60px;
        margin-bottom:-70px;
    }
    .top-mv__news a{
        filter:none;
        width:100%;
        max-width:100%;
        border-radius:0;
    }

    .top-concept__jptitle,
    .top-service__jptitle{
        font-size:40px;
    }
    .top-concept__text{
        font-size:20px;
    }

    .top-concept{
        padding-top:100px;
    }
    .top-concept__flex{
        flex-wrap:wrap;
        gap:60px;
    }
    .top-concept__content{
        width:100%;
    }
    .top-concept__image{
        width:100%;
        text-align:center;
    }
    .top-bg-concept{
        margin:-100px 0;
    }

    .top-service{
        padding-top:100px;
    }
    .top-service__flex{
        flex-wrap:wrap;
        gap:60px;
    }
    .top-service__entitle{
        margin-left:0;
    }
    .top-service__content{
        width:100%;
    }
    .top-service__cards{
        margin:50px auto 0;
    }
    .top-service__image{
        width:100%;
        text-align:center;
    }

    .top-insert__text{
        font-size:32px;
    }
    
    .top-task__subtitle{
        font-size:22px;
    }
    .top-task__head__content{
        width:50%;
    }
    .top-task__head__titles{
        width:45%;
    }
    .top-task__task__head{
        flex-wrap:wrap;
        gap:30px;
    }
    .top-task__task__head .top-task__subtitle{
        width:100%;
    }
    .top-task__task__head__image{
        width:100%;
        text-align:center;
    }

    .top-strength__logo{
        padding-left:0;
    }
    .top-strength__strengths{
        margin-top:0;
    }
    .top-strength__strength{
        padding:50px;
    }
    .top-strength__strength__content{
        width:55%;
    }
    .top-strength__strength__image{
        width:40%;
    }
    .top-strength__strength__title{
        font-size:22px;
        margin:30px 0;
    }

    .top-case__box__content{
        width:60%;
        padding:40px;
    }
    .top-case__box__image{
        width:40%;
    }
    .top-case__box__title{
        font-size:24px;
    }
    .top-case__box__head{
        margin-bottom:20px;
    }
    .top-case__box__texts{
        grid-template-columns:1fr;
        gap:0;
    }

    .top-insert__logo img{
        margin-bottom:40px;
    }

    .top-flow__slide{
        max-width:340px;
    }
    .top-flow__box__content{
        padding:40px 20px;
    }

    .top-plan__plan{
        padding:40px 20px;
    }
    .top-plan__plan__desc{
        font-size:18px;
    }
    .top-plan__plan__title{
        font-size:24px;
    }
    .top-plan__plan__pricetag{
        font-size:16px;
    }
    .top-plan__plan__price{
        font-size:18px;
    }
    .top-plan__plan__text{
        font-size:16px;
    }

    .top-faq__faq__flex{
        flex-wrap:wrap;
    }
    .top-faq__faq__q{
        width:100%;
    }
    .top-faq__faq__a{
        width:100%;
        border-left:0;
        border-top:1px solid var(--color-main);
        padding-left:0;
        margin-top:40px;
    }

    .top-news__flex{
        flex-wrap:wrap;
        justify-content:center;
    }
    .top-news__content{
        width:100%;
    }
    .top-news__head .common-link a{
        margin:0 auto;
    }

    .top-insert02__text{
        font-size:26px;
    }

}






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

    /* HEADER*/
    .sitelogo{
        height:32px;
    }
    .sitelogo img{
        vertical-align:top;
        width:120px;
    }
    .main-header__inner{
        padding:10px 10px 0;
        align-items:center;
    }
    .main-header__logo{
        display:flex;
        align-items:center;
    }
    .main-header__menu{
        gap:10px;
    }
    .main-header__contactbox{
        width:140px;
    }
    .main-header__contactlink{
        width:138px;
    }
    .main-header__contactlink a{
        padding:0 12px;
    }
    .main-header__contactlink__text{
        font-size:10px;
    }

    .sptoggle{
        width:40px;
        height:40px;
    }

    /* DRAWER */
    .main-drawer__menus li:not(:last-child){
        margin-bottom:10px;
    }
    .main-drawer__menus li a{
        font-size:18px;
    }


    /* FOOTER */
    .footer-contact__box{
        padding:40px 20px 20px;
    }
    .footer-contact__box__head{
        margin-bottom:30px;
    }
    .footer-contact__box__head__text{
        font-size:14px;
    }
    .footer-contact__box__banners{
        gap:10px;
    }

    .footer-menus li{
        margin-bottom:7px;
    }
    .footer-menus li a{
        font-size:14px;
    }

    .footer-02__flex{
        flex-wrap:wrap;
        gap:20px;
    }
    .footer-address{
        width:100%;
    }
    .footer-address__text{
        font-size:12px;
    }
    .footer-address__text a{
        color:#FFF !important;
    }
    .footer-hr{
        margin:30px 0;
    }


    /* TOP */

    .top-mv{
        overflow:hidden;
        padding-bottom:0;
    }

    .top-mv__news{
        display:none;
    }
    .top-mv__news--sp{
        position:relative;
        display:block;
        height:auto;
        z-index:99;
        margin-top: 70px;
    }
    .top-mv__news--sp a{
        display:flex;
        align-items:center;
        background:#FFF;
        height:auto;
        text-decoration:none;
        color:var(--color-black);
        padding:20px;
        width:100%;
    }
    .top-mv__news__article{
        flex-wrap:wrap;
        gap:10px 14px;
    }
    .top-mv__news__article__title{
        font-size:14px;
        width:100%;
    }
    .top-mv__news__article__link{
        position:relative;
        right:0;
        bottom:0;
        text-align:right;
        width:100%;
    }

    .top-mv01,
    .top-mv02{
        height: 40vh;
        min-height: 400px;
    }
    .top-mv01__wrapper{
        justify-content:flex-end;
        gap:30px;
        padding-bottom:60px;
    }
    .top-mv02__star{
        width:300vw;
        height:300vw;
    }
    .top-mv__scroll{
        bottom:0;
        transform: translateX(-50%) translateY(60%);
    }

    .top-concept{
        padding-top:60px;
    }
    .top-concept__entitle,
    .top-service__entitle{
        font-size:16px;
        margin-bottom:40px;
    }
    .top-concept__jptitle, .top-service__jptitle{
        font-size:28px;
    }
    .top-concept__text{
        font-size:16px;
    }
    .top-bg-concept{
        margin:0;
    }

    .top-service{
        padding-top:60px;
    }
    .top-service__cards{
        grid-template-columns:1fr;
    }
    .top-service__card__title{
        font-size:18px;
    }
    .top-service__card__text{
        font-size:14px;
    }

    .top-insert{
        padding:100px 0 60px;
    }
    .top-insert__labeltitle{
        margin-bottom:40px;
    }
    .top-labeltitle{
        font-size:18px;
    }
    .top-insert__text{
        font-size:16px;
        letter-spacing:0;
    }
    .top-insert__logo img{
        margin-bottom:20px;
    }

    .top-task__head__flex{
        flex-wrap:wrap;
        gap:60px;
        margin-bottom:50px;
        margin-top: 25vw;
    }
    .top-task__head__titles{
        width:100%;
    }
    .top-task__head__content{
        width:100%;
    }
    .top-task__number{
        font-size:20px;
    }
    .top-task__subtitle{
        font-size:18px;
    }
    .top-task__head__spacer{
        height:30px;
    }
    .top-task__subcontent__title{
        font-size:16px;
    }
    .top-task__subcontent__text{
        font-size:14px;
    }
    .top-task__tasks{
        grid-template-columns:1fr;
        gap:50px;
    }

    .top-strength__strength{
        padding:40px;
    }
    .top-strength__strength__wrapper{
        flex-wrap:wrap;
        gap:40px;
    }
    .top-strength__strength__content{
        width:100%;
    }
    .top-strength__strength__image{
        width:100%;
        text-align:center;
    }
    .top-strength__strength__title{
        font-size:18px;
        margin:1em 0;
    }
    .top-strength__strength__text{
        font-size:14px;
    }

    .top-case__box{
        flex-wrap:wrap;
        flex-direction:column-reverse;
    }
    .top-case__box__content{
        width:100%;
        box-sizing: border-box;
        padding:30px;
    }
    .top-case__box__image{
        width:100%;
    }
    .top-case__box__head{
        flex-wrap:wrap;
    }
    .top-case__box__head__num{
        font-size:12px;
    }
    .top-case__box__head__num span em{
        font-size:30px;
    }
    .top-case__box__head__line{
        width:20px;
    }
    .top-case__box__head__div{
        font-size:14px;
    }
    .top-case__box__title{
        font-size:18px;
    }
    .top-case__box__subtitle{
        font-size:16px;
    }
    .top-case__box__text{
        font-size:14px;
    }
    .top-case__box__linksec__title{
        font-size:16px;
    }

    .top-labeltitle{
        margin-bottom:20px;
    }
    .top-flow__logo{
        margin-bottom:20px;
    }
    .top-flow__slide{
        max-width:280px;
    }
    .top-flow__box__head__num{
        font-size:14px;
    }
    .top-flow__box__head__num span em{
        font-size:30px;
    }
    .top-flow__box__head__line{
        width:100px;
    }
    .top-flow__box__title{
        font-size:16px;
    }
    .top-flow__box__text{
        font-size:14px;
    }

    .top-plan{
        padding-top:100px;
    }
    .top-plan__logo{
        margin-bottom:20px;
    }
    .top-plan__plans{
        flex-wrap:wrap;
        gap:20px;
    }
    .top-plan__plan:not(.current),
    .top-plan__plan.current{
        width:100%;
        opacity:1;
        pointer-events:none;
    }
    .top-plan__plan__head{
        margin-bottom:20px;
    }
    .top-plan__plan__head__planname{
        margin-bottom:20px;
    }
    .top-plan__plan__desc{
        font-size:14px;
    }
    .top-plan__plan__title{
        font-size:20px;
    }
    .top-plan__plan__pricebox{
        height:60px;
        margin-bottom:20px;
    }
    .top-plan__plan__pricetag{
        font-size: 12px;
        width: 54px;
        height: 24px;
    }
    .top-plan__plan__price b{
        font-size:28px;
    }
    .top-plan__plan__text{
        font-size:14px;
    }
    .top-plan__plan__list li{
        font-size:14px;
    }
    .top-plan__plan__list li::before{
        width:14px;
        height:14px;
    }

    .top-faq__faq{
        padding:40px 20px;
    }
    .top-faq__faq__q__num{
        font-size:14px;
    }
    .top-faq__faq__q__title{
        font-size:18px;
    }
    .top-faq__faq__a{
        margin-top:20px;
    }
    .top-faq__faq__a__title{
        font-size:16px;
    }
    .top-faq__faq__a__text{
        font-size:14px;
    }

    .top-news{
        padding-top:100px;
    }

    .common-link a{
        height:60px;
    }
    .top-news__articles{
        grid-template-columns:1fr;
    }


    .top-insert02__text{
        font-size:20px;
    }


    /* NEWS ARCHIVE */

    .news-archive__articles{
        grid-template-columns:1fr;
    }


    /* NEWS SINGLR */
    .news-single__head__title{
        font-size:24px;
    }

    /* EDITOR CONTENT */
    .editor-content>*{
        margin-bottom:20px;
        line-height:2;
    }
    .editor-content h1{
        font-size:24px;
        font-weight:bold;
    }
    .editor-content h2{
        font-size:20px;
        font-weight:bold;
    }
    .editor-content h3{
        font-size:18px;
        font-weight:bold;
    }
    .editor-content h4{
        font-size:16px;
        font-weight:bold;
    }
    .editor-content h5,
    .editor-content h6{
        font-size:14px;
        font-weight:bold;
    }
    .editor-content p{
        font-size:14px;
    }
    .editor-content ul,
    .editor-content ol{
        padding-left:2em;
        margin-left:0;
    }
    .editor-content li{
        font-size:14px;
        padding-bottom:6px;
    }

}