@charset "utf-8";

/* Safari only fix
============================================================================== */
@media screen and (-webkit-min-device-pixel-ratio:0) and (max-width: 1000px) {
  ::i-block-chrome, html, body { overflow: hidden; }
  ::i-block-chrome, #wrap { overflow: auto; }
}

/* 共通部分
============================================================================== */
@media screen and (max-width: 1000px) {
    * { -webkit-box-sizing: border-box; box-sizing: border-box; }
    *:before,
    *:after { -webkit-box-sizing: border-box; box-sizing: border-box; }
    html, body {
        font-size: calc(24 / 768 * 100vw);
        line-height: 1.5;
        color: #000;
        letter-spacing: 0.1em;
    }
    img { width:auto; max-width:100%; height:auto; }
    .pc-only { display: none; }
    .sp-only { display: block; }
    .inner {
        width:100%;
        margin:0 auto;
        padding: 0 calc(40 / 768 * 100vw);
        position: relative;
    }
    /* 下層共通部品 */
    .col_img_l {
        text-align:center;
        margin:0 auto;
        margin-top:calc(40 / 768 * 100vw);
        -webkit-box-ordinal-group:2; -ms-flex-order:2; -webkit-order:2; order:2;
    }
    .col_img_r {
        text-align:center;
        margin:0 auto;
        margin-top:calc(40 / 768 * 100vw);
        -webkit-box-ordinal-group:2; -ms-flex-order:2; -webkit-order:2; order:2;
    }
    .col_img_l,
    .col_img_r,
    .col_txt_l,
    .col_txt_r { width:100%; }

    .row_page_common {
        -webkit-justify-content: center; justify-content: center;
        -webkit-align-items: flex-start; align-items: flex-start;
        -webkit-flex-wrap: wrap; flex-wrap: wrap;
    }
    .row_page_common:not(:last-child) { margin-bottom: calc(45 / 768 * 100vw); }
    .row_page_common .col_sub_row {
        width:100%;
        -webkit-box-ordinal-group:2; -ms-flex-order:2; -webkit-order:2; order:2;
    }

    /* 画像共通装飾 */
    figure > span {
        display: inline-block;
        padding:calc(10 / 768 * 100vw) 0;
        line-height: 0;
    }
    figure > figcaption {
        margin-top:calc(10 / 768 * 100vw);
    }
}

/* header部分
============================================================================== */
@media screen and (max-width: 1000px) {
    #wrap { margin-top:calc(100 / 768 * 100vw); }
    header {
        position: fixed;
        height: calc(100 / 768 * 100vw);
        top: 0;
    }
    header:before,header:after { display:none; }
    header .logo_head {
        width: calc(330 / 768 * 100vw);
        margin:0;
        text-align: left;
        position: absolute;
        top: calc(25 / 768 * 100vw);
        left: calc(40 / 768 * 100vw);
    }
    .icn_tel img, .icn_menu img, .icn_menu_close img, .icn_tel_close img {
        max-width:100%; height:auto; max-height:calc(31 / 768 * 100vw);
    }
    .icn_tel, .icn_menu, .icn_contact, .icn_menu_close, .icn_tel_close, .icn_lang {
        width: calc(36 / 768 * 100vw);
        height:auto;
        position: absolute;
        top: calc(35 / 768 * 100vw);
    }
    .icn_menu, .icn_menu_close {
        right: calc((45 + 120) / 768 * 100vw);
    }
    .icn_contact, .icn_contact_close {
        right: calc((115 + 120) / 768 * 100vw);
    }
    .icn_tel, .icn_tel_close {
        top:calc(33 / 768 * 100vw);
        right: calc((185 + 120) / 768 * 100vw);
    }
    .icn_menu_close{
        top: calc((-100 + 35) / 768 * 100vw);
    }
	
	 .icn_lang {
        top: calc(40 / 768 * 100vw);
        right: calc(35 / 768 * 100vw);
        width: calc(92 / 768 * 100vw);
    }
    .icn_lang {
        display: flex;
    }
    .icn_lang ul {
        display: flex;
    }
    .icn_lang li + li {
        padding-left: calc(20 / 768 * 100vw);
    }
    .icn_lang li a {
        display: block;
    }
    .icn_lang li img {
        display: block;
        width: calc(32 / 768 * 100vw);
        height: auto;
    }


    /* Toggle Button */
    .icn_menu div,
    .icn_menu_close div { position: relative; text-align:center; vertical-align:middle; }
    .icn_menu span,
    .icn_menu_close span {
        display: inline-block;
        text-align:center; vertical-align:middle;
        position: absolute; left: 0;
        width: calc(36 / 768 * 100vw); height: 2px;
        margin:0 auto;
        background: #FFF;
        -webkit-transition: .3s ease-in-out; -moz-transition: .3s ease-in-out; transition: .3s ease-in-out;
    }
    .icn_menu span:nth-child(1),
    .icn_menu_close span:nth-child(1) { top: calc(1 / 768 * 100vw); left:20%; }
    .icn_menu span:nth-child(2),
    .icn_menu_close span:nth-child(2) { top: calc(12 / 768 * 100vw); left:20%; }
    .icn_menu span:nth-child(3),
    .icn_menu_close span:nth-child(3) { top: calc(23 / 768 * 100vw); left:20%; }
    /* 切り替え動作 */
    .icn_menu.open span:nth-child(1),
    .icn_menu_close span:nth-child(1) {
        top: calc(12 / 768 * 100vw);
        -webkit-transform: rotate(315deg); -moz-transform: rotate(315deg); transform: rotate(315deg); }
    .icn_menu.open span:nth-child(2),
    .icn_menu_close span:nth-child(2) { width: 0; left: 50%; }
    .icn_menu.open span:nth-child(3),
    .icn_menu_close span:nth-child(3) {
        top: calc(12 / 768 * 100vw);
        -webkit-transform: rotate(-315deg); -moz-transform: rotate(-315deg); transform: rotate(-315deg); }


    .gnav_wrap {
        position: fixed;
        top: calc(100 / 768 * 100vw);
        left: 0;
        right: 0;
        bottom: 0;
        overflow-y: auto;
        width: 100%;
        padding:0;
        margin-top:0;
        display: none;
        /*display:block;*/
        z-index: 1000;
    }
    .gnav_wrap .gnav > ul {
        width: 100%;
        margin: 0;
        background-color:rgba(33,33,33,.96);
        -webkit-flex-wrap: wrap; flex-wrap: wrap;
        -webkit-justify-content: flex-start; justify-content: flex-start;
    }
    .gnav_wrap .gnav > ul > li.sp-only,
    .gnav_wrap .gnav > ul > li,
    .gnav_wrap .gnav > ul > li a {
        display:-webkit-box;/*--- Androidブラウザ用 ---*/
        display:-ms-flexbox;/*--- IE10 ---*/
        display: -webkit-flex;/*--- safari（PC）用 ---*/
        display:flex;
        -webkit-box-pack:center;/*--- Androidブラウザ用 ---*/
        -ms-flex-pack:center;/*--- IE10 ---*/
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        -webkit-flex-wrap: wrap; /* Safari */
        flex-wrap: wrap;
        text-align:center;
    }
    .gnav_wrap .gnav > ul > li {
        border-top: none;
        position:relative;
        padding: 0;
        width: 100%;
        height:auto;
        min-height: calc(100 / 768 * 100vw);
        margin-bottom: 0;
        border-top:1px solid #DDD;
        border-bottom: 0;
    }
    .gnav_wrap .gnav > ul > li:last-of-type { border-bottom:1px solid #DDD; }
    /*.gnav_wrap .gnav > ul > li.pc-only { display:none; }*/
    .gnav_wrap .gnav > ul > li:not(:first-child) { margin-left:0px; }

    .gnav_wrap .gnav > ul > li.active,
    .gnav_wrap .gnav > ul > li:hover {
        border-color:#DDD;
    }
    .gnav_wrap .gnav > ul > li a {
        padding: 0 calc(40 / 768 * 100vw);
        text-align:left;
        -webkit-justify-content: flex-start; justify-content: flex-start;
        position:relative;
    }
    .gnav_wrap .gnav > ul > li a p {
        color:#FFF;
        display:block;
    }
    .gnav_wrap .gnav > ul > li a p span {
        font-size:calc(32 / 768 * 100vw);
        line-height:calc(59 / 768 * 100vw);
        font-weight:400;
        letter-spacing:0em;
        margin-top:0;
        padding-left:calc(24 / 768 * 100vw);
        visibility:visible;
    }
    .gnav_wrap .gnav > ul > li.trigger01.up > a p > span:before,
    .gnav_wrap .gnav > ul > li.trigger02.up > a p > span:before { content:"\f106"; }

    .gnav_wrap .gnav > ul > li.trigger01,
    .gnav_wrap .gnav > ul > li.trigger02 {
        -webkit-flex-wrap: wrap; flex-wrap: wrap;
    }
    .gnav_wrap .gnav > ul > li.trigger01 a,
    .gnav_wrap .gnav > ul > li.trigger02 a {
        height:calc(100 / 768 * 100vw);
    }
    .gnav_wrap .gnav > ul > li .sub_menu {
        display:block;
        visibility: visible;
        opacity: 1;
        position: static;
        top: auto;
        left: auto;
        width: 100%;
        padding-top: 0;
        margin: 0 auto;
        transform: none;
        background:transparent;
    }
    .gnav_wrap .gnav > ul > li .sub_menu ul {
        border-top:1px solid #DDD;
        background: transparent;
        width: 100%;
        padding: 0;
        margin: 0;
        height:calc(((100 / 768 * 100vw) * 2) + 5px);
        flex-flow: column wrap;
    }
    .gnav_wrap .gnav > ul > li .sub_menu ul li {
        width:50%;
        height: calc(100 / 768 * 100vw);
        padding: 0;
        border-top:none;
        border-bottom:1px solid #DDD;
        padding-left:calc(calc(40 / 768 * 100vw) / 2);
        border-right:1px solid #DDD;
    }
    .gnav_wrap .gnav > ul > li .sub_menu ul li:nth-of-type(2n) { border-bottom:none; }
    .gnav_wrap .gnav > ul > li.trigger02 .sub_menu ul { height:calc(((100 / 768 * 100vw) * 1) + 5px); }
    .gnav_wrap .gnav > ul > li.trigger02 .sub_menu ul li:nth-of-type(n) { border-bottom:none; }
    .gnav_wrap .gnav > ul > li.trigger02 .sub_menu ul li:nth-of-type(n + 2) { border-right:none; }
    .gnav_wrap .gnav > ul > li .sub_menu ul li:nth-of-type(n + 3) {
        border-right:none;
        padding-left:0;
    }
    .gnav_wrap .gnav > ul > li .sub_menu ul > li:hover {
        border-color: #DDD;
    }
    .gnav_wrap .gnav > ul > li .sub_menu ul > li a:hover {
        border-color:transparent;
        
    }
}

/* footer部分
============================================================================== */
@media screen and (max-width: 1000px) {
    .foot_main .sp-only { display: block; }
    .foot_main {
        width: 100%;
        padding:calc(40 / 768 * 100vw) 0;
    }
    .top footer .inner,
    .foot_main .inner { max-width:100%; }
    .top .foot_main .inner,
    .foot_main .inner {
        width: auto;
        -webkit-justify-content: space-between; justify-content: space-between;
        -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap;
    }

    .foot_main .col_l,
    .foot_main .col_r {
        width:100%;
        min-height:0;
    }
    .foot_main .col_l {
        margin-top:calc(40 / 768 * 100vw);
        padding:calc(40 / 768 * 100vw);
        -webkit-box-ordinal-group:3; -ms-flex-order:3; -webkit-order:3; order:3;
    }
    .foot_main .col_r {
        margin-top:calc(40 / 768 * 100vw);
        padding:calc(40 / 768 * 100vw);
        -webkit-box-ordinal-group:2; -ms-flex-order:2; -webkit-order:2; order:2;
    }

    .foot_main .col_l h2 { width:80%; margin:0 auto; text-align: center; }
    .foot_main .col_l .address dl:not(:first-child) { margin-top:calc(5 / 768 * 100vw); }
    .foot_main .col_l .address dd { margin-left:6em; }
	
	.foot_main .col_l .address dt,
.foot_main .col_l .address dd {
  float:none;
  width:100%;
  text-align:center; 
  margin-left:0;
}

    .foot_main .col_r ul.flexbox {
        -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap;
    }
    .foot_main .col_r ul.flexbox li.flexbox {
        padding-left:0;
        -webkit-justify-content: center; justify-content: center;
        -webkit-align-items: flex-end; align-items: flex-end;
        flex-flow:column;
    }
    .foot_main .col_r .tel {
        pointer-events: auto;
    }
    .foot_main .col_r .tel span {
        font-size:calc(46 / 768 * 100vw);
        line-height:1;
        font-weight:500;
        letter-spacing:0.2em;
    }
    .foot_main .col_r .tel span:before {
        content:url(../img/common/foot_tel.png);
        margin-right:calc(10 / 768 * 100vw);
        vertical-align:middle;
    }
    .foot_main .col_r .fax {
        margin-top:calc(20 / 768 * 100vw);
    }
    .foot_main .col_r .fax span {
        font-size:calc(40 / 768 * 100vw);
        margin-right:calc(10 / 768 * 100vw);
    }
    .foot_main .col_r .fax span:before {
        content:url(../img/common/foot_fax.png);
        margin-right:calc(10 / 768 * 100vw);
    }
    .foot_main .contact a span {
        line-height:calc(40 / 768 * 100vw);
    }
    .btn_common.contact a {
        padding:calc(20 / 768 * 100vw) 0;
    }
    .btn_common.contact a span:before {
        content:url(../img/common/foot_mail.png);
        margin-right:calc(10 / 768 * 100vw);
    }

    .foot_links {
        color:#FFF;
    }
    .foot_links .inner {
        position:relative;
    }
    .foot_links .inner > div.banners { width:100%; }
    .foot_links .inner > div.banners a { pointer-events:auto; }
    .foot_links .inner > div.banners li:nth-of-type(n + 2) { margin-left:calc(10 / 768 * 100vw); }
    .foot_links .inner > div.links {
        display:none;
        width:100%;
        -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap;
        -webkit-justify-content: flex-start; justify-content: flex-start;
        flex-flow: column wrap;
        margin-top:calc(40 / 768 * 100vw);
        max-height:calc(700 / 768 * 100vw);
    }
    .foot_links .inner .links > ul {
        -webkit-justify-content: center; justify-content: center;
        -webkit-align-items: flex-start; align-items: flex-start;
        width:50%;
    }
    .foot_links .inner .links > ul:not(:last-child) { margin-right:0; }
    .foot_links .inner .links > ul li {
        margin-bottom:calc(10 / 768 * 100vw);
    }
    .foot_links .inner .links > ul li.sub > ul {
        margin-left:1em;
        margin-top:calc(10 / 768 * 100vw);
    }
    .foot_links .inner .links > ul li.sub > ul li {
        padding-left:0.7em;
    }
    .foot_links .inner .links > ul li.sub > ul li:before {
        width:3px; height:3px;top:0.6em;
    }

    .copyright {
        text-align: center;
        position: relative;
        color:#FFF;
    }
    .copyright small {
        font-size: calc(20 / 768 * 100vw);
        line-height: 1;
        letter-spacing:0;
    }
    .powerdby {
        margin-top:calc(10 / 768 * 100vw);
        text-align:center;
    }

}


/* タイトル系
=============================================================================== */
@media screen and (max-width: 1000px) {
    .main_page .bg01 {
        background:url(../img/common/bg_sub.png) left top / 100% auto no-repeat,
                    url(../img/common/bgc_sub.png) left top repeat;
    }
    .main_page .obi {
        position:relative;
        height: calc(300 / 768 * 100vw);
    }
    .main_page h1 strong {
        display:block;
        padding:0 1em;
        margin-top:calc(20 / 768 * 100vw);
        font-size:calc(40 / 768 * 100vw);
    }

    .lower h2 {
        margin:calc(20 / 768 * 100vw) 0 calc(20 / 768 * 100vw);
        text-align:center;
    }
    .lower h2 span {
        font-size: calc(40 / 768 * 100vw);
        line-height: 1.3;
        padding:0 0 calc(20 / 768 * 100vw);
    }
    .lower h2 span::after {
        width:calc(160 / 768 * 100vw); height:1px;
    }
    .lower .row_page_common .col_txt_l h2 span,
    .lower .row_page_common .col_txt_r h2 span {
        padding:0 0 calc(10 / 768 * 100vw);
    }
    .lower .row_page_common .col_txt_l h2 span::after,
    .lower .row_page_common .col_txt_r h2 span::after {
        width:calc(160 / 768 * 100vw);
    }

    .lower h3 { margin-bottom: calc(20 / 768 * 100vw); }
    .lower h3 span {
        display:inline-block;
        font-size: calc(35 / 768 * 100vw);
        line-height: 1.2;
        font-weight:500;
        letter-spacing:0.1em;
        color:#1443ef;
        text-align:left;
        padding:0 0 0 calc(60 / 768 * 100vw);
        position:relative;
    }
    .lower h3 span::after {
        width:calc(40 / 768 * 100vw); height:1px;
        margin:auto;
    }
    .lower h3 > .date {
        margin-top:calc(10 / 768 * 100vw);
    }

    .content_low { width:100%; padding-top: calc(100 / 768 * 100vw); }
    .content_low .inner { width:100%; max-width:100%; }
    .page_main { width: 100%; padding : 0px 0 calc(140 / 768 * 100vw); }
    .page_main section { max-width:100%; margin:0 auto; }
    .page_main section:not(:last-child) { padding-bottom: calc(100 / 768 * 100vw); }
    .lower #content article:last-child { margin-bottom:calc(190 / 768 * 100vw); }

    /* パンくずリスト */
    .main_page .breadcrumb { margin-top:calc(30 / 768 * 100vw); }
}


/* 汎用パーツ
=============================================================================== */
@media screen and (max-width: 1000px) {
    figure.full { width:calc(100% + 160 / 768 * 100vw); margin-left:calc(-80 / 768 * 100vw); overflow:visible; text-align:center; }
    figure.full img { width:calc(768 / 768 * 100vw); max-width:calc(768 / 768 * 100vw); margin:0 auto; }
    figure.full figcaption {}

    .flexbox.between { -webkit-justify-content: center; justify-content: center; }
    .flexbox.between figure {
        margin:0 auto;
    }
    .flexbox.between figure:nth-of-type(n + 2),
    .flexbox.between .btn_common:nth-of-type(n + 2) { margin-top:calc(30 / 768 * 100vw); }

    .btn_common a:after,
    .btn_common > span:after,
    .btn_common em:after {
        font-size:calc(28 / 768 * 100vw);
        right: calc(35 / 768 * 100vw);
    }
    .btn_common,
    .btn_common.text-center {
        padding:0;
        -webkit-justify-content: flex-start; justify-content: flex-start;
    }
    .btn_common a,
    .btn_common.text-center a,
    .btn_common em,
    .btn_common.text-center em {
        padding-left: 0px;
        padding-right:calc(100 / 768 * 100vw);
    }
    .btn_common a span {
        letter-spacing:-0.01em
    }
    .btn_common a::after,
    .btn_common em::after {
        width:calc(80 / 768 * 100vw);
        height:calc(80 / 768 * 100vw);
        right:0;
    }
    .btn_common a::before,
    .btn_common em::before {
        width:calc(20 / 768 * 100vw);
        height:calc(40 / 768 * 100vw);
        right: calc(28 / 768 * 100vw);
    }

    .mt5  { margin-top:calc(5 / 768 * 100vw); }
    .mt10 { margin-top:calc(10 / 768 * 100vw); }
    .mt15 { margin-top:calc(15 / 768 * 100vw); }
    .mt20 { margin-top:calc(20 / 768 * 100vw); }
    .mt25 { margin-top:calc(25 / 768 * 100vw); }
    .mt30 { margin-top:calc(30 / 768 * 100vw); }
    .mt35 { margin-top:calc(35 / 768 * 100vw); }
    .mt40 { margin-top:calc(40 / 768 * 100vw); }
    .mt45 { margin-top:calc(45 / 768 * 100vw); }
    .mt50 { margin-top:calc(50 / 768 * 100vw); }
    .mt55 { margin-top:calc(55 / 768 * 100vw); }
    .mt60 { margin-top:calc(60 / 768 * 100vw); }
    .mt65 { margin-top:calc(65 / 768 * 100vw); }
    .mt70 { margin-top:calc(70 / 768 * 100vw); }
    .mt75 { margin-top:calc(75 / 768 * 100vw); }
    .mt80 { margin-top:calc(80 / 768 * 100vw); }
    .mt85 { margin-top:calc(85 / 768 * 100vw); }
    .mt90 { margin-top:calc(90 / 768 * 100vw); }
    .mt95 { margin-top:calc(95 / 768 * 100vw); }
    .mt100 { margin-top:calc(100 / 768 * 100vw); }
    .mt105 { margin-top:calc(105 / 768 * 100vw); }
    .mt110 { margin-top:calc(110 / 768 * 100vw); }
    .mt115 { margin-top:calc(115 / 768 * 100vw); }
    .mt120 { margin-top:calc(120 / 768 * 100vw); }
    .mt125 { margin-top:calc(125 / 768 * 100vw); }
    .mt130 { margin-top:calc(130 / 768 * 100vw); }
    .mt135 { margin-top:calc(135 / 768 * 100vw); }
    .mt140 { margin-top:calc(140 / 768 * 100vw); }
    .mt145 { margin-top:calc(145 / 768 * 100vw); }
    .mt150 { margin-top:calc(150 / 768 * 100vw); }

    .mw300 { width:auto; min-width:auto; }
	.mw280 { width:auto; min-width:auto; }
    .mw270 { width:auto; min-width:auto; }
	.mw250 { width:auto; min-width:auto; }
	.mw200 { width:auto; min-width:auto; }
    .mw180 { width:auto; min-width:12em; }
    .mw165 { width:auto; min-width:10.5em; }
    .mw160 { width:auto; min-width:10em; }
    .mw155 { width:auto; min-width:9.5em; }
    .mw150 { width:auto; min-width:9em; }
    .mw140 { width:auto; min-width:8em; }
	.mw125 { width:auto; min-width:auto; }
    .mw115 { width:auto; min-width:auto; }

    .tbl_01 { width:100%; border-collapse:collapse; }
    .tbl_01 .col1,
    .tbl_01 .col2 { display:none; }
    .tbl_01 th,
    .tbl_01 td { display:block; }
    .tbl_01 th.pc-only { display:none; }
    .tbl_01 td .sp-only { display:inline; }
    .tbl_01 th {
        padding:calc(1 / 768 * 100vw) calc(20 / 768 * 100vw);
        width:100%;
        font-size:calc(28 / 768 * 100vw);
        line-height:1.9;
        text-align:center;
        vertical-align:top;
        border-top:1px solid #aaaaaa;
        border-bottom:none;
    }
    .tbl_01 td {
        padding:calc(20 / 768 * 100vw);
        padding-left:calc(20 / 768 * 100vw);
        border-top:none;
        border-bottom:none;
    }
    .tbl_01 tr:last-child {  }
    .tbl_01 tr:first-child { }

}

/* /
==============================================================================*/
@media screen and (max-width: 1000px) {
    /* slider */
    .title_area {
        margin-top:0;
    }
    .main_img {
        width:100%;
        height: calc(670 / 768 * 100vw);
        background-position: center center;
        background-color:#000;
        margin-left: 0;
        margin-top:0;
    }
    .main_img .inner {
        position:relative;
        width:auto;
        height:100%;
        margin:0 auto;
    }
    .main_img .inner .logo_index {
        position:absolute;
        top:calc(50 / 768 * 100vw);
        background: url(../img/top/title_index_bg01.png) center calc(185 / 768 * 100vw) / calc(600 / 768 * 100vw) 1px no-repeat,
                    url(../img/top/title_index_bg02.png) center calc(245 / 768 * 100vw) / calc(680 / 768 * 100vw) auto no-repeat;
    }
    .main_img .inner .logo_index img:nth-of-type(1) { margin-top:0; width:calc(190 / 768 * 100vw); }
    .main_img .inner .logo_index img:nth-of-type(2) { margin-top:calc(50 / 768 * 100vw); width:calc(630 / 768 * 100vw); }

    .top .inner { max-width:100%; }

    .top .production-flow {
        background:#f5f4ef;
        padding:calc(30 / 768 * 100vw) 0 calc(45 / 768 * 100vw);
    }
    .top .production-flow .inner {
        padding: 0;
        max-width:100%;
    }
    .top .production-flow h2 img { width:calc(475 / 768 * 100vw); }
    .top .production-flow p {
        font-size:calc(22 / 768 * 100vw);
    }
    .top .production-flow .bg01 {
        padding:calc(15 / 768 * 100vw) 0;
       /* background:url(../img/@sp/top/bg01.png) center top / 100% auto no-repeat;*/
    }
    .top .production-flow .bg01 .ovr {
        /*width:calc(635 / 768 * 100vw);*/
        width:85%;
        height:auto;
        padding:calc(30 / 768 * 100vw) calc(40 / 768 * 100vw) calc(5 / 768 * 100vw);
        color:#FFF;
        background:url(../img/top/bg01_ovr.png) left top / 100% 100% no-repeat;
        position:relative;
    }
    .top .production-flow .bg01:before {
        content:"";
        width:100%;
        height:1px;
        margin:0;
        position:absolute;
        z-index:2;
        top:calc(140 / 768 * 100vw);
        left:0;
        background:url(../img/top/bg01_bdr.png) left top / 100% 1px no-repeat;
    }
    .top .production-flow .bg01:after {
        content:"";
        width:calc(405 / 768 * 100vw);
        height:calc(30 / 768 * 100vw);
        background:url(../img/top/bg01_txt.png) left top / 100% auto no-repeat;
        position:absolute;
        top:auto; bottom:calc(35 / 768 * 100vw); right:calc(20 / 768 * 100vw);
    }
    .top .production-flow .bg01 .btn_common { margin-top:calc(10 / 768 * 100vw); }
    .top .production-flow .bg01 .btn_common a {
        padding-left: 0px;
        padding-right:calc(40 / 768 * 100vw);
        min-width:7em;
    }
    .top .production-flow .bg01 .btn_common a span { font-size:calc(25 / 768 * 100vw); }
    .top .production-flow .bg01 .btn_common a::after {
        width:calc(60 / 768 * 100vw);
        height:calc(60 / 768 * 100vw);
        right:0;
    }
    .top .production-flow .bg01 .btn_common a::before {
        width:calc(15 / 768 * 100vw);
        height:calc(30 / 768 * 100vw);
        right: calc(20 / 768 * 100vw);
    }

    .top .technical-introduction {
        background:url(../img/top/bg02.png) calc(50% + (450 / 768 * 100vw)) top / auto 100% no-repeat;
        padding:calc(30 / 768 * 100vw) 0 calc(60 / 768 * 100vw);
    }
    .top .technical-introduction h2 { text-align:center; }
    .top .technical-introduction h2 img {
        display:block;
        width:calc(300 / 768 * 100vw);
        margin:0 auto;
    }
    .top .technical-introduction h2 img.pc-only { display:none; }
    .top .technical-introduction h2 img:nth-of-type(3) { margin-top:calc(30 / 768 * 100vw); width:calc(155 / 768 * 100vw); }
    .top .technical-introduction .row_page_common {
        -webkit-justify-content: center; justify-content: center;
        width:100%;
    }
    .top .technical-introduction .col_txt_l {
        width:100%;
    }
    .top .technical-introduction .col_txt_l p {
        margin-left:auto; margin-right:auto;
        width:calc(390 / 768 * 100vw);
        font-size:calc(20 / 768 * 100vw);
        text-align:center;
    }
    .top .technical-introduction .col_img_r {
        width:100%;
        height:auto;
        flex-flow:row wrap;
    }
    .top .technical-introduction .col_img_r figure:nth-of-type(2n) {
        margin-top:0;
    }
    .top .technical-introduction .col_img_r figure:nth-of-type(3) {
        margin-left:0;
    }
    .top .technical-introduction .col_img_r figure:nth-of-type(n + 2) {
        margin-top:calc(60 / 768 * 100vw);
    }
    .top .technical-introduction .col_img_r h3 {
        font-size:calc(30 / 768 * 100vw);
        line-height:1;
    }
    .top .technical-introduction .col_img_r .btn_common {
        margin-top:calc(30 / 768 * 100vw);
        -webkit-justify-content: center;
        justify-content: center;
    }

    .top .product-example {
        background:#f2f2f2 url(../img/top/bg03.png) center top / 100% auto no-repeat;
        padding:0 0 calc(45 / 768 * 100vw);
    }
    .top .product-example .bg01 {
        background:rgba(0,0,0,.8);
        padding:calc(50 / 768 * 100vw) 0 calc(90 / 768 * 100vw);
        color:#FFF;
    }
    .top .product-example .col_img_l {
        width:100%;
    }
    .top .product-example .col_img_l figure { width:50%; }
    .top .product-example .col_img_l figure:nth-of-type(2) { z-index:1; margin:calc(35 / 768 * 100vw) 0 0 calc(-32 / 768 * 100vw); }
    .top .product-example .col_img_l figure:nth-of-type(3) { z-index:3; margin:calc(-20 / 768 * 100vw) 0 0 0; }
    .top .product-example .col_img_l figure:nth-of-type(4) { z-index:4; margin:calc(15 / 768 * 100vw) 0 0 calc(-32 / 768 * 100vw); }
    .top .product-example h2 {
        text-align:center;
        margin-right:0;
    }
    .top .product-example h2 img { width:calc(410 / 768 * 100vw); }
    .top .product-example h2 img:nth-of-type(2) {
        display:block;
        width:calc(150 / 768 * 100vw);
        margin-left:auto; margin-right:auto;
    }
    .top .product-example .spec {
        flex-flow: row wrap;
        margin-top:calc(30 / 768 * 100vw);
    }
    .top .product-example .spec p {
        width:50%;
        font-size:calc(30 / 768 * 100vw);
    }
    .top .product-example .btnul {
        margin-right:0;
        margin-top:calc(30 / 768 * 100vw);
        -webkit-justify-content: center;
        justify-content: center;
    }
    .top .product-example .banners li { width:49%; margin-bottom:calc(5 / 768 * 100vw); }
    .top .product-example .banners li:nth-of-type(2n - 1) { margin-right:2%; }
    .top .product-example .banners li:nth-of-type(n + 3) { margin-top:calc(25 / 768 * 100vw); }
    .top .product-example .banners li:nth-of-type(n + 2) {
        margin-left:0;
    }
    .top .product-example .banners figure {
        position:relative;
    }
    .top .product-example .banners figure figcaption {
        padding:calc(10 / 768 * 100vw) 0;
    }
    .top .product-example .banners figure figcaption .btn_common,
    .top .product-example .banners figure figcaption .btn_common em {
        -webkit-justify-content: center;
        justify-content: center;
        font-size:calc(20 / 768 * 100vw);
        letter-spacing:0.1em;
    }
    .top .product-example .banners li:nth-of-type(2) figure figcaption .btn_common em {
        letter-spacing:-0.2em;
        min-width:0;
    }

    .top .recruit {
        background:url(../img/@sp/top/bg04.png) center top / 100% auto no-repeat;
        padding:0 0 0;
        margin-top:calc(110 / 768 * 100vw);
    }
    .top .recruit .inner {
        position:relative;
    }
    .top .recruit h2 img.sp-only { display:block; }
    .top .recruit .inner:before,
    .top .recruit .inner:after {
        content:"";
        position:absolute; top:calc(-85 / 768 * 100vw); left:0;
        width:calc(610 / 768 * 100vw); height:calc(465 / 768 * 100vw);
        background:url(../img/@sp/top/bg04_ovr1.png) left top / 100% auto no-repeat;
    }
    .top .recruit .inner:after {
        position:absolute; top:calc(480 / 768 * 100vw); left:auto; right:0;
        width:calc(610 / 768 * 100vw); height:calc(476 / 768 * 100vw);
        background:url(../img/@sp/top/bg04_ovr2.png) left top / 100% auto no-repeat;
    }
    .top .recruit h2 {
        margin-left:0;
        padding-top:calc(230 / 768 * 100vw);
        text-align:center;
    }
    .top .recruit h2 img.pc-only { display:none; }
    .top .recruit h2 img {
        display:block;
        margin-left:auto;
        margin-right:auto;
        width:calc(245 / 768 * 100vw);
    }
    .top .recruit h2 img:nth-of-type(3) { width:calc(600 / 768 * 100vw); }
    .top .recruit .banners {
        margin-top:calc(660 / 768 * 100vw);
    }
    .top .recruit .banners li { width:49%; margin-bottom:calc(10 / 768 * 100vw); }
    .top .recruit .banners li:nth-of-type(2n - 1) { margin-right:2%; }
    .top .recruit .banners li:nth-of-type(n + 2) {
        margin-left:0;
    }
    .top .recruit .banners li:nth-of-type(n + 3) { margin-top:calc(25 / 768 * 100vw); }
    .top .recruit .banners figure {
        position:relative;
        line-height:0;
    }
    .top .recruit .banners figure figcaption {
        width:100%; height:calc(120 / 768 * 100vw);
    }
    .top .recruit .banners figure figcaption .btn_common,
    .top .recruit .banners figure figcaption .btn_common em {
        -webkit-justify-content: center;
        justify-content: center;
        font-size:calc(20 / 768 * 100vw);
        letter-spacing:0em;
        padding-top:0;
        padding-bottom:0;
        min-width:8em;
    }
    .top .recruit .banners figure figcaption .btn_common em::after {
        width: calc(50 / 768 * 100vw);
        height: calc(50 / 768 * 100vw);
    }
    .top .recruit .banners figure figcaption .btn_common em::before {
        width: calc(15 / 768 * 100vw);
        height: calc(25 / 768 * 100vw);
        right: calc(16 / 768 * 100vw);
    }
    .top .recruit .banners figure figcaption .btn_common.gray em:after { background-image:url(../img/common/btn_circle.png); }
    .top .recruit .banners figure figcaption .btn_common.gray em:before { background-image:url(../img/common/btn_arrow_gray.png); }
    .top .recruit .banners figure figcaption .btn_common {
        position:absolute; bottom:8px; right:2px;
    }
    .top .recruit .banners li:nth-of-type(1) figure figcaption .btn_common { bottom:2px; }
    .top .recruit .banners li:nth-of-type(1) figure figcaption .btn_common em {
        font-size:calc(20 / 768 * 100vw);
        padding-right:3em;
    }

    .top .news .inner { padding:0; }
    .top .news .inner > .flexbox.nowrap { -webkit-flex-wrap: wrap; flex-wrap: wrap; }
    .top .news {
        padding:calc(50 / 768 * 100vw) 0 calc(115 / 768 * 100vw);
    }
    .top .news .news_box {
        width:100%;
        padding:0 calc(40 / 768 * 100vw);
        background:#FFF;
        margin-top:calc(115 / 768 * 100vw);
        -webkit-box-ordinal-group:3; -ms-flex-order:3; -webkit-order:3; order:3;
    }
    .top .news .banners {
        width:100%;
        padding:0 calc(40 / 768 * 100vw);
        margin-top:calc(115 / 768 * 100vw);
        -webkit-box-ordinal-group:2; -ms-flex-order:2; -webkit-order:2; order:2;
    }
    .top .news .banners figure {
        position:relative;
        line-height:0;
    }
    .top .news .banners figure figcaption {
        display:block;
        background:rgba(0,0,0,.8);
        padding:calc(10 / 768 * 100vw) 0;
        width:100%;
        position:absolute;
        top:47%; left:0;
        transform: translateY(-50%);
        -webkit- transform: translateY(-50%);
        text-align:center;
    }
    .top .news .banners figure figcaption .btn_common,
    .top .news .banners figure figcaption .btn_common em {
        -webkit-justify-content: center;
        justify-content: center;
        font-size:calc(30 / 768 * 100vw);
        letter-spacing:0em;
    }

    .top .news .news_box h2 {
        font-size:calc(30 / 768 * 100vw);
        text-align:center;
        position:relative;
    }
    .top .news .news_box h2 .newslink {
        font-size:calc(24 / 768 * 100vw);
        position:absolute;
        top:calc(5 / 768 * 100vw); right:0;
    }
    .top .news_box ul {
        height: calc(300 / 768 * 100vw);
        margin-top:calc(20 / 768 * 100vw);
        padding-right: calc(20 / 768 * 100vw);
    }
    .top .news_box ul li {
        margin-bottom: calc(20 / 768 * 100vw);
    }
    .top .news_box dl {
        text-align:left;
        -webkit-justify-content:flex-start; justify-content:flex-start;
        -webkit-align-items: flex-start; align-items: flex-start;
    }
    .top .news_box dl dt {
        min-width:calc(200 / 768 * 100vw);
        margin-left:calc(20 / 768 * 100vw);
        margin-right: calc(20 / 768 * 100vw);
    }
    .top .news_box dl dd a {
        pointer-events:none; /* aタグ無効 */
        color:inherit;
    }
}

/* /sub/
==============================================================================*/
@media screen and (max-width: 1000px) {
    .dl-list.dtw60 > dd { margin-left:0; }
    .dl-list.dtw60 > dt:not(:last-of-type),
    .dl-list.dtw60 > dd:not(:last-of-type) { margin-bottom: calc(5 / 768 * 100vw); }

    /* 共通ボタンエリアの横調整 */
    .btnul.flexbox.start li:not(:first-child) {
        margin-left:calc(40 / 768 * 100vw);
    }

    /* step */
    .steps.row_page_common {
        padding-bottom:calc(40 / 768 * 100vw);
    }
    .steps.row_page_common .col_txt_l,
    .steps.row_page_common .col_txt_r {
        margin-top:0;
        -webkit-box-ordinal-group:1; -ms-flex-order:1; -webkit-order:1; order:1;
    }
    .steps.row_page_common .col_img_l,
    .steps.row_page_common .col_img_r {
        margin-top:calc(40 / 768 * 100vw);
        -webkit-box-ordinal-group:2; -ms-flex-order:2; -webkit-order:2; order:2;
    }
    .steps.row_page_common .col_txt_r > .flexbox.between {
        -webkit-align-items: flex-start; align-items: flex-start;
    }
    .steps.row_page_common:not(:last-child) {
        margin-bottom: calc(100 / 768 * 100vw);
    }


    .steps:not(:last-child):after { /* 区切り線 */
        content:"";
        position:absolute; bottom:calc(-30 / 768 * 100vw); left:0;
        width:100%;
        height:calc(30 / 768 * 100vw);
        background:url(../img/common/border_triangle.png) center bottom / auto 100% no-repeat;
    }
    .steps h2 .step { display:block; line-height:0; }
    .steps h2 .step a {
        pointer-events:none;
        background: #1443ef;
        padding:calc(10 / 768 * 100vw) calc(20 / 768 * 100vw);
        position:relative;
        line-height:0;
    }
    .steps h2 .step a:after {
        content:"";
        display:inline-block;
        line-height:1;
        width:calc(40 / 768 * 100vw);
        right:calc(-40 / 768 * 100vw);
        background:url(../img/common/titlebg_r.png) left top / auto 100% no-repeat;
    }
    .steps h2 .step small {
        display:inline-block;
        color:#FFF;
        font-size:calc(40 / 768 * 100vw);
    }
    .lower .steps h2 > span { margin-top:calc(20 / 768 * 100vw); }
    .lower .steps h2 span::after { display:none; }

    .steps .btnul { width:100%; }
    .steps .btnul li { width:50%; }
    .steps .btnul.flexbox.start li:not(:first-child) {margin-left: 0;}
    .steps .btnul.flexbox.start li:nth-of-type(n + 3) {margin-top:calc(20 / 768 * 100vw);}
    .steps .stepdl { width:50%; }
    .steps .stepdl:not(:first-child):nth-of-type(3n + 1) { margin-top:0; }
    .steps .stepdl:not(:first-child):nth-of-type(n + 3) { margin-top:calc(30 / 768 * 100vw); }
    .steps .stepdl dt {
        font-size:calc(30 / 768 * 100vw);
    }
    .steps .stepdl dd {
        margin-top:calc(10 / 768 * 100vw);
    }

    /* recruit */
    .recruit.row_page_common {
        position:relative;
    }
    .recruit.row_page_common .col_txt_l,
    .recruit.row_page_common .col_txt_r {
        margin-top:0;
        -webkit-box-ordinal-group:3; -ms-flex-order:3; -webkit-order:3; order:3;
    }
    .recruit.row_page_common .col_img_l,
    .recruit.row_page_common .col_img_r {
        margin-top:0;
        -webkit-box-ordinal-group:2; -ms-flex-order:2; -webkit-order:2; order:2;
    }
    .recruit.row_page_common .col_img_r {
        position:relative;
        margin-left:0;
    }
    .recruit.row_page_common .col_img_l {
        position:relative;
        margin-right:0;
    }
    .recruit.row_page_common .recruitbg {
        position:relative;
        z-index:3;
        margin-top:0;
        margin-right:calc(270 / 768 * 100vw);
        width:calc(410 / 768 * 100vw);
    }
    .recruit.row_page_common .recruitbg .in {
        position:relative;
        background:url(../img/common/bgc_recruit.png) left top repeat;
        padding:calc(25 / 768 * 100vw) calc(50 / 768 * 100vw) calc(60 / 768 * 100vw) calc(100 / 768 * 100vw);
        margin-top:calc(-20 / 768 * 100vw);
    }
    .recruit.row_page_common .recruitbg .in:before {
        content:"";
        width:100%;
        height:calc(103 / 768 * 100vw);
        position:absolute;
        top:calc(-102 / 768 * 100vw);
    }
    .recruit.row_page_common .recruitbg .name,
    .recruit.row_page_common .recruitbg .attrib {
        color:#FFF;
        font-size:calc(30 / 768 * 100vw);
        line-height:1.3;
    }
    .recruit.row_page_common .recruitbg .name span {
        display:block;
        font-size:calc(40 / 768 * 100vw);
    }
    .recruit.row_page_common .recruitbg .attrib span {
        display:block;
        font-size:calc(20 / 768 * 100vw);
        letter-spacing:0;
    }

    .recruitexp.row_page_common { margin-top:0; }
    .recruitexp.row_page_common h2 {
        font-size: calc(30 / 768 * 100vw);
        padding:0;
    }
    .recruitexp.row_page_common h2 span {
        font-weight:500;
        letter-spacing:0em;
    }
    .recruitexp.row_page_common h2 span::after {
        display: none;
    }
    .recruitexp.row_page_common h2 .recruitq {
        display:block;
        margin-bottom:calc(10 / 768 * 100vw);
        margin-top:calc(20 / 768 * 100vw);
    }
    .recruitexp.row_page_common h2 .recruitq small {
        font-size:calc(30 / 768 * 100vw);
        padding:0 calc(10 / 768 * 100vw) calc(5 / 768 * 100vw);
        border-bottom:1px solid #1443ef;
    }


    /* bggray */
    .bggray.row_page_common {
        position:relative;
    }
    .bggray.row_page_common .col_txt_l,
    .bggray.row_page_common .col_txt_r {
        margin-top:0;
        -webkit-box-ordinal-group:3; -ms-flex-order:3; -webkit-order:3; order:3;
    }
    .bggray.row_page_common .col_img_l,
    .bggray.row_page_common .col_img_r {
        margin-top:0;
        -webkit-box-ordinal-group:2; -ms-flex-order:2; -webkit-order:2; order:2;
    }
    .bggray.row_page_common .txtarea {
        position:relative;
        z-index:3;
        margin-top:calc(-90 / 768 * 100vw);
        width:calc(560 / 768 * 100vw);
    }
    .bggray.row_page_common .col_txt_l.txtarea {
        margin-right:0;
    }
    .bggray.row_page_common .col_txt_r.txtarea {
        margin-left:0;
    }
    .bggray.row_page_common .txtarea .in {
        position:relative;
        background:#fafafa;
        padding:calc(30 / 768 * 100vw) calc(35 / 768 * 100vw) calc(60 / 768 * 100vw);
    }
    .bggray.row_page_common .txtarea h2 { text-align:center; }
    .bggray.row_page_common .txtarea h2 span {
        font-size: calc(30 / 768 * 100vw);
        padding:0;
    }
    .bggray.row_page_common .txtarea h2 span::after {
        display:none;
    }
    .bggray .btnul {
        width:100%;
        -webkit-justify-content: center; justify-content: center;
    }
    .bggray .btnul li { width:100%; }
    .bggray .btnul.flexbox.start li:not(:first-child) {margin-left: 0;}
    .bggray .btnul.flexbox.start li:nth-of-type(n + 2) {margin-top:calc(20 / 768 * 100vw);}

    .news { padding:0 calc(40 / 768 * 100vw); }
    .news .ind h3 { text-align:center; }
    .news .ind .btnul {
        width:100%;
        -webkit-justify-content: center; justify-content: center;
    }
	.txcen { text-align:center;}

    /* /news/ */
    .lower article section .news .catlist {}
    .lower article section .news .catlist li {
        min-width:0;
        width:48%;
        margin:0 1% 0.5em;
    }
    .lower article section .navigation {
        /*align-items:stretch;*/
    }
    .lower article section .navigation li {
        width:48%;
        margin:0 1% 0.5em;
    }
    .lower article section .navigation li a {
        padding:0.5em 1em;
    }
    .lower article section .navigation li.navileft a { padding-left:2em; }
    .lower article section .navigation li.naviright a { padding-right:2em; }

    .lower article section .news .ind {}
    .lower article section .news .ind:nth-of-type(n + 2) {
        padding-top:calc(40 / 768 * 100vw);
    }
    .lower article section .news .ind .contbox {}
    .lower article section .news .ind .contbox .imgwrap {
        width:60%;
        max-height:calc(300 / 768 * 100vw);
        float:none;
        display:block;
        margin-right:auto;
        margin-left:auto;
        margin-bottom:calc(20 / 768 * 100vw);
    }
    .lower article section .news .ind .contbox .imgwrap img {
        width:100%;
        height:auto;
    }
    .lower article section .content_echo > img,
    .lower article section .content_echo > p > img,
    .lower article section .content_echo > .wp-caption,
    .lower article section .content_echo > p > iframe,
    .lower article section .content_echo > iframe {
        max-width:100%;
        display:block;
        margin-left:auto;
        margin-right:auto;
    }

    /* recruit */
    .lower article section .recruit.tblwrap h3:nth-of-type(n + 2){
        padding-top:calc(60 / 768 * 100vw);
    }
}