  ﻿@media print, screen and (min-width: 768px) {
    .company_detail .contents_header {
      width: 100%;
      padding: 0 0 35px;
      background-color: #FAFAFA;
      box-sizing: border-box;
      border-bottom: 1px solid #F0F0F0
    }
    .company_detail .contents_header h1 {
      position: relative;
      width: 980px;
      margin: 27px auto 0;
      font-size: 20px;
      font-weight: bold;
      line-height: 28px;
      letter-spacing: 0.12em
    }
    .company_detail .contents_header h1 span {
      position: absolute;
      top: 0;
      right: 0;
      font-family: 'Josefin Sans', sans-serif;
      font-size: 39px;
      font-weight: 400;
      letter-spacing: 0.02em;
      line-height: 1.0;
      color: #CCCCCC
    }
    .company_detail .contents_body {
      width: 980px;
      margin: 0 auto;
      padding: 56px 0 0
    }
    .company_detail .contents_body h2.type_1 {
      position: relative;
      font-size: 25px;
      font-weight: 600;
      line-height: 33px;
      padding: 0 0 37px;
      border-bottom: 3px solid #004F99
    }
    .company_detail .contents_body h2.type_1:before {
      content: '';
      position: absolute;
      bottom: -3px;
      left: 140px;
      width: 252px;
      height: 3px;
      background-color: #0099D9
    }
    .company_detail .contents_body h2.type_1:after {
      content: '';
      position: absolute;
      bottom: -3px;
      left: 392px;
      width: 588px;
      height: 3px;
      background-color: #9FD9F6
    }
    .company_detail .contents_body h2.type_2 {
      font-size: 19px;
      font-weight: bold;
      line-height: 28px;
      letter-spacing: 0.04em;
      padding: 0 0 26px;
      border-bottom: 1px solid #0099D9
    }
    .company_detail .contents_body #contact-wrap-short {
      width: 644px;
      margin: 70px auto 0;
      background: linear-gradient(90deg, rgba(0, 153, 217, 0.1), rgba(37, 171, 94, 0.1));
      padding: 56px 28px;
      text-align: center
    }
    .company_detail .contents_body #contact-wrap-short .contact-title {
      font-size: 15px;
      line-height: 28px;
      color: #0099D9
    }
    .company_detail .contents_body #contact-wrap-short .contact-title span {
      font-weight: bold
    }
    .company_detail .contents_body #contact-wrap-short .btnContact {
      display: block;
      width: 364px;
      margin: 24px auto 0;
      box-sizing: border-box;
      border: 1px solid #0099D9;
      text-align: center;
      background-color: #fff;
      font-size: 17px;
      font-weight: bold;
      line-height: 22px;
      padding: 17px 0;
      letter-spacing: 0.04em;
      color: #0099D9
    }
    .company_detail .modal_layer {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 199;
      display: none
    }
    .company_detail .modal_layer.on {
      display: block
    }
    .company_detail .modal.map {
      position: absolute;
      top: 28px;
      left: 50%;
      transform: translateX(-50%);
      width: 980px;
      box-sizing: border-box;
      background-color: #fff;
      padding: 100px 84px 184px;
      box-shadow: 0 0 56px 0 rgba(120, 120, 120, 0.4);
      z-index: 200;
      visibility: hidden;
      opacity: 0;
      transition: all 300ms 0s ease-out
    }
    .company_detail .modal.map.on {
      visibility: visible;
      opacity: 1
    }
    .company_detail .modal.map .close {
      position: absolute;
      width: 56px;
      height: 56px;
      background: url("/jp/ja/img/common/modal_close.png") no-repeat center center;
      background-size: 100% auto;
      cursor: pointer
    }
    .company_detail .modal.map .close.header {
      top: 14px;
      right: 14px
    }
    .company_detail .modal.map .close.bottom {
      bottom: 70px;
      left: 50%;
      transform: translateX(-50%)
    }
    .company_detail .modal.map .title {
      font-size: 17px;
      font-weight: bold;
      line-height: 22px;
      letter-spacing: 0.12em;
      padding-bottom: 16px;
      border-bottom: 2px solid #1A1A1A
    }
    .company_detail .modal.map .address {
      font-size: 17px;
      line-height: 28px;
      margin: 28px 0 0
    }
    .company_detail .modal.map .subtitle {
      font-size: 15px;
      font-weight: bold;
      line-height: 20px;
      letter-spacing: 0.04em;
      margin: 62px 0 0
    }
    .company_detail .modal.map .wrapper {
      display: flex;
      justify-content: space-between
    }
    .company_detail .modal.map .wrapper dl {
      width: 364px
    }
    .company_detail .modal.map .wrapper dl dt {
      font-size: 13px;
      font-weight: bold;
      line-height: 17px;
      margin: 20px 0 0
    }
    .company_detail .modal.map .wrapper dl dd {
      margin: 16px 0 0
    }
    .company_detail .modal.map .wrapper dl dd p {
      font-size: 15px;
      line-height: 28px
    }
    .company_detail .modal.map .wrapper dl dd ul li {
      position: relative;
      font-size: 15px;
      line-height: 28px;
      padding-left: 28px
    }
    .company_detail .modal.map .wrapper dl dd ul li:before {
      content: '';
      position: absolute;
      top: 12px;
      left: 12px;
      width: 4px;
      height: 4px;
      border-radius: 2px;
      background-color: #1A1A1A
    }
    .company_detail .modal.map .img {
      margin: 56px 0 0;
      text-align: center
    }
    .pc_none {
      display: none !important
    }
  }
  
  @media screen and (max-width: 767px) {
    html, body {
      /*font-size: .26667vw*/
    }
    body {
      min-width: 320px
    }
    .company_detail .contents_header {
      width: 100%;
      background-color: #FAFAFA;
      box-sizing: border-box;
      border-bottom: 1px solid #F0F0F0;
      padding: 20px 5.06667vw
    }
    .company_detail .contents_header h1 {
      position: relative;
      font-size: 4.53333vw;
      font-weight: bold;
      line-height: 23px;
      letter-spacing: 0.06em;
      color: #1A1A1A
    }
    .company_detail .contents_header h1 span {
      display: none
    }
    .company_detail .contents_body {
      padding: 28px 5.06667vw 0
    }
    .company_detail .contents_body h2.type_1 {
      position: relative;
      font-family: 'Josefin Sans', sans-serif;
      font-size: 21px;
      font-weight: 600;
      line-height: 28px;
      letter-spacing: -0.02em;
      color: #111111;
      border-bottom: 3px solid #004F99;
      padding: 0 0 21px
    }
    .company_detail .contents_body h2.type_1:before {
      content: '';
      position: absolute;
      bottom: -3px;
      left: 11.2vw;
      width: 26.13333vw;
      height: 3px;
      background-color: #0099D9
    }
    .company_detail .contents_body h2.type_1:after {
      content: '';
      position: absolute;
      bottom: -3px;
      left: 37.33333vw;
      width: 52.53333vw;
      height: 3px;
      background-color: #9FD9F6
    }
    .company_detail .contents_body h2.type_1 span {
      font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
      font-size: 13px;
      line-height: 38px;
      color: #666666;
      margin-left: 24px
    }
    .company_detail .contents_body h2.type_2 {
      font-size: 17px;
      font-weight: bold;
      line-height: 28px;
      letter-spacing: 0.04em;
      padding: 0 0 26px;
      border-bottom: 1px solid #0099D9
    }
    .company_detail .contents_body #contact-wrap-short {
      width: 100%;
      margin: 70px 0 0;
      background-color: #E6F4FA;
      box-sizing: border-box;
      padding: 42px 28px;
      text-align: center
    }
    .company_detail .contents_body #contact-wrap-short .contact-title {
      font-size: 15px;
      line-height: 28px;
      color: #0099D9
    }
    .company_detail .contents_body #contact-wrap-short .contact-title span {
      font-weight: bold
    }
    .company_detail .contents_body #contact-wrap-short .btnContact {
      display: block;
      width: 196px;
      margin: 24px auto 0;
      box-sizing: border-box;
      border: 1px solid #0099D9;
      text-align: center;
      background-color: #fff;
      font-size: 17px;
      font-weight: bold;
      line-height: 21px;
      padding: 17px 0;
      letter-spacing: 0.04em;
      color: #0099D9
    }
    .company_detail .modal_layer {
      display: none
    }
    .company_detail .modal.map {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background-color: #fff;
      box-sizing: border-box;
      padding: 48px 5.06667vw 56px;
      overflow-y: auto;
      z-index: 200;
      display: none
    }
    .company_detail .modal.map.on {
      display: block
    }
    .company_detail .modal.map .close {
      position: absolute;
      width: 28px;
      height: 28px;
      background: url("/jp/ja/img/common/sp/modal_close.png") no-repeat center center;
      background-size: 100% auto
    }
    .company_detail .modal.map .close.header {
      top: 14px;
      right: 14px
    }
    .company_detail .modal.map .close.bottom {
      position: static;
      margin: 64px auto 0
    }
    .company_detail .modal.map .title {
      font-size: 17px;
      font-weight: bold;
      line-height: 22px;
      letter-spacing: 0.12em;
      padding-bottom: 16px;
      border-bottom: 2px solid #1A1A1A
    }
    .company_detail .modal.map .address {
      font-size: 17px;
      line-height: 28px;
      margin: 28px 0 0
    }
    .company_detail .modal.map .subtitle {
      font-size: 15px;
      font-weight: bold;
      line-height: 20px;
      letter-spacing: 0.04em;
      margin: 56px 0 0
    }
    .company_detail .modal.map .wrapper dl dt {
      font-size: 13px;
      font-weight: bold;
      line-height: 18px;
      margin: 20px 0 0
    }
    .company_detail .modal.map .wrapper dl dd {
      margin: 16px 0 0
    }
    .company_detail .modal.map .wrapper dl dd p {
      font-size: 15px;
      line-height: 28px
    }
    .company_detail .modal.map .wrapper dl dd ul li {
      position: relative;
      font-size: 15px;
      line-height: 28px;
      padding-left: 28px
    }
    .company_detail .modal.map .wrapper dl dd ul li:before {
      content: '';
      position: absolute;
      top: 12px;
      left: 12px;
      width: 4px;
      height: 4px;
      border-radius: 2px;
      background-color: #1A1A1A
    }
    .company_detail .modal.map .img {
      width: 100vw;
      margin: 56px calc(-19 / 375 * 100vw) 0
    }
    .company_detail .modal.map .img img {
      width: 100%
    }
    .sp_none {
      display: none !important
    }
  }