@charset "UTF-8";
/* CSS Document */
/* kyoutuu
-------------------------------------------------------*/
body {
  font-family: "Noto Sans Japanese";
  -webkit-text-size-adjust: 100%;
  /* iPhone用 */
  height: 100%;
  width: 100%;
  padding-top: 0 !important;
  -webkit-font-smoothing: antialiased;
  margin: 0;
  color: #292929;
  position: relative; }

html {
  height: 100%;
  font-size: 62.5%; }

.contents {
  position: relative;
  top: -20px; }

.pc_only {
  display: block !important; }

.sp_only {
  display: none !important; }

@media screen and (min-width: 769px) and (max-width: 1024px) {
  html {
    font-size: 50%; } }
@media screen and (min-width: 640px) and (max-width: 768px) {
  html {
    font-size: 45%; } }
/* 共通
-------------------------------------------------------*/
a {
  -webkit-transition: opacity 0.4s;
  -moz-transition: opacity 0.4s;
  transition: opacity 0.4s;
  text-decoration: none;
  display: inline-block;
  color: #292929; }

a:hover {
  opacity: 0.5; }

p {
  font-size: 19px;
  font-size: 1.9rem; }

ul {
  padding: 0;
  margin: 0; }

@media (max-width: 767px) {
  p {
    font-size: 13px;
    font-size: 1.3rem; } }
/* header
-------------------------------------------------------*/
header a {
  display: block;
  border-bottom: #FFF solid 1px;
  border-left: #FFF solid 1px;
  border-right: #FFF solid 1px;
  background: #000000;
  position: absolute;
  top: 0;
  left: 9%;
  z-index: 100; }
  header a:hover {
    opacity: 1 !important; }
  header a img {
    padding: 66px 35px 63px;
    margin: 0 auto;
    display: block;
    width: 195px; }

@media (min-width: 1280px) {
  header a img {
    height: 40px; } }
@media (max-width: 1279px) {
  header a {
    left: 7%;
    width: 21%; }
    header a img {
      padding: 26% 0 25%;
      width: 73.5%; } }
@media (max-width: 767px) {
  header a {
    left: 4%;
    width: 28%;
    border-bottom: #CCC solid 1px;
    border-left: #CCC solid 1px;
    border-right: #CCC solid 1px; } }
/* main-visual
-------------------------------------------------------*/
@media (min-width: 1500px) {
  .mv {
    height: 560px !important; }
    .mv h1 {
      font-size: 40px !important;
      font-size: 4.0rem !important; } }
.mv {
  text-align: center;
  width: 100%;
  height: 462px;
  margin: 0 auto;
  background: url(../images/main.jpg) no-repeat #000;
  background-position: top center;
  background-size: 100% auto;
  display: block;
  position: relative;
  border-bottom: 8px solid #fff000; }
  .mv h1 {
    font-size: 34px;
    font-size: 3.4rem;
    color: #FFFFFF;
    line-height: 1;
    font-weight: 300;
    padding-top: 21%;
    margin: 0;
    text-shadow: 0px 0px 15px #191b40; }

@media (max-width: 1024px) {
  .mv {
    height: 330px; } }
@media (max-width: 768px) {
  .mv {
    height: 280px; } }
@media (max-width: 767px) {
  .mv {
    border-bottom: 4px solid #fff000;
    background-size: cover; }
    .mv h1 {
      font-size: 22px;
      font-size: 2.2rem;
      padding-top: 28%; } }
@media (max-width: 500px) {
  .mv {
    height: 240px; }
    .mv h1 {
      padding-top: 36%; } }
@media (max-width: 360px) {
  .mv h1 {
    padding-top: 40%; } }
/* products-type
-------------------------------------------------------*/
.products-type {
  width: 100%;
  -js-display: flex;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex; }
  .products-type li {
    font-size: 16px;
    font-size: 1.6rem;
    flex-wrap: nowrap;
    width: calc(99.6% / 6);
    float: left;
    text-align: center;
    border-bottom: 1px solid #e6e6e6;
    border-right: 1px solid #e6e6e6;
    padding-bottom: 2%;
    list-style: none;
    list-style-type: none; }
    .products-type li:last-child {
      border-right: none; }
    .products-type li img {
      width: 100%;
      margin-bottom: 10%; }

@media (max-width: 1243px) {
  .products-type li {
    width: calc(99.5% / 6); } }
@media (max-width: 988px) {
  .products-type li {
    width: calc(99.3% / 6); } }
@media (max-width: 767px) {
  .products-type li {
    font-size: 12px;
    font-size: 1.2rem;
    width: calc(99.6% / 3);
    padding-bottom: 16px; }
    .products-type li:nth-child(3) {
      border-right: none; }
    .products-type li:nth-child(4) {
      clear: left;
      float: left; }
    .products-type li img {
      margin-bottom: 13px; } }
@media (max-width: 500px) {
  .products-type li {
    width: calc(99.3% / 3); } }
/* col-box
-------------------------------------------------------*/
.col-box {
  width: 1160px;
  margin: 5% auto 4%; }
  .col-box .col-2 {
    font-size: 19px;
    font-size: 1.9rem;
    padding-bottom: 2%;
    width: 100%;
    -js-display: flex;
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex; }
    .col-box .col-2 .box {
      background: #f2f2f2;
      padding: 30px 70px 35px;
      width: 49%;
      float: left;
      margin: 0 1%;
      -webkit-justify-content: space-around;
      /* Safari */
      justify-content: space-around; }
    .col-box .col-2 h2 {
      font-size: 30px;
      font-size: 3rem;
      text-align: center;
      font-family: 'Alef', sans-serif;
      font-weight: normal;
      margin-bottom: 40px; }
    .col-box .col-2 p {
      font-size: 19px;
      font-size: 1.9rem;
      line-height: 2.0em;
      text-align: justify; }
    .col-box .col-2 li, .col-box .col-2 dt {
      position: relative;
      list-style: none;
      list-style-type: none;
      padding-left: 20px;
      margin-bottom: 20px; }
      .col-box .col-2 li:before, .col-box .col-2 dt:before {
        content: '・';
        position: absolute;
        left: 0;
        top: 0.025em;
        color: #e94b19; }
    .col-box .col-2 .business li {
      font-size: 22px;
      font-size: 2.2rem;
      padding-left: 22px;
      line-height: 1.4em; }
    .col-box .col-2 .product ul {
      padding-left: 33%; }
    .col-box .col-2 dd {
      margin: -3px 0 28px;
      letter-spacing: -0.02em;
      line-height: 1.4em; }

@media (max-width: 1160px) {
  .col-box {
    width: 90%;
    margin: 5% 5% 6%; }
    .col-box .col-2 .box {
      padding: 30px 50px; }
    .col-box .col-2 h2 {
      margin-bottom: 35px; }
    .col-box .product ul {
      padding-left: 30%; } }
@media (max-width: 768px) {
  .col-box {
    width: 94%;
    margin: 5% 3% 6%; }
    .col-box .col-2 .box {
      padding: 20px 40px; } }
@media (max-width: 767px) {
  .col-box {
    width: 90%;
    margin: 10% 5% 6%; }
    .col-box .col-2 {
      font-size: 13px;
      font-size: 1.3rem;
      display: block;
      padding-bottom: 0; }
      .col-box .col-2 .box {
        width: auto;
        padding: 4.5% 8% 8%;
        float: none;
        margin: 0 0 6%; }
      .col-box .col-2 h2 {
        font-size: 22px;
        font-size: 2.2rem;
        margin-bottom: 25px; }
    .col-box p {
      font-size: 13px !important;
      font-size: 1.3rem !important;
      line-height: 1.9em !important; }
    .col-box li, .col-box dt {
      padding-left: 15px !important;
      margin-bottom: 10px !important; }
    .col-box .business li, .col-box .product li {
      font-size: 15px !important;
      font-size: 1.5rem !important;
      padding-left: 22px;
      line-height: 1.4em; }
    .col-box .product ul {
      padding-left: 32%; }
    .col-box dd {
      margin: -2px 0 15px !important;
      line-height: 1.4em;
      letter-spacing: -0.05em !important; } }
@media (max-width: 360px) {
  .col-box .col-2 .box {
    padding: 4% 7% 8%; }
  .col-box dd {
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: -0.07em !important; } }
/* footer
-------------------------------------------------------*/
footer .copyright {
  font-size: 16px;
  font-size: 1.6rem;
  padding: 30px 0;
  width: 100%;
  text-align: center;
  letter-spacing: 0.025em;
  text-indent: 0.025em;
  border-top: 8px solid #fff000; }

@media (max-width: 768px) {
  footer {
    display: block; }
    footer .copyright {
      font-size: 11px;
      font-size: 1.1rem;
      padding: 16px 0 18px;
      border-top: 4px solid #fff000; } }
