@media (max-width: 599px) { body { max-width: 100%; height: auto; overflow-x: hidden; }
  .pc_display { display: none; }
  .sp_display { display: inherit; }
  .small { font-size: 0.8rem; margin-left: 5px; }
  .f-m { font-size: 1.2rem; }
  .btn_yw { display: inline-block; padding: 7px 30px; border-radius: 5rem; text-align: center; font-size: 1.8rem; font-weight: 600; position: relative; left: 50%; transform: translateX(-50%); margin: 50px auto; transition: all 0.5s 0s ease; text-shadow: none; }
  .btn_yw:hover { color: #fff; }
  .container { width: 100%; height: auto; margin: 0 auto; padding: 0 2%; position: relative; }
  .border_t, .border_b, .border_l, .border_r { display: none; }
  header { margin: 0; padding: 0; width: 100%; height: 7rem; }
  #header_container #header_sign { top: 1rem; left: 10px; }
  #header_container #header_sign h1 { display: inline; font-size: 1.0rem; margin: 5px 0 0 10px; font-weight: 300; }
  #header_container #header_sign #header_logo { display: inline; width: 50vw; height: auto; margin-left: 10px; }
  #header_container #header_sign #header_logo img { width: 100%; height: auto; }
  #header_container #header_contact { display: none; }
  #header_container #header_nav .drawer_hidden { display: none; }
  #header_container #header_nav .drawer_open { display: flex; height: 50px; width: 50px; justify-content: center; align-items: center; z-index: 101; cursor: pointer; position: absolute; right: 5px; top: 10px; background-color: #000; border-radius: 6px; }
  #header_container #header_nav .drawer_open span, #header_container #header_nav .drawer_open span:before, #header_container #header_nav .drawer_open span:after { content: ''; display: block; height: 3px; width: 25px; border-radius: 3px; transition: 0.5s; position: absolute; background-color: #fff; }
  #header_container #header_nav .drawer_open span:before { bottom: 8px; }
  #header_container #header_nav .drawer_open span:after { top: 8px; }
  #header_container #header_nav #drawer_input:checked ~ .drawer_open span { background: rgba(255, 255, 255, 0); }
  #header_container #header_nav #drawer_input:checked ~ .drawer_open span::before { bottom: 0; transform: rotate(45deg); background: white; }
  #header_container #header_nav #drawer_input:checked ~ .drawer_open span::after { top: 0; transform: rotate(-45deg); background: white; }
  #header_container #header_nav .nav_content { width: 100%; height: 100%; position: fixed; top: 0; left: 100%; z-index: 100; transition: .5s; background-color: #000; }
  #header_container #header_nav .nav_list { width: 60%; list-style: none; display: block; font-size: 2.0rem; text-align: center; display: flex; flex-direction: column; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
  #header_container #header_nav .nav_list a { color: #fff; }
  #header_container #header_nav .nav_list #spnav_logo { display: block; width: 60%; margin: 0 auto 60px; }
  #header_container #header_nav .nav_list #spnav_logo img { width: 100%; height: auto; }
  #header_container #header_nav .nav_list li { width: 100%; margin: 0 0 20px 0; padding: 0 0 5px 0; text-align: center; border-bottom: solid 1px #fff; }
  #header_container #header_nav .nav_list .nav_item { width: 100%; margin: 0 0 20px 0; padding: 0 0 5px 0; border-bottom: solid 1px #fff; }
  #header_container #header_nav .nav_list .li_items { width: 100%; border-left: none; width: 100%; margin-bottom: 20px; padding-bottom: 5px; border-bottom: solid 1px #fff; }
  #header_container #header_nav #drawer_input:checked ~ .nav_content { left: 0; }
  #header_contact { display: none; }
  #sp_contact { width: 100%; height: auto; }
  #sp_contact img { width: 100%; height: auto; margin: 0 auto; }
  #hero { width: 100%; height: auto; margin: 0 0 10px 0; overflow: hidden; padding: 10% 0 0 0; }
  #hero img { width: 100%; height: auto; }
  .box_flex { height: auto; display: block; position: relative; }
  .box_title { width: 100%; height: auto; padding: 20% 0 20% 0; box-sizing: border-box; position: relative; display: flex; white-space: nowrap; margin-right: 0; }
  .box_title h2 { display: inline-block; font-size: 4.0rem; margin: 0 10px 5px 15%; font-weight: 900; }
  .box_title h2#icon_index01 { position: absolute; top: 25%; left: 30%; transform: translate(-50%, 0); }
  .box_title h2#icon_index01::before { content: ''; display: inline-block; width: 60px; height: 60px; background-image: url("../images/logo_01.png"); background-size: contain; background-repeat: no-repeat; vertical-align: middle; }
  .box_title h2#icon_index01 span { display: block; font-size: 1.2rem; font-weight: 600; margin: 0 0 0 60px; }
  .box_title h2 span { display: block; font-size: 1.6rem; font-weight: 600; margin: 0; }
  .box_title .icon_index02 { width: 60px; height: 60px; }
  .box_title .icon_index02 img { width: 100%; height: auto; }
  .box_contets { width: 100%; height: auto; padding: 5rem 0 5rem 1rem; box-sizing: border-box; position: relative; margin-left: 0; }
  .box_contets h3#index_h3_01 { font-size: 2.8rem; font-weight: 900; margin: 0 0 20px 0; }
  .box_contets h3#index_h3_02 { width: 100%; display: block; font-size: 2.8rem; font-weight: 900; margin: 0 auto 0 auto; position: relative; }
  .box_contets p { font-size: 1.6rem; width: 100%; height: auto; }
  #index_box01 { background: linear-gradient(0deg, #dcdd5e 30%, #dcdd5e 70%, #fff 70%, #fff 100%); }
  #index_box02 { background-repeat: no-repeat; background-position: 5% 10% , 95% 95%; background-size: 40% , 50%; }
  #index_box03 { position: relative; background-repeat: no-repeat; background-position: 10% 95%; background-size: 40%; padding: 0 0 140px 0; }
  #index_contents03 { display: block; width: 100%; height: 500px; background-image: url("../images/img_01.jpg"); background-position: 0 160px; background-repeat: no-repeat; background-size: 100%; }
  #index_contents03 h4 { position: absolute; display: inline-block; font-size: 2.8rem; font-weight: 600; color: #fff; padding: 0 0 3px 10px; z-index: 2; top: 10%; left: 15%; border: none; }
  #index_contents03 .btn_yw { position: absolute; top: 65%; left: 50%; transform: translateX(-50%); font-size: 1.8rem; }
  #contact_link { width: 96%; height: auto; padding: 3rem 1rem; margin: 5rem auto; box-sizing: border-box; position: relative; }
  #contact_link #contact_link_title { display: block; width: 100%; font-size: 2.6rem; font-weight: 900; text-align: center; vertical-align: middle; border-bottom: solid 1px; border-right: none; padding-bottom: 5px; margin-bottom: 15px; }
  #contact_link #contact_link_title span { display: block; text-align: center; font-size: 1.2rem; font-weight: 600; margin-top: 10px; }
  #contact_link #contact_link_con { width: 80%; height: auto; margin: 0 auto 10px auto; padding: 0; font-weight: 900; font-size: 2.0rem; }
  #contact_link #contact_link_con span { display: inline-block; width: auto; font-weight: 600; font-size: 1.6rem; }
  #contact_link #contact_link_con span img { width: 3.0rem; vertical-align: middle; margin-right: 15px; }
  #contact_link #add_mail { width: auto; height: 2.4rem; vertical-align: middle; margin-left: 5px; }
  footer { width: 100%; height: auto; margin: 0; padding: 0; position: relative; color: #fff; }
  footer #footer_flex { display: block; padding: 80px 0 40px 0; text-align: center; }
  footer #footer_name { font-size: 2.8rem; letter-spacing: 0.2rem; display: inline-block; align-self: center; }
  footer #footer_logo { display: inline-block; width: auto; height: 24px; margin-right: 10px; align-self: center; }
  footer #footer_logo img { width: auto; height: 100%; align-self: center; }
  footer .footer_add { font-size: 1.4rem; }
  footer #footer_nav { display: inline-block; text-align: center; width: 100%; height: auto; margin: 40px 0; color: #fff; font-size: 1.4rem; }
  footer #footer_nav ul { padding: 0; margin: 0; text-align: center; }
  footer #footer_nav ul li { display: inline-block; list-style: none; margin: 0 15px 0 0; }
  footer #footer_nav ul li a { color: #fff; }
  footer #copyright { width: 100%; height: auto; font-size: 1.2rem; text-align: center; margin-bottom: 20px; }
  footer #footer_info { display: block; align-items: flex-end; color: #fff; position: relative; margin-top: 20px; padding-left: 0; }
  footer #footer_info::before { content: ''; width: 0; height: 0; position: absolute; border-bottom: none; top: 0; left: 0; }
  footer #footer_info a { display: block; color: #fff; }
  /*------------------------------------------------------------------------contents*/
  .container h3 { font-size: 2.0rem; text-align: center; }
  h3.h3_text { width: 90%; height: auto; margin: 0 auto 10% auto; padding: 5% 0; font-size: 2.0rem; line-height: 1.4; }
  #page_title { width: 100%; height: auto; padding: 20% 0 15%; margin: 0; text-align: center; font-size: 3rem; color: #fff; }
  #page_title img { display: block; width: 60px; height: auto; margin: 10px auto 0; }
  #page_title_works { width: 100%; height: auto; padding: 20% 0 15%; margin: 0; text-align: center; font-size: 4rem; color: #fff; }
  #page_title_works img { display: block; width: 60px; height: auto; margin: 20px auto 0; }
  #works_bg { position: relative; background-image: url("../images/logo_06.png"), url("../images/logo_07.png"); background-repeat: no-repeat; background-position: 80% 90% , 10% 10%; background-size: 40% , 30%; }
  #works_list { width: 90%; height: auto; margin: 0 auto; padding: 0 0 10% 0; }
  #works_list ul { margin: 0; padding: 0; }
  #works_list li { width: 100%; height: auto; margin-bottom: 10px; padding: 10px 0; list-style: none; font-size: 2.0rem; font-weight: 900; text-align: center; }
  #page_title_factory { width: 100%; height: auto; padding: 20% 0 15%; margin: 0; text-align: center; font-size: 4rem; color: #fff; }
  #page_title_factory img { display: block; width: 60px; height: auto; margin: 20px auto 0; }
  #h3_factory { color: #fff; padding: 40px 0; margin: 0 auto; text-align: center; font-size: 3.0rem; line-height: 2.0; justify-content: center; }
  #h3_factory::before { content: ''; width: 40px; height: 40px; position: absolute; background-image: url("../images/logo_wh.png"); background-position: center 50%; background-repeat: no-repeat; background-size: 40px; margin-left: -50px; margin-top: 10px; }
  #factory_img_01 { width: 100%; height: auto; text-align: center; padding-bottom: 10px; margin: -40px auto 0 auto; }
  #factory_img_01 img { width: 100%; height: auto; }
  #factory_list { width: 70%; height: auto; padding: 0; margin: 0 auto 3rem auto; list-style: none; }
  #factory_list li { text-align: center; border-bottom: solid 1px #fff; padding: 1rem 0 0 0; margin: 0; color: #fff; }
  #factory_img { display: block; overflow: hidden; width: 100%; height: auto; }
  #factory_img div { margin: 0 0 5px 0; }
  #factory_img div .right_img { display: block; width: 100%; margin-left: 0; margin: 0; position: relative; z-index: 9; right: 0; }
  #factory_img div .left_img { width: 100%; margin-right: 0; margin: 0; position: relative; z-index: 9; left: 0; }
  #page_title_company { width: 100%; height: auto; padding: 20% 0 15%; margin: 0; text-align: center; font-size: 3.4rem; text-shadow: 1px 2px 0px #fff; text-stroke: 1px #fff; -webkit-text-stroke: 1px #fff; }
  #page_title_company img { display: block; width: 60px; height: auto; margin: 20px auto 0; }
  #company_list { width: 100%; height: auto; margin: 0 auto; padding: 10% 0; }
  #company_list table { width: 100%; height: auto; font-size: 1.4rem; }
  #company_list table th { padding: 10px 5px; white-space: nowrap; }
  #company_list table td { padding: 10px 5px; }
  #gmap { width: 100%; height: 400px; }
  #gmap iframe { width: 100%; height: 100%; }
  #tel_time { width: 80%; height: auto; text-align: center; margin: 10px auto; padding-bottom: 10px; font-size: 1.4rem; }
  #tel_no { text-align: center; font-size: 2.8rem; font-weight: 900; margin: 10px 0 20px 0; }
  #tel_no img { width: auto; height: 2.8rem; padding-top: 5px; margin-right: 10px; }
  /*------------------------------------------------------------------------js*/
  .fadeIn_01 { transform: translate3d(-300px, 0, 0); transition: 1s; animation-delay: 1s; opacity: 0; }
  .fadeIn_02 { transform: translate3d(0, 0, 0); transition: 1s; animation-delay: 1s; opacity: 0; }
  .fadeIn_01.animated { transform: translate3d(0, 0, 0); opacity: 1; }
  .fadeIn_02.animated { transform: translate3d(0, 0, 0); opacity: 1; }
  /*------------------------------------------------------------------------mail*/
  .input_box { width: 100%; padding: 5px; box-sizing: border-box; background-color: #fff; margin: 0 10px 0 0; overflow: hidden; }
  #pp_check { text-align: center; margin: 10px 0; }
  #pp_check input#check_box { margin: 0 10px 0 0; }
  ul#protectionpolicy { width: 100%; height: auto; margin: 0 auto; padding: 30px 0; box-sizing: border-box; font-size: 1.2rem; }
  ul#protectionpolicy li { list-style: none; margin: 0 0 20px 0; padding: 0; text-align: left; }
  ul#protectionpolicy li span { display: block; width: 90%; height: auto; font-weight: bold; border-bottom: solid 1px #000; padding: 0 0 5px 0; margin: 0 auto 30px auto; }
  ul#protectionpolicy li p { width: 90%; height: auto; margin: 0 auto 15px auto; }
  ul#protectionpolicy li ul { width: 80%; height: auto; margin: 0 auto; padding: 0; }
  ul#protectionpolicy li ul li { margin: 0 0 5px 0; padding: 0; list-style: disc; } }
