@charset "utf-8";
.nav-toggle{
    display: none;
}
br.s-up{
    display: none;
}

@media screen and (max-height: 740px){
    #header .header-menu ul li:not(:last-child){
        margin-bottom: 20px;
    }
    #header .header-logo{
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 1600px){
    body{
        padding-left: 240px;
    }
    #header{
        width: 240px;
    }


    /* COMMON */
    .view-more a{
        font-size: 15px;
    }


    /* HEADER */
    #header{
        padding: 40px 30px 40px;
    }
    #header .header-logo img{
        width: 180px;
    }
    #header .header-menu ul li a{
        font-size: 15px;
    }
    #header .header-menu ul li a span{
        font-size: 11px;
    }


    /* FOOTER */
    .pagetop{
        bottom: 20px;
        right: 20px;
    }
    .pagetop span{
        width: 40px;
        height: 40px;
        font-size: 30px;
        line-height: 30px;
    }


    /* TOP */
    .mv-text-box{
        top: 70px;
    }
    .mv .mv-img-small{
        right: -140px;
    }
    .mv-text-box .text-img img{
        height: 70px;
    }
    .mv-text-box .text{
        font-size: 20px;
    }
    .home-sec01 {
        padding: 100px 0 150px;
    }
    .home-sec01 .text.top{
        font-size: 30px;
    }
    .home-sec01 .text:not(.top){
        font-size: 16px;
    }
    .home-sec01 .img {
        transform: inherit;
        position: static;
        margin-top: 20px;
        text-align: center;
    }
    /* .home-sec01 .img {
        transform: translate(300px,-50%);
    } */
    .home-sec03 .cont{
        padding: 50px;
    }
    .home-sec03 .flex .r-cont {
        max-width: calc(100% - 220px);
    }
    .news-content .news-box{
        display: block;
    }
    .news-content .news-box .news-meta{
        width: 100%;
    }
    .news-content .news-box .news-text{
        max-width: 100%;
        margin-top: 5px;
    }
    .home-sec03 .link-box .box{
        height: 26vw;
    }


    /* PAGE */
    .page-mv{
        margin-bottom: 60px;
    }
    .page-mv .page-title{
        padding: 50px 0;
    }
    .page-mv .page-title .page-bg-text{
        font-size: 180px;
        bottom: 150px;
    }
    .page-mv .page-title-text{
        font-size: 40px;
    }
    .page-mv .page-mv-img{
        margin-right: 20px;
    }
    .title-text{
        font-size: 28px;
    }
    .title{
        margin-bottom: 40px;
    }
    .first-section{
        margin-top: 0;
    }
    .subtitle-text{
        font-size: 26px;
    }


    /* COMPANY */
    .company-sec03 table th{
        white-space: nowrap;
    }
    .company-sec03 table th,
    .company-sec03 table td{
        font-size: 14px;
    }
    .company-sec04 .gray-label-content ol.sin-ol > li span{
        font-size: 16px;
        font-weight: 500;
    }
    .company-sec04 .l-text{
        font-size: 32px;
    }


    /* ロボット事業 */
    .robot-sec01 .intro-box .text.top{
        font-size: 24px;
    }
    .robot-sec01 .intro-box .text:not(.top){
        font-size: 16px;
    }
}

@media screen and (max-width: 1400px){
	.fa-sec02 .box .text-box ul:first-child {
		margin-right: 30px;
	}
}

@media screen and (max-width: 1199px){
    #footer .wrap,
    .wrap{
        padding: 0 20px;
    }
}


@media screen and (max-width: 991px){
    body{
        min-width: 320px;
        padding-top: 49px;
        padding-left: 0;
    }

    /* HEADER */
    #header{
        padding: 10px 20px;
        width: 100%;
        height: auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }
    #header .header-logo{
        margin-bottom: 0;
    }
    .header-menu{
        transform: translateX(100%);
        transition: .3s;
        background-color: #064fb2;
        position: fixed;
        top: 49px;
        right: 0;
        width: 300px;
        height: calc(100vh - 49px);
        padding: 100px 20px 40px;
        overflow-y: scroll;
    }
    .home-sec02 .flex .box {
        width: 32%;
    }
    .home-sec03 .cont .view-more.mt {
        margin-top: 50px;
    }
    .open .header-menu{
        transform: translateX(0);
    }
    #header .header-bg{
        display: none;
    }
    .nav-toggle{
        display: block;
        position: relative;
        width: 23px;
        height: 16px;
    }
    .nav-toggle span{
        position: absolute;
        width: 100%;
        height: 2px;
        background-color: #fff;
        left: 0;
        transition: .3s;
    }
    .nav-toggle span:nth-of-type(1){
        top: 0;
    }
    .nav-toggle span:nth-of-type(2){
        top: 7px;
    }
    .nav-toggle span:nth-of-type(3){
        top: 14px;
    }
    .open .nav-toggle span:nth-of-type(1){
        transform: translateY(7px) rotate(45deg);
    }
    .open .nav-toggle span:nth-of-type(2){
        opacity: 0;
    }
    .open .nav-toggle span:nth-of-type(3){
        transform: translateY(-7px) rotate(-45deg);
    }

    /* TOP */
    .mv{
        height: calc(100vh - 49px);
    }
    .mv-text-box{
        top: 80px;
        padding-bottom: 80px;
    }
    .mv .mv-img{
        width: 100%;
        height: 55vh;
    }
    .home-sec01 .img{
        position: initial;
        transform: initial;
        text-align: center;
        margin-top: 30px;
    }
    .home-sec01{
        padding: 60px 0 100px;
    }
    .padding-top{
        padding-top: 60px;
    }
    .padding-bottom{
        padding-bottom: 60px;
    }
    .padding-tb{
        padding: 60px 0;
    }
    .home-sec03 .flex{
        display: block;
    }
    .home-sec03 .flex .l-cont ul{
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 20px;
        justify-content: center;
    }
    .home-sec03 .flex .l-cont ul li{
        margin: 5px;
    }
    .home-sec03 .flex .r-cont{
        max-width: 100%;
    }
    .home-sec03 .ttl-text{
        font-size: 45px;
        margin-bottom: 20px;
    }
    .home-sec03 .link-box .box{
        width: 100%;
        height: 40vw;
    }


    /* COMPANY */
    .company-sec02 table th, .company-sec02 table td{
        display: block;
        width: 100%;
    }
    .company-sec02 table th{
        padding-bottom: 0;
    }
    .company-sec02 table td{
        padding-top: 0;
    }
    .w-55p{
        width: 100%;
    }
    .w-40p{
        width: 100%;
    }
    .company-sec03 .flex .img{
        margin-top: 30px;
        text-align: center;
    }
    .company-sec03 .map iframe{
        height: 250px;
    }
    .company-sec04 .gray-label-content .flex > div{
        width: 100%;
    }
    .company-sec04 .gray-label-content .flex > div:first-child{
        margin-bottom: 30px;
    }


    /* FA事業 */
    .fa-sec02 .box .img{
        width: 42%;
    }
    .subtitle-text{
        font-size: 22px;
    }
    .flow-content ol li .text.top{
        font-size: 18px;
    }
    .faq-content .faq-box .faq-title{
        font-size: 18px;
    }
    .gray-label{
        font-size: 18px;
    }
    .gray-label-content{
        padding: 20px 0;
    }
}

@media screen and (max-width: 767px){
    .wrap{
        overflow: initial;
    }
    .table-grad:after{
        display: none;
    }
    .table-wrap{
        white-space: normal;
        margin-bottom: 0;
    }

    /* HEADER */
    #header .header-logo img {
        width: 160px;
    }
    .header-menu{
        width: 220px;
        padding: 40px 20px;
        top: 48px;
    }
    #header .header-menu ul li a{
        font-size: 14px;
    }
    #header .header-menu ul li a span{
        letter-spacing: 0;
    }


    /* FOOTER */
    #footer{
        margin-top: 100px;
    }
    #footer .footer-logo img{
        width: 210px;
    }


    /* TOP */
    .mv-text-box .text-img img {
        height: 40px;
    }
    .mv-text-box .text-img span:nth-of-type(1) {
        margin-bottom: 15px;
    }
    .mv-text-box {
        top: 40px;
        padding-bottom: 0px;
        padding-left: 20px;
        left: 20px;
    }
    .mv-text-box::before{
        width: 3px;
    }
    .mv-text-box .text{
        font-size: 14px;
        margin-top: 20px;
    }
    .mv-line.n1{
        right: 20px;
    }
    .mv.scrollin .mv-line{
        height: 50px;
    }
    .mv .mv-img{
        width: 100vw;
        height: 60vh;
    }
    .mv-news dl{
        display: block;
    }
    .mv-news dl dt{
        width: 100%;
    }
    .mv-news dl dd{
        max-width: 100%;
    }
    .mv-news dl dt, .mv-news dl dd{
        font-size: 12px;
        display: block;
    }
    .mv-news{
        max-width: calc(100% - 20px);
    }
    .mv-line.n2{
        display: none;
    }
    .home-sec01 .text.top{
        font-size: 22px;
    }
    .text{
        font-size: 14px;
    }
    .home-sec01 .text:not(.top){
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 2.2;
    }
    .home-sec02 .flex .box{
        width: 100%;
        margin-bottom: 40px;
    }
    .home-sec02 .flex .box:last-child{
        margin-bottom: 0;
    }
    .home-sec02 .flex .box .text-box .ttl-text{
        font-size: 20px;
    }
    .home-sec03 .cont{
        padding: 40px 20px;
    }
    .home-sec03 .ttl-text{
        font-size: 40px;
    }
    .home-sec03 .flex .l-cont ul li{
        width: 48%;
        margin: 0 1% 1%;
    }
    .home-sec03 .l-cont ul li a{
        width: 100%;
        margin: 0;
    }
    .home-sec03 .flex .l-cont ul{
        justify-content: flex-start;
    }
    .news-meta .date{
        font-size: 13px;
    }
    .news-meta .cat{
        font-size: 12px;
    }
    .news-content .news-box .news-text a{
        font-size: 14px;
    }
    .news-content .news-box{
        padding: 15px 0 10px;
    }
    .view-more a{
        font-size: 13px;
    }
    .view-more.mt{
        margin-top: 30px;
    }
    .home-sec03 .link-box .box .text-box .text{
        font-size: 14px;
    }
    .home-sec03 .link-box .box .text-box .text span{
        font-size: 42px;
    }
    .home-sec03 .link-box .box{
        height: 66vw;
        margin-top: 15px;
    }
    .home-sec03 .link-box .box .text-box .view-more span{
        display: inline-block;
        font-size: 13px;
    }

    .home-sec02 .flex .box .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        aspect-ratio: 3 / 2;
    }


    /* PAGE */
    .page-mv .page-title-text{
        font-size: 30px;
    }
    .page-mv .page-title .page-bg-text{
        font-size: 80px;
        transform: initial;
        bottom: 0;
    }
    .page-mv.privacy-mv .page-title .page-bg-text{
        font-size: 50px;
        transform: initial;
        bottom: 0;
    }
    .privacy-sec01 .sin-ul>li{
        font-size: 14px;
    }
    .page-mv .page-title{
        padding: 30px 0;
    }
    .page-mv .page-mv-img{
        margin-right: 0;
        height: 35vw;
    }
    .title-text{
        font-size: 22px;
        padding-bottom: 5px;
        border-bottom: 1px solid #dddee0;
    }
    .title-text::before{
        bottom: -1px;
        height: 1px;
        width: 60px;
    }
    .title {
        margin-bottom: 30px;
    }
    .company-sec01 table th, .company-sec01 table td{
        display: block;
        width: 100%;
        font-size: 14px;
        padding: 15px;
    }
    .company-sec03 table td dl dt, .company-sec01 table td dl dt{
        width: 100%;
        font-size: 13px;
        margin-right: 0;
        padding: 3px 0;
        margin-bottom: 5px;
    }
    .company-sec03 table td dl, .company-sec01 table td dl{
        margin-bottom: 20px;
    }
    .company-sec02 table th, .company-sec02 table td{
        font-size: 14px;
    }
    .company-sec03 table th, .company-sec03 table td{
        display: block;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
    .company-sec03 table th{
        padding-bottom: 5px;
    }
    .company-sec03 table td{
        border-top: none;
        padding-top: 0;
    }
    .company-sec03 table th{
        white-space: normal;
    }
    .company-sec03 table tr:last-child th{
        border-bottom: none;
    }
    br.s-up{
        display: block;
    }
    .company-sec03 table td a{
        margin-left: 5px;
        font-size: 12px;
    }
    .company-sec03 .ttl-text{
        font-size: 16px;
        padding: 30px 0 10px;
    }
    .company-sec04 .text{
        font-size: 14px;
    }
    .company-sec04 .ttl-text{
        font-size: 18px;
    }
    .company-sec04 .l-text{
        font-size: 22px;
    }
    .company-sec04 .gray-label-content ol.sin-ol > li span{
        font-size: 14px;
    }
    .company-sec04 .gray-label-content ol.sin-ol > li{
        font-size: 13px;
    }
    .column-2-3,
    .column-1-3{
        width: 100%;
    }
    .subtitle-text::before{
        height: 2px;
    }
    .subtitle-text{
        padding-bottom: 15px;
    }
    .subtitle{
        margin-bottom: 30px;
    }
    .column-2-3:first-child{
        margin-bottom: 30px;
    }
    .subtitle-text{
        font-size: 20px;
    }
    .gray-label{
        font-size: 16px;
    }
    .fa-sec02 .box .text-box ul:first-child{
        margin-right: 0;
    }
    ul.dots-list li{
        font-size: 14px;
    }
    .fa-sec02 .box .img{
        width: 100%;
        text-align: center;
    }
    .fa-sec02 .box:not(:last-child){
        margin-bottom: 60px;
    }
    .flow-content ol li{
        padding: 20px 30px;
        display: block;
    }
    .flow-content ol li .text.top{
        font-size: 16px;
        max-width: 100%;
        margin: 5px 0;
    }
    .flow-content ol li .text:not(.top){
        width: 100%;
    }
    .flow-content ol li:not(:last-child):after{
        display: none;
    }
    .flow-content ol li::before{
        text-align: center;
        max-width: 100%;
    }
    .column-1-2{
        width: 100%;
    }
    .column-1-2:first-child{
        margin-bottom: 30px;
    }
    .faq-content .faq-box .faq-title::before,
    .faq-content .faq-box .answer::before{
        font-size: 26px;
    }
    .faq-content .faq-box .faq-title::before, .faq-content .faq-box .answer::before {
        top: 10px;
        left: 15px;
    }
    .faq-content .faq-box .faq-title {
        font-size: 15px;
        padding: 10px 50px;
    }
    .faq-content .faq-box .faq-title span {
        top: 18px;
        right: 15px;
        width: 14px;
        height: 14px;
    }
    .faq-content .faq-box .answer {
        padding: 15px 50px;
        font-size: 14px;
    }
    .faq-content .faq-box{
        margin-bottom: 8px;
    }


    /* ROBOT */
    .robot-sec01 .intro-box .text.top{
        font-size: 18px;
    }
    .robot-sec01 .intro-box .text.top br{
        display: none;
    }
    .robot-sec01 .intro-box .text:not(.top){
        font-size: 14px;
    }
    .equipment-sec01 table th, .equipment-sec01 table td{
        font-size: 11px;
        padding: 5px;
    }
    .equipment-sec01 table{
        width: 767px !important;
    }
    

    /* お知らせ */
    .news-sec .news-cat ul li{
        width: 48%;
        margin: 0 1% 1%;
    }
    .news-sec .news-cat ul li a{
        font-size: 13px;
        display: block;
        margin: 0;
        padding: 5px 0;
        text-align: center;
    }
    .single-title{
        font-size: 18px;
    }
    .post-content{
        font-size: 14px;
    }

    .law{
        font-size: 14px;
    }
}