﻿/* PC */
@media screen and (min-width: 769px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
  .topline_over.clearfix.pc {
    width: 100%;
    box-shadow: 0px 5px 6px -1px rgb(0 0 0 / 65%);
  }
  /*-------------
undermain
-------------*/
  .underlayer_main {
    width: 1000px;
    margin: 50px auto 0 auto;
    overflow: hidden;
    padding: 0 0 60px 0;
  }
  .underlayer_right {
    width: 750px;
    margin: 0 0 30px 0;
    float: right;
    overflow: hidden;
  }
  h2.banner {
    width: 100%;
    color: #fff;
    background-color: #1c5c9b;
    font-size: 22px;
    font-weight: 500;
    line-height: 35px;
    height: 35px;
    letter-spacing: 1px;
    padding: 0 0 0 15px;
    margin: 0 0 15px 0;
    clear: both;
  }
  h2.banner span {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 15px;
    line-height: 38px;
    letter-spacing: 0;
    margin: 0 0 0 10px;
  }
  h3.underlayertitle_top {
    width: 100%;
    line-height: 30px;
    font-size: 18px;
    margin: 0 0 15px 0;
    clear: both;
    font-weight: 600;
    letter-spacing: 1px;
    border-bottom: solid 1px #959595;
    padding: 0 0 0 0;
  }
  h3.underlayertitle {
    width: 100%;
    line-height: 30px;
    font-size: 18px;
    margin: 20px 0 15px 0;
    clear: both;
    font-weight: 600;
    letter-spacing: 1px;
    border-bottom: solid 1px #959595;
    padding: 20px 0 0 0;
  }
  h3.underlayertitle:before, h3.underlayertitle_top:before {
    content: "●";
    padding-right: 7px;
    padding-left: 7px;
  }
  /*-------------
side
-------------*/
  .side {
    width: 200px;
    margin: 0 0 0 0;
    float: left;
    overflow: hidden;
  }
  .side.clearfix ul {
    width: 100%;
  }
  .side.clearfix ul li:nth-child(1) {
    font-size: 20px;
    line-height: 30px;
    text-align: center;
    border-bottom: dotted 1px #4d4d4d;
    font-weight: 600;
  }
  .side.clearfix ul li:nth-child(2) {
    font-size: 20px;
    line-height: 35px;
    margin: 15px 0 0 0;
    font-weight: 600;
  }
  .side.clearfix ul li:nth-child(3) {
    font-size: 21px;
    margin: 15px 0 0 0;
    font-weight: 600;
    letter-spacing: 1px;
  }
  .side.clearfix ul li:nth-child(4) {
    font-size: 14px;
    line-height: 21px;
    font-weight: 600;
  }
  .side.clearfix ul li:nth-child(5) {
    font-size: 22px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    line-height: 30px;
    margin: 10px 0 0 0;
    letter-spacing: 1px;
  }
  .side.clearfix ul li:nth-child(5) img {
    margin: 0 7px 0 0;
  }
  .side.clearfix ul li:nth-child(6) {
    font-size: 13px;
    line-height: 22px;
    font-weight: 600;
    margin: 15px 0 0 0;
  }
  /*-------------
company
-------------*/
  .company_box1 {
    width: 100%;
    overflow: hidden;
  }
  .company_box1 ul {
    width: 100%;
  }
  .company_box1 ul {
    width: 430px;
    float: left;
  }
  .company_box1 ul li {
    line-height: 24px;
    margin: 0 0 15px 0;
  }
  .company_box1 ul li:nth-child(4) {
    margin: 0 0 0 auto;
    width: 223px;
  }
  img.company_img1 {
    float: right;
  }
  .company_box2 {
    width: 100%;
    overflow: hidden;
  }
  .company_box2 table {
    float: left;
    border-collapse: collapse;
    width: 430px;
    margin: 0 0 0 0;
    line-height: 20px;
  }
  .company_box2 table th {
    text-align: justify;
    padding: 11px 0 8px 10px;
    border-bottom: dotted 1px #4d4d4d;
    width: 150px;
    font-weight: 500;
    vertical-align: top;
  }
  .company_box2 table td {
    width: 270px;
    padding: 8px 0 8px 0;
    border-bottom: dotted 1px #4d4d4d;
  }
  .company_box2 ul {
    float: right;
  }
  .company_box2 ul li:nth-child(1) {
    margin: 60px auto 0 auto;
    width: 223px;
  }
  .company_box3 {
    width: 100%;
    overflow: hidden;
  }
  .company_box3 table {
    border-collapse: collapse;
    width: 540px;
    margin: 0 0 0 0;
    line-height: 20px;
  }
  .company_box3 table th {
    text-align: justify;
    padding: 11px 0 8px 10px;
    border-bottom: dotted 1px #4d4d4d;
    width: 150px;
    font-weight: 500;
    vertical-align: top;
  }
  .company_box3 table td {
    width: 380px;
    padding: 8px 0 8px 0;
    border-bottom: dotted 1px #4d4d4d;
  }
  /*-------------
equipment
-------------*/
  .equipment_box1 {
    width: 100%;
    overflow: hidden;
    margin: 0 0 30px 0;
  }
  .equipment_box1 p {
    font-size: 18px;
    color: #fff;
    background-color: #676767;
    line-height: 30px;
    height: 30px;
    padding: 0 0 0 10px;
    margin: 0 0 10px 0;
  }
  .equipment_box1 table {
    border-collapse: collapse;
    width: 470px;
    margin: 0 0 0 0;
    font-size: 15px;
    line-height: 20px;
    float: left;
  }
  .equipment_box1 table th {
    text-align: justify;
    padding: 8px 0 5px 10px;
    border: solid 1px #aaa;
    font-weight: 500;
    vertical-align: top;
    background-color: #1c5c9b;
    color: #fff;
  }
  .equipment_box1 table td {
    padding: 5px 0 5px 10px;
    border: solid 1px #aaa;
  }
  .equipment_box1 table th:last-child {
    width: 60px;
    text-align: center;
    padding: 8px 10px 5px 10px;
  }
  .equipment_box1 table td:last-child {
    text-align: center;
    padding: 5px 10px 5px 10px;
  }
  .equipment_box1 img {
    float: right;
  }
  img.equipment_img4 {
    margin: 0 50px 0 0;
  }
  img.equipment_img5 {
    margin: 0 50px 0 0;
  }
  /*-------------
products
-------------*/
  .products_box1 {
    width: 100%;
    overflow: hidden;
    margin: 0 0 30px 0;
  }
  .products_box1 ul {
    width: 100%;
    overflow: hidden;
    margin: 0 0 0 0;
  }
  .products_box1 ul li {
    float: left;
    margin: 0 0 25px 10px;
  }
  .products_box1 ul li:nth-child(4n+1) {
    margin: 0 0 25px 0;
  }
  .products_box1 ul table {
    border-collapse: collapse;
    width: 100%;
    margin: 5px 0 0 0;
    line-height: 16px;
    font-size: 12px;
  }
  .products_box1 ul table td {
    padding: 5px 0 5px 3px;
    border-bottom: dotted 1px #aeaeae;
    vertical-align: top;
  }
  /*-------------
contact
-------------*/
  p.contact_text {
    font-size: 12px;
  }
  #contact .form {
    clear: both;
  }
  #contact .form table {
    width: 100%;
    margin: 15px 0 20px 0;
    font-size: 12px;
  }
  #contact .form th, #contact .form td {
    text-align: justify;
    padding: 10px;
    border-bottom: dotted 1px #4d4d4d;
  }
  #contact .form th {
    width: 20%;
    vertical-align: top;
    font-weight: 500;
  }
  #contact .form td {}
  #contact .form td input#name, #contact .form td input#companyname, #contact .form td input#comname {
    width: 70%;
    height: 20px;
    font-size: 13px;
    padding: 0 0 0 5px;
    background-color: #e1e1e1;
    border: none;
  }
  #contact .form td input#tel, #contact .form td input#fax {
    width: 50%;
    height: 20px;
    font-size: 12px;
    padding: 0 0 0 5px;
    background-color: #e1e1e1;
    border: none;
  }
  #contact .form td input#address, #contact .form td input#mail, #contact .form td input#desiredtime {
    width: 70%;
    height: 20px;
    font-size: 12px;
    padding: 0 0 0 5px;
    background-color: #e1e1e1;
    border: none;
  }
  #contact .form td textarea#comment {
    margin-top: 10px;
    width: 100%;
    height: 200px;
    font-size: 12px;
    background-color: #e1e1e1;
    border: none;
    padding: 10px 0 0 20px;
  }
  #contact .form #formEnd {
    text-align: center;
    margin: 0 0 0 0;
  }
  #contact .form #formEnd button {
    margin: 10px 5px 0;
    border: 0;
    background-color: #fff;
  }
  div#formEnd button:hover {
    opacity: 0.7;
  }
  input[type="radio"] {
    margin: 0 5px 0 0;
  }
}
/* Tablet */
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  /*-------------
undermain
-------------*/
  .underlayer_main {
    width: 100%;
    margin: 50px auto 50px auto;
    overflow: hidden;
    padding: 0 0 0 0;
    box-shadow: 0px 5px 3px -2px rgb(0 0 0 / 65%) inset;
  }
  .underlayer_right {
    width: 95%;
    margin: 10px auto 30px auto;
    float: none;
    overflow: hidden;
  }
  h2.banner {
    width: 100%;
    color: #fff;
    background-color: #1c5c9b;
    font-size: 16px;
    font-weight: 500;
    line-height: 30px;
    height: 30px;
    letter-spacing: 1px;
    padding: 0 0 0 15px;
    margin: 0 0 15px 0;
    clear: both;
  }
  h2.banner span {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 13px;
    letter-spacing: 0;
    margin: 0 0 0 10px;
  }
  h3.underlayertitle_top {
    width: 100%;
    line-height: 25px;
    font-size: 16px;
    margin: 0 0 10px 0;
    clear: both;
    font-weight: 600;
    letter-spacing: 1px;
    border-bottom: solid 1px #959595;
    padding: 0 0 0 0;
  }
  h3.underlayertitle {
    width: 100%;
    line-height: 25px;
    font-size: 16px;
    margin: 20px 0 10px 0;
    clear: both;
    font-weight: 600;
    letter-spacing: 1px;
    border-bottom: solid 1px #959595;
    padding: 20px 0 0 0;
  }
  h3.underlayertitle:before, h3.underlayertitle_top:before {
    content: "●";
    padding-right: 7px;
    padding-left: 7px;
  }
  /*-------------
company
-------------*/
  .company_box1 {
    width: 100%;
    overflow: hidden;
  }
  .company_box1 ul {
    width: 100%;
  }
  .company_box1 ul {
    width: 100%;
    float: none;
  }
  .company_box1 ul li {
    line-height: 24px;
    margin: 0 0 15px 0;
  }
  .company_box1 ul li:nth-child(4) {
    margin: 0 0 0 auto;
    width: 223px;
  }
  img.company_img1 {
    float: none;
    width: 200px;
  }
  .company_box2 {
    width: 100%;
    overflow: hidden;
  }
  .company_box2 dl {
    width: 100%;
    margin: 5px auto 10px auto;
    text-align: left;
    line-height: 17px;
  }
  .company_box2 dl dt {
    background-color: #eee;
    padding: 5px 5px 5px 10px;
    font-weight: 500;
  }
  .company_box2 dl dd {
    padding: 5px 5px 5px 10px;
  }
  .company_box2 ul {
    width: 100%;
    float: none;
  }
  .company_box2 ul li:nth-child(1) {
    margin: 0 0 0 5%;
    width: 223px;
  }
  .company_box2 ul li:nth-child(2) {
    width: 280px;
  }
  .company_box3 {
    width: 100%;
    overflow: hidden;
  }
  .company_box3 dl {
    width: 100%;
    margin: 5px auto 10px auto;
    text-align: left;
    line-height: 17px;
  }
  .company_box3 dl dt {
    background-color: #eee;
    padding: 5px 5px 5px 10px;
    font-weight: 500;
  }
  .company_box3 dl dd {
    padding: 5px 5px 5px 10px;
  }
  /*-------------
equipment
-------------*/
  img.equipment_img1 {
    width: 100%;
    margin: -5px 0 0 0;
  }
  .equipment_box1 {
    width: 100%;
    overflow: hidden;
    margin: 0 0 20px 0;
  }
  .equipment_box1 p {
    font-size: 16px;
    color: #fff;
    background-color: #676767;
    line-height: 30px;
    height: 30px;
    padding: 0 0 0 10px;
    margin: 0 0 10px 0;
  }
  .equipment_box1 table {
    border-collapse: collapse;
    width: 100%;
    max-width: 470px;
    margin: 0 0 10px 0;
    font-size: 13px;
    line-height: 20px;
    float: none;
  }
  .equipment_box1 table th {
    text-align: justify;
    padding: 8px 0 5px 10px;
    border: solid 1px #aaa;
    font-weight: 500;
    vertical-align: top;
    background-color: #1c5c9b;
    color: #fff;
  }
  .equipment_box1 table td {
    padding: 5px 0 5px 10px;
    border: solid 1px #aaa;
  }
  .equipment_box1 table th:last-child {
    width: 60px;
    text-align: center;
    padding: 8px 10px 5px 10px;
  }
  .equipment_box1 table td:last-child {
    text-align: center;
    padding: 5px 10px 5px 10px;
  }
  .equipment_box1 img {
    float: none;
  }
  img.equipment_img2 {
    width: 250px;
  }
  img.equipment_img3 {
    width: 246px;
  }
  img.equipment_img4 {
    width: 152px;
  }
  img.equipment_img5 {
    width: 152px;
  }
  img.equipment_img6 {
    width: 245px;
  }
  /*-------------
products
-------------*/
  .products_box1 {
    width: 100%;
    overflow: hidden;
    margin: 0 0 30px 0;
  }
  .products_box1 ul {
    width: 100%;
    overflow: hidden;
    margin: 0 0 0 0;
  }
  .products_box1 ul li {
    width: 180px;
    float: left;
    margin: 0 5px 25px 5px;
  }
  .products_box1 ul table {
    border-collapse: collapse;
    width: 100%;
    margin: 5px 0 0 0;
    line-height: 16px;
    font-size: 12px;
  }
  .products_box1 ul table td {
    padding: 5px 0 5px 3px;
    border-bottom: dotted 1px #aeaeae;
    vertical-align: top;
  }
  /*-------------
contact
-------------*/
  p.contact_text {
    font-size: 12px;
  }
  #contact .form {
    clear: both;
  }
  #contact .form table {
    width: 100%;
    margin: 15px 0 20px 0;
    font-size: 12px;
  }
  #contact .form th, #contact .form td {
    text-align: justify;
    padding: 5px;
    border-bottom: dotted 1px #4d4d4d;
  }
  #contact .form th {
    width: 35%;
    vertical-align: top;
    font-weight: 500;
  }
  #contact .form td {}
  #contact .form td input#name, #contact .form td input#companyname, #contact .form td input#comname {
    width: 100%;
    height: 20px;
    font-size: 13px;
    padding: 0 0 0 5px;
    background-color: #e1e1e1;
    border: none;
  }
  #contact .form td input#tel, #contact .form td input#fax {
    width: 100%;
    height: 20px;
    font-size: 12px;
    padding: 0 0 0 5px;
    background-color: #e1e1e1;
    border: none;
  }
  #contact .form td input#address, #contact .form td input#mail, #contact .form td input#desiredtime {
    width: 100%;
    height: 20px;
    font-size: 12px;
    padding: 0 0 0 5px;
    background-color: #e1e1e1;
    border: none;
  }
  #contact .form td textarea#comment {
    margin-top: 10px;
    width: 100%;
    height: 200px;
    font-size: 12px;
    background-color: #e1e1e1;
    border: none;
    padding: 10px 0 0 20px;
  }
  #contact .form #formEnd {
    text-align: center;
    margin: 0 0 0 0;
  }
  #contact .form #formEnd button {
    margin: 10px 5px 0;
    border: 0;
    background-color: #fff;
  }
  div#formEnd button:hover {
    opacity: 0.7;
  }
  input[type="radio"] {
    margin: 0 5px 0 0;
  }
}
/* SP */
@media screen and (max-width: 480px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  /*-------------
undermain
-------------*/
  .underlayer_main {
    width: 100%;
    margin: 50px auto 50px auto;
    overflow: hidden;
    padding: 0 0 0 0;
    box-shadow: 0px 5px 3px -2px rgb(0 0 0 / 65%) inset;
  }
  .underlayer_right {
    width: 95%;
    margin: 10px auto 30px auto;
    float: none;
    overflow: hidden;
  }
  h2.banner {
    width: 100%;
    color: #fff;
    background-color: #1c5c9b;
    font-size: 16px;
    font-weight: 500;
    line-height: 30px;
    height: 30px;
    letter-spacing: 1px;
    padding: 0 0 0 15px;
    margin: 0 0 15px 0;
    clear: both;
  }
  h2.banner span {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 13px;
    letter-spacing: 0;
    margin: 0 0 0 10px;
  }
  h3.underlayertitle_top {
    width: 100%;
    line-height: 25px;
    font-size: 16px;
    margin: 0 0 10px 0;
    clear: both;
    font-weight: 600;
    letter-spacing: 1px;
    border-bottom: solid 1px #959595;
    padding: 0 0 0 0;
  }
  h3.underlayertitle {
    width: 100%;
    line-height: 25px;
    font-size: 16px;
    margin: 20px 0 10px 0;
    clear: both;
    font-weight: 600;
    letter-spacing: 1px;
    border-bottom: solid 1px #959595;
    padding: 20px 0 0 0;
  }
  h3.underlayertitle:before, h3.underlayertitle_top:before {
    content: "●";
    padding-right: 7px;
    padding-left: 7px;
  }
  /*-------------
company
-------------*/
  .company_box1 {
    width: 100%;
    overflow: hidden;
  }
  .company_box1 ul {
    width: 100%;
  }
  .company_box1 ul {
    width: 100%;
    float: none;
  }
  .company_box1 ul li {
    line-height: 24px;
    margin: 0 0 15px 0;
  }
  .company_box1 ul li:nth-child(4) {
    margin: 0 0 0 auto;
    width: 223px;
  }
  img.company_img1 {
    float: none;
    width: 200px;
  }
  .company_box2 {
    width: 100%;
    overflow: hidden;
  }
  .company_box2 dl {
    width: 100%;
    margin: 5px auto 10px auto;
    text-align: left;
    line-height: 17px;
  }
  .company_box2 dl dt {
    background-color: #eee;
    padding: 5px 5px 5px 10px;
    font-weight: 500;
  }
  .company_box2 dl dd {
    padding: 5px 5px 5px 10px;
  }
  .company_box2 ul {
    width: 100%;
    float: none;
  }
  .company_box2 ul li:nth-child(1) {
    margin: 0 0 0 5%;
    width: 223px;
  }
  .company_box2 ul li:nth-child(2) {
    width: 280px;
  }
  .company_box3 {
    width: 100%;
    overflow: hidden;
  }
  .company_box3 dl {
    width: 100%;
    margin: 5px auto 10px auto;
    text-align: left;
    line-height: 17px;
  }
  .company_box3 dl dt {
    background-color: #eee;
    padding: 5px 5px 5px 10px;
    font-weight: 500;
  }
  .company_box3 dl dd {
    padding: 5px 5px 5px 10px;
  }
  /*-------------
equipment
-------------*/
  img.equipment_img1 {
    width: 100%;
    margin: -5px 0 0 0;
  }
  .equipment_box1 {
    width: 100%;
    overflow: hidden;
    margin: 0 0 20px 0;
  }
  .equipment_box1 p {
    font-size: 16px;
    color: #fff;
    background-color: #676767;
    line-height: 30px;
    height: 30px;
    padding: 0 0 0 10px;
    margin: 0 0 10px 0;
  }
  .equipment_box1 table {
    border-collapse: collapse;
    width: 100%;
    max-width: 470px;
    margin: 0 0 10px 0;
    font-size: 13px;
    line-height: 20px;
    float: none;
  }
  .equipment_box1 table th {
    text-align: justify;
    padding: 8px 0 5px 10px;
    border: solid 1px #aaa;
    font-weight: 500;
    vertical-align: top;
    background-color: #1c5c9b;
    color: #fff;
  }
  .equipment_box1 table td {
    padding: 5px 0 5px 10px;
    border: solid 1px #aaa;
  }
  .equipment_box1 table th:last-child {
    width: 60px;
    text-align: center;
    padding: 8px 10px 5px 10px;
  }
  .equipment_box1 table td:last-child {
    text-align: center;
    padding: 5px 10px 5px 10px;
  }
  .equipment_box1 img {
    float: none;
  }
  img.equipment_img2 {
    width: 250px;
  }
  img.equipment_img3 {
    width: 246px;
  }
  img.equipment_img4 {
    width: 152px;
  }
  img.equipment_img5 {
    width: 152px;
  }
  img.equipment_img6 {
    width: 245px;
  }
  /*-------------
products
-------------*/
  .products_box1 {
    width: 100%;
    overflow: hidden;
    margin: 0 0 30px 0;
  }
  .products_box1 ul {
    width: 100%;
    overflow: hidden;
    margin: 0 0 0 0;
  }
  .products_box1 ul li {
    width: 180px;
    float: left;
    margin: 0 5px 25px 5px;
  }
  .products_box1 ul table {
    border-collapse: collapse;
    width: 100%;
    margin: 5px 0 0 0;
    line-height: 16px;
    font-size: 12px;
  }
  .products_box1 ul table td {
    padding: 5px 0 5px 3px;
    border-bottom: dotted 1px #aeaeae;
    vertical-align: top;
  }
  /*-------------
contact
-------------*/
  p.contact_text {
    font-size: 12px;
  }
  #contact .form {
    clear: both;
  }
  #contact .form table {
    width: 100%;
    margin: 15px 0 20px 0;
    font-size: 12px;
  }
  #contact .form th, #contact .form td {
    text-align: justify;
    padding: 5px;
    border-bottom: dotted 1px #4d4d4d;
  }
  #contact .form th {
    width: 35%;
    vertical-align: top;
    font-weight: 500;
  }
  #contact .form td {}
  #contact .form td input#name, #contact .form td input#companyname, #contact .form td input#comname {
    width: 100%;
    height: 20px;
    font-size: 13px;
    padding: 0 0 0 5px;
    background-color: #e1e1e1;
    border: none;
  }
  #contact .form td input#tel, #contact .form td input#fax {
    width: 100%;
    height: 20px;
    font-size: 12px;
    padding: 0 0 0 5px;
    background-color: #e1e1e1;
    border: none;
  }
  #contact .form td input#address, #contact .form td input#mail, #contact .form td input#desiredtime {
    width: 100%;
    height: 20px;
    font-size: 12px;
    padding: 0 0 0 5px;
    background-color: #e1e1e1;
    border: none;
  }
  #contact .form td textarea#comment {
    margin-top: 10px;
    width: 100%;
    height: 200px;
    font-size: 12px;
    background-color: #e1e1e1;
    border: none;
    padding: 10px 0 0 20px;
  }
  #contact .form #formEnd {
    text-align: center;
    margin: 0 0 0 0;
  }
  #contact .form #formEnd button {
    margin: 10px 5px 0;
    border: 0;
    background-color: #fff;
  }
  div#formEnd button:hover {
    opacity: 0.7;
  }
  input[type="radio"] {
    margin: 0 5px 0 0;
  }
}