@charset "utf-8";

/*font-family: "Zen Kaku Gothic Antique", sans-serif;*/

@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");

/*=====ボディ設定*/
html {
  font-size: 62.5%;
  line-height: 1;
  color: #000;
  font-family: "Zen Kaku Gothic New", sans-serif; /*基本フォント,代替フォント*/
}

body {
  font-size: 1.6rem;
  overflow: hidden;
}

pc {
  display: block !important;
}

.sp {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }
}

/*=====ヘッダー*/
header {
  width: 100%;
}

.header_wrap {
  width: 920px;
  margin: 50px auto 25px;
}

header h1 {
  width: 339px;
  height: 54px;
}

/*ヘッダーロゴ*/
header h1 a {
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
  background-image: url(../images/common/h_logo.svg);
  background-size: cover;
}

.nav_global {
  border-top: 1px solid #3f59b2;
  border-bottom: 2px solid #3f59b2;
}

/*ナビゲーション*/
.nav_list {
  display: grid;
  grid-template-columns: repeat(5, 192px);
  width: 920px;
  list-style: none;
  text-align: center;
  margin: 0 auto;
}

/*ナビゲーション（aタグ調整）*/
.nav_list a {
  display: block;
  font-weight: 700;
  color: #000;
  transition: 0.1s;
  text-decoration: none;
  padding: 14px 0 11px 0;
}

/*ナビゲーション（英語調整）*/
.nav_list a span {
  display: block; /*ナビテキスト縦積み*/
  font-size: 1.2rem;
  font-weight: 600;
  color: #3f59b2;
  transition: 0.1s;
  margin-top: 8px;
}

/*ナビゲーションホバー調整*/
.nav_list a:hover,
.nav_list a.is_carrent,
.nav_list a.is_carrent span {
  color: #fff;
  background-color: #3f59b2;
}

.nav_list a:hover span {
  color: #fff;
}

/*=====メイン*/
main {
}

/*=====アサイド*/
aside {
}

/*=====フッター*/
footer {
  width: 100%;
  background-color: #e7ecfc;
  text-align: center;
  border-top: 1px solid #3f59b2;
}

/*フッターロゴ位置調整*/
footer img {
  margin: 58px 0 15px;
}

/*フッター住所調整*/
footer .address {
  margin-bottom: 20px;
  font-size: 1.4rem;
}

/*フッター電話番号調整*/
footer .tel {
  margin-bottom: 40px;
  font-size: 1.4rem;
}

/*コピーライト*/
.copyright {
  background-color: #3f59b2;
  color: #fff;
  padding: 11px 0;
  font-size: 1.4rem;
  font-weight: 500;
}

/*------------------------------------------------------------------------------
  ブレークポイント
------------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  /*イメージ設定*/
  img {
    max-width: 100%;
    height: auto;
  }

  /*---------------------------
  header
----------------------------*/
  header {
    position: fixed;
    z-index: 1001;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    width: 100%;
    height: 15vw;
    background-color: #fff;
    padding: 0 0 0 15px;
  }

  .header_wrap {
    width: auto;
    margin: 0;
  }

  header h1 {
    width: 62.6vw;
    height: 10vw;
  }

  /*ヘッダーロゴ*/
  header h1 a {
    background-size: contain;
  }

  /*ナビゲーション*/
  .nav_list {
    position: absolute;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100vh;
    background-color: #3f59b2;
    text-align: left;
    padding: 20vw 8vw;
    overflow: scroll;
    margin: 0 auto;
  }

  /*ナビゲーション（aタグ調整）*/
  .nav_list a {
    font-size: 4vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 600;
    color: #fff;
    padding: 4vw 0;
  }

  /*ナビゲーション（英語調整）*/
  .nav_list a span {
    width: 20vw;
    font-size: 3vw;
    font-weight: 400;
    color: #fff;
  }

  /*トグル開閉ボタン*/
  .menu-button {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 1.6vw;
    width: 15vw;
    height: 15vw;
    background-color: #3f59b2;
  }

  .menu-button__line,
  .menu-button::before,
  .menu-button::after {
    content: "";
    width: 11vw;
    height: 1.4vw;
    background-color: #ffffff;
    transition: transform 0.6s, opacity 0.3s;
  }

  .menu-button.is-opened .menu-button__line {
    opacity: 0;
  }

  .menu-button.is-opened::before {
    transform: translateY(3.5vw) rotate(315deg);
  }

  .menu-button.is-opened::after {
    transform: translateY(-2.4vw) rotate(-315deg);
  }

  /*---------------------------
  footer
----------------------------*/

  /*フッターロゴ位置調整*/
  footer img {
    margin: 7vw 0 8vw;
    width: 100%;
    height: 12vw;
  }

  /*フッター住所調整*/
  footer .address {
    margin-bottom: 4vw;
    font-size: 3.5vw;
    margin-left: 24px;
    text-align: left;
  }

  /*フッター電話番号調整*/
  footer .tel {
    margin-bottom: 8vw;
    font-size: 3.5vw;
    margin-left: 24px;
    text-align: left;
  }

  /*コピーライト*/
  .copyright {
    background-color: #3f59b2;
    color: #fff;
    padding: 3.5vw 0;
    font-size: 2.7vw;
  }
}
