/* CSS Document */
@media screen and (max-width:767px) {
    .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;
    }

    /*============================================================================

	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 a {}

    .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_fixed_area {}

    .sp_navi .header_logo {
        position: relative;
        top: 0;
        display: block;
        width: 60%;
        max-width: 180px;
        line-height: 42px;
        text-align: left;
        background: #fff;
        overflow: hidden;
        margin-left: 2%;
        z-index: 1;
    }


    .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: #286BC1;
        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 {}

    .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;
    }


    /*ボタンの動き*/
    .sp_navi dt a {
        display: block;
        width: 60px;
        height: 60px;
        position: absolute;
        right: -5px;
        z-index: 9999999;
        text-align: center;
        background-color: #286BC1;
    }

    .sp_navi dt a span {
        display: block;
        background: #FFF;
        width: 26px;
        height: 1px;
        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: #286BC1;
    }

    .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);
    }

    /*============================================================================

	.kv

============================================================================*/

    .kv {
        background-position: center;
        background-attachment: scroll;
        height: 240px;
        margin-top: 60px;
        padding-top: 0;
        background-size: cover;
        background-position: 75%;
    }

    .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_en,
    .kv_inner_en-career {
        bottom: -5.3rem;
        left: 24%;
        font-size: 20rem;
    }

    .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;
    }

    /* トップページキャッチフレーズ */
    .kv_inner_catch {
        position: relative;
        width: calc(100% - (3rem * 2));
        /*        height: auto;*/
        top: calc(50% - 1rem);
        left: 0;
        right: 0;
        transform: translate(-0%, -50%);
        margin: auto;
        padding-bottom: 0;
    }

    .kv_inner_catch_en {
        margin-left: 2px;
        font-size: 12.6px;
    }

    .kv_inner_catch_b_1 {
        position: relative;
        width: 50rem;
        left: -38rem;
        top: 0px;
        transform: translate(50%, 0);
    }

    .kv_inner_catch_b_02 {
        /*position: relative;
        width: fit-content;
        width: -moz-fit-content;
        left: auto;
        right: 0;
        top: -9.2rem;*/
        font-size: 3.0rem;
        margin-left: auto;
        left: 0;
    }

    .kv_inner_catch_b_03 {
        position: relative;
        width: fit-content;
        width: -moz-fit-content;
        height: auto;
        top: -10.1rem;
        left: auto;
        right: auto;
        /* display: flex; */
        /* justify-content: end; */
        padding-right: 0.3rem;
        font-size: 1.3rem;
        /* text-align: right; */
        margin-left: auto;
    }

    .kv_inner_catch {}

    .kv_inner_catch_s_01 {
        margin-bottom: 0.3rem;
    }

    .kv_inner_catch_b_03 .textarea01,
    .kv_inner_catch_s .textarea01 {
        width: 1.04em;
    }

    .kv_inner_catch_b_03 {
        /*     left: 3.46rem;
 */
    }



    .kv_inner_catch_l {
        margin-bottom: 25px;
        font-size: 45px;
    }

    .kv_inner_catch_s {
        position: relative !important;
        font-size: 11px;
        /* top: -60px; */
    }

    .kv-career .kv_img {
        background-position: 70% 50%;
    }

    .kv-career .kv_inner_title {
        z-index: 100;
        margin-bottom: 3rem;
    }

    .kv_inner_breadcrumbs {
        display: none;
    }


    .kv_inner_catch_b_02 .textarea01:first-child {
        margin-right: -0.1rem;
    }

    .kv_inner_catch_b_02_text_ajust01 {
        margin-right: -0.6rem;
    }



    /*============================================================================

	.top_information

============================================================================*/


    .top_information {
        overflow: visible;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        min-width: auto;
        height: auto;
        box-sizing: border-box;
        padding: 26px 20px;
    }

    .top_information h3 {
        display: none;
    }

    .top_news-row_content_date {
        font-size: 13px;
        margin-bottom: 0.1rem;
    }

    .top_news-row_content a h4 {
        font-size: 13px;
    }

    .owl-theme .owl-controls {
        margin-top: 0;
    }

    .top_information_box_text {
        height: 38px;
    }





    /*============================================================================

	footer

============================================================================*/


    /* footer_contact */
    .footer_contact .bg_text_en-02 {
        left: 20%;
        bottom: 70rem;
        top: auto;
        margin-left: 0;
        font-size: 24rem;
        text-align: center;
        margin-left: 0;
    }

    .footer_contact {
        height: auto;
        padding: 100px 0;
    }

    .footer_contact .inner-02 {
        display: block;
        padding-bottom: 0;
        text-align: center;
        position: relative;
        z-index: 1;
    }

    .footer_contact_title {
        margin-right: 0;
        margin-bottom: 26px;
    }

    .footer_contact_title p {
        font-size: 13px;
    }

    .footer_contact_tel {
        margin-right: 0;
        margin-bottom: 25px;
    }

    .footer_contact_tel_num a {
        pointer-events: auto;
    }

    .footer_contact_form {
        height: auto;
        width: 75.5%;
        margin: auto;
        overflow: visible;
        background-color: #fff;
    }

    .footer_contact_form::after,
    .footer_contact_form::before {
        display: none;
    }

    .footer_contact_form a {
        line-height: 3.6;
        font-size: 13px;
    }

    .footer_contact_form_icon {
        top: 2px;
        position: relative;
    }



    /* footer_info */

    .footer_info {
        padding: 8rem 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

============================================================================*/

    .top_service .bg_text_en-01 {
        left: 20%;
        top: auto;
        margin-left: 0;
        bottom: 510px;

    }

    .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;
    }



    .top_service_list_icon {}

    /* 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 0;
    }

    .top_service_list_title_ja {
        margin-bottom: 0;
        font-size: 14px;
        line-height: 1.5;
    }

    .top_service_list_title_en {
        top: -2px;
        font-size: 12px;
        color: #286BC1;
        font-weight: 400;
    }

    .top_service_list_title_en::after {
        bottom: -6px;
        background-color: #286BC1;
    }

    .top_service_list_title_en-sp {
        display: inline-block;
    }

    .top_service_list_title_en-pc {
        display: none;
    }

    .top_service_list_bg {
        height: calc(100% - 170px + 110px);
        top: 110px;
        left: -3rem;
        width: calc(100% + (3rem * 2));
    }

    .top_factory .inner-01 {
        margin-bottom: 20rem;
    }

    .top_factory .layout-02_contents {
        margin-bottom: 0;
    }

    .top_factory .bg_text_en-01 {
        bottom: 118.3rem;
        left: 20%;
        margin-left: 0;
        top: auto;
    }

    .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(../image/top_factory_img01.jpg);
        background-position: 10% 35%;
        background-size: 120% auto;
    }




    .top_factory .show1,
    .top_factory .show2 {
        display: none;
    }

    .layout-02 picture,
    .layout-05 picture {
        max-width: none;
    }

    .top_factory .layout-02 picture img,
    .factory_sec3 .layout-05 picture img {
        position: relative;
        top: 50%;
        left: 55%;
        margin: auto;
        transform: translate(-50%, -18%);
        width: 100%;
        height: auto;
        width: 130%;
        max-width: none;
    }

    .top_factory .layout-02 picture {
        display: none;
    }

    .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: #286BC1;
        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;
    }







    .top_links {
        padding-bottom: 6rem;
    }

    .top_links_list_bg {
        height: calc(100% - 0px + 420px);
        top: -10rem;
        left: -3rem;
        width: calc(100% + (3rem * 2));
    }

    .top_links_list {
        width: auto;
        margin-left: 0;
    }

    .top_links_list_box_shadow {
        box-shadow: none;
    }

    .top_links_list_box {
        display: block;
    }

    .top_links_list_box_item {
        width: auto;
        border: none;
        margin-bottom: 40px;
    }



    .top_links_list_box_item::before {
        display: none;
    }

    .top_links_list_box_item a figure {

        margin: 0 0 30px;
    }

    .top_links_list_text {
        font-size: 13px;
    }

    .top_links_list_title {
        font-size: 17px;
    }

    .top_links_list_box_item .btn-02 {
        display: block;
    }




    .top_links_list_box_item {
        background-color: transparent;
        box-shadow: none;
    }

    .top_links_list_box_item:last-child {
        margin-bottom: 0;
    }



    .top_links_list_box_item a::before {
        background-color: transparent;
    }

    .top_links_list_title,
    .top_links_list_text,
    .top_links_list_box_item_inner .btn-02 {
        padding: 0 0;
    }

    .top_links_list_box_item_inner {
        padding-bottom: 22px;
    }

    .top_links_list_box_item .btn-02 {
        bottom: 0;
    }

    .btn-02 span {
        font-size: 12px;
    }

    .top_links_list_text {
        margin-bottom: 12px;
    }

    .top_links_list_box_item a {
        padding-bottom: 0;
    }




    /* hover */
    .top_links_list_box_item:hover {
        box-shadow: none;
        transform: none;

    }

    .top_links_list_box_item a:hover {
        color: #363636;
    }

    .top_links_list_box_item a:hover figure img {
        transform: scale(1.2, 1.2);
    }

    .top_links_list_box_item a figure::before,
    .top_links_list_box_item a figure::after {
        display: none;
    }




    /*============================================================================

	$service
	
============================================================================*/



    .services-index {
        padding-bottom: 120px;
    }

    .services-index_inner {
        display: block;
    }

    .services-index_inner.inner-02 {
        padding: 0 1rem;
        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-04 .inner-01 {
        margin-bottom: 4.4rem;
    }

    .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;
    }










    .service-01,
    .service-02,
    .service-03 {
        margin-top: -120px;
    }




    .service-process .inner-03 {
        margin-bottom: 150px;

    }

    .service-process_area {
        flex-wrap: nowrap;
        justify-content: space-between;
    }

    .service-process_area {
        position: relative;
        width: 100%;
    }






    .service-process_area::before {
        position: absolute;
        top: 16px;
        left: 0;
        width: 100%;
        height: 1px;
        content: "";
        z-index: -1;
        background-color: #C0D4E5;

    }

    .service-process_area-2.service-process_area::before {
        top: 50%;
    }

    .service-process_area_box {
        position: relative;
        width: 100%;
        height: auto;
        background-color: #fff;
        padding: 3%;
        margin-right: 2%;
        margin-bottom: 0;
    }

    .service-process_area_box:nth-child(4) {
        margin-right: 2%;
    }

    .service-process_area_box::before,
    .service-process_area_box::after,
    .service-process_area_box_inner::before {
        display: none;


    }

    .service-process_area_box_num {
        margin-bottom: 1.2rem;
        font-size: 1.3rem;
    }

    .service-process_area_box_title {
        writing-mode: vertical-rl;
        font-size: 1.3rem;
        text-align: center;
        margin: auto;

    }

    .service-process_area_box:nth-child(4n)::before {
        display: none;
    }

    .service-process_area_box_text {
        display: none;
    }


    /* 縫製 */
    .service03-process .service-process_area {
        width: auto;
    }

    .service03-process .service-process_area_box:nth-child(3n),
    .service03-process .service-process_area_box:nth-child(4n) {
        margin-right: 2%;
    }

    .service03-process .service-process_area_box:last-child {
        margin-right: 0;
    }



    /* OEM */
    .service-process_area.service-process_area-2 {}

    .service-process_area.service-process_area-2 .service-process_area_box {
        position: relative;
        width: 100%;
        height: auto;
        background-color: #fff;

        padding: 1.6rem;
        margin-right: 0.8rem;
    }

    .service-process_area.service-process_area-2 .service-process_area::before {
        top: 50%;
    }

    .service-process_area.service-process_area-2 .service-process_area_box:last-child {
        margin-right: 0;
    }

    .service-process_area.service-process_area-2 .service-process_area_box_inner_box {
        display: inline-block;
        text-align: left;
    }

    .service-process_area.service-process_area-2 .service-process_area_box_num {
        display: inline-block;
        margin-bottom: 0;
        margin-right: 0.2rem;
    }

    .service-process_area.service-process_area-2 .service-process_area_box_title {
        display: inline-block;
        writing-mode: unset;
        margin: 0;
    }

    .service-process_area.service-process_area-2 .service-process_area_box_text {
        padding-top: 0.6rem;
        margin: 0;
        font-size: 1rem;
        text-align: left;
    }


    .service-process_bg {
        top: -8rem;
        height: calc(100% - 8rem + 24.8rem);
    }

    .service-projects_box {
        display: block;
    }

    .service-projects_title {
        width: auto;
        padding-right: 0;
        margin-bottom: 40px;
    }

    .service-projects_products {
        width: auto;
    }

    .service-projects_products_title {
        left: 2.2rem;
    }

    .service-projects_products_s ul {
        justify-content: flex-start;
        padding-top: 6%;
        padding-bottom: 6%;
        padding-right: calc(14% - 26px);
        padding-left: 6%;

    }

    .service-projects_products_s li {
        font-size: 13px;
    }

    .service-projects_products_l li {
        margin-bottom: 40px;
    }

    .service-projects_products_l_name {
        padding: 0 2%;
        font-size: 12px;
        line-height: 1.5;
    }

    .service-projects_products_s li {
        margin-right: 0.6rem;
    }

    .service-projects_products_s li::before {
        top: 0.9rem;
        width: 4px;
        height: 4px;
    }


    .service-process_list_box {
        width: auto;
        margin-right: 0;
        margin-bottom: 16px;
        display: none;
    }

    .service-process_list_box picture {
        width: 100%;
        height: 128px;
    }

    .service-process_list_box:nth-child(3n) {
        margin-right: 0;
    }

    .service-process_list_box:nth-child(2n) {
        margin-right: 0;
    }

    .service-process_list_box h4 {
        margin-bottom: 4px;
        font-size: 18px;
    }

    .service-process_list_box p {
        padding: 0 24px 30px;
        font-size: 13px;
        line-height: 1.63;
    }

    .service-process_list_box h4::after {
        top: -28px;
        font-size: 30px;
    }

    .service-process_list_box h4::before {
        top: -32px;
        font-size: 14px;
    }

    .service-01 h3 .h_title-01_en {
        font-size: 12px;
        margin-right: 4rem;
    }

    .service-01 h3 .h_title-01_en::after {
        right: -2.0rem;
    }

    .service-process_area_box:nth-child(5n)::after {
        position: absolute;
        top: -3.1rem;
        left: 11rem;
        width: 80%;
    }



    .service-facilities {
        padding-top: 0;
    }

    .service-facilities .inner-04 {
        display: block;
        margin-bottom: 100px;
    }

    .service-facilities_title {
        width: 100%;
        padding-right: 0;
        margin-bottom: 30px;
    }

    .service-facilities .layout-04 {
        width: 100%;
    }

    .service-04_list {
        display: block;
    }

    .service-04_list_box {
        width: auto;
        margin-bottom: 60px;
    }

    .service-04_list_box:last-child {
        margin-bottom: 0;
    }

    .service-04_list_box h3 {
        font-size: 20px;
    }

    .service-04_list_01 .service-04_list_box:nth-child(1),
    .service-04_list_01 .service-04_list_box:nth-child(4),
    .service-04_list_02 .service-04_list_box:nth-child(1),
    .service-04_list_02 .service-04_list_box:nth-child(2),
    .service-04_list_02 .service-04_list_box:nth-child(3),
    .service-04_list_02 .service-04_list_box:nth-child(4) {
        width: 100%;
    }

    .service-04_list_01 .service-04_list_box:nth-child(2),
    .service-04_list_01 .service-04_list_box:nth-child(3) {
        width: 50%;
    }

    .service-04_list_01 .service-04_list_box,
    .service-04_list_02 .service-04_list_box {
        margin-bottom: 5.4rem;
    }

    .service-04_list_box li picture {
        max-width: 20rem;
        padding: 0 10%;
    }

    .service-04_list_box ul {
        display: flex;
        padding: 1rem 1rem 0;
        justify-content: center;
    }

    .service-04_list_02 .service-04_list_box_title p {
        white-space: normal;
    }

    /* service-all */

    .service-02-all .top_service_list_bg,
    .service-all .top_service_list_bg {
        right: -20px;
        top: 110px !important;
    }

    .service-all .top_service_list_bg {
        width: 100vw;
        top: 110px;
        right: -20px;
    }

    .service-index .inner-03,
    .service-all .inner-04 {
        margin-bottom: 125px;
    }

    .service-all.service-all-03 {
        margin-top: 0;
        padding-top: 0;
    }

    /* service-index */

    .service-index .top_service_list_bg {
        width: 100vw;
        top: 110px;
    }


    /*============================================================================

	$company

============================================================================*/



    .contents_right {
        width: 100%;

    }

    .contents_left {
        /* display: none; */
    }

    .company_outline_box_img {
        display: none;
    }

    .contents_inner {
        min-width: auto;
        width: auto;
        padding: 0 3rem;
    }


    .comapny_links {
        margin-top: 0;
    }

    .comapny_links .inner-02 {

        min-width: auto;
    }

    .comapny_links_list {
        width: auto;
        margin-left: 0;
        box-shadow: none;
    }

    .comapny_links_list_bg {
        top: 88px;
        left: -20px;
        width: 100vw;
    }

    .comapny_links_list_box {
        display: block;
    }

    .comapny_links_list_box_item {
        width: auto;
        border: none;
        margin-bottom: 16px;
    }

    .comapny_links_list_box_item a {
        padding: 0 0 46px;
    }

    .comapny_links_list_box_item a figure {
        width: 100%;
        height: 176px;
        margin: 0 0 30px;
    }

    .comapny_links_list_text {
        font-size: 12px;
    }

    .comapny_links_list_title {
        font-size: 17px;
    }

    .comapny_links_list_title,
    .comapny_links_list_text,
    .comapny_links_list_box_item_inner .btn-02 {
        padding: 0 30px;
    }

    .comapny_links_list_text {
        margin-bottom: 28px;
    }

    .comapny_links_list_box_item a {
        padding-bottom: 28px;
    }

    .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;
    }

    .company_message_name dt {
        font-size: 12px;
    }

    .company_message_name dd {
        font-size: 20px;
    }

    .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_sec1_breadcrumbs_outer,
    .factory_sec1_inner-01 {
        max-width: none;
        min-width: auto;
        padding: 7rem 3rem 9rem;
    }


    .factory_sec1 {
        height: auto;
        margin-top: -120px;
        padding-top: 100px;
    }

    .factory_sec1 .inner-01 {
        margin-bottom: 100px;
    }

    .factory_sec2 .inner-01,
    .factory_sec3 .inner-01 {
        margin-bottom: 100px;
    }

    .factory_kv_inner_title_s {
        font-size: 12px;
    }

    .factory_kv_inner_title_l {
        font-size: 30px;
        margin-bottom: 5rem;
    }

    .factory_sec1 .title-01_ja {
        white-space: normal;
    }

    .factory_sec1 .bg_text_en-01 {
        display: none;
    }

    .factory_sec1 {
        margin-top: -160px;
    }

    .factory_sec1_inner-01 {
        position: relative;
        height: auto;
        padding-top: 0;
    }

    .factory_sec1_inner-01 .layout-02 {
        width: 100%;
    }

    .factory_sec1 .layout-02 picture {
        height: calc(100% + 200px);
        top: 100px;
        left: 0;
        opacity: 0.5;
    }

    .factory_sec1 .layout-02 picture::before {
        left: -50%;
    }

    .factory_sec1 .layout-02 picture img {
        position: absolute;
        top: 50%;
        left: -2%;
    }

    .factory_sec1 .layout-02_contents {
        margin-bottom: 0;
        width: auto;
    }

    .factory_sec1_partner::before {
        display: none;
    }

    .factory_sec1_partner_area {
        padding-top: 4rem;
        position: relative;
        z-index: 200;
        opacity: 0;
        width: 100%;
    }

    .factory_sec1_partner {
        width: auto;
        padding: 0;
        margin-bottom: 0.8rem;
        background-color: transparent;
        color: #fff;
        box-shadow: none;
    }

    .factory_sec1_partner_text_ja {
        margin-bottom: 0.2rem;
    }

    .factory_sec1_partner_text_en {
        color: #fff;
        opacity: 0.7;
        margin-bottom: 1.1rem;
    }

    .factory_sec1_partner figure {

        width: 10rem;
        height: 10rem;
        margin-right: 1.2rem;
    }

    .factory_sec1_partner_text {

        padding: 0;
    }

    .factory_sec1_partner p {
        margin-bottom: 0.2rem;

    }

    .factory_sec1_partner p strong {
        display: block;
        margin-right: 1rem;
        margin-bottom: 0.2rem;

    }


    .factory_sec2 {
        padding-top: 100px;
    }

    .factory_sec2_bg {
        height: calc(100% - 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 {
        left: 46%;
        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%;
    }


    .factory_sec2_bg::before,
    .factory_sec4_bg::before {
        left: 0;
        right: 0;
    }

    .factory_sec4 {
        margin-top: -100px;
        padding-top: 100px;
    }

    .factory_sec4_bg {
        width: 100%;
    }

    .factory_sec4 .inner-01 {
        margin-bottom: 120px;
    }

    .factory_sec1_marker {
        display: none;
    }



    .next_contents .inner-02 {
        display: block;
    }

    .next_contents_title {
        display: block;
        width: auto;
        margin-bottom: 3rem;
    }

    .next_contents_link {
        display: block;
        width: auto;
    }

    .next_contents_link_box {
        width: auto;
        margin-bottom: 1rem;
    }

    .next_contents_title_en {
        font-size: 2.6rem;
    }

    .next_contents_link_box_title_ja {
        font-size: 1.5rem;
    }

    .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;
    }



    /*============================================================================

	$career

============================================================================*/

    .career_intro_bg::after {
        background-color: rgba(0, 15, 30, .65);
    }

    .career_intro .inner-03 {

        padding: 8rem 3rem;
    }

    .career_intro .bg_text_en-01 {
        left: 21%;
        bottom: -154px;
    }



    .career_intro_box {
        width: 100%;
    }

    .career_bg {

        top: 97.7rem;
    }

    .careers_message_bg {
        top: -45px;
        width: 100%;

    }

    .career_message {
        padding: 75px 0;
    }


    .career_message .inner-03 {
        padding: 0;
        margin: 0 0 0;
    }

    .career_message .title-04 {
        text-align: center;
    }

    .career_message h3.title-04::before {
        left: 0;
        right: 0;
        margin: auto;
    }

    .career_message_box {
        display: block;
        padding: 0 3rem;

    }

    .career_message_box p {
        line-height: inherit;
    }

    .career_message_box picture {
        width: 30%;
        height: auto;
        min-width: auto;
        margin: auto;
        margin-bottom: 30px;
    }

    .career_message_box_text {}



    /* career_schedule */
    .career_schedule {
        padding-top: 75px;
    }



    .career_schedule h3.title-06 {
        margin-bottom: 50px;
    }

    .career_schedule_title p {
        line-height: 1.7;
    }

    .career_schedule::before {
        height: 392px;
    }

    .career_schedule::after {
        height: 392px;
    }

    .career_schedule_bg {
        top: 392px;
        width: 100%;
        height: calc(100% - 392px);
    }

    .career_schedule .inner-04 {
        margin-bottom: 0;
        padding: 0 1.5rem 75px;
    }

    .career_schedule_title {
        margin-bottom: 50px;

    }

    .career_schedule_title .title-06_ja {
        font-size: 23px;
    }



    .career_schedule_box {
        width: auto;
        padding: 55px 3rem 55px;
        display: block;
    }

    .career_schedule_box_list {
        margin-bottom: 70px;
    }

    .career_schedule_box_list:last-child {
        margin-bottom: 0;
    }

    .career_schedule_box_list h4 {
        margin-bottom: 36px;
        line-height: 1.5;
        font-size: 20px;
    }

    .career_schedule_box_list_group {
        margin-bottom: 0px;
        font-size: 14px;
    }

    .career_schedule_box_list {
        width: auto;
    }

    .career_schedule_box_list_row {
        padding-left: 20px;
    }

    .career_schedule_box_list_row dl {
        margin-bottom: 22px;
        margin-left: 20px;
    }

    .career_schedule_box_list_row dt {
        margin-bottom: 10px;
    }

    .career_schedule_box_list_row dd {

        font-size: 13px;
    }








    .careers_require {
        padding: 0;
    }

    .careers_require .inner-04 {
        padding: 75px 3rem;
        margin-bottom: 0;
    }


    .careers_require h3.title-05 {
        text-align: left;
    }

    .careers_require h3.title-05::before {
        right: auto;
    }


    .careers_require_list_title {
        padding: 24px 2px;
    }



    .careers_require_list_title:hover::before {
        width: 0;
    }

    .careers_require_list_title:hover h4 {
        margin-left: 4.2rem;
        color: inherit;
    }

    .careers_require_list_title:hover .careers_require_list_title_btn span {
        background-color: #363636;
    }


    .careers_require_list_title_btn span {
        width: 22px;
        bottom: 2px;
    }

    .careers_require_list_box table,
    .careers_require_list_box.careers_require_list_box-designer table {
        margin: 0 0 40px;
    }

    .text-01.careers_require_list_box {
        padding: 0 0;
    }


    .careers_apply .inner-04 {
        display: block;
        padding: 0 3rem 0;
        justify-content: space-between;
        margin-bottom: 100px;
    }

    .careers_apply .text-01 {
        width: 100%;
        margin-left: 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;
    }

    .contact_thanks .btn-01 {
        margin-top: -2.6rem;
        margin-bottom: 60px;
    }

    .contact_note_gmail {
        padding: 6% 8%;
        font-size: 1.3rem;
        line-height: 1.75;

    }

    .contact_note_gmail_title {
        font-size: 1.5rem;
    }


    /*============================================================================

	$qa1

============================================================================*/

    .qa1 dl dt,
    .qa1 dl dd {}

    .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;
    }

    /*============================================================================

	$breadcrumb ぱんくず

============================================================================*/

    .breadcrumb {
        width: 92%;
        margin: -10px 4% 40px;
    }

    .breadcrumb li {
        display: inline-block;
    }

    /*============================================================================

	$共通

============================================================================*/

    .comapny02_map .inner-01,
    .company-01_sec1 .inner-08,
    .service-04 .inner-05,
    .service-01 .inner-03,
    .service-projects .inner-03,
    .company_message .inner-06 {
        margin-bottom: 150px;
    }





    .contents {
        padding-top: 100px;
    }

    .inner-01,
    .inner-02,
    .inner-03,
    .inner-04,
    .inner-05,
    .inner-06,
    .inner-07,
    .inner-08,
    .service-all_list {
        min-width: auto;
        width: auto;
        padding: 0 3rem;
    }


    .inner-06 {
        margin-bottom: 100px;
    }







    /*============================================================================

	iphone bordr

============================================================================*/


    .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 h3.title-05::before,
    .ios.safari .service-projects_products_s ul,
    .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,
    h3.title-05::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 .btn-02 span::after,
    .ios.safari h3.title-04::before,
    .ios.safari h3.title-05::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,
    h3.title-03,
    h4.h_title-01_ja,
    .layout-01 h4.h_title-01_ja,
    .career_intro h4.h_title-01_ja {
        margin-bottom: 40px;
    }

    h3.title-04,
    h3.title-05,
    h3.title-06 {
        margin-bottom: 60px;
    }

    h3.title-02 {
        margin-bottom: 10px;
    }







    .title-01_en,
    h3 .h_title-01_en,
    .title-03_en,
    .title-04_en,
    .title-05_en {

        font-size: 13px;
        font-weight: 400;
    }

    h3 .h_title-01_ja {
        font-size: 12px;
        top: 0;
    }






    .title-02_en {
        font-size: 44px;
        margin-bottom: 0;
    }

    .title-01_ja,
    .title-02_ja,
    .title-03_ja,
    .title-04_ja,
    .title-05_ja,
    h4.h_title-01_ja,
    .service-04_list_box_title .title-01_ja,
    .factory_sec2 h4.h_title-01_ja {
        font-size: 14px;
        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(https://www.takiken.com/images/tit02_bg.png);
        background-repeat: no-repeat;
        background-size: cover;
    }

    h3.tit04 span span::before {
        display: none;
    }

    .bg_text_en-01 {
        font-size: 26rem;
    }



















    .nowrap {
        white-space: normal;
    }

    /* リスト */
    .list08 {
        padding: 6%;
    }

    /* 募集要項 */
    .tb01 {
        white-space: inherit;
    }

    .tb01 td,
    .tb01 th {
        padding: 8% 0;
        display: block;
    }

    .tb01 th {
        border-bottom: none;
        padding-bottom: 0;
    }

    .tb01 td {
        padding-top: 4%;

    }



    .tb03,
    .tb03 th {}

    .tb03 td {
        width: 100%;
        display: block;
        text-align: left;
        padding: 12px 0;
    }

    .tb03 td:first-child {
        text-align: left;
        padding-bottom: 0;
        border-bottom: none;
    }

    .tb03 td:last-child {
        padding-top: 0;
        border-bottom: 1px solid #f0f0f0;
    }


    .tb04,
    .tb04 th {
        white-space: normal;
    }

    .tb04 th {
        font-size: 13px;
    }

    .tb04 td,
    .tb04 th {
        padding: 2%;
    }

    /* ボタン */
    .btn01 a {
        display: block;
    }

    /* アンカーリンク */
    .ank01 {
        width: 88%;
        padding: 0 6%;
    }

    .ank01 li {
        width: 49%;
        margin-bottom: 3%;
        margin-left: 0;
    }

    .ank01 li:nth-child(even) {
        margin-left: 2%;
    }

    .ank02 li {
        float: none;
        width: 100%;
        height: auto !important;
        margin-bottom: 3%;
        margin-left: 0;
    }

    .ank01 li span {
        font-size: 12.5px;
    }

    /* 画像右寄せ */
    .img_fr {
        float: none;
        margin-left: 0;
        text-align: center;
    }

    .img_fr img {
        margin-bottom: 15px;
    }






    /*============================================================================

	$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;
        flex-flow: column-reverse;
    }

    .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%);
        width: 90%;
        height: auto;
    }

    .layout-03 {
        display: block;
    }

    .layout-03 h3 {
        margin-bottom: 45px;
    }

    .layout-03_text {
        width: auto;
    }



    .layout-04_box {
        width: auto;
        margin-bottom: 40px;
    }

    .layout-04_box:nth-child(2n) {
        margin-bottom: 0;
    }




    .layout-04_box h4 {
        margin-bottom: 4px;
        font-size: 18px;
    }

    .layout-05 {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
    }

    .layout-05_contents {
        width: auto;
        margin-bottom: 45px;
    }

    .layout-05 picture {
        position: relative;
        width: 100%;
        height: auto;
        padding-bottom: 62%;
    }

    .layout-05 picture img {
        position: absolute;
        top: 50%;
        left: 50%;
        margin: auto;
        transform: translate(-50%, -50%);
        width: 100%;
        height: auto;
    }

    .layout-05_bg {
        right: 0;
        height: calc(100% + 8.8rem + 22.4rem);
    }

}


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

    .kv_inner_catch {
        top: calc(50% - 1rem);
    }

    .kv_inner_catch_b_1 {
        position: relative;
        width: 120%;
        left: -93%;
        top: 1.6rem;
        transform: translate(50%, 0);

    }

    .kv_inner_catch_b_2 {
        position: absolute;
        width: 17.6rem;
        left: auto;
        right: -1px;
        top: 14.1rem;
    }

    .kv_inner_catch_b_3 {
        position: absolute;
        width: 14.4rem;
        height: auto;
        top: 15.6rem;
        left: auto;
        right: 0;
    }

    .kv_inner_catch_s {
        position: absolute !important;
        font-size: 11px;
        white-space: nowrap;
        /*        top: 204px;*/
        left: 0;
    }
}


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

    .kv_inner_catch_b_02 {
        top: -7.8rem;
    }

    .kv_inner_catch_b_03 {
        top: -8.7rem;
    }

    .kv_inner_catch_s {
        top: 192px;
    }

}



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

    .sp_inline_iP {
        display: inline !important;
    }


    body {
        font-size: 13px;
    }

    .contents {}

    .inner-01,
    .inner-02,
    .inner-03,
    .inner-04,
    .inner-05,
    .inner-06,
    .inner-07,
    .inner-08,
    .top_factory .inner-01 {
        margin-bottom: 150px;

    }

    .inner-01,
    .inner-02,
    .inner-03,
    .inner-04,
    .inner-05,
    .inner-06,
    .inner-07,
    .inner-08,
    .top_factory .inner-01,
    .service-facilities .inner-04,
    .service-all_list {
        padding: 0 2rem;
    }



    .title-01_ja,
    .title-02_ja,
    .title-03_ja,
    .title-04_ja,
    .title-05_ja,
    .service-04_list_box_title .title-01_ja,
    h4.h_title-01_ja {
        font-size: 19px;
    }



    .title-01_en,
    h3 .h_title-01_en,
    .title-03_en,
    .title-04_en,
    .title-05_en,
    h3 .h_title-01_ja {
        font-size: 11px;
    }


    .top_information {
        padding: 26px 20px;
    }

    .top_service_list_icon {}

    .top_service_list_title_ja {
        font-size: 13px;
    }

    .footer_contact_form {
        width: 94%;
    }

    .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_catch {
        top: calc(50% - 15px);

    }

    .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;
    }


    .top_service .bg_text_en-01 {
        bottom: 460px;

    }

    .top_links {
        padding-bottom: 60px;
    }

    .top_links .inner-02 {
        margin-bottom: 0;
    }

    .top_service_list_bg {
        height: calc(100% - 160px + 120px);
        top: 75px;
    }

    .top_links_list_bg {
        position: absolute;
        top: -75px;
    }


    .top_links_list_box_item a figure {
        height: auto;
    }


    .footer_contact {
        padding: 100px 0;
    }

    .footer_contact .inner-02 {
        margin-bottom: 0;
    }


    .kv {
        height: 200px;
    }



    .kv_inner_catch {
        top: calc(50% - 30px);
        padding-bottom: 0;
    }

    .kv_inner_catch_b_1 {
        position: relative;
        width: 120%;
        left: -93%;
        top: 1.6rem;
        transform: translate(50%, 0);

    }

    .kv_inner_catch_b_2 {
        position: absolute;
        width: 17.6rem;
        left: auto;
        right: -1px;
        top: 11.6rem;
    }

    .kv_inner_catch_b_3 {
        position: absolute;
        width: 14.4rem;
        height: auto;
        top: 13.2rem;
        left: auto;
        right: 0;
    }

    .kv_inner_catch_s {
        position: absolute !important;
        font-size: 11px;
        top: 167px;
    }


    .kv_inner_en,
    .kv_inner_en-career {
        bottom: -5.3rem;
        left: 24%;
        font-size: 20rem;
    }


    .service-projects_products_s li {
        position: relative;
        margin-top: 0.6rem;
        margin-bottom: 0.6rem;
    }

    .service-facilities .inner-04 {
        margin-bottom: 50px;
    }

    .service-all {
        padding-top: 3.5rem;
        padding-bottom: 6rem;
    }

    .service-all_list_title_ja {
        font-size: 1.2rem;
    }

}


@media screen and (max-width:991px) {
	.service-04_list_01 .service-04_list_box:nth-child(1) li{
    	width: calc(100% / 2);
    }

    .service-04_list_02 .service-04_list_box:nth-child(2),
    .service-04_list_02 .service-04_list_box:nth-child(3){
    	width: calc(100% / 2);
    }
    .service-04_list_01 .service-04_list_box, .service-04_list_02{
    	margin-bottom: 2rem;
    }
}