@charset "utf-8";
/* ----------------------------------
  ノートパソコン Start
-------------------------------------*/
@media screen and (max-width:1500px) {
    header {
        padding:0 0;
    }
}

@media screen and (max-width:1400px) {
    .top_service_list_box_item:nth-child(3) .top_service_list_title_en{
        font-size:1.2rem;
    }
}

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

    .top_service_list_box_item:nth-child(3) .top_service_list_title_en{
        font-size:1.1rem;
    }
    .top_service_list_title {
        padding:3.5rem 3.6rem 3.1rem;
    
    }
    .top_service_list_title_ja {
        font-size: 1.8rem;
    }

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

    .nav_dropdown_title{
        width:35%;
    }
    .nav_dropdown_title_text{
        white-space:inherit;
    }
    .nav_dropdown_title_text_br{
        display:none;
    }

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

    html{
        font-size:58.75%;
    }
    .kv,
    .header_inner,
    .kv_inner,
    .top_service_box01,
    .top_service_list,
    .nav_dropdown_inner,
    .inner-01,
    .inner-02{
        min-width: 880px;
    }
    .inner-01,
    .inner-02,
    .inner-07,
    .inner-08{
        padding:0 4.0rem;
    }
    h4.h_title-01_ja{
        font-size:3.2rem;
    }
    .nav_dropdown_title{
        width:24%;
    }
    .nav_dropdown_list {
        width: 76%;
    }
    .nav_dropdown_inner{
        width:auto;
    }
    .nav_dropdown_title {
    
        padding-right: 3rem;
    }
    .nav_dropdown_list {
        padding-left: 3rem;
    }
    .top_service_list_title {
        padding: 3.0rem 3.2rem 2.7rem;
    
    }
    .layout-02 picture,
    .layout-02 picture img{
        width: 100%;
    }
    .top_news-row_content_date{
        font-size:13px;
    }
    .top_news-row_content a h4{
        font-size:15px;
    }
    .top_service_list_title_ja{
        font-size: 14px;
    }
    .top_service_list_box_item:nth-child(3) .top_service_list_title_en {
        font-size: 10.5px;
    }
    .footer_info_sitemap ul,
    .footer_info_sitemap dl {
        margin-right: 30px;
    }
    .services-index_box_inner {
        padding: 3.8rem 4.2rem;
    }
    .services-index_box_l{
        width: 16rem;
        height: 16rem;
    }
    .services-index_box_r {
        display: flex;
        align-items: center;
        width: calc(100% - 16rem - 2.8rem);
    }

    /* p-aside */
    .p-aside .p-link li a .txt-wrap .en-tit { 
    font-size: 20px;
    }
    .p-aside .p-link li a .txt-wrap .ja-tit { 
        font-size: 11px;
    }
    .p-aside::before {
        height : -webkit-calc(100% - 17px);
        height : calc(100% - 17px);
        top: 17px;
    }
}
    
@media screen and (max-width:1120px) {

    .top_service_list_box_item:nth-child(3) .top_service_list_title_en.top_service_list_title_en-sp{
        display:inline-block;
        font-size: 13px;
    }
    .services-index_box_title_ja {
    
        font-size: 1.8rem;
    }
    .services-index_box_title_en{
            font-size: 1.0rem;
    }
    .services-index_box_text {
    
        font-size: 1.4rem;
    }
    .services-index_box_title {
        color: #363636;
        margin-bottom: 1.6rem;
    }
    .services-index_box_l{
        width: 14rem;
        height: 14rem;
    }
    .services-index_box_r {
        display: flex;
        align-items: center;
        width: calc(100% - 14rem - 2.8rem);
    }

}

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

    .services-index_box_inner {
        padding: 3.2rem 3.6rem;
    }

}
/* ----------------------------------
  End ノートパソコン
-------------------------------------*/

/* ----------------------------------
  タブレット Start
-------------------------------------*/
@media screen and (min-width: 768px) and (max-width: 960px){

    .pad_inline{
        display:block !important;
    }

    html{
        font-size:43.75%;
    }

    .kv,
    .header_inner,
    .kv_inner,
    .top_service_box01,
    .top_service_list,
    .nav_dropdown_inner,
    .inner-01,
    .inner-02{
        min-width: auto;
    }
    
    .inner-07{
        width:auto;
    }
    
    header{
        height: 80px;
    }
    .kv {
        height:260px;
        margin-top: 80px;
    }
    .kv.kv-simple .kv_inner{
        width:auto;
    }
    .kv.kv-simple {
        height: 180px;
        margin-bottom:0;
    
    }
    
    .kv_inner_breadcrumbs{
        top: 14px;
    }
    
    .title-01_ja {
        font-size: 2.35rem;
    }
    .title-01_en{
        margin-bottom: 2.0rem;
    }
    h3.title-01,
    h3.title-06 {
        margin-bottom: 48px;
    }
    
    h3.title-04{
        margin-bottom: 64px;
    }
    
    h4.h_title-01_ja{
        font-size: 2.9rem;
    }
    
    .text-01 {
        position: relative;
        margin-bottom: 30px;
    }
    
    .layout-01_text {
        padding-top: 3.4rem;
    }
    .layout-02 picture{
        position: relative;
        width: 100%;
        height: 380px;
    }
    header h1 svg {
        width: 11.6rem;
        height: 4.6rem;
    }
    nav li a {
        padding: 0 0.75rem;
    }
    .nav_text-ja {
        font-size: 1.5rem;
    }
    
    .nav_slidebtm .nav_text-ja::after{
        border-right: 0.5px solid #666;
        border-top: 0.5px solid #666;
    }
    
    .footer_info_profile_logo svg{
        width:100px ;
        height:46px;
    }
    .footer_info_profile_address {
        display: block;
        margin-bottom: 4px;
    }
    
    .top_news-row_content a h4,
    .top_news-row_content_date{
        font-size:inherit;
    }
    
    .top_service_box01 {
        margin-bottom: 80px;
    }
    
    .top_service_list{
        margin:0 -4.0rem;
    }
    
    .top_service_list_title {
        padding: 24px 24px;
    }
    .top_service_list_title_ja {
        font-size: 12px;
    }
    .top_service_list_box_shadow{
        box-shadow:none;
    }
    
    .service-all .top_service_list{
        margin:0 0;
        padding:0;
    }
    .top_service_list_box_item::before {
        width: 0.5px;
    }
    .tb02 th {
        padding-left: 0;
        padding-right: 3.4rem;
    }
    .factory_sec2 h4.h_title-01_ja {
        font-size: 2.6rem;
    }
    .factory_sec2 .layout-02 picture::before{
        max-width: 100%;
    }
    .icon_pdf img {
        width: 20px;
        height: 20px;
        margin-right: 1px;
        margin-bottom: 0px;
        margin-left: 1px;
    }
    
}
/* ----------------------------------
  End タブレット
-------------------------------------*/

/* ----------------------------------
  スマートフォン Start
-------------------------------------*/
@media screen and (max-width: 787px) {
    .table_design08 {
    text-align: left;
    }
    .table_design08 thead {
    display:none;
    }
    .table_design08 th, .table_design08 td {
    display: block;
    border: 0;
    border-bottom: 2px solid #e6f1f6;
    }
    .table_design08 tbody th{
    background: #4d9bc1;
    color:#fff;
    width: 100%;
    }
}

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

    .keyVisual_text p{
        font-size:6vw;
    }
    .pc{
        display:none !important;
    }
    .sp{
        display:block !important;
    }
    .pc_inline{
        display:none !important;
    }
    .sp_inline{
        display:inline !important;
    }
    
    .pc_table{
        display:table !important;
    }
    .sp_table{
        display:table !important;
    }
    
    img{
        max-width:100%;
        height:auto;
    }
    
    body {
        font-size: 14px;
        min-width:320px;
    }
    #mainvisual .inner, header, footer {
        min-width: 100%;
    }
    *, *:before, *:after {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
    }
    header,
    .kv{
        min-width:auto;
    }

    .aboutus_group_container{
        display: block;
    }

    .aboutus_group_item{
        margin-bottom: 30px;
    }
    
    /* header */
    header,
    header.fixed {
        display: block;
        height:60px;
        position: absolute;
    }
    .header_inner{
        display:none;
    }

    /* nav */
    .header_logo svg{
    position: absolute;
        left: 14px;
        top: 8px;
        fill: #007CCF;
        width: 106px;
        z-index:9999;
    }
    .fixed {
        width: 100%;
    }
    .fixed li {
        display: block;
    }
    nav {
        display: none;
    }
    .sp_navi {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 9999;
        height: 60px;
        
        display:block;
    }
    .sp_navi .header_logo {
        position: relative;
        top: 0;
        display: block;
        width: 100%;
        text-align: left;
        height: 60px;
        background: #fff;
        overflow: hidden;
    }
    .sp_navi dl {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: inherit;
    }
    .sp_navi dl.active{
        z-index:9999;
    }
    .sp_navi dl dt {
        position: absolute;
        right: 0;
        width:60px;
        height: 60px;
    }
    .sp_navi dl dt i {
        position: relative;
        top: 20px;
        font-size: 9px;
        font-style: normal;
        margin-right: 2%;
    }
    .sp_navi_list {
        display: flex;
        align-items: center;
        pointer-events: none;
        opacity: 0;
        transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
        position: absolute;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(40, 98, 231);
        z-index:-10;
        left:10vw;
    }
    .sp_navi_list.active {
        opacity: 1;
        pointer-events: auto;
        z-index: auto;
        left:0;
    }
    .sp_navi ul {
        width:inherit;
    }
    .sp_navi_list li {
        display: block;
        width: 100%;
        padding: 0.6vh 0 0.6vh 12%;
        font-size: 15px;
        font-weight: normal;
        text-align: left;
    }
    .sp_navi_list li div:first-child{
        padding-left:6%;
    }
    .sp_navi_list li a {
        display: inline-block;
        position: relative;
        vertical-align: middle;
        color: #fff;
        text-decoration: none;
        line-height: 2;
        font-weight:bold;
    }
    /* .sp_navi_list li a.active{
        border-bottom:1px solid #fff;
    } */
    .sp_navi_list li.sp_navi_list_home a.active{
        border:none;
    }
    .sp_navi_children{
        margin-bottom: 2px;
    }
    .sp_navi_children li:first-child{
            padding-left:0;
    }
    .sp_navi_children li:first-child a{
        line-height:1.5;
    
        font-size: 15px;
        font-weight:bold;
        margin-bottom: 2px;
    }
    .sp_navi_children li{
        padding: 0 0 0 1em;
    }
    .sp_navi_children li a,
    li.sp_navi_small a {
        font-size: 13px;
        line-height: 1.6;
        font-weight: normal;
        padding: 0.5vh 0;
    }
    
    /* button move */
    .sp_navi dt a {
        display: block;
        width: 60px;
        height: 60px;
        position: absolute;
        right: -5px;
        z-index: 9999999;
        text-align: center;
        background-color: rgba(40, 98, 231);
    }
    .sp_navi dt a span {
        display: block;
        background: #FFF;
        width: 26px;
        height: 2px;
        position: absolute;
        left: 16px;
        transition: all 0.4s;
        -webkit-transition: all 0.4s;
        -moz-transition: all 0.4s;
    }
    .sp_navi dt a span:nth-child(1) {
        top: 21px;
    }
    .sp_navi dt a span:nth-child(2) {
        margin-top: -1px;
        top: 50%;
    }
    .sp_navi dt a span:nth-child(3) {
        bottom: 21px;
    }
    .sp_navi dt a i {
        position: relative;
        left: -2px;
        bottom: 6px;
    }
    .sp_navi dt a.active {
        background: rgba(40, 98, 231);
    }
    .sp_navi dt a.active i {
        color: #fff;
    }
    .sp_navi dt a.active span {
        background: #fff;
    }
    .sp_navi dt a.active span:nth-child(1) {
        top: 22px;
        transform: translateY(8px) rotate(225deg);
    }
    .sp_navi dt a.active span:nth-child(2) {
        opacity: 0;
    }
    .sp_navi dt a.active span:nth-child(3) {
        transform: translateY(-8px) rotate(-225deg);
    }
    
    /* Key Visual */
    .kv {
        background-position: center;
        background-attachment: scroll;
        height: 240px;
        margin-top: 60px;
        padding-top:0;
        background-size:cover;
        background-position: 75%;
    }
    .android .kv,
    .ios .kv{
        height: 240px
    }
    .kv.kv-simple{
        background-image:none;
        height: 160px;
        margin-bottom:0;
        padding: 0;
    }
    .kv.kv-simple .kv_inner{
        width:100%;
    }
    .kv_inner {
        width: 100%;
        min-width:auto;
        padding:0 3rem;
        box-sizing:border-box;
        height: inherit;
    }
    .vegas-overlay {
        background-color: rgba(0, 15, 30, .36);
    
    }

    /* 下層ページヘッドライン */
    .kv_inner_title{
        line-height:1.6;
        margin-bottom: 0.4rem;
    }
    .kv_inner_title_s {
        font-size: 13px;
        margin-bottom: 0.8rem;
    }
    .kv_inner_title_l{
            margin-left: 0;
        font-size: 30px;
    }
    .kv.kv-simple .kv_inner_title_l{
        font-size: 26px;
    }
    
    /* footer_info */
    .footer_info{
        padding:100px 0;
    }
    .footer_info_profile_logo {
        margin-bottom: 30px;
    }
    .footer_info_profile_logo svg {
    
        width: 110px;
        height: 38px;
    }
    .footer_info_profile{
        margin-bottom:70px;
    }
    .footer_info_profile_address{
        display:block;
        margin-bottom: 8px;
        font-size:12px;
    
        line-height: 1.4;
    }
    .footer_info_profile_tel {
        font-size: 12px;
    }
    .footer_info_profile_tel a{
        pointer-events:auto;
    }
    .footer_info_profile_address dt{
        white-space:nowrap;
        margin-bottom: 3px;
    } 
    .footer_info .inner-02{
        display:block;
        width:auto;
    }
    .footer_info .inner-02:last-child{
        display: flex;
        flex-flow: column;
    }
    .footer_info .inner-02:first-child{
        margin-bottom:40px;
    }
    .footer_info_sitemap {
        margin-top:0;
        justify-content: space-between;
    }
    .footer_info_sitemap_home_pc{
        display:none;
    }
    .footer_info_sitemap_home_sp{
        display:block;
    }
    .footer_info_sitemap ul,
    .footer_info_sitemap dl {
        margin-right: 0;
        line-height: 2;
    }
    .footer_info_sitemap ul li {
        margin-bottom: 5px;
    }
    .footer_info_sitemap dt {
        margin-bottom: 5px;
    }
    .footer_info_sitemap ul li,
    .footer_info_sitemap dt {
        font-size:12px;
    }
    .footer_info_sitemap dd{
        font-size:12px;
        margin-bottom: 3px;
    }
    .footer_info_sitemap-small {
        line-height: 1;
        font-size: 12px;
        margin-bottom:2rem;
    }
    .footer_info_copyright {
        font-size: 12px;
        margin-left:0;
    }
    .footer_info_copyright_copy{
    top: -0.1rem;
    }

    /* top_service */
    .top_service .inner-01{
        margin-bottom:20rem;
    }
    .top_service_box01{
        width:auto;
        min-width:auto;
        margin-bottom: 50px;
    }
    .top_service_list{
        width: auto;
        min-width:auto;
        height: auto;
        margin-left: 0;
        box-shadow:none;
    }
    .top_service_list_box {
        flex-wrap: wrap;
        margin-bottom: -40px;
    }
    .top_service_list_box_item:hover{
        box-shadow:none;
        transform:none;
    }
    .top_service_list_box_item {
        width: 49%;
        border-right:none;
        margin-bottom: 40px;
    }
    .top_service_list_box_item::before{
        display:none;
    }
    .top_service_list_box_item:last-child {
        margin-bottom:0;
    }
    .top_service_list ul li a::before,
    .top_service_list ul li a:hover::before{
        background-color:transparent;
    }
    /* hover */
    .top_service_list_icon::before,
    .top_service_list_icon::after{
        display:none;
    }
    .top_service_list ul li a:hover .top_service_list_title_ja{
        color: #363636;
    }
    .top_service_list ul li a:hover .top_service_list_icon img {
        transform: scale(1.4, 1.4);
    }
    .top_service_list_box_shadow{
        display:none;
    }
    .top_service_list_title {
        padding: 18px 0;
    }
    .top_service_list_title_ja{
        margin-bottom:0;
        font-size:12px;
        line-height:1.5;
        padding-left: 2rem;
    }
    .top_service_list_title_en {
        top: -2px;
        font-size: 12px;
        color: #444;
        font-weight: 400;
        padding-left: 2rem;
    }
    .top_service_list_title_en-sp{
        display:inline-block;
    }
    .top_factory .inner-01 {
        margin-bottom:10rem; 
    }
    .top_factory .layout-02_contents{
        margin-bottom:0;
    }
    .top_factory_btn_sp_img{
        position:absolute;
        left:0;
        top:0;
        width:100%;
        height:100%;
        display: block;
        overflow:hidden;
        z-index:-1;
    }
    .top_factory_btn_sp_img_inner {
            position:absolute;
                left:0;
        top:0;
        width:100%;
        height:100%;
        display: block;
        background-image: url(../images/top_factory_img01.jpg);
        background-position: 10% 35%;
        background-size: 120% auto;
    }
    .top_factory .show1,
    .top_factory .show2{
        display:none;
    }
    .layout-02 picture{
        max-width:none;
    }
    .top_factory .layout-02 picture img{
        max-width: none;
        padding-bottom: 1.6rem;
    }
    .top_factory .layout-02 picture {
        height: 36rem;
    }
    .top_factory .btn-01{
        position:relative;
        width:100%;
        height:auto;
        padding-bottom:46%;
    
    
    }
    .top_factory .btn-01::before{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        
        background: linear-gradient(to top, rgba(0,22,35,0.8), rgba(0,22,35,0.1));
        content: "";
    
    }
    .top_factory .btn-01 a{
        position:absolute;
        left:0;
        top:0;
        display:block;
        width:100%;
        height:100%;
    
    }
    .top_factory .btn-01 a::after {
        display: none;
    }
    .btn-01_top_factory::after {
        position: absolute;
        right: auto;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 1px;
        background-color: #64CCBF;
        transition: 0.3s cubic-bezier(0.260, 0.005, 0.000, 1.035);
        content: "";
        z-index: 1;
    }
    .btn-01_top_factory::after {
        background-color: #fff;
    }
    .btn-01_top_factory:hover::after {
        width: 0;
        right: 0;
        left: auto;
    }
    .btn-01_top_factory{
        position:absolute;
        bottom:20px;
        left:20px;
        color:#fff;
        padding-bottom: 10px;
    }
    
    /* services */
    .services-index_inner{
        display:block;
    }
    .services-index_inner.inner-02{
        padding:0 3.0rem;
        margin-bottom:0;
    }
    .services-index_box{
        width:100%;
            margin-bottom: 1.2rem;
    }
    .services-index_box_inner{
            flex-wrap: wrap;
        padding: 7% 8% 6.3%;
    }
    .services-index_box_l {
        position: relative;
        width: 24%;
        height:auto;
        padding-top: 24%;
    }
    .services-index_box_r {
        display: flex;
        align-items: center;
        width: 70%;
    }
    .services-index_box_title{
        margin-bottom:0;
    }
    .services-index_box_title_ja {
        font-size: 1.7rem;
        line-height: 1.5;
        margin-bottom: 0.2rem;
    }
    .services-index_box:hover .services-index_box_l::after,
    .services-index_box:hover .services-index_box_l::before{
        opacity:0;
    }
    .services-index_box:hover{
        transform: none;
    }
    .services-index_box:hover .services-index_box_l img{
        transform: scale(1.35, 1.35);
    }
    .services-index_box:hover .services-index_box_title_ja, .services-index_box:hover .services-index_box_title_en, .services-index_box:hover .services-index_box_text{
        color:#363636;
    }
    .service-all_list_box_item::before{
        height:1px;
    }
    .service-all_list_index{
        margin:0;
    }
    .services-index_box_text {
        padding-top: 5%;
        font-size: 1.3rem;
    }
    .service-all_list_index a {
        padding: 1.8rem 0.8rem;
        font-size: 1.5rem;
    }
    .service-all_list_box{
        flex-wrap:wrap;
    }
    .service-all_list_box_item{
        width:48%;
        margin-bottom:0.8rem;
    }
    .service-all_list_box_item a{
        padding: 1.3rem 0.8rem;
    }
    .service-all_list_title_ja {
    
        font-size: 1.2rem;
    }
    .service-all{
        padding-top: 6.5rem ;
        padding-bottom:8.5rem ;
    }
    .service-all.service-all-04{
        margin-top:0;
        padding-top: 7.5rem;
        padding-bottom:9.5rem;
    }
    
    /* company */
    .contents_right{
        display: none;
    }
    .contents_inner{
        min-width: auto;
        width: auto;
        padding: 6rem 3rem 0 3rem;
    }
    
    .company-01_sec1_history .tb02 th{
        padding-bottom:2%;
    }
    
    .company-01_sec1_history dt {
        width: 100px;
    }
    .company-01_sec1_history_open dt {
        padding-top:8px;
    
        font-size: 20px;
    }
    .company-01_sec1_history dd{
        font-size:inherit;
    }
    .tb02 tr:first-child td, .tb02 tr:first-child th {
        border-top: none;
    }
    .tb02 th{
        padding: 16px 0 0 0;
        border-bottom:none;
    }
    .tb02 td{
        padding: 2px 0 16px 0;
    }
    .tb02 td,
    .tb02 th{
        display:block;
    }
    .tb_access_b{
        font-weight:bold;
        display:block;
            margin-bottom: -5px;
    }
    .tb_map iframe{
        height: 50vh;
    }
    .comapny02_map iframe{
        border: 0;
        width: 100%;
        margin: 0;
        height: 70vh;
    }
    .contents_right section{
        margin-bottom:120px;
    }
    
    /* factory */
    .factory_sec2 .inner-01{
        margin-bottom:100px;
    }
    .factory_sec2 .layout-02:nth-child(1){
        flex-flow: column;
    }
    .factory_sec2 .layout-02:nth-child(2){
        flex-flow: column-reverse;
    }
    .factory_sec2 .layout-02:nth-child(3){
        flex-flow: column;
    }
    .factory_sec2 .layout-02 {
        margin-bottom: 4rem;
    }
    .factory_sec2 .layout-02 picture.factory_sec2_img01,
    .factory_sec2 .layout-02 picture.factory_sec2_img02,
    .factory_sec2 .layout-02 picture.factory_sec2_img03  {
        position: relative;
        width: 100%;
        height: 0;
        /* margin-top:-60px; */
        padding-bottom: 70%;
        overflow:hidden;
    }
    .factory_sec2 .layout-02 picture.factory_sec2_img01 img {
        top: 43%;
    }
    .factory_sec2 .layout-02 picture.factory_sec2_img02 img {
        top:45%;
    }
    .factory_sec2 .layout-02 picture.factory_sec2_img03 img {
        /* right: 1rem; */
        top:5%;
    }
    .layout-06_box{
        width:47.5%;
        margin-bottom: 40px;
    }
    .layout-06_box picture {
        margin-bottom: 16px;
    }
    .layout-06_box h4{
        font-size:17px;
        margin-bottom:4px;
        padding:0;
    }
    .layout-06_box p {
        line-height: 1.6;
        font-size:13px;
        padding:0;
    }
    
    /* contact */
    .p-contact_btn{
        width: 100%;
    }
    .p-contact h4{
        font-size:18px;
    }
    .p-contact .inner-08{
        margin-bottom: 150px;
    }
    .p-contact_btn-submit,
    .p-contact_btn-back{
        height:auto;
    }
    .p-contact_btn-submit input,
    .p-contact_btn-back input{
        font-size: inherit;
        line-height: 3;
    }
    .contact_right {
        position: relative;
        top: 0;
        display: flex;
        justify-content:center;
        border-bottom: 1px solid #E1EBF3;
        border-top: 1px solid #E1EBF3;
    }
    .contact_right li{
        margin-right:3rem;
        margin-top: 1.6rem;
        margin-bottom: 1.6rem;
    }
    .contact_right li:last-child{
        margin-right:0;
    }
    .contact_right li.active{
        border:none;
        
    }
    .contents_left section {
        margin-bottom: 10rem;
    }
    .qa1{
        padding-bottom:0;
    }

    /* news */
    .news .news_content_date{
        margin-bottom: 4px;
    }
    .news .news_content_title{
        font-size:18px;
        margin-bottom: 12px;
    }
    .news .news_content_text {
        margin-bottom: 30px;
        padding-bottom: 30px;
    }
    .icon_pdf img {
        width: 18px;
        height: 18px;
        margin-right: 0px;
        margin-bottom: 3px;
        margin-left: 1px;
    }
    .news .inner-08{
        margin-bottom:120px;
    }
    .news-list-item time {
        padding-left: 2rem;
    }
    .news-list-item h2 {
        padding: 0 7rem 0 2rem;
    }
    
    /* ぱんくず */
    .breadcrumb {
        width: 92%;
        margin: -10px 4% 40px;
    }
    .breadcrumb li {
        display: inline-block;
    }

    /* メイン */
    .comapny02_map .inner-01,
    .company-01_sec1 .inner-08{
        margin-bottom:150px;
    }
    .top_contents {
        padding-top: 0;
    }
    .kv_inner_breadcrumbs {
        font-size: 1.1rem;
        left: 3rem;
    }
    .kv_inner_breadcrumbs li {
        margin-right: 1rem;
    }
    .inner-01,
    .inner-02,
    .inner-07,
    .inner-08,
    .service-all_list {
        min-width:auto;
        width: auto;
        padding: 0 3rem;
    }

    /* iphone */
    .ios.safari .service-all,
    .ios.safari .service-all_list_box_item.active,
    .ios.safari .service-all_list_box_item,
    .ios.safari h3.title-04::before,
    .ios.safari .tb02 td, .tb02 th,
    .ios.safari .tb01 td, .tb01 th,
    .ios.safari .qa1 dl,
    .ios.safari .news .news_content_text,
    .ios.safari .contact_right {
        border-width:0.5px;
    }
    h3.title-04::before{
        width: 19px;
    }
    .ios.safari .footer_info_sitemap a::after,
    .ios.safari .footer_info_sitemap-small a::after,
    .ios.safari .top_service_list_title_en::after,
    .ios.safari .btn-01 span::after,
    .ios.safari h3.title-04::before,
    .ios.safari .service-all_list_box_item::before,
    .ios.safari .service-all_list_box_item::before,
    .ios.safari .btn-01_top_factory::after{
        height:0.5px;
    }
    .text {
        float: none;
        width: auto;
        padding: 0;
        border: none;
    }
    h3.title-01,
    h4.h_title-01_ja,
    .layout-01 h4.h_title-01_ja{
        margin-bottom:40px;
    }
    h3.title-04,
    h3.title-06{
        margin-bottom:60px;
    }
    .title-01_en,
    h3 .h_title-01_en,
    .title-04_en{
    
        font-size:13px;
            font-weight: 400;
    }
    h3 .h_title-01_ja{
        font-size:12px;
        top:0;
    }
    .title-01_ja,
    .title-04_ja,
    h4.h_title-01_ja,
    .factory_sec2 h4.h_title-01_ja {
        font-size: 20px;
        text-align:left;
    }
    h3 .h_title-01_en::after{
        top: auto;
    ;	height: 1.4rem;
    }
    h4.tit01, h4.tit02, h4.tit04 {
        font-size: 19px;
    }
    h5.tit01 {
        font-size: 18px;
    }
    h3.tit02::before {
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 40px;
        height: 57px;
        background-image: url(../images/tit02_bg.png);
        background-repeat: no-repeat;
        background-size: cover;
    }
    h3.tit04 span span::before {
        display: none;
    }
    .nowrap {
        white-space: normal;
    }

    /* layout */
    .layout-01{
        display:block;
    }
    .layout-01_text{
        padding-top:0;
        width:auto;
    }
    .layout-02{
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
    }
    .layout-02_contents {
        width: auto;
        margin-bottom: 60px;
    }
    .layout-02 picture{
        position: relative;
    }
    .layout-02 picture img{
        position:absolute;
        top:50%;
        left:50%;
        margin:auto;
        transform:translate(-50%,-50%);
    }

    /* p-aside */
    .p-aside .p-link { 
    display: block;
    }
    .p-aside .p-link::before,
    .p-aside .p-link::after { 
        content: none;
    }
    .p-aside .p-link::before {
        top: 33.333%;
        left: 0;
    }
    .p-aside .p-link::after {
        top: 66.666%;
        left: 66.666%;
    }
    .p-aside .p-link li { 
        width: 100%;
    }
    .p-aside .p-link li:not(:first-child) { 
        margin-top: 1px;
    }
    .p-aside .p-link li a { 
        padding-top: 50%;
    }
    .p-aside .p-link .link-price a .bg { 
        background-position: center 30%;
    }
    .p-aside::before {
        height : -webkit-calc(100% - 16px);
        height : calc(100% - 16px);
        top: 16px;
    }
}

@media screen and (max-width: 576px) {
    .top_news {
        width: 100%;
    }
    .inner_top_news {
        padding: 1.5rem 3rem 0;
        margin: 0 auto 16rem;
        border: 0;
        border-radius: 0;
    }
    .news-list-item .news-title {
        font-size: 1.4rem;
    }
    h4.top_news_title {
        font-size: 2.6rem;
    }
    .category {
        font-size: 1.4rem;
    }
    h4.top_news_text {
        font-size: 1.2rem;
    }

}

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

    .accordion_title {
        font-size: 1.4rem;   
    }
    h4.top_news_title {
        font-size: 2.2rem;
    }
    .sp_inline_iP{
        display:inline !important;
    }
    body{
        font-size:13px;
    }
    .inner-01,
    .inner-02,
    .inner-07, 
    .inner-08, 
    .top_factory .inner-01 {
        margin-bottom:150px;
    
    }
    .inner-01,
    .inner-02,
    .inner-07, 
    .inner-08, 
    .top_factory .inner-01,
    .service-all_list {
            padding: 0 2rem;
    }
    .title-01_ja, 
    .title-04_ja, 
    h4.h_title-01_ja {
        font-size: 19px;
    }
    .title-01_en,
    h3 .h_title-01_en, 
    .title-04_en, 
    h3 .h_title-01_ja {
        font-size: 11px;
    }
    .top_service_list_title_ja {
        font-size: 10px;
    }
    .footer_info_sitemap ul li a,
    .footer_info_sitemap dt,
    .footer_info_sitemap dd a,
    .footer_info_sitemap-small li a,
    .footer_info_copyright{
        font-size: 10px;
    }
    .footer_info_sitemap ul,
    .footer_info_sitemap dl {
        line-height: 1.7;
    }
    .kv_inner_title_l{
        font-size: 26px;
    }
    .sp_navi_list li{
        padding: 0.1vh 0 0.1vh 12%;
    }
    .sp_navi_children li a,
    li.sp_navi_small a {
        font-size: 13px;
        line-height: 1.6;
        font-weight: normal;
        padding: 0.1vh 0;
    }
    /* kv */
    .kv{
        height: 200px;
    } 

    /* service-all */
    .service-all {
        padding-top: 3.5rem;
        padding-bottom: 6rem;
    }
    .service-all_list_title_ja {
        font-size: 1.2rem;
    }

}
/* ----------------------------------
  End スマートフォン
-------------------------------------*/