@charset "UTF-8";
/*PC style*/
/*###########################
    base
#############################*/
body {
    color: #000;
    font-size: 14px;
    height: auto;
    line-height: 18px;
    min-width: 1180px;
    width: 100%;
    -webkit-text-size-adjust: 100%;
}
/*### header ###*/
.h_wrap_parent {
    background: url(../img/sub_h_bg.jpg) repeat;
    background-size: 418px 226px;
}
.sub_h_inner {
    margin: 0 auto;
    position: relative;
    width: 1000px;
}
.sub_h_logo {
    position: absolute;
    top: 0;
    left: -6px;
}
.sub_h_logo a {
    display: block;
}
.sub_h_c_inner {
    color: #40210F;
    margin: 0 0 30px auto;
    padding: 65px 0 0 0;
    width: 385px;
}
.sub_h_tel_no {
    background: url(../img/sub_h_tel.png) no-repeat bottom left;
    background-size: 37px 28px;
    float: left;
    font-size: 39px;
    font-weight: bold;
    padding: 3px 0 7px 42px;
}
.sub_h_time p {
    width: 80px;
}
.sub_h_time p:first-child {
    margin:-5px 0 0 305px;
}
.sub_h_time p:last-child {
    margin: 0 0 0 305px;
    border-top: solid 1px #40210F;
}
.sub_h_mail {
    background: url(../img/sub_h_mail.png) no-repeat top 10px left 60px;
    background-color: #E6307D;
    background-size: 28px 22px;
    border-radius: 5px;
    color: #FEFEFE;
    display: block;
    font-size:18px;
    margin: 10px 0 0 0;
    max-height: 999999px;
    padding: 12px 0 12px 50px;
    text-align: center;
    width: 335px;
}
/*### footer ###*/
.f_info,
.f_copyright {
    color: #595757;
}
/*###########################
    OEM
#############################*/
.sub_m_wrap {
    margin: 0 auto 50px;
}
.m_h3 {
    margin: 0 0 30px 0;
}
/* ### section1 ###*/
.sub_m_inner {
    margin: 0 auto;
    width: 1000px;
}
.sub_m_s1 {
    font-size:19px;
    margin: 0 0 0 0;
    padding: 0 0 70px;
}
.main_image {
    margin: 0 0 45px 0;
}
.sub_m_s1 p {
    line-height: 39px;
    max-height: 999999px;
}
.sub_m_s1 h2 {
    margin: 0 0 35px 0;
}
.m_oem {
    position: relative;
}
.m_oem p:nth-child(2) {
    position: absolute;
    top:378px;
    right: 5px;
}

/* ### section2 ###*/
.sub_m_s2 {
    font-size: 19px;
}
.m_lineup {
    background: url(../img/m_oem_bg.jpg) no-repeat bottom right;
    background-position: 95% 67%;
    background-size: 59%;
    margin: 0 0 -70px 0;
    padding: 140px 0 240px;
    position: relative;
    z-index: -1;
}
.m_lineup p {
    position: absolute;
    top: 95px;
    left: 300px;
}
.m_lineup ul {
    max-height: 999999px;
}
.m_lineup li {
    margin: 0 0 26px 0;
}
/* ### section3 ### */
.m_flow {
    margin: 0 0 80px 0;
}
.m_flow li {
    float:left;
    margin: 0 0 20px 0;
    width: 254.5px;
}
.m_flow_bg {
    font-size: 25px;
    letter-spacing: 0.2em;
    font-weight: 500;
}
.m_flow_text {
    font-size: 17px;
    line-height: 25px;
    padding: 7px 15px 0 8px;
}
.m_flow_list li:nth-child(1) .m_flow_bg {
    background: url(../img/m_oem_n1.png) no-repeat;
    background-size: 255px 244px;
    padding: 95px 0 132px 57px;
}
.m_flow_list li:nth-child(2) .m_flow_bg {
    background: url(../img/m_oem_n2.png) no-repeat;
    background-size: 255px 244px;
    padding: 95px 0 132px 57px;
}
.m_flow_list li:nth-child(3) .m_flow_bg {
    background: url(../img/m_oem_n3.png) no-repeat;
    background-size: 255px 244px;
    padding: 95px 0 132px 87px;
}
.m_flow_list li:nth-child(4) {
    width: 234px;
}
.m_flow_list li:nth-child(4) .m_flow_bg {
    background: url(../img/m_oem_n4.png) no-repeat;
    background-size: 234px 244px;
    padding: 95px 0 132px 60px;
}
.m_flow_list li:nth-child(4) .m_flow_text {
    padding: 7px 5px 0 8px;
}
.m_flow_list li:nth-child(5) {
    margin: 0;
}
.m_flow_list li:nth-child(5) .m_flow_bg {
    background: url(../img/m_oem_n5.png) no-repeat;
    background-size: 255px 244px;
    padding: 95px 0 132px 43px;
}
.m_flow_list li:nth-child(6) {
    margin: 0;
}
.m_flow_list li:nth-child(6) .m_flow_bg {
    background: url(../img/m_oem_n6.png) no-repeat;
    background-size: 255px 244px;
    padding: 95px 0 132px 87px;
}
.m_flow_list li:nth-child(7) {
    color:#FEFEFE;
    width: 489px;
}
.m_flow_list li:nth-child(7) .m_flow_bg {
    background: url(../img/m_oem_n7.png) no-repeat;
    background-size: 489px 244px;
    padding: 95px 0 132px 108px;
}
.m_flow_list li:nth-child(7) .m_flow_text {
    font-size:16px;
    margin: -110px 0 50px 40px;
    width: 300px;
}
/* ### section4 ### */
.m_qa_wrap {
    width: 910px;
    margin: 0 auto;
    position: relative;
}
.m_qa_inner {
    border-bottom: dashed 1px #402210;
    padding: 45px 0 30px 0;
    position: relative;
}
.m_qa_qimg {
    float: left;
    margin: -35px 0 0 0;
}
.m_qa_aimg {
    position: absolute;
    bottom:25px;
    right:20px;
}
.m_qa_qwrap {
    background: url(../img/m_oem_qbottom.jpg) no-repeat bottom, url(../img/m_oem_qtop.jpg) no-repeat top,url(../img/m_oem_qmiddle.jpg) repeat-y;
    background-size: 670px 23px, 670px 58px, 670px 1px;
    margin: 0 0 10px 130px;
    padding: 25px 0 30px 0;
    width: 670px;
}
.m_qa_qwrap p {
    font-size: 23px;
    font-weight: bold;
    line-height: 32px;
    padding: 0 25px 0 57px;
}
.m_qa_awrap {
    background: url(../img/m_oem_abottom.jpg) no-repeat bottom, url(../img/m_oem_atop.jpg) no-repeat top,url(../img/m_oem_amiddle.jpg) repeat-y;
    background-size: 596px 23px, 596px 68px, 596px 1px;
    margin: 0 0 0 152px;
    padding: 25px 0 32px 0;
    width: 596px;
}
.m_qa_awrap p {
    font-size: 18px;
    line-height: 30px;
    padding: 0 40px 0 35px;
}
/*###########################
    original
#############################*/
/*### section1 ###*/
.wrap_all_ori .sub_m_wrap {
    margin: 0 0 120px 0;
}
.m_ori_ice {
    width: 100%;
    position: relative;
}
.m_ori_bg {
    background: url(../img/m_ori_bg.jpg) no-repeat;
    background-size: 500px 320px;
    bottom: -150px;
    height: 320px;
    position: absolute;
    right: -90px;
    width: 500px;
    z-index: -1;
}
.m_ori_ice p {
    font-size: 17px;
    letter-spacing: -0.05em;
    line-height: 25.5px;
    margin: 0 0 0 5px;
}
.m_ori_ice1 {
    background: url(../img/m_ori_ice1.png) no-repeat top right;
    background-size: 616px 396px;
    margin: -15px -35px 0 0;
    margin: -15px -35px 0 0;
    padding: 110px 600px 160px 60px;
}
.m_ori_ice2 {
    background: url(../img/m_ori_ice2.png) no-repeat top left;
    background-size: 630px 400px;
    margin:-90px 0 0 0;
    padding: 110px 5px 180px 580px;
}
.m_ori_ice3 {
    background: url(../img/m_ori_ice3.png) no-repeat top left;
    background-size: 515px 380px;
    float:left;
    margin: 70px 0 0 0;
    padding: 375px 60px 0 40px;
}
.m_ori_ice4 {
    background: url(../img/m_ori_ice4.png) no-repeat top right;
    background-size: 500px 360px;
    margin: -115px 0 0 500px;
    padding: 360px 20px 0 80px;
}
/*###########################
    quality
#############################*/
/*### section1 ###*/
.wrap_all_qua .sub_m_wrap {
    margin: 0 0 80px 0;
}
.m_qua_left {
    float:left;
    width: 370px;
}
.m_qua_right {
    text-align: right;
}
.m_qua_btn{
    margin: 9% 0 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.m_qua_btn_jsf, .m_qua_btn_sdgs{
    flex: 0 1 48%;
    background: #fff;
    border-radius: 10px;
    box-shadow: #999 2px 2px 6px;
}
/*###########################
    about
#############################*/
.wrap_all_abo .sub_m_inner {
    width: 1040px;
}
.wrap_all_abo section {
    width: 1000px;
    margin: 0 auto;
}
.wrap_all_abo .sub_m_s1 {
    margin: -5px auto 0;
}
.wrap_all_abo .sub_m_s2 {
    margin: -30px auto 100px;
}
.wrap_all_abo .sub_m_inner h2 {
    margin: 0 0 35px 0;
}
.wrap_all_abo .main_image {
    margin:  0;
}
/*### section1 ###*/
.m_abo p {
    margin: 0 0 1.5em 0;
    max-height: 999999px;
}
.m_abo {
    background: url(../img/m_abo_bg.png) no-repeat top right;
    background-size: 435px 610px;
    padding: 15px 0 120px 0;
}
/*### section2 ###*/
.m_mp ul {
    margin: 0 0 0 20px;
}
.m_mp li {
    float:left;
    width: 200px;
}
.m_mp p {
    line-height: 1.7em;
    text-align: center;
}
.m_mp li:nth-child(3) p {
    margin: 0 0 0 25px;
}
/*### section3 ###*/
.m_company_tb {
    font-size: 19px;
    margin: 0 0 40px 0;
}
.m_company_tb th,
.m_company_tb td {
    text-align: left;
}
.m_company_tb th {
    border-right: solid 1px #000;
    padding: 15px 30px 15px 0;
}
.m_company_tb td {
    padding: 10px 25px;
}
.m_company_tb tr:first-child th,
.m_company_tb tr:first-child td {
    padding-top: 5px;
}
.m_company_tb tr:last-child th,
.m_company_tb tr:last-child td {
    padding-bottom: 5px;
}
.m_map {
    background: url(../img/m_abo_mapbg.jpg) no-repeat;
    background-size: 687px 445px;
    height: 445px;
    margin: 0 auto;
    padding: 25px 0 0 20px;
    width: 687px;
}
/*###########################
    contact
#############################*/
/*### section1 ###*/
.wrap_all_con .sub_m_wrap {
    margin: 0 0 350px 0;
}
.m_con h2 {
    margin: 50px 0 35px 0;
}
.m_con_form {
    margin: 0 0 0 40px;
    width: 655px;
}
.m_con_form table {
    table-layout:fixed;
}
.m_con_form th, .m_con_form td {
    border: solid 1px #000;
}
.m_con_form th {
    background: #F5BDC8;
    font-size: 16px;
    padding: 20px 50px 20px 18px;
    text-align: left;
    vertical-align: middle;
}
.m_con_form td {
    position: relative;
    padding: 12px 15px;
    vertical-align: middle;
}
.m_con_form td span {
    font-size:14px;
    margin: 0 0 0 8px;
}
.m_con_inner input {
    border:solid 1px #000;
    padding:5px;
    width:215px;
}
.m_con_inner .m_con_mail {
    width:350px;
}
.m_con_inner .m_con_ta {
    border:solid 1px #000;
    padding:5px;
    width:430px;
}
.m_con_bwrap {
    margin: 35px 0 0 0;
    text-align: center;
}
.m_con_bwrap input {
    background: #EEEFEF;
    border: solid 1px #595757;
    border-radius: 3px;
    font-size:14px;
    padding: 2px 10px;
}
.m_con_inner input, .m_con_inner textarea, .m_con_bwrap input {
    font-family: 'Noto Sans JP', sans-serif;
    font-size:14px;
}
:placeholder-shown {
    color: #ccc; }
::-webkit-input-placeholder {
    color: #ccc; }
:-moz-placeholder {
    color: #ccc; opacity: 1; }
::-moz-placeholder {
    color: #ccc; opacity: 1; }
:-ms-input-placeholder {
    color: #ccc; }
/*###########################
    contact_mail.php
#############################*/
/*### mail.php ###*/
.m_check_tb {
    width: 655px;
    font-size:16px;
}
.m_check_tb th {
    width: 132px;
}
.m_con_p {
    margin: 0 0 10px 0;
}
/*###########################
#############################*/
/*TAB style*/
@media screen and (min-width:601px) and ( max-width:999px) {}
/*SP style*/
@media screen and (max-width: 600px) {
}

/*###########################
    JFS企画
#############################*/
.jfsContainer{
    padding-top: 72px;
    padding-bottom: 20px;
    background: #fefbf7;
}
.jfs__heading{}
.jfs__heading--01{}
.jfs__heading--02{}

.jfsContent{
    width: 94%;
    margin: 0 auto;
    padding: 27px 32px;
    background: #fff;
    box-sizing: border-box;
}
.jfsContent__heading{
    margin: 0 0 18px;
}
.jfsContent__description{
    font-size: 19px;
    line-height: 2;
    text-align: justify;
}
.jfsContent__reference{
    font-size: 17px;
    line-height: 2;
    text-align: justify;
}
.jfsContent__link{}

.sdgsContainer{
    margin: 180px 0 0;
}
.sdgs__heading{
    width: 51%;
    margin: 0 auto 58px;
}
.sdgs__description{
    margin: 0 0 150px;
    font-size: 19px;
    line-height: 2;
    text-align: justify;
}
.sdgs__description strong{
    font-weight: 700;
    color: #ea608e;
}
.sdgsContent{
    position: relative;
    background: #f7f3ed;
    margin: 0 0 104px;
}
.sdgsContent__heading{
    position: relative;
    width: 50%;
    margin: 0 auto;
    inset: -40px auto auto;
}
.sdgsInitiative{
    padding-bottom: 90px;
}
.sdgsInitiative__item{
    position: relative;
    width: 88.5%;
    margin: 0 auto;
    padding-top: 30px;
    padding-left: 176px;
    box-sizing: border-box;
}
.sdgsInitiative__item--01::before, .sdgsInitiative__item--02::before, .sdgsInitiative__item--03::before{
    position: absolute;
    display: block;
    content: "";
    width: 5px;
    height: 306px;
    inset: 156px auto auto 65px;
    background: 0 0/cover url(../img/m_sdgs_09.png) no-repeat;
}
.sdgsInitiative__item--01, .sdgsInitiative__item--02, .sdgsInitiative__item--03{
    margin-bottom: 90px;
}
.sdgsInitiative__num{
    position: absolute;
    width: 130px;
    inset: 0 auto auto 0;
}
.sdgsInitiative__heading{
    margin: 0 0 21px;
}
.sdgsInitiative__heading--01{width: 73%;}
.sdgsInitiative__heading--02{width: 44%;}
.sdgsInitiative__heading--03{width: 73%;}
.sdgsInitiative__heading--04{width: 73%;}
.sdgsInitiative__description{
    margin: 0 0 36px;
    font-size: 19px;
    line-height: 2;
    text-align: justify;
}
.sdgsInitiative__goal{}
.sdgsInitiative__goal--01{width: 38.3%;}
.sdgsInitiative__goal--02{width: 51.3%;}
.sdgsInitiative__goal--03{width: 51.3%;}
.sdgsInitiative__goal--04{width: 38.3%;}
.sdgs__entry{
    width: 50.2%;
    margin: 0 auto 34px;
}
.sdgs__logo{
    width: 43.6%;
    margin: 0 auto;
    padding: 0 0 100px;
}