@charset 'UTF-8';

.page_header.movie{
    position: relative;
}

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

    /* HEADER */
    #header .logo img {
        width: 80px;
    }
    #header .header-hover-menu-inner{
        max-width: 1000px;
    }
    #header .header-hover-menu{
        padding: 25px 0;
    }
    #header .header-hover-menu .cont .parent-link a{
        font-size: 16px;
    }
    #header .header-hover-menu .cont .ul-flex .cont-sin-ul>li,
    #header .header-hover-menu .cont .ul-flex .cont-sec-ul>li,
    #header .header-hover-menu .cont .ul-flex .cont-sin-ul>li>a,
    #header .header-hover-menu .cont .ul-flex .cont-sec-ul>li>a{
        font-size: 14px;
    }
    #header .header-hover-menu .cont .parent-link a{
        padding: 8px 20px;
    }
    #header .header-hover-menu .cont {
        width: calc(100% - 340px);
    }

    #header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }

    #header .header-menu .contact-btn a,
    #header .header-menu nav ul.sin-ul>li>a,
    #header .header-menu nav ul.lang>li>a{
        line-height: 1;
    }
    #header .header-menu .contact-btn a,
    #header .header-menu nav ul.sin-ul>li>a,
    #header .header-menu nav ul.lang>li>a,
    #header .header-menu nav ul.lang>li{
        font-size: 16px;
    }
    #header .header-menu .contact-btn a{
        width: 170px;
        padding: 20px 0;
    }
    #header .header-menu nav ul.sin-ul>li:not(:last-child)>a{
        padding: 21px 20px;
    }
    #header .header-menu nav ul.sin-ul>li:last-child{
        padding: 18px 0;
    }
    #header .header-hover-menu{
        top: 58px;
    }
    #header .header-hover-menu .cont .ul-flex{
        padding: 15px 15px 0;
    }
    #header .header-hover-menu .cont .ul-flex .cont-sec-ul>li::before{
        top: 8px;
    }

    .slide_wrap {
        margin: 0 auto;
    }

    #sec05 .slide_wrap .title {
        width: 22%;
    }

    #sec05 .slide_wrap .business_slick {
        width: 78%;
    }

    .slide_wrap .title h2 {
        width: 70%;
        color: #000;
    }

    #sec04.front_sec .front_topics .title {
        max-width: 530px;
    }
}

@media screen and (max-width: 1366px){
    /* COMMON */
    html{
        font-size: 95%;
    }

    /* HEADER */
    header#sidebar .menu a img,
    header#sidebar .drawer a img{
        width: 34px;
    }

    /* サービスTOP */
    .service_top_sec01 .text.mincho{
        font-size: 2.2rem;
    }
    .service_top_intro .flex .text_box .text.top{
        font-size: 1.3rem;
        margin-bottom: 10px;
    }
    .service_top_intro .flex .text_box .text{
        font-size: 1rem;
    }
    .service_top_intro{
        padding-left: 80px;
    }
    .service_top_sec01 .wrap {
        max-width: 1170px;
    }

    /* COMPANY */
    #company_motto .page_sec h4{
        font-size: 24px;
    }
    #company_motto #sec02.page_sec .backimg{
        top: 4em;
    }
}

@media screen and (max-width: 1200px){
    body{
        min-width: 1200px;
    }
}

@media screen and (max-width: 991px){
    body.home .wrap, .wrap{
        margin: 0;
    }
    html {
        font-size: 90%;
    }
    body{
        min-width: 320px;
    }
    .pc-only{
        display: none !important;
    }
    .sp-only{
        display: block !important;
    }

    /* HEADER */
    header#sidebar .inner>div{
        display: none;
    }
    header#sidebar .inner>div.drawer{
        display: block;
    }
    header#sidebar{
        left: auto;
        right: 0;
        bottom: auto !important;
    }
    header#sidebar,
    header#sidebar .inner{
        height: auto;
        min-height: auto;
    }

.tb_logo {
    display: block;
    padding: 5px;
    width: 100%;
    margin-bottom: 30px;
}

.tb_logo img {
    max-width: 180px;
}

    main#container{
        padding-left: 0;
    }
    div#drawer{
        width: 100%;
    }

    div#drawer .inner {
        padding: 1em 2em 2em;
    }

    div#drawer a#close{
        display: none;
    }
    header#sidebar .drawer a img{
        pointer-events: none;
    }

    #header .logo {
        display: none;
    }

    
    .h-menu {
        padding: 15px 15px 5px;
        position: fixed;
        top: 0;
        right: 0;
        background-color: #fff;
        text-align: center;
        z-index: 99;
        display: block;
    }

    .h-menu img{
        width: 35px;
        transition: all .3s;
        margin-bottom: 10px;
        filter: grayscale(1);
    }

    .h-menu.active img {
        transform: rotate(-45deg);
    }

    #header .header-menu {
        display: none;
    }


    .header-menu-sp {
        transform: translateX(-100%);
        transition: all .3s;
        height: 100vh;
        width: 100%;
        display: block;
        padding: 0 20px;
        background-color: #fff;
        overflow-y: scroll;
        padding-bottom: 5em;
        width: calc(100% - 250px);
        position: fixed;
        top: 0;
        left: 0;
        z-index: 99;
    }

    .header-menu-sp.open {
        transform: translateX(0%);
    }

    .header-menu-sp a {
        color: #000;
        font-size: 14px;
    }

    .header-menu-sp a.current {
        font-weight: bold;
    }

    .header-menu-sp .cont .cont-sin-ul>li::before,
    .header-menu-sp ul.sin-ul>li .cont .parent-link::before {
        content: "\f105";
        font-family: FontAwesome;
        margin-left: -1em;
        padding-right: 10px;
        color: #000;
        position: relative;
        top: -1px;
    }
    .header-menu-sp ul.sin-ul>li .cont ul.cont-sec-ul li::before {
        content: "-";
        margin-left: -1em;
        padding-right: 10px;
        color: #000;
        position: relative;
        top: -1px;
    }

    .header-menu-sp .cont .cont-sin-ul {
        padding-left: 40px;
    }
    .header-menu-sp ul.sin-ul>li .cont .parent-link {
        margin-bottom: 10px;    
        padding-left: 20px;
    }

    .header-menu-sp ul.sin-ul>li .cont .parent-link,
    .header-menu-sp ul.sin-ul>li .cont .parent-link a {
        font-size: 1.1rem;
    }

    .header-menu-sp ul.sin-ul {
        display: flex;
        flex-wrap: wrap;
    }

    .header-menu-sp ul.sin-ul>li {
        margin-bottom: 20px;
        width: 46.33%;
    }

    .header-menu-sp .sp-logo {
        padding: 20px 0;
        max-width: 250px;
    }

    .header-menu-sp ul.sin-ul>li>a {
        font-weight: bold;
        font-size: 1em;
        margin-bottom: 20px;
    }

    .header-menu-sp ul.sin-ul>li .cont {
        margin-top: 10px;
    }
    .header-menu-sp ul.sin-ul>li .cont ul.cont-sin-ul>li {
        margin-bottom: 5px;
    }

    .header-menu-sp ul.sin-ul>li .cont ul.cont-sec-ul {
        padding-left: 30px;
        margin-top: 5px;
    }

    .header-menu-sp .lang.adjust {
        display: flex;
        gap: 5px;
    }

    .header-menu-sp .contact-btn a {
        width: 170px;
        padding: 20px 0;
        background-color: #000;
        color: #fff;
        font-weight: bold;
        text-align: center;
        display: inline-block;
    }

    /* FOOTER */
    footer#footer .footer_wrap{
        padding: 2em 20px;
    }
    footer#footer .footer_wrap{
        flex-wrap: wrap;
    }
    footer#footer .logo{
        width: 100%;
        text-align: center;
    }
    footer#footer .logo img{
        width: 200px;
    }
    footer#footer .menu {
        margin-top: 0;
        padding: 15px 0;
    }
    footer#footer .menu ul{
        display: flex;
        justify-content: center;
    }
    footer#footer .menu ul li{
        padding: 3px 12px;
    }

    /* TOP */
    #sec01.front_sec .logo p:first-child img{
        min-width: 500px !important;
    }
    #sec02.front_sec #front_newtopics h2 {
        margin-bottom: 5px;
    }
    #sec02.front_sec #front_newtopics dl dt,
    #sec02.front_sec #front_newtopics dl dd{
        font-size: 14px;
    }
    #sec02.front_sec #front_newtopics .front_newtopics_wrap{
        padding: 15px;
    }
    #sec03.front_sec .halfcut{
        width: 100%;
    }
    #sec03.front_sec #sec03-1{
        height: 60vw;
    }
    #sec02.front_sec .front_zindex{
        min-width: 100%;
    }
    .front_sec.h100{
        height: auto;
    }
    #sec01.front_sec.front_sec.h100,
    #sec02.front_sec.front_sec.h100{
        height: 100vh;
    }
    #sec04.front_sec h2{
        writing-mode: initial;
        -ms-writing-mode: initial;
        -webkit-writing-mode: initial;
        margin-right: 0;
        float: initial;
        margin-bottom: 20px;
        font-size: 35px;
    }
    #sec04.front_sec .front_topics .title{
        width: 56%;
    }
    #sec04.front_sec .front_topics .cat{
        width: 13%;
    }
    #sec05.front_sec .front_footer_btn p{
        padding: 40px 15px;
    }
    section#under_banner .banners .col_4{
        width: 48%;
    }

    .business_slick {
        padding: 35px 0;
    }

    .slide_wrap .title h2 span {
        display: block;
    }

    #sec04.front_sec .front_topics .cat {
        width: auto;
        min-width: inherit;
        margin-right: 20px;
    }

    #sec04.front_sec .front_topics .title {
        width: 100%;
        margin-top: 20px;
        max-width: inherit;
    }

    #sec05 .slide_wrap .title,
    #sec05 .slide_wrap .business_slick {
        width: 100%;
    }

    .slide_wrap .business_slick .box figure img {
        width: 100%;
    }

    .business_slick .box {
        margin-right: 0;
    }

    #sec05 .slide_wrap .title h2 {
        margin-bottom: 0;
    }

    section#sec05 {
        padding-top: 3rem;
    }

    footer#footer .menu ul {
        flex-wrap: wrap;
    }

    footer#footer .menu ul li {
        margin-bottom: 10px;
        width: 24%;
        text-align: center;
    }

    footer#footer .menu ul li:nth-of-type(4n) {
        border-right: 1px solid #fff;
    }

    section#sec01 .front_slick h1 {
        display: none;
    }

    #sec02 .link_col {
        justify-content: center;
    }

    #sec02 .link_col .text_box {
        width: auto;
    }

    .slide_wrap {
        max-width: calc(100% - 10%);
    }

    /* PAGE */
    .page_header.movie{
        position: relative;
    }
    .page_header .page_header_inner{
        padding: 52px 20px;
    }
    .page_header{
        height: 300px;
    }
    .page_header .page_header_inner .logo img {
        max-height: 120px;
    }
    .page_header .page_header_inner h2{
        font-size: 35px;
    }
    .page_header .page_header_inner .text{
        font-size: 16px;
        margin-top: 0;
    }
    .page_content .page_top_title span.enfont{
        font-size: 40px;
    }
    .page_content .page_top_title span.jptitle {
        margin-top: -20px;
        font-size: 18px;
    }
    .page_content .page_top_title span.underline{
        margin: 15px auto 0;
    }

    /* SERVICE TOP */
    .service_top_intro .flex.intro_desc::after{
        display: none;
    }
    .service_top_intro .intro_desc .box {
        width: 48%;
        margin: 20px 0;
    }
    .service_top_intro .flex .logo img{
        transform: initial;
    }
    .service_top_intro .flex.intro_desc {
        margin-top: 30px;
    }
    .service_top_intro .flex .text_box .text.top br{
        display: none;
    }
    .service_top_sec02 .service_flow .text_box {
        width: 25%;
        text-align: center;
    }
    .service_top_sec02 .service_flow .text_box.n1 .text.top{
        text-align: center;
    }
    .service_top_sec02 .service_flow .text_box.n3,
    .service_top_sec02 .service_flow .text_box.n4{
        width: 35%;
    }
    .service_top_sec02 {
        padding: 50px 0 0;
    }
    .service_top_sec03 {
        padding: 0 0 50px;
    }
    .link_box .box{
        width: 44%;
        height: 110px;
    }
    .link_box .box .text.top{
        font-size: 1.4rem;
    }

    /* SERVICE ???? */
    .service_common_sec01 .box .text_box {
        width: 40%;
        transform: translate(70px,-30px);
    }
    .service_common_sec01 .box h3.mincho{
        font-size: 2.3rem;
    }
    .service_common_btns {
        bottom: -30px;
        left: auto;
        right: 0;
        width: calc(100vw - 40px);
        transform: translateY(100%);
    }
    .service_common_header{
        height: 250px;
    }
    .service_common_btns.no_ab .service_common_btn{
        width: 46%;
        margin: 1% 2%;
    }
    .service_common .service_anchor {
        padding-top: 0;
    }
    .service_common_sec01 {
        padding-bottom: 100px;
    }
    .sari_title img.trans{
        display: none;
    }
    .sari_content .box .text_box img{
        display: none;
    }
    .sari_content .text.top{
        font-size: 20px;
    }
    .sari_title img{
        width: 250px;
    }
    .sari_content .sari_top_box .text_box img{
        display: none;
    }
    .sari_content .sari_top_box .img,
    .sari_content .sari_top_box .text_box{
        width: 100%;
        margin: 15px 0;
        text-align: center;
    }
    .sari_content .box{
        margin-top: 80px;
    }
    .sari_content .box .img{
        text-align: center;
    }
    .sari_content .box .text_box{
        margin-top: 20px;
    }
    .sari_content .box .img,
    .sari_content .box .text_box .text{
        position: initial !important;
        width: 100% !important;
    }
    .page_header.wide{
        height: 100vh;
        position: relative;
        display: flex;
        align-items: center;
    }
    .page_header.wide .page_header_inner{
        margin-left: 0;
        padding: 0 20px;
    }
    .page_header.wide .page_header_inner .logo img {
        max-height: 180px;
    }
    #company #sec01.page_sec .rightline img{
        width: 30px;
    }
    #company #sec01.page_sec .wrap p.mt {
        margin-top: 4em;
    }
    #company .company_btns {
        padding: 50px 0;
    }
    #company .company_btns .company_btn{
        width: 48%;
    }
    #company_motto #sec01.page_sec .pointdiv{
        width: 100%;
        position: initial;
        margin-top: 30px;
    }
    #company_motto .page_sec h4 {
        line-height: 1.8;
        font-size: 18px;
    }
    #company_motto .page_sec h3{
        font-size: 20px;
        margin-bottom: 20px;
    }
    #company_motto #sec01.page_sec .pointdiv .inner img{
        max-width: 380px;
    }
    #company_motto #sec01.page_sec .pointdiv .right{
        text-align: center;
    }
    #company_motto #sec01.page_sec{
        padding-bottom: 50px;
    }
    #company_motto #sec03.page_sec .greetings img.float_left{
        float: initial;
        margin-right: 0;
    }
    #company_motto #sec03.page_sec .greetings{
        text-align: center;
    }
    #company_motto #sec03.page_sec .greetings p,
    #company_motto #sec03.page_sec .greetings h4{
        text-align: left;
    }
    #company_motto #sec03.page_sec .signature{
        max-width: 220px;
    }
    #company_motto #sec03.page_sec .signature img{
        width: 160px;
        margin-top: 10px;
    }
    .page_content .page_link_button_box{
        padding: 60px 0;
    }
    #company_about #sec01.page_sec .maindiv{
        width: 100%;
        padding: 20px 40px;
    }
    #company_about #sec01.page_sec .image{
        position: initial;
        width: 50%;
        margin: 0 auto;
    }
    #company_about #sec01.page_sec .maindiv h3 img{
        width: 250px;
    }
    #company_office #sec01.page_sec .office_sec.middle_sec .image{
        position: initial;
        margin-bottom: 30px;
        margin-right: 0;
        margin-top: 0;
    }
    #company_office #sec01.page_sec .office_sec .map{
        float: initial;
        margin-bottom: 0;
    }
    #company_office #sec01.page_sec .office_sec .map iframe{
        width: 100%;
    }
    #company_office #sec01.page_sec .office_sec{
        padding: 40px 20px;
    }
    #company_office #sec01.page_sec .office_sec:last-child{
        margin-bottom: 0;
    }
    #company_office #sec01.page_sec .office_sec p{
        font-size: 14px;
    }
    #calender .calender_wrap .col_3{
        width: 48%;
        min-height: 80px;
    }
    #calender .calender_wrap .col_3 .low img{
        width: 200px;
    }
    #calender #sec01.page_sec{
        padding-bottom: 1em;
    }
    #authorization .auth_table table th{
        font-size: 16px;
        padding: 8px 5px;
    }
    #authorization .auth_table table td{
        font-size: 14px;
    }
    #authorization .authorization_box#tab_01_03 .thumbs{
        float: initial;
        margin-left: 3em;
        margin-bottom: 0;
    }
    #authorization .authorization_box#tab_01_04 .details:nth-of-type(3) .auth_flex_left,
    #authorization .authorization_box#tab_01_04 .details:nth-of-type(5) .auth_flex_left{
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }
    #authorization .authorization_box#tab_01_04 .details:nth-of-type(3) .auth_flex_right,
    #authorization .authorization_box#tab_01_04 .details:nth-of-type(5) .auth_flex_right{
        width: 100%;
    }
    #authorization .menu_2 .menu .title p{
        padding: 5px 0 0;
    }
    #authorization .menu_2 .menu .title img{
        float: initial;
        display: block;
        margin: 0 auto;
    }
    #authorization .authorization_box#tab_02_01 .details:nth-of-type(4) .auth_flex_left{
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }
    #authorization .authorization_box#tab_02_01 .details:nth-of-type(4) .auth_flex_right{
        width: 100%;
    }

    /* ?????? */
    .order_flow .box::after{
        display: none;
    }
    .order_flow .box{
        width: 48%;
        margin: 0 1% 60px;
        height: auto;
        border: 1px solid #396741;
        border-radius: 15px;
        padding: 30px 20px;
    }
    .order_flow .box .text{
        height: auto;
        margin: 30px 0;
    }
    .order_flow .box .text.top::before{
        transform: translate(-50%,-50%);
        left: 50%;
    }
    .order_flow .box .order_flow_step{
        text-align: left;
        position: absolute;
        transform: translateY(-100%);
        top: 10px;
        left: 10px;
    }
    .order_flow .box .text.top{
        margin: 35px 0;
    }
    .order_sec01 .text.att{
        margin-top: 0;
        font-size: 16px;
    }
    #orderpdf_archive .order_articles .order_article dl{
        width: 75%;
    }
    #orderpdf_archive .order_articles .order_article div.download_btn{
        width: 25%;
    }
    #orderpdf_archive .order_articles .order_article{
        margin-bottom: 1em;
    }

    /* KIGUCHI TOWN - NEWS */
    .news .news_tab{
        padding: 20px;
    }
    .news .news_tab_title .date{
        padding: 10px 15px;
    }
    .news .news_tab_title .date .day{
        font-size: 32px;
        line-height: 32px;
    }
    .news .news_tab_title .date .year{
        font-size: 16px;
        line-height: 16px;
    }
    .news .news_tab_title .date .month{
        font-size: 16px;
        line-height: 16px;
    }
    .news .hand{
        display: none;
    }
    .service_common_sec01 .img{
        width: 90%;
    }
    .service_common_sec01 .box .text_box {
        width: 90%;
        margin-bottom: 30px;
        transform: initial;
    }

    #sec03 .business_slick .box,
    #sec05 .business_slick .box {
        margin-right: 10px;
    }

    footer#footer .bottom_menu ul {
        margin-top: 30px;
    }

    footer#footer .bottom_menu .breadcrumbs {
        text-align: left;
    }

    footer#footer .bottom_menu ul li {
        width: 100%;
        border-right: 1px solid #fff;
    }

    footer#footer .bottom_menu {
        margin-top: 30px;
    }


    #service-calibration #equipment .arrangement .card dl > div {
        width: 100%;
    }

    #contact-for-inquiries .cards {
        grid-template: auto / repeat(2, 1fr);
        
    }
}


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

    /* ??? */
    .town.pc_only{
        display:none;
    }
    .sptown.sp_only{
        display:block;
    }

    h2,h3,h4,h5{
        margin: 0;
    }
    .wrap{
        overflow: initial;
    }
    .text,p{
        font-size: 14px;
    }
    .col_4_3{
        width: 98%;
        margin: 1%;
    }

    /* HEADER */
    header#sidebar .drawer a img{
        margin-bottom: 5px;
    }
    header#sidebar .drawer{
        margin: 10px auto;
    }
    header#sidebar{
        width: 70px;
    }
    header#sidebar .drawer a p{
        font-size: 12px;
    }
    div#drawer{
        height: 100vh;
        overflow-y: scroll;
    }
    div#drawer .col_3{
        width: 100%;
        margin: 0 0 1em;
    }
    div#drawer .col_4{
        width: 100%;
        margin: 0 0 1em;
    }
    div#drawer .buttons .button div.img{
        padding: 10px;
    }
    div#drawer .banner .banner_box_1, div#drawer .banner .banner_box_2{
        width: 100%;
        margin: 0 0 1em;
    }
    div#drawer .bottom_menu{
        max-width: inherit;
        width: 100%;
        margin: 0;
        padding-bottom: 2em;
    }
    div#drawer .banner.flex{
        flex-wrap: wrap;
    }
    div#drawer .banner.flex .banner_box_0{
        width: 100%;
        order: 1;
    }
    div#drawer .banner.flex .banner_box_1{
        width: 49.5%;
        order: 2;
        margin-top: 3%;
        margin-left: .5%;
    }
    div#drawer .banner.flex .banner_box_2{
        width: 49.5%;
        margin-top: 3%;
        margin-left: .5%;
        order: 3;
    }
    div#drawer .banner.flex div a img{
        width: 100%;
    }

    .header-menu-sp {
        width: calc(100% - 90px);
    }

    .header-menu-sp ul.sin-ul>li {
        width: 100%;
    }

    .h-menu {
        padding: 10px 5px 5px;
    }

    .h-menu img {
        width: 25px;
    }

    .h-menu .enfont {
        font-size: 12px;
    }

    /* FOOTER */
    footer#footer .menu ul{
        flex-wrap: wrap;
    }
    footer#footer .menu ul li{
        width: 100%;
        text-align: center;
        border: 0;
        margin-bottom: 15px;
    }
    footer#footer .menu ul li:nth-of-type(4n),
    footer#footer .menu ul li:last-child{
        border: 0;
    }
    footer#footer .bottom_menu{
        text-align: left;
    }
    footer#footer .bottom_menu ul li{
        border: 0;
    }
    footer#footer .bottom_menu ul li:last-child{
        border: 0;
    }
    .pagetop {
        bottom: 80px;
        right: 20px;
    }
    .pagetop span{
        width: 40px;
        height: 40px;
        font-size: 30px;
        line-height: 35px;
    }

    /* TOP */
    #sec01.front_sec .logo p:first-child img {
        min-width: 300px !important;
    }
    #sec01.front_sec .logo p:nth-of-type(2) img{
        max-width: 240px !important;
    }
    #sec01.front_sec .logo p {
        margin-bottom: 1em;
    }
    #sec03.front_sec #sec03-2 .front_zindex, #sec03.front_sec #sec03-3 .front_zindex{
        left: 0;
    }
    .front_sec .front_zindex h2{
        font-size: 30px;
    }
    .front_sec .front_zindex p{
        font-size: 14px;
        line-height: 2;
    }
    .front_sec .link_box{
        font-size: 14px;
    }
    #sec03.front_sec #sec03-1 {
        height: 100vh;
    }
    .front_slick{
        position: initial;
    }
    #sec02.front_sec #front_newtopics{
        width: 100%;
    }
    #sec02.front_sec #front_newtopics dl dt{
        padding-left: 0;
    }
    #sec01.front_sec{
        padding: 0;
        min-height: auto;
    }
    #sec01.front_sec.front_sec.h100 .front_slick,
    #sec02.front_sec.front_sec.h100 .front_slick{
        height: 100vh;
    }
    #sec05.front_sec .front_footer_btn{
        width: 100%;
    }
    #sec05.front_sec .wrap{
        top: 0;
    }
    #sec04.front_sec h2{
        font-size: 25px;
    }
    #sec04.front_sec .front_topics{
        padding: 15px 10px;
    }
    #sec04.front_sec .front_topics .title{
        width: 100%;
        margin-right: 0;
        margin-bottom: 10px;
    }
    #sec04.front_sec .front_topics .date{
        width: 100%;
        margin-right: 0;
        margin-bottom: 10px;
    }
    #sec04.front_sec .front_topics .cat{
        width: 90%;
        margin-right: 0;
    }
    #sec04.front_sec .front_topics .expand{
        width: 10%;
    }
    #sec04.front_sec .front_topics .expand_container{
        padding-top: 10px;
    }
    #sec04.front_sec .front_topics .expand_container .space{
        width: 0;
    }
    #sec04.front_sec .front_topics .expand_container .excerpt{
        width: 100%;
        margin-right: 0;
    }
    #sec04.front_sec .front_topics .expand_container .excerpt p{
        line-height: 1.8;
    }
    #sec04.front_sec .front_topics .expand_container .link{
        width: 100%;
        text-align: right;
    }
    #sec04.front_sec .front_topics .expand_container .link a{
        font-size: 14px;
        margin-top: 5px;
    }
    .front_slick .bg,
    .front_sec.h100{
        min-height: 100vh;
    }

    #sec02.front_sec .front_zindex h2 {
        font-size: 28px;
    }

    #sec02.front_sec .front_zindex p.st {
        font-size: 1rem;
    }
    
    .slide_wrap .title h2 {
        width: 100%;
        margin-right: 0;
        margin-bottom: 15px;
        font-size: 3rem;
    }

    #sec04.front_sec h2 {
        font-size: 3rem;
    }

    #sec04.front_sec .slide_wrap .title h2.enfont {
        width: 100%;
    }

    .front_slick .bg, .front_sec.h100 {
        min-height: inherit;
    }

    #sec04.front_sec .slide_wrap .cat_box ul li {
        font-size: 14px;
        padding: 5px 10px;
        margin-bottom: 10px;
    }

    #sec04.front_sec .front_topics .date {
        width: 100%;
        margin-right: 0;
        margin-bottom: 0;
        min-width: inherit;
        max-width: inherit;
    }

    #sec04.front_sec .front_topics .cat {
        margin-right: 15px;
    }

    #sec04.front_sec .front_topics .date,
    #sec04.front_sec .front_topics .cat {
        width: auto;
    }

    #sec04.front_sec .front_topics .title h3 {
        font-size: 13px;
    }

    footer#footer .bottom_menu {
        text-align: left;
        position: inherit !important;
    }

    footer#footer .footer_wrap {
        padding: 2em 20px 0;
    }

    #sec02.front_sec #front_newtopics {
        top: 0;
        transform: translateY(-50%);
    }

    .front_sec .front_zindex p {
        margin-bottom: 15px;
    }

    /* PAGE */
    .page_header .page_header_inner .logo img {
        max-height: 80px;
    }
    .page_header .page_header_inner h2{
        font-size: 25px;
    }
    .page_header{
        height: 200px;
    }
    .page_header .page_header_inner {
        padding: 60px 20px;
    }

    /* ???? */
    .service_top_sec01 .text.mincho {
        font-size: 1.5rem;
        -webkit-writing-mode: initial;
        -ms-writing-mode: initial;
        writing-mode: initial;
        position: initial;
        margin-bottom: 20px;
        font-weight: bold;
    }
    .service_top_intro{
        padding-left: 0;
    }
    .service_top_intro .flex .text_box{
        width: 100%;
    }
    .service_top_intro .flex .logo{
        width: 100%;
        margin-top: 20px;
    }
    .service_top_intro .flex .text_box .text.top{
        font-size: 1.1rem;
    }
    .service_top_intro .flex .logo img{
        width: 210px;
    }
    .service_top_intro .intro_desc .box{
        width: 100%;
    }
    .service_top_slider li {
        height: 60vw;
    }
    .service_top_slider_thumb li {
        width: 23%;
        margin: 1%;
        height: 15vw;
    }
    .service_top_sec01{
        padding: 50px 0 0;
    }
    .link_box .box{
        width: 100%;
        margin: 25px 0;
    }
    .link_box .box .num{
        left: 20px;
    }
    .link_box .box .text.top {
        font-size: 1.2rem;
    }
    .link_box .box .text.top span{
        font-size: 14px;
    }
    .link_box .box .text{
        font-size: 14px;
    }
    .link_box .box .num{
        width: 50px;
        height: 50px;
        padding: 5px;
    }
    .link_box .box .num span{
        font-size: 14px;
    }
    .link_box .box .num span::after{
        width: 35px;
    }
    section#under_banner .banners .col_4{
        width: 100%;
        margin: 2% 0;
    }
    section#under_banner {
        padding: 20px 0 0;
    }
    section#under_banner .footer_headline{
        margin-top: 10px;
    }
    .service_top_sec02 .service_flow .text_box{
        width: 100%;
    }
    .service_top_sec02 .service_flow .text_box .text{
        height: auto;
    }
    .service_top_sec02 .service_flow .service_flow_arrow{
        width: 100%;
        margin: 10px 0;
        text-align: center;
    }
    .service_top_sec02 .service_flow .service_flow_arrow img{
        width: 250px;
    }
    .service_top_sec02 .service_flow .text_box.n3, .service_top_sec02 .service_flow .text_box.n4{
        width: 100%;
    }
    .service_top_sec02 .service_flow .text_box .text.top{
        text-align: center;
    }
    .page_content .page_top_title span.enfont {
        font-size: 27px;
    }
    .page_content .page_top_title span.jptitle {
        margin-top: -10px;
        font-size: 14px;
    }
    .page_content .page_link_button_box .page_link_button{
        font-size: 14px;
    }
    .service_common_sec01 .box h3.mincho{
        -webkit-writing-mode: initial;
        -ms-writing-mode: initial;
        writing-mode: initial;
        position: initial;
        margin-bottom: 20px;
        font-weight: bold;
        font-size: 1.5rem;
    }
    .service_common_sec01 .box .text_box{
        width: 100%;
        transform: initial;
        margin-bottom: 20px;
    }
    .service_common_sec01 .img{
        width: 100%;
    }
    .service_common_btn a{
        font-size: 14px;
    }
    .service_common.page_content .page_top_title{
        margin-bottom: 50px;
    }
    .service_common_btn a{
        width: 100%;
    }
    .service_common_btn,
    .service_common_btns.no_ab .service_common_btn{
        width: 100%;
        margin: 5px 0;
    }
    .service_common_btns{
        flex-wrap: wrap;
        position: initial;
        transform: initial;
        width: 100%;
        margin-top: 20px;
    }
    .service_common_sec01 {
        padding-bottom: 50px;
    }
    .service_common_header .left_line{
        font-size: 1.3rem;
    }
    .service_common_header{
        height: 150px;
        padding-bottom: 0;
    }
    .service_common_content .box .text_box,
    .service_common_content .box .img{
        width: 100%;
        margin: 10px 0;
    }
    .service_common_content .box {
        margin-bottom: 40px;
    }
    .service_common_content .box .text_box .text{
        font-size: 14px;
    }
    .service_common_content {
        padding: 30px 0;
    }
    #company #sec01.page_sec .col_4{
        width: 50%;
        margin: 0;
        text-align: center;
    }
    #company #sec01.page_sec .wrap p.mt {
        margin-top: 1em;
    }
    #company .company_btns .company_btn{
        width: 100%;
    }
    .service_table table td{
        font-size: 13px;
    }
    .page-id-82 .service_common_content .box .flex .col_2{
        width: 98%;
        margin: 1%;
    }

    /* CSR */
    #csr .menu .btn{
        width: 100%;
        margin: 10px 0;
    }
    #csr .menu .btn p{
        padding: 60px 15px;
    }
    #csr .page_sec h4{
        font-size: 18px;
        line-height: 2;
    }
    #csr .page_sec h3{
        margin: 2em 0 1em;
    }
    #csr #csr01.page_sec p,
    #csr #csr02.page_sec p,
    #csr #csr03.page_sec p{
        max-width: 100%;
        margin-bottom: 2em;
    }
    #csr #csr01.page_sec,
    #csr #csr02.page_sec{
        margin-bottom: 0;
    }
    #csr #csr03.page_sec .memo{
        position: initial;
        transform: initial;
        padding: 30px 20px;
    }
    #csr .csr03_undergray{
        display: none;
    }
    #company_motto #sec01.page_sec .pointdiv .inner img {
        max-width: 240px;
    }
    #company_motto #sec02.page_sec .backimg{
        position: initial;
        padding: 0 20px;
    }
    #company_motto #sec02.page_sec .background{
        width: 100%;
    }
    #company_motto #sec03.page_sec .greetings img.float_left{
        max-width: 100%;
    }
    #company_motto #sec02.page_sec{
        padding: 50px 0;
    }
    #company_motto .page_sec h3{
        font-size: 17px;
    }
    #company_motto .page_sec h4{
        font-size: 16px;
    }
    #company_motto #sec03.page_sec .background{
        display: none;
    }
    #company_motto #sec03.page_sec .greetings p{
        margin: 20px 0;
    }
    #company_motto #sec01.page_sec .pointdiv{
        padding: 20px;
    }
    #company_motto #sec03.page_sec .signature img {
        width: 130px;
        display: block;
    }
    #company_motto #sec03.page_sec .signature {
        max-width: 190px;
    }
    #company_history .timeline .timeline_box h5{
        font-size: 18px;
    }
    #company_history .timeline .timeline_box_right h5:after,
    #company_history .timeline .timeline_box_left h5:after{
        width: 14px;
        height: 14px;
    }
    #company_history .timeline .timeline_box_right {
        padding-left: 12%;
    }
    #company_history .timeline .timeline_box_left{
        padding-right: 13%;
    }
    #company_history .timeline .timeline_box_right h5:before,
    #company_history .timeline .timeline_box_left h5:before{
        top: 12px;
    }
    #company_history .history_head h3{
        font-size: 30px;
    }
    #company_history .history_head h4{
        font-size: 16px;
    }
    #company_about #sec01.page_sec .image{
        width: 100%;
    }
    #company_about #sec01.page_sec .maindiv h3 img {
        width: 170px;
    }
    #company_about #sec01.page_sec .maindiv .detail dl dt{
        font-size: 16px;
    }
    #company_about #sec01.page_sec .maindiv .detail dl dd{
        font-size: 14px;
    }
    #company_about #sec01.page_sec .maindiv .detail dl{
        display: block;
    }
    #company_about #sec01.page_sec .maindiv{
        padding: 20px;
    }
    #company_office #sec01.page_sec .office_sec.normal_sec .col_2{
        width: 100%;
        margin: 0;
        margin-bottom: 20px;
    }
    #company_office #sec01.page_sec .office_sec h3{
        font-size: 18px;
    }
    #calender .calender_wrap .col_3{
        width: 100%;
        margin: 10px 0;
    }
    .table-wrap{
        margin-bottom: 0;
        white-space: normal;
    }
    .table-grad:after{
        display: none;
    }
    #calender .calender_set table th{
        font-size: 16px;
    }
    #calender .calender_set table th, #calender .calender_set table td{
        font-size: 14px;
    }
    #access #sec01.page_sec .access_box .col_2{
        width: 100%;
        margin: 10px 0;
    }
    #access #sec02.page_sec iframe{
        height: 300px;
    }

    /* TOPICS */
    .topics_articles .col_3{
        width: 100%;
        margin: 0 0 40px;
    }
    #topics_archive .topics_categories .cat_btns span {
        padding: 0;
        display: block;
        margin-bottom: 10px;
    }
    #topics_archive .topics_categories .all_btns {
        border-left: 1px dotted #3E3A39;
    }
    #topics_single .thumb .title h2{
        font-size: 16px;
    }
    #topics_single .thumb .title{
        top: 0;
        transform: translateY(-100%);
    }
    #topics_single .paginavigation a{
        font-size: 14px;
        padding: 15px 5px;
    }
    #topics_single .paginavigation a.prev-link:before{
        border-right: 110px solid #44A035;
        border-top: 26px solid transparent;
        border-bottom: 26px solid transparent;
    }
    #topics_single .paginavigation a.next-link:before{
        border-left: 110px solid #44A035;
        border-top: 26px solid transparent;
        border-bottom: 26px solid transparent;
    }
    #topics_single .paginavigation a.prev-link {
        padding-right: 5px;
    }
    #topics_single .paginavigation a.next-link {
        padding-left: 5px;
    }

    /* ?????? */
    .order_flow .box{
        width: 100%;
        margin: 0 0 60px;
    }
    .order_flow .box .text{
        font-size: 16px;
    }
    .order_flow .box .text,
    .order_sec01 .text.att{
        line-height: 1.8;
        font-size: 14px;
    }
    #orderpdf_archive .order_articles .order_article dl dt{
        font-size: 16px;
        padding: 0 0 20px;
    }
    #orderpdf_archive .order_articles .order_article div.download_btn{
        width: 100%;
        text-align: center;
    }
    #orderpdf_archive .order_articles .order_article dl dt:before{
        position: initial;
    }
    #orderpdf_archive .order_articles .order_article a{
        font-size: 14px;
        padding: 8px 20px;
    }

    /* ?? */
    #authorization .tab{
        border: 5px solid #BABBBB;
        padding: 25px 10px;
    }
    #authorization .menus .menu{
        width: 100%;
        text-align: center;
        margin: 0 0 10px;
        border-right: 1px solid #777;
    }
    #authorization .tab_btns .btn{
        padding: 15px;
    }
    #authorization .authorization_box header.authorization_head{
        padding: 10px 15px;
    }
    #authorization .authorization_box header.authorization_head span.cat{
        margin-top: 0;
        font-size: 14px;
    }
    #authorization .authorization_box header.authorization_head h3.left_line{
        font-size: 16px;
    }
    #authorization .authorization_box .details{
        padding-left: 0;
    }
    #authorization .authorization_box .thumbs{
        margin-left: 0;
        float: initial;
        text-align: center;
    }
    #authorization .authorization_box .thumbs .img{
        margin: 0 auto;
    }
    #authorization .authorization_box .details h4{
        font-size: 16px;
    }
    #authorization .authorization_box .details p{
        line-height: 1.8;
    }
    #authorization .authorization_box#tab_01_03 .thumbs{
        margin-left: 0;
        margin-bottom: 2em;
    }
    #authorization .auth_flex_left{
        width: 100%;
        margin-right: 0;
        margin-bottom: 1em;
    }
    #authorization .auth_flex_right{
        width: 100%;
    }
    #authorization .auth_table table th{
        font-size: 14px;
        padding: 5px;
    }
    #authorization .auth_table table td{
        padding: 5px;
    }
    #authorization .auth_table table{
        overflow-x: scroll;
        white-space: nowrap;
    }
    #authorization .menu_2 .menu{
        width: 100%;
        margin: 0 0 10px;
    }
    #authorization .menu_2 .menu .title p.wide{
        padding-top: 0;
    }
    #authorization #tab_02 .authorization_box .details .col_2{
        width: 100%;
        margin: 0 0 20px;
    }


    /* SARI */
    .sari_content .text.top {
        font-size: 18px;
    }
    .sari_content .text{
        font-size: 14px;
    }
    .sari_content .box .text_box .text{
        font-size: 14px;
    }
    .sari_title img {
        width: 150px;
    }


    /* ??? */
    .privacy li{
        font-size: 14px;
    }
    .privacy h3,
    .commitment_sec01 .left_line{
        font-size: 16px;
    }
    .commitment_sec01 .text{
        font-size: 14px;
    }
    .commitment_sec01 li ul li{
        font-size: 14px;
    }
    .commitment_sec01 ul.sin_ul>li{
        font-size: 14px;
    }
    .commitment_sec01 {
        padding: 50px 0;
    }
    .privacy{
        padding-top: 50px;
    }

    /* KIGUCHI TOWN */
    .town_startopen .title{
        width: 100%;
    }

    /* KIGUCHI TOWN - NEWS */
    .news{
        padding-top: 0;
    }
    .news .news_tab_title{
        padding: 10px 0;
        margin-bottom: 1em;
    }
    .news .news_tab_title .logo{
        width: 100%;
        margin-bottom: 1em;
    }
    .news .news_tab_title .title{
        width: 100%;
        margin: 0;
        margin-bottom: 1em;
    }
    .news .news_tab_title .date{
        width: 100%;
        margin-left: auto;
    }
    .news .news_tab_title .date .year,
    .news .news_tab_title .date .month{
        display: inline-block;
    }
    .news .news_tab_container .articles .col_2{
        width: 100%;
        margin: 0;
        margin-bottom: 10px;
    }
    .news .news_tab_container .categories{
        width: 100%;
        padding-bottom: 30px;
    }
    .news .news_tab_container .articles{
        width: 100%;
        margin: 0;
    }
    .news .news_tab_container .categories ul li{
        font-size: 16px;
    }
    .news .news_tab_container .articles article h4{
        font-size: 16px;
    }
    .news .news_tab_container .articles article p{
        font-size: 13px;
    }
    .news .news_tab_container .articles article ul.info{
        margin: 1em 0 0;
        font-size: 13px;
    }
    .news .news_tab_container .articles article ul.info li{
        border: 0;
        padding: 0;
        display: block;
        margin-bottom: 5px;
    }
    .service_common_read_more_content li{
        font-size: 14px;
    }
    .service_common_btns.no_ab .service_common_btn a.font_adjust{
        font-size: 1rem;
    }
    .service-child .page_header .page_header_inner .text,
    .page_header .page_header_inner .text{
        font-size: 1.3rem !important;
    }
    #authorization .authorization_box .thumb_mini .img {
        max-width: 100px;
        margin: 0 10px 10px 0;
    }

    #sec03 .business_slick .box,
    #sec05 .business_slick .box {
        margin-right: 0;
    }

    footer#footer .bottom_menu .breadcrumbs {
        padding-left: 0;
    }



    #service-calibration #equipment .arrangement {
        grid-template: auto / 1fr;
        gap: 4em;
    }

    #service-calibration #certificates .arrangement {
        grid-template: auto / 1fr;
    }

    #service-calibration #certificates .arrangement figure > div {
        text-align: center;
    }

    #service-calibration #certificates .arrangement figure > div img {
        display: block;
        width: 75%;
        margin: auto;
    }



    #contact-for-inquiries .cards {
        grid-template: auto / 1fr;
        
    }

    #contact-for-inquiries .cards .card {
        grid-template: auto minmax(2em, auto) auto / 1fr;
    }
}