@charset "utf-8";
@media screen and (max-width: 767px) {
html {
    scroll-padding-top: 60px;
}
.page_head h3,
.page_head.page_head_company h3{
    text-align: left !important;
    margin: 0 0 0 31px !important;
	}
	
.history2009 {
    padding: 5px 10px;
	}
	
.mv {
    padding-top: 60px;
	}
  header {
    padding: 0 0 0;
    height: 60px;
  }
  header.fixed {
    height: 60px;
    transition: .5s;
  }
  header .header_cont {
    padding-top: 0;
  }
  .header_in {
    width: 100%;
  }
  .header_padding {
    padding-top: 60px !important;
  }
  .main {
    padding: 0 0 2rem;
  }
  .sp_menu {
    display: block;
  }
  #gnav, .header_nav {
    display: none !important;
  }
  .top_filo {
    display: block;
  }
  .top_filo > .img_box {
    width: 100%;
    text-align: center;
    margin-top: 0;
  }
  .top_filo > .img_box img {
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
  .top_filo > .txt_box {
    width: 100%;
    padding: 35px;
  }
  .top_filo > .txt_box p {
    font-size: .83rem;
    line-height: 1.6;
  }
  .footer_contact_wrap, .top_future {
    width: 100%;
    margin: 0 auto;
    padding: 10px 10px;
  }
  .top_future h3 {
    font-size: .93rem;
  }
  .top_future h3 span {
    font-size: 1.6rem;
    display: inline-block;
    margin-left: 5px;
  }
  .top_future ul {
    display: block;
  }
  .top_future li {
    width: 100%;
    padding: 10px;
    text-align: center;
  }
  .top_future li img, .top_product_img img {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: auto;
  }
  .top_future li a p {
    margin: 10px;
    font-size: .93rem;
    line-height: 1.6;
    text-align: left;
  }
  .top_product {
    width: 100%;
    padding: 30px 30px;
  }
  .top_product_card {
    margin: 0 0 36px;
    position: relative;
  }
  .top_product_card::after {
    content: "詳しくはこちら";
    display: inline-block;
    background: #9a8b6c;
    color: #fff;
    padding: 10px;
    text-align: center;
    font-size: .73rem;
    position: relative;
    margin-top: 20px;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    width: 110px;
  }
  .top_product_tit {
    padding: 10px 0;
  }
  .top_product_tit, .top_product_txt, .top_product_img {
    min-height: inherit;
  }
  .top_product_tit h3 {
    font-size: .83rem !important;
    line-height: 1.6;
  }
  .top_product_txt {
    min-height: 10em;
  }
  .top_product_txt p {
    font-size: .83rem !important;
    line-height: 1.6;
  }
  a.footer_contact_tel {
    font-size: 1.9rem;
    background: url(../img/common/ico_tel.png) 0 7px no-repeat;
    background-size: 36px;
    letter-spacing: normal;
    margin-right: inherit;
    margin-top: 20px;
  }
  a.footer_contact_form span {
    background: url(../img/common/ico_mail.png) 0 1px no-repeat;
    background-size: 25px 18px;
    background-position: left center;
    padding: 4px 0 0px 31px;
    font-size: 1rem;
  }
  .footer_contact_wrap p {
    font-size: .8rem;
  }
  .sp_bg p {
    line-height: 1.2;
    margin: 0 0 13px 17px;
	  text-align: center;
  }
  a.footer_contact_form {
    margin: 10px;
    padding: 10px;
    letter-spacing: 0;
    width: 80%;
  }
  .footer_logo span {
    display: block;
    text-align: center;
  }
  .main h3, .footer_contact_wrap h3, .content-header h2 {
    font-size: 1.5rem;
    margin-right: 0;
    margin-top: 0;
  }
  .wrapper_pagehead {
    padding: 1rem 0;
  }
  .pc_only {
    display: none !important;
  }
  .sp_only {
    display: block !important;
  }
  .sp_bg {
    background: rgba(243, 242, 240, 1.00);
  }
  .br_sp {
    display: block !important;
  }
  ul.top_future_ul {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
  }
  ul.top_future_ul li {
    width: 50% !important;
    position: relative;
  }
  ul.top_future_ul li:nth-child(1) {
    padding: 0;
  }
  ul.top_future_ul li h3 {
    width: 145px !important;
    text-align: left;
    position: absolute;
    top: 50%;
    left: 43%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    margin: 0;
    padding: 0 0 0 0.5em;
  }
  ul.top_future_ul li h4 {
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    margin: 40px auto;
  }
  ul.top_future_ul li p {
    font-size: .83rem;
  }
  ul.top_future_ul li a {
    color: #fff;
  }
  ul.top_future_ul li:nth-child(1) {
    height: inherit !important;
  }
  ul.top_future_ul li:nth-child(2) {
    background-image: url("../img/top/top_future_bg2.jpg");
    background-size: cover;
  }
  ul.top_future_ul li:nth-child(3) {
    background-image: url("../img/top/top_future_bg3.jpg");
    background-size: cover;
  }
  ul.top_future_ul li:nth-child(4) {
    background-image: url("../img/top/top_future_bg4.jpg");
    background-size: cover;
  }
  .one_stop_page_nav {
    display: block !important;
    text-align: center;
  }
  .one_stop_page_nav li {
    width: 100% !important;
    text-align: center;
  }
  .head_block2 {
    min-width: 100%;
    margin-bottom: 20px;
  }
  ul.one_stop_reason li:nth-child(1) {
    width: 30%;
  }
  ul.one_stop_reason li:nth-child(2) {
    width: 65%;
    margin-left: 5%;
  }
  ul.one_stop_reason li:nth-child(3) {
    width: 100%;
    text-align: center;
  }
  ul.one_stop_reason li:nth-child(3) img {
    width: 70%;
    margin: 30px auto;
  }
  .contact_form label ul {
    flex-wrap: wrap;
  }
  .contact_form label ul li {
    width: 100% !important;
  }
  .contact_form label ul li input {
    width: 100%;
  }
  .contact_form label ul li:nth-child(3) {
    padding: 0 0 0 0;
  }
  /*
	top
	____________________*/
  .top_future_box .top_cont {
    width: 100%;
    margin: 0 auto;
    padding: 10px 0;
  }
  .f_onestop .top_cont {
    top: -20px;
  }
  .f_onestop .f_one_stop_bg_lb {
    width: 110px;
    height: 140px;
    position: absolute;
    left: -5px;
    bottom: -75px;
  }
  .top_cont_tit {
    padding: 10px 10px;
    top: -10%;
    left: -15%;
    border-radius: 5px;
  }
  .top_cont_tit span {
    font-size: 1rem;
    letter-spacing: 0;
  }
  .top_card {
    width: 80%;
    height: inherit;
    background-color: #000;
    color: #fff;
    padding: 9% 6% 2%;
  }
  .top_card p, .main p {
    font-size: 0.8rem;
    line-height: 1.6;
    letter-spacing: 0;
  }
  .f_qd .top_cont {
    top: -20px;
  }
  .f_fun .top_cont {
    top: -25px;
  }
  .main_h3_box {
    display: block;
    margin-bottom: 30px;
  }
  .main .h3_above, .footer_contact_wrap .h3_above {
    font-size: 1rem;
  }
  .top_product_txt {
    min-height: inherit;
    padding: 10px;
  }
  header h1 img {
    width: 170px;
    height: auto;
    margin: 7px 10px;
  }
  .page_head {
    height: 150px;
  }
  .manu .page_cont {
    width: 100%;
    margin: 0 auto;
    padding: 20px 0;
  }
  .manu_box {
    display: block;
  }
  .manu_box.rev {
    margin: 0 20px;
  }
  .manu_box {
    margin: 0 20px;
  }
  .manu_box li:nth-child(1) {
    width: 100%;
    text-align: center;
  }
  .manu_box li:nth-child(1) img {
    width: 60%;
    height: 60%;
    margin: 0 auto;
  }
  .manu_box li:nth-child(2) {
    width: 100%;
    padding: 30px 10px;
  }
  .manu3 .manu_box {
    margin: 0 20px !important;
    padding: 0 0 50px;
  }
  .manu.manu3 .page_cont {
    background-size: 128px 100px;
  }
  .manu.manu5 .page_cont {
    background-size: 71px 120px;
  }
  .manu5 .manu_box li:nth-child(2) {
    padding-left: 50px;
  }
  .page_btn {
    padding: 40px 0;
    text-align: center;
  }
  .page_btn .btn_l {
    padding: 10px 50px;
    text-align: center;
    border-radius: 10px;
    font-size: 1.2rem;
  }
  .quality_cont {
    width: 100%;
    margin: 0 auto;
    padding: 10px 20px !important;
  }
  .quality_cont h3 {
    text-align-last: inherit;
    width: 100%;
    font-size: 1.2rem;
  }
  .quality_cont h4 {
    font-size: 1.2rem;
    margin: .3em 0 0.5em 0;
  }
  .cert_img {
    text-align: center !important;
  }
  .cert_img img {
    width: auto;
    height: 80px;
  }
  ul.cert li h7 {
    font-size: 1rem;
  }
  table.cert_tbl {
    margin-bottom: 20px;
    font-size: .8rem;
  }
  .manu1_arr, .manu2_arr, .manu3_arr, .manu4_arr, .manu5_arr {
    display: none;
  }
  .btm_bar {
    padding: 20px 0;
  }
  .comapny_info_box {
    display: block;
    margin: 0 !important;
    padding: 0 !important;
  }
  .comapny_info_box li {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
  }
  .company_tit .h3_above {
    font-size: 1rem !important;
  }
  dl.dl_dt {
    font-size: 1rem;
  }
  dl.dl_dt dt {
    display: block;
    width: 100%;
    margin-right: 2em;
    clear: center;
    float: inherit;
    margin-bottom: .5em;
    text-align-last: inherit;
  }
  dl.dl_dt dd {
    display: block;
    width: 100%;
    clear: center;
    float: inherit;
    margin-bottom: 1.5em;
  }
  .comapny_info_box li:nth-child(2) {
    width: 100%;
    text-align: center;
  }
  .comapny_info_box li:nth-child(2) img {
    width: 40% !important;
  }
  .history_tbl td {
    display: block !important;
    padding: 5px 10px;
    font-size: .8rem;
    line-height: 1.6;
  }
  .history_tbl td:nth-child(1) {
    padding-bottom: 0;
  }
  .history_tbl td:nth-child(2) {
    padding-top: 0;
  }
  .message_box {
    display: block;
  }
  .message_box li {
    width: 100% !important;
    margin-right: 0 !important;
  }
  .message_box li:nth-child(1) {
    text-align: center;
  }
  .message_box li:nth-child(1) img {
    width: 50%;
  }
  .main h4 {
    font-size: 1.2rem;
    padding: 0 0 0 .5em;
    margin: 1.5em 0 1em 0;
  }
  .philosophy ol > li {
    font-size: .8rem !important;
  }
  .main .head_block {
    margin: 20px 0;
  }
  .btm_bar_none {
    border-bottom: none;
    padding: 20px 0 40px;
  }
  .recruit_msg h4, .recruit_msg p {
    text-align: left !important;
  }
  dl.recruit_box {
    font-size: .8rem;
  }
  dl.recruit_box dt, dl.recruit_box dd {
    padding: 5px 10px;
  }
  .contact_p {
    font-size: .8rem !important;
    line-height: 1.6 !important;
  }
  .company_tit h3 {
    font-size: 1.3rem !important;
  }
  .box_under_bdr {
    padding-bottom: 20px;
  }
  .main .product_block {
    margin: 10px 0 10px;
  }
  h3.product_tit {
    font-size: 1.2rem !important;
    border-left: 3px solid #807f69;
    padding-left: 10px;
    margin-bottom: 10px;
  }
  .product_flex {
    padding: 20px 0 0;
  }
  h3.h3_large_blk {
    margin-bottom: 10px !important;
  }
  .main.box_under_bdr {
    padding: 10px 0 !important;
  }
  .porduct_card .top_product_tit {
    min-height: 5em;
  }
  .porduct_card .top_product_tit h3 {
    font-size: 1rem !important;
  }
  .porduct_card .top_product_img {
    min-height: inherit;
  }
  .porduct_card .top_product_txt {
    padding: 10px 10px 30px;
  }
  .porduct_card .top_product_txt a {
    position: absolute;
    right: 10px;
    bottom: 10px;
    font-size: 1rem;
  }
  .top_product_txt dl {
    display: block;
    font-size: .8rem;
  }
  .top_product_txt dl dt {
    display: block;
  }
  .top_product_txt dl > dd {
    width: 100%;
  }
  .porduct_card .top_product_txt,
  .common_product .porduct_card .top_product_txt {
    min-height: 180px;
    font-size: .83rem;
    line-height: 1.5;
  }
  .badge_gold {
    padding: 0 10px;
    font-size: 1rem;
  }
  .badge_box {
    padding: 10px 0 20px;
  }
  .common_flex .porduct_card .top_product_txt {
    padding: 10px 10px 30px;
    min-height: 4em;
  }
  .product_head_block {
    margin: 20px 0 0;
  }
	
.top_cont_tit_img {
    top: -20%;
    width: 70px;
	}
	
  /*media_____________________________*/
}