@charset "UTF-8";
/* Scss Document */
/*=============================================================
 レイアウト設定
=============================================================*/
.flex {
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: flex-start;
  flex-flow: row wrap; }

.jc-space-between {
  justify-content: space-between; }

.jc-center {
  justify-content: center; }

.jc-flex-end {
  justify-content: flex-end; }

.jc-flex-start {
  justify-content: flex-start; }

.al-center {
  align-items: center; }

.al-stretch {
  align-items: stretch; }

.al-flex-end {
  align-items: flex-end; }

.al-flex-start {
  align-items: flex-start; }

@media print, screen and (min-width: 767.9px) {
  .order1 {
    order: 1; }

  .order2 {
    order: 2; } }
/*=============================================================
 common
=============================================================*/
html {
  scroll-behavior: smooth; }

body {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  line-height: 1.68;
  color: #000000;
  background-color: #f6f8fd;
  margin: 0;
  padding: 0;
  text-align: center;
  font-weight: 500;
  font-style: normal;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em;
  animation: fadeIn 1s forwards; }
  @media screen and (max-width: 767.9px) {
    body {
      font-size: 3.5vw; } }
  @media print, screen and (min-width: 767.9px) {
    body {
      font-size: 14px; } }
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
  body b {
    font-weight: 700;
    font-style: normal; }
  body .en {
    font-family: 'Oswald', serif;
    letter-spacing: 0.1em;
    font-weight: 400; }
  body .mincho {
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.1em; }
  body a {
    color: #000;
    text-decoration: none; }
  body a:hover {
    opacity: 0.7;
    -webkit-transition: all .3s;
    transition: all .3s; }
  body img {
    width: 100%;
    height: auto;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
    @media print, screen and (min-width: 767.9px) {
      body img {
        width: auto;
        max-width: 100%; } }
  body .object-fit {
    object-fit: contain;
    font-family: "object-fit: contain;"; }
  body .view-sp {
    display: block; }
    @media print, screen and (min-width: 767.9px) {
      body .view-sp {
        display: none; } }
  body .view-pc {
    display: none; }
    @media print, screen and (min-width: 767.9px) {
      body .view-pc {
        display: block; } }
  body #wrap,
  body #contents {
    overflow: hidden; }
  body #contents {
    position: relative;
    background-color: #fff; }
    @media screen and (max-width: 767.9px) {
      body #contents {
        margin-top: 60px; } }
    @media print, screen and (min-width: 767.9px) {
      body #contents {
        margin-top: 100px; } }
  body.home #contents {
    z-index: 5; }
  body .container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
    position: relative; }
    @media screen and (min-width: 767.9px) and (max-width: 1280px) {
      body .container {
        padding: 0 50px; } }
    @media print, screen and (min-width: 1280px) {
      body .container {
        padding: 0; } }

/*=============================================================
 #gheader
=============================================================*/
@media print, screen and (min-width: 767.9px) {
  #gHeader {
    line-height: 1;
    padding: 20px 0;
    background-color: #fff;
    box-sizing: border-box;
    height: 100px;
    position: fixed;
    width: 100%;
    z-index: 2; }
    #gHeader .container {
      padding: 0; } }
    @media screen and (min-width: 767.9px) and (min-width: 767.9px) and (max-width: 1200px) {
      #gHeader .container {
        padding-left: 2vw;
        padding-right: 2vw;
        font-size: 1.4vw; } }
  @media print, screen and (min-width: 767.9px) and (min-width: 767.9px) {
    #gHeader h1 {
      width: auto; } }
  @media screen and (min-width: 767.9px) and (min-width: 767.9px) and (max-width: 1200px) {
    #gHeader h1 {
      width: 20%;
      display: flex;
      align-items: center; } }
  @media screen and (min-width: 767.9px) and (min-width: 767.9px) and (max-width: 1200px) {
    #gHeader h1 img {
      width: 100%;
      height: auto; } }
@media print, screen and (min-width: 767.9px) {
    #gHeader ul li {
      margin-left: 30px; } }
    @media screen and (min-width: 767.9px) and (min-width: 767.9px) and (max-width: 1200px) {
      #gHeader ul li {
        margin-left: 20px; } }
@media print, screen and (min-width: 767.9px) {
      #gHeader ul li:first-child {
        margin: 0; }
      #gHeader ul li a {
        display: block; }
        #gHeader ul li a i {
          margin-left: 1em; }
          #gHeader ul li a i img {
            transform: rotate(90deg); }
    #gHeader ul#logoLink {
      margin-bottom: 10px; }
    #gHeader nav {
      margin-top: 10px; }
    #gHeader .btn_document,
    #gHeader .btn_contact {
      margin-left: 30px; }
      #gHeader .btn_document a,
      #gHeader .btn_contact a {
        display: block;
        background: #325a8a;
        color: #fff;
        width: 160px;
        line-height: 40px;
        /*box-shadow: 2px 5px 5px rgba(213,213,213,0.5);*/ } }
      @media screen and (min-width: 767.9px) and (min-width: 767.9px) and (max-width: 1200px) {
        #gHeader .btn_document a,
        #gHeader .btn_contact a {
          width: auto;
          padding: 0 1em; } }
@media print, screen and (min-width: 767.9px) {
        #gHeader .btn_document a span,
        #gHeader .btn_contact a span {
          display: flex;
          align-items: center;
          justify-content: center; }
        #gHeader .btn_document a i,
        #gHeader .btn_contact a i {
          display: flex;
          align-items: center;
          justify-content: center;
          margin-right: 0.5em; } }
        @media screen and (min-width: 767.9px) and (min-width: 767.9px) and (max-width: 1200px) {
          #gHeader .btn_document a i,
          #gHeader .btn_contact a i {
            display: none; } }
@media print, screen and (min-width: 767.9px) {
    #gHeader .btn_contact {
      margin-left: 10px; }
      #gHeader .btn_contact a {
        background: #e3170a; } }
@media screen and (max-width: 767.9px) {
  .drawer-nav {
    z-index: 2;
    background-color: #FFF; }
    .drawer-nav #logoLink li {
      margin-top: 10px;
      margin-right: 10px; }
      .drawer-nav #logoLink li img {
        width: auto;
        height: 1em; }

  .drawer-overlay {
    z-index: 3;
    background-color: rgba(0, 0, 0, 0.8); }

  .drawer-hamburger {
    position: absolute;
    top: 0;
    right: 0 !important;
    z-index: 10;
    background: #fff !important;
    width: 60px !important;
    height: 60px !important;
    box-sizing: border-box !important; }

  .drawer-open .drawer-hamburger {
    right: 0 !important; }

  .drawer-hamburger-icon {
    margin-top: 10px !important;
    background-color: #000;
    transform: scale(0.7); }

  .drawer-open .drawer-hamburger-icon {
    background-color: transparent !important; }

  .drawer-hamburger-icon:before,
  .drawer-hamburger-icon:after {
    background-color: #000; }

  .drawer-open .drawer-hamburger-icon:before,
  .drawer-open .drawer-hamburger-icon:after {
    background-color: #000; }

  #gHeader {
    background-color: #fff;
    position: fixed;
    z-index: 10; }
    #gHeader .container {
      padding: 0 10px; }
    #gHeader .col2 {
      width: 98%;
      /* IE8以下とAndroid4.3以下用フォールバック */
      width: -webkit-calc(100% - 50px);
      width: calc(100% - 50px);
      height: 60px; }
      #gHeader .col2 .logo {
        line-height: 1;
        text-align: left;
        position: relative;
        width: 50%; }
        #gHeader .col2 .logo img {
          width: 100%; }
    #gHeader .btn_document,
    #gHeader .btn_contact {
      width: 50%;
      height: 60px; }
      #gHeader .btn_document a,
      #gHeader .btn_contact a {
        display: block;
        color: #fff;
        width: 100%;
        height: 100%;
        background-color: #325a8a;
        display: flex;
        align-items: center;
        justify-content: center; }
        #gHeader .btn_document a i,
        #gHeader .btn_contact a i {
          display: block;
          height: 20px; }
          #gHeader .btn_document a i img,
          #gHeader .btn_contact a i img {
            width: 1.5em;
            height: auto; }
    #gHeader .btn_contact {
      right: 60px; }
      #gHeader .btn_contact a {
        background-color: #e3170a; }
    #gHeader .view-sp .btn_document,
    #gHeader .view-sp .btn_contact {
      width: 60px;
      height: 60px; }
      #gHeader .view-sp .btn_document a,
      #gHeader .view-sp .btn_contact a {
        font-size: 2.3vw; }
    #gHeader p.logo {
      line-height: 1;
      margin: 60px 0 20px 0;
      width: 100% !important;
      text-align: center !important; }
      #gHeader p.logo img {
        width: 60% !important;
        margin: 0 auto !important; }
    #gHeader nav {
      padding: 40px 20px; }
      #gHeader nav a {
        font-size: 3.5vw;
        padding: 1.5em; }
        #gHeader nav a i img {
          width: 0.5em; }
      #gHeader nav ul li {
        width: 100%;
        text-align: center; }
        #gHeader nav ul li a {
          display: block;
          border: 1px solid #ccc; } }
/*=============================================================
 #gFooter
=============================================================*/
#gFooter {
  position: relative;
  background-color: #f6f8fd;
  line-height: 1; }
  @media screen and (max-width: 767.9px) {
    #gFooter {
      padding: 50px 0 0 0; } }
  @media print, screen and (min-width: 767.9px) {
    #gFooter {
      padding: 80px 0 0 0; } }
  @media screen and (max-width: 767.9px) {
    #gFooter .logo {
      width: 100%; } }
  @media screen and (max-width: 767.9px) {
    #gFooter .logo img {
      width: 80%; } }
  @media screen and (max-width: 767.9px) {
    #gFooter .rightBox {
      width: 100%;
      padding: 30px 0; } }
  @media print, screen and (min-width: 767.9px) {
    #gFooter .rightBox {
      justify-content: flex-end; } }
  #gFooter .rightBox ul {
    text-align: left; }
    @media screen and (max-width: 767.9px) {
      #gFooter .rightBox ul {
        width: 50%; } }
    @media print, screen and (min-width: 767.9px) {
      #gFooter .rightBox ul {
        margin-left: 100px;
        margin-top: -1.2em; } }
    @media screen and (max-width: 767.9px) {
      #gFooter .rightBox ul:nth-child(3) {
        border-top: 1px solid #ccc;
        width: 100%;
        margin-top: 20px;
        padding-top: 10px; } }
    #gFooter .rightBox ul:nth-child(3) li a {
      display: inline-block;
      background: url("../image/ico_external.png") no-repeat right center;
      padding-right: 1.5em; }
    #gFooter .rightBox ul li {
      margin-top: 1.2em; }
      #gFooter .rightBox ul li ul {
        margin-top: 1.2em;
        margin-left: 0; }
        @media screen and (max-width: 767.9px) {
          #gFooter .rightBox ul li ul {
            width: 100%; } }
        #gFooter .rightBox ul li ul li {
          position: relative; }
          #gFooter .rightBox ul li ul li:before {
            content: "-";
            display: inline-block;
            margin-right: 0.5em; }
  #gFooter #copy {
    background-color: #dde3ea;
    text-align: center;
    letter-spacing: 0.1em;
    box-sizing: border-box;
    padding: 10px 0; }
    @media print, screen and (min-width: 767.9px) {
      #gFooter #copy {
        width: auto;
        text-align: center;
        padding: 10px 0;
        margin-top: 80px; } }

/*=============================================================
　SPのみコンテンツ横スクロール
=============================================================*/
@media screen and (max-width: 767.9px) {
  .scroll {
    overflow: auto;
    white-space: nowrap; }

  .scroll::-webkit-scrollbar {
    height: 5px; }

  .scroll::-webkit-scrollbar-track {
    background: #F1F1F1; }

  .scroll::-webkit-scrollbar-thumb {
    background: #BCBCBC; }

  .scroll th,
  .scroll td {
    display: table-cell; } }
