@charset 'UTF-8';

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

    /* HEADER */

    .main-header__inner{
        padding:20px;
    }


    /* TOP */

    .top-bigsection__head__title--en{
        font-size:100px;
    }
    .top-bigsection__head__title--jp{
        font-size:42px;
    }

    .top-solution__article__title{
        font-size:26px;
    }
    .top-solution__article__point__ul li{
        padding:14px 0;
        font-size:16px;
    }

    .top-case__case__head{
        padding:60px 40px 40px;
        gap:30px;
    }
    .top-case__case__head__title{
        font-size:24px;
    }

    .top-case__case__article{
        border-radius:40px 40px 100px 100px;
        padding:60px 40px 27vw;
    }

    .top-case__case__article__title{
        font-size:24px;
    }
    .top-case__case__article__text{
        font-size:16px;
    }

    .top-process__title--en{
        font-size:100px;
    }
    .top-process__title--jp{
        font-size:42px;
    }

    .top-dx__grid__subtitle{
        font-size:24px;
    }

    .top-dx__grid{
        padding:60px;
    }

    .top-aboutus__title--en{
        font-size:100px;
    }
    .top-aboutus__title--jp{
        font-size:42px;
    }

    .top-aboutus__subtitle{
        font-size:28px;
    }



    /* SERVICE */

    .s-title--jp{
        font-size:42px;
    }

    .s-flow{
        padding:40px 20px;
    }
    .s-flow__title{
        font-size:18px;
    }



    /* SERVICE 03 */

    .s3-bottleneck__point__title{
        font-size:24px;
    }

    .s3-about__subtitle{
        font-size:28px;
    }




    /* COMPANY */

    .company-values__content__box__text{
        font-size:calc( var(--px10) * 2.4); 
    }

}



/* 1440px */

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

    .viewmore a{
        width:100%;
        max-width:340px;
    }

    /* TOP */
    .top-mv__text{
        font-size:7px;
    }
    .top-mv__subtitle{
        font-size:50px;
    }

    .top-concept__title--jp{
        font-size:42px;
    }

    .top-concept__circle__menu.menu01{
        top:10%;
        left:0;
    }
    .top-concept__circle__menu.menu02{
        top:50%;
        right:0;
    }
    .top-concept__circle__menu.menu03{
        bottom:0;
        left:10%;
    }

    .top-bigsection__head__title--en,
    .top-process__title--en,
    .top-aboutus__title--en{
        font-size:70px;
    }
    .top-bigsection__head__title--jp,
    .top-process__title--jp,
    .top-aboutus__title--jp{
        font-size:32px;
    }
    .top-bigsection__head{
        margin-bottom:80px;
    }

    .top-solution__article__contents__wrap{
        padding: 0 30px 0 60px;
    }
    .top-solution__article__title{
        font-size:20px;
    }
    .top-solution__article__text{
        font-size:14px;
    }
    .top-solution__article__point__title{
        font-size:14px;
    }
    .top-solution__article__point__ul li{
        font-size:14px;
    }
    .top-solution__article__point,
    .top-solution__article__link{
        margin-top:24px;
    }

    .top-case__case__head{
        padding:40px 20px 30px;
    }
    .top-case__case__head__title{
        font-size:20px;
    }
    .top-case__Case__head__text{
        font-size:14px;
    }
    .top-case__case__article__title{
        font-size:20px;
    }
    .top-case__case__article__text{
        font-size:14px;
    }

    .top-fullpage__item__title{
        font-size:32px;
    }

    .top-process__flow__title{
        font-size:24px;
    }

    .top-dx__grid{
        padding:40px;
        border-radius:40px;
    }

    .top-aboutus__content__texts{
        margin-top:60px;
    }

    .common-footer__download__container{
        padding:60px 0;
    }



    /* SERVICE */

    .s-title--jp{
        font-size:36px;
    }


    /* SERVICE - 01 */


    .s1-solutions__mainmenu{
        width:240px;
    }
    .s1-solutions__tabs{
        width:calc(100% - 240px);
    }
    .s1-solutions__tab__menu{
        width:300px;
    }
    .s1-solutions__subtabs{
        width:calc(100% - 300px);
    }

    .s1-solutions__subtab{
        padding:50px 40px;
    }

    .s-case__cases{
        gap:20px;
    }
    .s-case__case__link .viewmore a{
        width:100%;
        max-width:340px;
    }
    .s1-case__case__company{
        font-size:22px;
    }
    .s-case__case__text{
        font-size:14px;
    }


    .s-reason__step__title{
        font-size:24px;
    }


    .s1-flow__list li{
        font-size:14px;
    }




    /* SERVICE - 02 */

    .s2-about__item__title{
        font-size:16px;
    }
    .s2-about__item__text{
        font-size:14px;
    }

    .s2-model__model__imagetitle{
        font-size:80px;
    }



    /* SERVICE - 03 */

    .s3-about__subtitle{
        font-size:20px;
    }
    .s3-about__box__text{
        font-size:14px;
    }

    .s3-flow__text{
        font-size:14px;
    }



    /* CASE - ARCHIVE */

    .case-archive__article__title{
        font-size:22px;
    }


}



/* STRETCH */


@media only screen and (max-width:1279px) and (min-width:992px){

    :root{
        --px10:calc(10px / 1920 * 1280);
    }

    html{
        overflow-x:scroll;
    }
    body{
        min-width:1280px;
    }

    .page-bg{
        height:calc(100dvh/100vw*1280px);
    }

    /* TOP */
    .top-fullpage__sticky,
    .top-fullpage__item{
        height:calc(100dvh/100vw*1280px);
    }

    .top-case__case__article{
        padding-bottom:330px;
    }


    /* COMPANY */
    main.company{
        overflow-x:hidden;
    }
}


.main-drawer{
    display:none;
}


/* 1024 ~ 769px - WIDE SP */

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

    :root{
        --px10:8px;
    }

    .page-inner{
        padding:0 30px;
    }

    /* HEADER */

    .main-header__menu{
        display:none;
    }
    .main-header__toggler{
        display:block;
        pointer-events:all;
    }

    .drawer-toggler{
        position:relative;
        display:block;
        width:50px;
        height:50px;
        cursor:pointer;
    }
    .drawer-toggler span{
        display:block;
        width:100%;
        height:2px;
        background:#FFF;
        position:absolute;
        left:0;
        transition:var(--transition);
        pointer-events:none;
    }
    .drawer-toggler span:nth-of-type(1){
        top:calc(25% - 1px);
    }
    .drawer-toggler span:nth-of-type(2){
        top:calc(50% - 1px);
    }
    .drawer-toggler span:nth-of-type(3){
        top:calc(75% - 1px);
    }

    .drawer-toggler.open span{
        background:var(--color-base);
    }
    .drawer-toggler.open span:nth-of-type(1){
        top:calc(50% - 1px);
        transform:rotate(45deg);
    }
    .drawer-toggler.open span:nth-of-type(2){
        opacity:0;
    }
    .drawer-toggler.open span:nth-of-type(3){
        top:calc(50% - 1px);
        transform:rotate(-45deg);
    }


    /* DRAWER */

    .main-drawer{
        display:block;

        position:fixed;
        top:0;
        right:0;

        width:100%;
        max-width:440px;
        z-index:9998;

        height:100vh;
        height:100dvh;

        color:var(--color-base);
        background:#FFF;

        overflow-y:scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;

        padding:80px 40px;

        transition:var(--transition);
        transform:translateX(101%);
    }
    .main-drawer.open{
        transform:translateX(0);
    }
    .main-drawer::-webkit-scrollbar {
        display:none;
    }

    .main-drawer__inner{
        padding-bottom:80px;
    }

    .main-drawer__mainlogo{
        margin-bottom:40px;
    }
    .main-drawer__mainlogo img{
        width:60%;
        min-width:220px;
        max-width:400px;
    }
    .main-drawer__menus a{
        display:block;
        color:var(--color-base);
        text-decoration:none;
        padding:16px 0;
    }
    .main-drawer__menus>li{
        border-top:1px dashed #808080;
    }

    .main-drawer__menu--en{
        font-size:14px;
        color:var(--color-purple);
    }
    .main-drawer__menu--jp{
        font-size:20px;
    }

    .main-drawer__submenus{
        padding-left:18px;
    }
    .main-drawer__submenus li:not(:first-child){
        border-top:1px dashed #808080;
    }

    .main-drawer__submenu--jp{
        font-size:16px;
    }



    /* TOP */

    .top-mv__container{
        height:100vw;
    }
    .top-mv__subtitle{
        font-size:4vw;
    }

    .top-concept__flex{
        flex-wrap:wrap;
        gap:50px;
    }
    .top-concept__container{
        width:100%;
    }
    .top-concept__contents{
        width:100%;
    }

    .top-concept__circle__menu.menu02{
        top:42%;
    }

    .top-solution__sticky{
        overflow:visible;
        height:auto;
    }
    .top-solution__article:not(:last-child){
        margin-bottom:30px;
    }

    .top-solution__article{
        flex-wrap:wrap;
        gap:30px;
        border-radius:40px;
    }
    .top-solution__article__contents, .top-solution__article__mv{
        width:100%;
    }

    .top-solution__article__contents__wrap{
        padding:30px;
    }
    .top-solution__article__mv{
        text-align:center;
    }
    .top-solution__article__mv img{
        width:100%;
        max-width:480px;
        border-radius:40px;
    }


    .top-case__cases{
        grid-template-columns:1fr;
        gap:20px;
        margin-top: 0;
    }
    .top-case__case{
        border-radius:40px;
    }
    .top-case__case:nth-of-type(2n+1){
        margin-top:0;
    }

    .top-case__case__article{
        padding:60px 30px 40px;
        border-radius:30px;
    }
    .top-case__case__article__thumbnail{
        position:relative;
        bottom:0;
        margin-top:30px;
    }

    .top-fullpage__sticky{
        height:auto;
        overflow:visible;
    }
    .top-fullpage__item{
        position:relative;
        opacity:1 !important;
        inset:auto;
        visibility:visible;

        height:600px;
    }
    .top-fullpage{
        height:auto;
    }

    .top-process{
        padding-top:160px;
    }
    .top-process__flex{
        flex-wrap:wrap;
        max-width:100%;
    }
    .top-process__content{
        padding:0 20px;
    }
    .top-process__flows{
        flex-wrap:wrap;
        width:100%;
    }
    .top-process__flow{
        width:50%;
        border:0;
    }

    .top-dx__sectiontitle--jp{
        font-size:36px;
    }

    .top-dx__grids{
        grid-template-columns:repeat(2,1fr);
    }
    .top-dx__grid__title{
        font-size:16px;
    }
    .top-dx__grid__subtitle{
        font-size:20px;
    }
    .top-dx__grid__text,
    .top-dx__grid__link--text{
        font-size:14px;
    }

    .top-aboutus__flex{
        flex-wrap:wrap;
        gap:30px;
    }
    .top-aboutus__content{
        width:100%;
    }
    .top-aboutus__mv{
        width:100%;
        text-align:center;
    }

    .top-column__flex{
        flex-wrap:wrap;
        gap:40px;
    }
    .top-column__columns{
        width:100%;
    }

    .top-faq__flex{
        flex-wrap:wrap;
        gap:80px;
    }
    .top-faq__titles{
        width:100%;
    }
    .top-faq__content{
        width:100%;
    }



    /* PAGE */
    .common-mv__flex{
        flex-wrap:wrap;
        gap:20px;
    }
    .common-mv__breadcrumb{
        margin-left:auto;
    }


    /* SERVICE */

    .s-probs{
        grid-template-columns:repeat(2,1fr);
    }
    .s-prob__title{
        font-size:20px;
    }
    .s-prob__pop__text{
        font-size:16px;
    }

    .s-flows{
        flex-wrap:wrap;
    }
    .s-flow{
        width:50%;
        flex:auto;
        border:0;
        border-bottom:1px dashed #808080;
    }
    .s-flow:last-child{
        border-right:0;
    }

    .s-case__cases{
        grid-template-columns:1fr;
    }

    .s-reason__step__title{
        font-size:20px;
    }
    .s-reason__step__text{
        font-size:14px;
        text-align:left;
    }
    .s-reason__step__text br{
        display:none;
    }

    .s-faq__flex{
        flex-wrap:wrap;
        gap:50px;
    }
    .s-faq__titles,
    .s-faq__content{
        width:100%;
    }



    /* SERVICE - 01 */

    .s1-concept__content,
    .s1-concept__images{
        width:100%;
    }

    .s1-concept__flex{
        flex-wrap:wrap;
        gap:50px;
    }

    .s1-about__flex{
        flex-wrap:wrap;
        gap:50px;
    }

    .s1-about__titles,
    .s1-about__container{
        width:100%;
    }


    .s1-solutions__container{
        flex-wrap:wrap;
    }
    .s1-solutions__mainmenu{
        width:100%;
    }
    .s1-solutions__tabs{
        width:100%;
    }
    .s1-solutions__tab{
        border-radius:40px;

        flex-wrap:wrap;
    }
    .s1-solutions__tab__menu{
        width:100%;
        border-radius:40px;
    }
    .s1-solutions__subtabs{
        width:100%;
    }

    .s1-solutions__mainmenu li{
        height:80px;
    }
    .s1-solutions__mainmenu li:first-child{
        border-top-left-radius:40px;
        border-top-right-radius:40px;
    }
    .s1-solutions__mainmenu li:last-child{
        border-bottom-left-radius:40px;
        border-bottom-right-radius:40px;
    }


    .s1-human__table{ 
        display:none;
    }

    .s1-human__tablesp{
        display:block;
    }
    .s1-human__tablesp table{
        color:var(--color-base);
        background:#FFF;
        font-size:16px;
        font-weight:400;
        border-collapse: separate;
        border-radius:20px;
    }
    .s1-human__tablesp table th,
    .s1-human__tablesp table td{
        padding:10px;
        width:25%;
    }
    .s1-human__tablesp table td{
        text-align:center;
    }
    .s1-human__tablesp table th.ex,
    .s1-human__tablesp table td.ex{
        font-weight:bold;
        color:#FFF;
        background:var(--color-purple);
        border-radius:20px;
    }



    /* SERVICE - 02 */

    .s2-about__flex{
        flex-wrap:wrap;
        gap:50px;
    }
    .s2-about__titles,
    .s2-about__content{
        width:100%;
    }

    .s2-model__model{
        flex-wrap:wrap;
        gap:50px;
        border-radius:40px;
    }
    .s2-model__model__content,
    .s2-model__model__images{
        width:100%;
    }
    .s2-model__model.s1 .s2-model__model__content,
    .s2-model__model.s2 .s2-model__model__content{
        padding:60px 40px;
    }

    .s2-flow__flows dl{
        flex-wrap:wrap;
        gap:20px;
    }
    .s2-flow__flows dl dd{
        width:100%;
    }



    /* SERVICE - 03 */

    .s3-bottleneck__point{
        width:calc(50% - 20px);
    }
    .s3-bottleneck__point__box{
        padding:100px 20px 60px;
    }
    .s3-bottleneck__point__title{
        font-size:20px;
    }


    .s3-about__flex{
        flex-wrap:wrap;
        gap:50px;
    }
    .s3-about__titles,
    .s3-about__content{
        width:100%;
    }


    /* COMPANY */

    .company-fv{
        padding:80px 0;
    }
    .company-fv__flex{
        flex-wrap:wrap;
        gap:40px;
    }
    .company-fv__titles,
    .company-fv__content{
        width:100%;
    }

    .company-values{
        width:100%;
        max-width:100%;
        flex-wrap:wrap;

        height:auto;
        max-height:unset;
    }
    .company-values__titlesec{
        width:100%;
        padding:60px 20px;
    }
    .company-values__title--en{
        font-size:70px;
    }
    .company-values__title--jp{
        font-size:32px;
    }

    .company-values__contents{
        flex-wrap:wrap;
    }
    .company-values__content{
        width:100%;
    }


    .company-values__content__box{
        padding:60px 30px;
    }
    .company-values__content__titles__bg{
        height:100%;
    }
    .company-values__content__titles__bg img{
        min-height:unset;
        height:100%;
    }
    .company-values__content__title{
        font-size:28px;
    }
    .company-values__content__icon{
        width:140px;
    }
    .company-values__content__box__text{
        font-size:20px;
    }

    .company-aboutus__flex{
        flex-wrap:wrap;
        gap:50px;
    }
    .company-aboutus__titlesec{
        width:100%;
    }
    .company-aboutus__dls{
        width:100%;
    }
    .company-aboutus__title--en{
        font-size:70px;
    }
    .company-aboutus__title--jp{
        position:relative;
        top:0;
        left:0;
        margin-top:48px;
        font-size:28px;
    }



    /* CASE */ 

    .case-searchbox__wrapper{
        padding:40px;
    }
    .case-archive__articles{
        grid-template-columns:repeat(2,1fr);
    }
    .case-archive__article{
        padding:30px;
    }


    .case-single__head{
        padding-top:80px;
    }

    .case-single__head__flex.has-thumbnail .case-single__head__titles{
        width:100%;
    }
    .case-single__head__flex.has-thumbnail{
        flex-wrap:wrap;
        gap:40px;
    }
    .case-single__head__flex.has-thumbnail .case-single__head__thumbnail{
        width:100%;
    }
    .case-single__head__thumbnail__image{
        width:calc(100% + 30px);
    }
    .case-single__head__thumbnail__image img{
        border-radius:40px 0 0 40px;
    }

    .case-single__commentbox{
        padding:60px 40px;
    }

}





@media only screen and (min-width:481px) and (max-width:991px){

    /* COMPANY */
    .s1-solutions__mainmenu li br{
        display:none;
    }

}





.sp_only{
    display:none;
}


/* SP */

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

    .sp_only{
        display:block;
    }
    .pc_only{
        display:none;
    }

    .page-inner,
    .page-inner--wide{
        padding:0 20px;
    }

    p{
        font-size:14px;
    }


    body:not(.home) #page{
        margin-bottom:-100px;
    }





    /* HEADER */

    .main-header__inner{
        padding:10px;
    }

    .main-header__logo img{
        width:160px;
    }



    /* DRAWER */

    .main-drawer{
        padding:80px 20px 0;
    }

    .main-drawer__menu--en{
        font-size:12px;
    }
    .main-drawer__menu--jp{
        font-size:16px;
    }
    .main-drawer__submenu--jp{
        font-size:14px;
    }

    .main-drawer__menus a{
        padding:6px 0;
    }






    

    /* FOOTER */

    .common-footer__download__title--en{
        font-size:32px;
    }

    .main-footer{
        margin-top:100px;
    }
    .main-footer__inner{
        justify-content:center;
        flex-wrap:wrap;
        gap:20px;
        padding:40px 20px;
    }
    .main-footer__menu{
        width:100%;
    }
    .main-header__menu__ul, .main-footer__menu__ul{
        width:100%;
        max-width:360px;
        text-align:center;
        margin:0 auto;
    }

    .main-footer__contact__sliderwrap{
        padding-top:30px;
        margin-bottom:100px;
    }
    .main-footer__contact__title{
        font-size:20px;
        text-align:center;
    }

    .main-footer__contact__slide{
        margin-right:40px;
    }

    .main-footer__bottom__flex{
        justify-content:center;
        flex-wrap:wrap;
        gap:20px;
    }

    .main-footer__copyright{
        font-size:10px;
    }




    /* TOP */

    .top-mv__container{
        height:700px;
    }

    .top-mv__title{
        width:80%;
        max-width: 400px;
    }

    .top-mv__text{
        font-size:4px;
    }
    .top-mv__text.lt{
        top:80px;
    }
    .top-mv__text.rb{
        bottom:24vw;
    }

    .top-mv__subtitle{
        font-size:7vw;
        text-align:center;
        width:100%;
    }

    .top-bigsection__head{
        flex-wrap:wrap;
        gap:20px;
        padding-bottom:20px;
        margin-bottom:40px;
    }

    .top-bigsection__head__title--en,
    .top-process__title--en,
    .top-aboutus__title--en,
    .top-column__title--en,
    .top-faq__title--en{
        font-size:32px;
        width:100%;
    }
    .top-bigsection__head__title--jp,
    .top-process__title--jp,
    .top-aboutus__title--jp,
    .top-column__title--jp,
    .top-faq__title--jp{
        font-size:18px;
    }

    .top-concept{
        padding-top:80px;
    }
    .top-concept__title{
        margin-bottom:60px;
    }
    .top-concept__title--jp{
        font-size:24px;
    }

    .top-concept__subtitle{
        font-size:22px;
        margin-bottom:1em;
    }

    .top-concept__circle__menu{
        position:relative;
        margin-bottom:40px;
        text-align:center;
    }
    .top-concept__circle__menu.menu03{
        left:0;
    }
    .top-concept__circle__menu__head{
        margin:0 auto;
    }
    .top-concept__circle__menu__title,
    .top-concept__circle__menu__subtitle{
        padding-left:0;
    }

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

    .top-solution__articles{
        padding:0 20px;
    }

    .top-solution__article__contents__wrap{
        padding:30px 10px;
    }
    .top-solution__article__title{
        font-size:18px;
    }
    .top-solution__article__point__ul li{
        padding: 10px 0;
        font-size:12px;
    }

    .top-case{
        margin-top:20px;
        padding-top:80px;
    }
    .top-case__cases{
        margin-top:60px;
    }

    .top-case__case__head{
        flex-wrap: wrap;
        gap:20px;
        padding:10px 10px 20px;
    }
    .top-case__case__head__num{
        width:70px;
        height:70px;

        margin:0 auto;
    }
    .top-case__case__head__num--text{
        font-size:18px;
    }
    .top-case__case__head__texts{
        width:100%;
        flex:auto;
    }
    .top-case__case__article{
        padding:40px 20px 20px;
    }
    .top-case__case__article__title{
        font-size:18px;
    }

    .top-case__case__article__thumbnail{
        width:100%;
        left:0;
    }

    .top-case__link{
        margin-top:50px;
    }

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


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

    .top-process{
        padding-top:80px;
    }
    .top-process__flex{
        gap:20px;
    }
    .top-process__title{
        padding-left:20px;
    }

    .top-process__flow{
        width:100%;
        padding:20px 0;

        padding-left:80px;
        position:relative;
    }

    .top-process__flow__stepbox{
        width: 60px;
        height: 80px;
        position: absolute;
        top: 40px;
        left: 0;
    }
    .top-process__flow__step{
        font-size:12px;
    }
    .top-process__flow__num{
        font-size:20px;
    }
    .top-process__flow__title{
        font-size:18px;
        margin-top:1em;
    }

    .top-dx{
        padding-top:80px;
    }
    .top-dx__sectiontitle{
        margin-bottom:40px;
    }
    .top-dx__sectiontitle--jp{
        font-size:20px;
    }

    .top-dx__grids{
        grid-template-columns:1fr;
    }
    .top-dx__grid{
        padding:30px 20px;
    }

    .top-aboutus{
        padding-top:80px;
    }
    .top-aboutus__subtitle{
        font-size:20px;
    }
    .top-aboutus__mv img{
        border-radius:10px;
    }

    .top-download{
        padding-top:80px;
    }

    .common-footer__download__container{
        border-radius:20px;
    }
    .common-footer__download__title{
        margin-bottom:30px;
    }
    .common-footer__download__title--jp{
        font-size:20px;
    }
    .common-footer__download__vm{
        padding:0 20px;
    }

    .top-column{
        padding-top:80px;
    }

    .top-faq{
        padding:80px 0;
    }

    .top-faq__mv img{
        border-radius:10px;
    }
    .top-faq__flex{
        gap:40px;
    }
    .top-faq__title{
        margin-bottom:30px;
    }

    .faq-article{
        padding:20px 0;
    }
    .faq-article__question__text{
        font-size:16px;
    }



    /* PAGE */

    .common-mv{
        padding:160px 0 20px;
    }
    .common-mv__title--en{
        font-size:42px;
        margin-bottom:12px;
    }
    .common-mv__title--jp{
        font-size:24px;
    }

    .common-footer__download{
        padding:80px 0;
    }



    /* SERVICE */

    .s-reason__steps{
        flex-wrap:wrap;
    }

    .s-title--jp{
        font-size:24px;
    }

    .s-probs{
        grid-template-columns:1fr;
        gap:20px;
    }
    .s-prob{
        padding:30px 20px;
    }


    .s3-bottleneck__point{
        width:100%;
    }

    .s3-bottleneck__point__pop{
        position:relative;
        top:0;
    }
    .s3-bottleneck__point__pop--text{
        font-size:16px;
    }
    .s3-bottleneck__point__box{
        padding:60px 20px 40px;
    }



    /* SERVICE - 01 */

    .s1-concept{
        padding-top:80px;
    }
    .s1-concept__title{
        font-size:28px;
    }

    .s1-solutions{
        padding-top:80px;
    }


    .s1-solutions__mainmenu li{
        height:75px;
    }
    .s1-solutions__mainmenu li:first-child {
        border-top-left-radius: 20px;
        border-top-right-radius: 20px;
    }
    .s1-solutions__mainmenu li:last-child {
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

    .s1-solutions__tab__menu{
        border-radius:20px;
        padding:40px 20px;
    }

    .s1-solutions__tab{
        border-radius:20px;
    }
    .s1-solutions__subtab{
        padding:40px 20px;
    }

    .s1-solutions__subtab__head{
        margin-bottom:40px;
    }
    .s1-solutions__subtab__title{
        font-size:22px;
    }
    .s1-solutions__content__title{
        font-size:20px;
    }
    .s1-solutions__subtab__listbox__title{
        font-size:15px;
    }
    .s1-solutions__subtab__list{
        padding:20px;
    }
    .s1-solutions__subtab__list li{
        font-size:14px;
    }

    .s1-flow{
        padding-top:80px;
    }

    .s-flow{
        width:100%;
    }
    .s-flow__title{
        font-size:18px;
    }
    .s-flow__text{
        font-size:14px;
    }

    .s-case{
        padding-top:80px;
    }

    .s-case__case{
        padding:30px 20px;
    }

    .s-reason{
        padding-top:80px;
    }

    .s-reason__step{
        width:100%;
        flex:auto;
        border:0;
        border-bottom:1px dashed #808080;
    }
    .s-reason__step__numbox{
        width:80px;
        height:120px;
    }
    .s-reason__step__numbox__num{
        font-size:24px;
    }

    .s-faq__sectitle--en{
        font-size:42px;
    }
    .s-faq__sectitle--jp{
        font-size:28px;
    }
    .s-faq__mv img{
        border-radius:20px;
    }



    /* SERVICE - 02 */

    .s1-fails{
        padding-top:80px;
    }
    .s2-about{
        padding-top:80px;
    }

    .s2-about__items{
        grid-template-columns:1fr;
    }

    .s2-models{
        padding-top:80px;
    }

    .s2-model__model.s1 .s2-model__model__content, .s2-model__model.s2 .s2-model__model__content{
        padding:40px 20px;
    }
    .s2-model__model__title{
        font-size:24px;
    }
    .s2-model__model__steps dl{
        flex-wrap:wrap;
        gap:10px;
    }
    .s2-model__model__steps dl dd{
        width:100%;
    }
    .s2-model__stepbox{
        width:90px;
        height:90px;
    }
    .s2-model__model__image{
        border-radius:30px;
    }
    .s2-model__model__imagetitle{
        font-size:30px;
    }

    .s2-flow{
        padding-top:80px;
    }
    .s2-flow__flows dl{
        padding:16px 0;
    }
    .s2-flow__flows dl dt{
        width:100%;
        gap:14px;
    }
    .s2-flow__flows dl dd{
        font-size:14px;
    }
    .s2-flow__step{
        width:80px;
        height:34px;
    }
    .s2-flow__step--text{
        padding-top:6px;
    }
    .s2-flow__step--num{
        font-size:28px;
    }
    .s2-flow__title{
        font-size:16px;
    }

    .s1-about__boxes{
        flex-wrap:wrap;
    }
    .s2-about__items{
        padding:0;
    }
    .s2-about__item__bubble{
        width: 100%;
        max-width: 335px;
        margin: 0 auto;
    }
    .s1-about__box01{
        width:100%;
    }
    .s1-about__box02{
        width:100%;
    }

    .s1-about__bigbox__text{
        font-size:calc(var(--px10) * 1.6);
    }

    .s1-about__box01::before{
        left:calc(50% - (var(--px10) * 3.1));
        top:calc(100% - 1px);
        width:calc(var(--px10) * 6.2);
        height:calc(var(--px10) * 3 + 1px);
        clip-path:polygon(0 0, 100% 0, 50% 100%);
    }


    .s1-human{
        padding-top:80px;
    }
    .s1-human__title{
        font-size:24px;
    }

    .s1-human__tablesp table{
        font-size:12px;
    }



    /* SERVICE - 03 */

    .s3-bottleneck{
        padding-top:80px;
    }

    .s3-about{
        padding-top:80px;
    }

    .s3-about__boxes{
        grid-template-columns:1fr;
        gap:10px;
    }

    .s3-about__box__bg{
        display:none;
    }
    .s3-about__box__container{ 
        width:100%;
        position:relative;
        top: 0 !important;
        left: 0 !important;
        transform:none !important;
        padding:30px 20px;

        background:var(--color-purple);
        box-shadow:inset 0 20px 20px rgba(0,0,0,0.4);

        border-radius:10px;
    }

    .s3-lineup__subtab__date{
        flex-wrap:wrap;
    }
    .s3-lineup__subtab__date dt,
    .s3-lineup__subtab__date dd{
        width:100%;
    }
    .s3-lineup__subtab__date dt{
        border-radius:10px 10px 0 0;

        padding:16px 20px;
    }
    .s3-lineup__subtab__date dd{
        border-radius: 0 0 10px 10px;
        padding:16px 20px;
    }
    .s3-lineup__date__title{
        font-size:16px;
    }
    .s3-lineup__date__list li{
        font-size:14px;
    }




    /* COMPANY */

    .company-fv__title__text.text02{
        margin-top:40px;
    }
    .company-fv__subtitle{
        font-size:24px;
    }
    .company-values__title--jp{
        font-size:22px;
    }


    .company-values__content{
        flex-wrap:wrap;
    }
    .company-values__content__titles,
    .company-values__content__box{
        width:100%;
    }

    .company-values__content__box__text{
        font-size:18px;
    }

    .company-aboutus{
        padding:80px 0 40px;
    }
    .company-aboutus__title--en{
        font-size:60px;
    }
    .company-aboutus__title--jp{
        font-size:22px;
        margin-top:40px;
    }

    .company-aboutus__dls dl{
        padding:18px 0;
        flex-wrap:wrap;
        gap:10px;
    }
    .company-aboutus__dls dl dt,
    .company-aboutus__dls dl dd{
        width:100%;
    }
    .company-aboutus__dls dl dt{
        border:0;
        font-size:14px;
    }
    .company-aboutus__dls dl dd{
        padding:0;
        font-size:14px;
    }

    



    /* CASE */

    .case-minitag{
        font-size:12px;
        display:block;
    }
    .case-tag{
        font-size:14px;
    }

    .case-searchbox__wrapper{
        padding:30px 20px;
    }
    .case-search__tagsearch__dls dl{
        flex-wrap:wrap;
        gap:10px;
    }
    .case-search__tagsearch__dls dl dt{
        width:100%;
        border-right:0;
        font-size:14px;
    }
    .case-search__tagsearch__dls dl dd{
        width:100%;
        padding:0;
    }
    .case-search__tag label{
        font-size:14px;
    }
    .case-search__reset__label{
        margin:0 auto;
    }

    .case-searchbox02__currentdl{
        flex-wrap:wrap;
        gap:10px;
    }
    .case-searchbox02__currentdl dd{
        padding:0;
        width:100%;
    }
    .case-searchbox02__currentdl dt{
        width:100%;
        border-right:0;
        font-size:14px;
    }
    .case-searchbox02__currenttags span{
        font-size:14px;
    }
    .case-search__tag input:checked + label + .case-search__tag__close{
        opacity:1;
    }

    .case-archive__articles{
        grid-template-columns:1fr;
        gap:20px;
    }
    .case-archive__article{
        padding:30px 20px;
    }



    .case-single__head__subtitle{
        font-size:28px;
    }
    .case-single__head__thumbnail__image{
        width:calc(100% + 20px);
    }
    .case-single__head__thumbnail__image img{
        border-radius:10px 0 0 10px;
    }

    .case-single__body{
        padding-top:80px;
    }

    .editor-content .wp-block-group:not(:last-child){
        margin-bottom:60px;
    }

    .case-single__comment{
        padding-top:60px;
    }
    .case-single__commentbox{
        padding:30px 20px;
    }
    .case-single__comment__flex{
        flex-wrap:wrap;
        gap:30px;
    }
    .case-single__comment__assistant{
        width:100%;
        max-width:200px;
        margin:0 auto 40px;
        order:1;
    }
    .case-single__comment__content{
        width:100%;
        order:1;
    }
    .case-single__comment__content__text{
        order:2;
    }





    /* COLUMN */

    .archive-column__box{
        padding:30px 20px;
        border-radius:10px;
    }
    .archive-column__box__icon{
        top:20px;
        right:20px;
    }
    .archive-column__date{
        font-size:14px;
    }


    .single-article__title{
        font-size:24px;
    }




    /* FAQ */

    .faq-archive__categories li a{
        font-size:16px;
    }

    .faq-category__title{
        font-size:20px;
    }

    .faq-articles:not(:last-child){
        margin-bottom:60px;
    }



    /* CONTACT */

    .form-dls dl{
        flex-wrap:wrap;
        gap:10px;
    }
    .form-dls dl dt,
    .form-dls dl dd{
        width:100%;
    }
    input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea{
        width:100%;
    }
    input[type="submit"].wpcf7-submit{
        font-size:16px;
    }




    .editor-content h1{
        font-size:28px;
    }
    .editor-content h2{
        font-size:22px;
    }
    .editor-content h3{
        font-size:18px;
    }
    .editor-content h4{
        font-size:16px;
    }
    .editor-content h5{
        font-size:14px;
    }
    .editor-content h6{
        font-size:12px;
    }

    .editor-content ul,
    .editor-content ol,
    .editor-content table{
        font-size:14px;
    }
}