﻿@media screen and (min-width: 769px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
  /*-------------
underlayer_header
-------------*/
  .fixedmenu3 {
    background-color: rgba(255, 255, 255, 0.9);
  }
  /*-------------
main
-------------*/
  #underlayer_main {
    max-width: 1440px;
    width: 100%;
    min-height: 500px;
    margin: 0 auto 0 auto;
    overflow: hidden;
  }
  ul.banner.clearfix {
    width: 100%;
    padding: 80px 0 60px 0;
    overflow: hidden;
  }
  ul.banner.clearfix li {
    float: left;
  }
  ul.banner.clearfix li:nth-child(1) {
    margin: 85px 120px 0 100px;
  }
  ul.banner.clearfix li:nth-child(2) {
    width: 800px;
    position: relative;
  }
  h2.banner {
    font-weight: 400;
    font-size: 72px;
    color: #272845;
    line-height: 90px;
    letter-spacing: -2px;
    margin: 0 0 0 0;
  }
  h2.banner span {
    display: block;
    font-size: 46px;
  }
  img.circle {
    position: absolute;
    top: -240px;
    right: 250px;
  }
  img.circle2 {
    position: absolute;
    top: 90px;
    right: 570px;
  }
  /*-------------
contact
-------------*/
  .contactbox1.clearfix {
    width: 90%;
    max-width: 1200px;
    overflow: hidden;
    margin: 0 auto 30px auto;
  }
  .contactbox1.clearfix p {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 24px;
    line-height: 30px;
  }
  #contact .form {
    clear: both;
  }
  #contact .form table {
    border-collapse: collapse;
    width: 100%;
    margin: 40px auto 0 auto;
    border: solid 1px #222;
  }
  #contact .form table th, #contact .form td {
    font-size: 18px;
    line-height: 25px;
    font-family: "Noto Sans JP", sans-serif;
    border-bottom: solid 1px #222;
  }
  #contact .form table th {
    width: 250px;
    background-color: #e0e1f0;
    padding: 23px 10px 10px 30px;
    text-align: left;
    font-weight: 500;
    vertical-align: top;
  }
  #contact .form table th span {
    float: right;
    display: block;
    width: 30px;
    font-size: 14px;
    line-height: 25px;
    height: 25px;
    background-color: #272845;
    color: #fff;
    padding: 0 15px;
    margin: 0 10px 0 0;
  }
  #contact .form td {
    padding: 10px 10px 10px 20px;
  }
  #contact .form td input#name, #contact .form td input#comname {
    width: 70%;
    height: 40px;
    font-size: 14px;
    padding: 0 0 0 5px;
    border: solid 1px #222;
    margin: 5px 0;
  }
  #contact .form td input#mail, #contact .form td input#company {
    width: 70%;
    height: 40px;
    font-size: 14px;
    padding: 0 0 0 5px;
    border: solid 1px #222;
    margin: 5px 0;
  }
  #contact .form td input#tel, #contact .form td input#fax {
    width: 70%;
    height: 40px;
    font-size: 14px;
    padding: 0 0 0 5px;
    border: solid 1px #222;
    margin: 5px 0;
  }
  #contact .form td input#address {
    width: 90%;
    height: 40px;
    font-size: 14px;
    padding: 0 0 0 5px;
    border: solid 1px #222;
    margin: 5px 0;
  }
  #contact .form td textarea#comment {
    width: 90%;
    height: 150px;
    font-size: 14px;
    border: solid 1px #222;
    margin: 5px 0;
  }
  #contact .form #formEnd {
    text-align: center;
    margin: 10px 0 0 0;
  }
  div#formEnd label {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px;
    line-height: 85px;
    font-weight: 400;
  }
  input[type="checkbox"] {
    width: 20px;
    height: 20px;
    -moz-transform: scale(1.4);
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
    margin: 0 15px 0 0;
  }
  #contact .form #formEnd button {
    border: 0;
    background-color: #fff;
  }
  #contact .form #formEnd button:hover {
    opacity: 0.8;
  }
  .contactbox2.clearfix {
    width: 100%;
    overflow: hidden;
    margin: 0 auto 50px auto;
  }
  .contactbox2.clearfix ul {
    width: 90%;
    margin: 50px auto 0 auto;
    overflow: hidden;
  }
  .contactbox2.clearfix ul li {
    font-size: 14px;
    line-height: 22px;
    margin: 0 0 20px 0;
  }
  .footer_banner {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
  .footer_banner img {
    width: 100%;
  }
}
/* Tablet */
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  /*-------------
underlayer_header
-------------*/
  .fixedmenu4 {
    background-color: rgba(255, 255, 255, 0.9);
  }
  /*-------------
main
-------------*/
  #underlayer_main {
    width: 95%;
    margin: 0 auto 0 auto;
    overflow: hidden;
  }
  ul.banner.clearfix {
    width: 100%;
    padding: 50px 0 30px 0;
    overflow: hidden;
  }
  ul.banner.clearfix li {
    float: none;
  }
  ul.banner.clearfix li:nth-child(1) {
    margin: 0 0 0 0;
  }
  ul.banner.clearfix li:nth-child(2) {
    max-width: 800px;
    position: relative;
    margin: 30px 0 0 0;
  }
  h2.banner {
    font-weight: 400;
    font-size: 40px;
    color: #272845;
    line-height: 48px;
    letter-spacing: -2px;
    margin: 0 0 0 0;
  }
  h2.banner span {
    display: block;
    font-size: 35px;
  }
  img.circle {
    position: absolute;
    top: -250px;
    right: -100px;
  }
  img.circle2 {
    display: none;
  }
  /*-------------
contact
-------------*/
  .contactbox1.clearfix {
    width: 100%;
    overflow: hidden;
    margin: 0 auto 30px auto;
  }
  .contactbox1.clearfix p {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    line-height: 25px;
  }
  #contact .form {
    clear: both;
  }
  #contact .form table {
    border-collapse: collapse;
    width: 100%;
    margin: 20px auto 0 auto;
    border: solid 1px #222;
  }
  #contact .form table th, #contact .form td {
    font-size: 13px;
    line-height: 20px;
    font-family: "Noto Sans JP", sans-serif;
    border-bottom: solid 1px #222;
  }
  #contact .form table th {
    width: 35%;
    background-color: #e0e1f0;
    padding: 5px;
    text-align: left;
    font-weight: 500;
    vertical-align: top;
  }
  #contact .form table th span {
    float: right;
    display: block;
    width: 35px;
    font-size: 12px;
    line-height: 20px;
    height: 20px;
    background-color: #272845;
    color: #fff;
    padding: 0 5px;
    margin: 3px 5px 0 0;
  }
  #contact .form td {
    padding: 5px;
  }
  #contact .form td input#name, #contact .form td input#comname {
    width: 100%;
    height: 20px;
    font-size: 12px;
    padding: 0 0 0 5px;
    border: solid 1px #222;
    margin: 5px 0;
  }
  #contact .form td input#mail, #contact .form td input#company {
    width: 100%;
    height: 20px;
    font-size: 12px;
    padding: 0 0 0 5px;
    border: solid 1px #222;
    margin: 5px 0;
  }
  #contact .form td input#tel, #contact .form td input#fax {
    width: 100%;
    height: 20px;
    font-size: 12px;
    padding: 0 0 0 5px;
    border: solid 1px #222;
    margin: 5px 0;
  }
  #contact .form td input#address {
    width: 100%;
    height: 20px;
    font-size: 12px;
    padding: 0 0 0 5px;
    border: solid 1px #222;
    margin: 5px 0;
  }
  #contact .form td textarea#comment {
    width: 100%;
    height: 100px;
    font-size: 12px;
    border: solid 1px #222;
    margin: 5px 0;
  }
  #contact .form #formEnd {
    text-align: center;
    margin: 10px 0 0 0;
  }
  div#formEnd label {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 50px;
    font-weight: 400;
  }
  input[type="checkbox"] {
    width: 15px;
    height: 15px;
    -moz-transform: scale(1.4);
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
    margin: 0 10px 0 0;
  }
  #contact .form #formEnd button {
    border: 0;
    background-color: #fff;
    width: 80%;
    max-width: 334px;
  }
  .contactbox2.clearfix {
    width: 100%;
    overflow: hidden;
    margin: 0 auto 30px auto;
  }
  .contactbox2.clearfix ul {
    width: 100%;
    margin: 30px 0 0 0;
    overflow: hidden;
  }
  .contactbox2.clearfix ul li {
    font-size: 12px;
    line-height: 20px;
    margin: 0 0 20px 0;
  }
  .footer_banner {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
}
/* SP */
@media screen and (max-width: 480px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  /*-------------
underlayer_header
-------------*/
  .fixedmenu4 {
    background-color: rgba(255, 255, 255, 0.9);
  }
  /*-------------
main
-------------*/
  #underlayer_main {
    width: 95%;
    margin: 0 auto 0 auto;
    overflow: hidden;
  }
  ul.banner.clearfix {
    width: 100%;
    padding: 50px 0 30px 0;
    overflow: hidden;
  }
  ul.banner.clearfix li {
    float: none;
  }
  ul.banner.clearfix li:nth-child(1) {
    margin: 0 0 0 0;
  }
  ul.banner.clearfix li:nth-child(2) {
    max-width: 800px;
    position: relative;
    margin: 30px 0 0 0;
  }
  h2.banner {
    font-weight: 400;
    font-size: 35px;
    color: #272845;
    line-height: 40px;
    letter-spacing: -2px;
    margin: 0 0 0 0;
  }
  h2.banner span {
    display: block;
    font-size: 30px;
  }
  img.circle {
    position: absolute;
    top: -150px;
    right: -60px;
  }
  img.circle2 {
    display: none;
  }
  /*-------------
contact
-------------*/
  .contactbox1.clearfix {
    width: 100%;
    overflow: hidden;
    margin: 0 auto 30px auto;
  }
  .contactbox1.clearfix p {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    line-height: 25px;
  }
  #contact .form {
    clear: both;
  }
  #contact .form table {
    border-collapse: collapse;
    width: 100%;
    margin: 20px auto 0 auto;
    border: solid 1px #222;
  }
  #contact .form table th, #contact .form td {
    font-size: 13px;
    line-height: 20px;
    font-family: "Noto Sans JP", sans-serif;
    border-bottom: solid 1px #222;
  }
  #contact .form table th {
    width: 35%;
    background-color: #e0e1f0;
    padding: 5px;
    text-align: left;
    font-weight: 500;
    vertical-align: top;
  }
  #contact .form table th span {
    float: none;
    display: block;
    width: 35px;
    font-size: 12px;
    line-height: 20px;
    height: 20px;
    background-color: #272845;
    color: #fff;
    padding: 0 5px;
    margin: 0 0 0 0;
  }
  #contact .form td {
    padding: 5px;
  }
  #contact .form td input#name, #contact .form td input#comname {
    width: 100%;
    height: 20px;
    font-size: 12px;
    padding: 0 0 0 5px;
    border: solid 1px #222;
    margin: 5px 0;
  }
  #contact .form td input#mail, #contact .form td input#company {
    width: 100%;
    height: 20px;
    font-size: 12px;
    padding: 0 0 0 5px;
    border: solid 1px #222;
    margin: 5px 0;
  }
  #contact .form td input#tel, #contact .form td input#fax {
    width: 100%;
    height: 20px;
    font-size: 12px;
    padding: 0 0 0 5px;
    border: solid 1px #222;
    margin: 5px 0;
  }
  #contact .form td input#address {
    width: 100%;
    height: 20px;
    font-size: 12px;
    padding: 0 0 0 5px;
    border: solid 1px #222;
    margin: 5px 0;
  }
  #contact .form td textarea#comment {
    width: 100%;
    height: 100px;
    font-size: 12px;
    border: solid 1px #222;
    margin: 5px 0;
  }
  #contact .form #formEnd {
    text-align: center;
    margin: 10px 0 0 0;
  }
  div#formEnd label {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 50px;
    font-weight: 400;
  }
  input[type="checkbox"] {
    width: 15px;
    height: 15px;
    -moz-transform: scale(1.4);
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
    margin: 0 10px 0 0;
  }
  #contact .form #formEnd button {
    border: 0;
    background-color: #fff;
    width: 80%;
    max-width: 334px;
  }
  .contactbox2.clearfix {
    width: 100%;
    overflow: hidden;
    margin: 0 auto 30px auto;
  }
  .contactbox2.clearfix ul {
    width: 100%;
    margin: 30px 0 0 0;
    overflow: hidden;
  }
  .contactbox2.clearfix ul li {
    font-size: 12px;
    line-height: 20px;
    margin: 0 0 20px 0;
  }
  .footer_banner {
    display: block;
    max-width: 1098px;
    margin: 0 auto;
  }
}