@charset "UTF-8";
/* ===================================================================
CSS information
 file name  :shared.css
 style info :共通のスタイル
=================================================================== */
/* ==========================================================
    BASE
  ========================================================== */
body {
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Meiryo", "メイリオ", "Osaka", "MS PGothic", arial, helvetica, sans-serif;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  color: #444;
  background: #fff;
  line-height: 1.6; }

img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }
  @media screen and (max-width: 750px) {
    img {
      width: 100%;
      height: auto; } }

@media screen and (min-width: 751px) {
  .pcNone {
    display: none; } }

@media screen and (max-width: 750px) {
  .spNone {
    display: none; } }

/* ==========================================================
    HEADER
  ========================================================== */
header {
  background: #fff; }
  header .inner {
    margin: 0 auto;
    text-align: center;
    position: relative; }
    @media screen and (min-width: 751px) {
      header .inner {
        width: 810px;
        padding: 20px 0 2px; } }
    @media screen and (max-width: 750px) {
      header .inner {
        padding: 3vw; } }
    header .inner .logo {
      float: left; }
      @media screen and (min-width: 751px) {
        header .inner .logo {
          width: 88px; } }
      @media screen and (max-width: 750px) {
        header .inner .logo {
          width: 20%; } }
      header .inner .logo img {
        width: 100%; }
    @media screen and (min-width: 751px) {
      header .inner .nav {
        float: right;
        width: 640px; } }
    @media screen and (max-width: 750px) {
      header .inner .nav {
        display: none; } }
    @media screen and (min-width: 751px) {
      header .inner .nav .gnav {
        float: left;
        padding-top: 18px; } }
    @media screen and (min-width: 751px) {
      header .inner .nav .gnav li {
        float: left;
        margin-right: 40px; } }
    @media screen and (min-width: 751px) {
      header .inner .nav .snav {
        float: right;
        padding-top: 10px; } }
    @media screen and (min-width: 751px) {
      header .inner .nav .snav li {
        float: left;
        margin-left: 20px; } }
    header .inner .bnav {
      clear: both; }
      @media screen and (max-width: 750px) {
        header .inner .bnav {
          display: none; } }
      @media screen and (min-width: 751px) {
        header .inner .bnav li {
          float: left; } }
      header .inner .bnav li img {
        vertical-align: top; }
    @media screen and (min-width: 751px) {
      header .inner .btnMenu {
        display: none; } }
    @media screen and (max-width: 750px) {
      header .inner .btnMenu {
        float: right;
        width: 8.4%; } }

.menuWrap {
  display: none; }
  @media screen and (max-width: 750px) {
    .menuWrap {
      position: absolute;
      top: 0;
      width: 100%;
      height: 100%;
      padding: 12vw 3vw 0; }
      .menuWrap .btnClose {
        position: absolute;
        z-index: 9999;
        width: 7%;
        top: 3vw;
        right: 3.2vw; }
      .menuWrap #spMenu {
        position: relative;
        z-index: 9999;
        background: #fff;
        border-radius: 10px;
        padding: 4vw 0; }
        .menuWrap #spMenu h2 {
          width: 10%;
          margin: 0 auto 4vw; }
        .menuWrap #spMenu .gnav {
          margin-bottom: 6vw; }
          .menuWrap #spMenu .gnav li {
            clear: both; }
            .menuWrap #spMenu .gnav li .companyNav {
              width: 60%;
              margin: 0 auto 4vw;
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-pack: justify;
              -ms-flex-pack: justify;
              justify-content: space-between;
              -webkit-box-align: stretch;
              -ms-flex-align: stretch;
              align-items: stretch;
              -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
              .menuWrap #spMenu .gnav li .companyNav li {
                font-family: "FOT-ロダンNTLG Pro DB", "NewRodinPro-DB", "ヒラギノ角ゴ Pro W3";
                text-align: left;
                width: 50%;
                font-size: 3.4vw;
                background: url(/assets/img/shared/bg_icn_gray.png) no-repeat top 1.4vw left;
                background-size: 10%;
                padding-left: 4vw;
                margin-bottom: 2vw; }
                .menuWrap #spMenu .gnav li .companyNav li a {
                  display: block; }
        .menuWrap #spMenu .snav {
          margin-left: 4vw; }
          .menuWrap #spMenu .snav li {
            width: 30%;
            margin-bottom: 4vw; } }

@media screen and (max-width: 750px) {
  .bgMenu {
    content: "";
    display: none;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    position: fixed;
    z-index: 9998;
    top: 0;
    left: 0; } }

/* ==========================================================
    FOOTER
  ========================================================== */
footer {
  clear: both; }
  @media screen and (min-width: 751px) {
    footer {
      padding-bottom: 20px;
      margin-top: 40px; } }
  @media screen and (max-width: 750px) {
    footer {
      padding-bottom: 2vw;
      margin-top: 10vw; } }
  footer .innerT {
    text-align: right;
    border-bottom: 1px solid #e6e6e6; }
    @media screen and (min-width: 751px) {
      footer .innerT {
        padding-bottom: 20px; } }
    @media screen and (max-width: 750px) {
      footer .innerT {
        padding-bottom: 3vw; } }
    @media screen and (max-width: 750px) {
      footer .innerT p {
        width: 40%;
        margin: 0 auto; } }
  @media screen and (min-width: 751px) {
    footer .innerB ul {
      padding-top: 10px; } }
  @media screen and (max-width: 750px) {
    footer .innerB ul {
      padding-top: 3vw; } }
  footer .innerB ul li {
    float: left; }
    @media screen and (min-width: 751px) {
      footer .innerB ul li {
        font-size: 10px;
        margin-right: 20px; } }
    @media screen and (max-width: 750px) {
      footer .innerB ul li {
        font-size: 2.4vw;
        margin-right: 2vw; } }
    footer .innerB ul li:before {
      content: "＞"; }
      @media screen and (min-width: 751px) {
        footer .innerB ul li:before {
          margin-right: 2px; } }
      @media screen and (max-width: 750px) {
        footer .innerB ul li:before {
          margin-right: 0.4vw; } }
  footer .innerB small {
    display: block; }
    @media screen and (min-width: 751px) {
      footer .innerB small {
        font-size: 10px;
        padding-top: 14px; } }
    @media screen and (max-width: 750px) {
      footer .innerB small {
        font-size: 2vw;
        padding-top: 2vw;
        text-align: right; } }
    @media screen and (max-width: 750px) {
      footer .innerB small span {
        font-size: 3.4vw;
        position: relative;
        top: 0.7vw; } }
  footer .inner {
    margin: 0 auto; }
    @media screen and (min-width: 751px) {
      footer .inner {
        width: 940px; } }
    @media screen and (max-width: 750px) {
      footer .inner {
        padding: 0 2vw; } }
