@charset "UTF-8";
@import url("reset.css");
@import url("m_menu.css");
@import url("swiper-bundle.min.css");
/*共通設定-------------------------------------------------------------------------------------------------------------------------------------*/
/*基本設定*/
html {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif,"游明朝体", "Yu Mincho", YuMincho;
  line-height: 1.5;
  position: relative; }

main {
  display: block; }

a img {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease; }

a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-opacity: 0.7; }

/*ヘッダー*/
header {
  width: 100%; }
  header #header_wrap {
    width: 100%;
    background-color: #1b1464; }
    header #header_wrap #header_inner {
      margin: 0 auto 0;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      height: 76px; }
      header #header_wrap #header_inner h1 {
        width: 222px; }
      header #header_wrap #header_inner #menuList {
        width: calc(100% - 250px);
        font-size: 90%; }

/*メイン*/
iframe {
  display: block;
  height: auto;
  width: 80%;
  aspect-ratio: 16/9;
  margin: 1em auto; }

.back01 {
  background-image: url("../img/top/back01.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom; }

#support {
  width: 100%;
  margin: 5em auto 0; }
  #support h2 {
    font-size: 250%;
    font-weight: bold;
    text-align: center; }
  #support ul {
    margin: 3em auto 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between; }
    #support ul li {
      width: 23%; }

#map {
  margin: 1em auto 0; }
  #map p {
    margin: 3em 0 0;
    position: relative; }
    #map p a {
      background-color: #1b1464;
      text-decoration: none;
      color: #fff;
      display: block;
      font-size: 200%;
      font-weight: bold;
      border-radius: 5px;
      padding: 0.25em 2%;
      -webkit-transition: all 0.3s ease;
      -moz-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      transition: all  0.3s ease; }
      #map p a:hover, #map p a:active {
        background-color: #201879;
        color: #fff; }
    #map p img {
      position: absolute;
      width: 196px;
      top: 50%;
      right: 1%;
      transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%); }

#member {
  width: 100%;
  background-image: url("../img/top/back02.png");
  background-repeat: no-repeat;
  background-size: cover;
  padding: 1em 0;
  margin: 5em 0 0;
  position: relative; }
  #member::before {
    content: "";
    position: absolute;
    top: -60px;
    left: 50%;
    margin-left: -30px;
    border: 30px solid transparent;
    border-bottom: 30px solid #0071bc; }
  #member h2 {
    color: #fff;
    font-size: 200%;
    font-weight: bold;
    text-align: center;
    margin: 0 0 0.5em; }
    #member h2 span {
      font-size: 90%; }
  #member #container {
    width: 100%; }
    #member #container .swiper02 {
      overflow-x: hidden !important; }
  #member p {
    text-align: center;
    margin: 1em 0 0;
    font-weight: bold;
    color: #fff; }

#banner {
  margin: 5em auto 0; }
  #banner figure {
    width: 100%; }
    #banner figure:nth-child(2) {
      margin: 2em 0 0; }
  #banner #b_inner {
    margin: 2em 0 0;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between; }
    #banner #b_inner figure {
      width: 60%; }
    #banner #b_inner #inner {
      width: 36%; }
      #banner #b_inner #inner figure {
        width: 100%; }

/*フッター*/
footer {
  margin: 8em 0 0;
  width: 100%;
  background-color: #1b1464;
  padding: 2em 0;
  color: #fff;
  text-align: center; }
  footer a {
    color: #fff;
    text-decoration: none; }
    footer a:hover, footer a:active {
      color: #fff;
      text-decoration: underline; }
  footer #copy {
    width: 96%;
    padding: 0.5em 2%;
    font-size: 80%;
    margin: 1em 0 0;
    text-align: center;
    color: #fff;
    font-style: normal; }

/*TOPへ戻るボタン設定*/
#page-top {
  position: fixed;
  bottom: 10px;
  right: 20px;
  font-size: 90%;
  z-index: 999; }
  #page-top a {
    display: block;
    text-decoration: none;
    color: #fff;
    text-align: center;
    font-weight: bold;
    width: 100px;
    background-color: #0071bc;
    padding: 1em 0;
    border-radius: 6px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease; }
  #page-top a:hover, #page-top a:active {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -moz-opacity: 0.7; }

/*共通設定ここまで-------------------------------------------------------------------------------------------------------------------------------------*/
/* pc */
@media screen and (min-width: 1100px) {
  /*ヘッダー*/
  #header_inner {
    width: 1000px; }

  .sp {
    display: none; }

  /*メイン*/
  iframe, #support ul, #map, #banner {
    width: 1000px; }

  /*フッター*/
  #f_menu {
    width: 1000px; } }
/* tablet以下共通 ------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 1099px) {
  /*ヘッダー*/
  #header_inner {
    width: 90%; }

  /*メイン*/
  iframe, #support ul, #map, #banner {
    width: 90%; }

  /*フッター*/
  #f_menu {
    width: 90%; } }
/* tablet以下共通ここまで ------------------------------------------------------------------------------------------*/
/* tablet2  */
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  /*基本設定*/
  html {
    font-size: 85%; }

  /*ヘッダー*/
  .sp {
    display: none; }

  /*メイン*/
  /*フッター*/ }
/* tablet2  */
@media only screen and (max-width: 767px) {
  /*基本設定*/
  html {
    font-size: 85%; }

  .pc {
    display: none; }

  /*ヘッダー*/
  /*メイン*/
  iframe {
    margin: 2.5em auto 0; }

  #support {
    margin: 2.5em auto 0; }
    #support h2 {
      font-size: 180%; }
      #support h2 br {
        display: none; }
    #support ul {
      margin: 1.5em auto 0; }
      #support ul li {
        width: 48%; }
        #support ul li:nth-child(n+3) {
          margin: 1em 0 0; }

  #map p {
    margin: 1.5em 0 0; }
    #map p a {
      font-size: 160%;
      font-weight: bold; }
    #map p img {
      display: none; }

  #member {
    margin: 2.5em 0 0; }
    #member h2 {
      color: #fff;
      font-size: 160%; }
    #member #container {
      width: 100%; }
      #member #container .swiper02 {
        overflow-x: hidden !important; }
    #member p {
      text-align: center;
      margin: 1em 0 0;
      font-weight: bold;
      color: #fff; }

  #banner {
    margin: 2.5em auto 0; }
    #banner #b_inner {
      flex-direction: column; }
      #banner #b_inner figure {
        width: 100%;
        margin: 0 0 2em; }
      #banner #b_inner #inner {
        width: 100%; }
        #banner #b_inner #inner figure {
          width: 100%; }

  /*フッター*/
  footer {
    margin: 4em 0 0;
    width: 100%;
    position: relative; }
    footer #container {
      width: 100%; }
      footer #container .swiper02 {
        overflow-x: hidden !important; }
    footer h2 {
      width: 170px;
      margin: 2.5em auto 0; }
    footer #company_address {
      flex-direction: column;
      margin: 2em 0 0;
      padding: 0 0 2em; }
      footer #company_address figure {
        width: 100%; }
      footer #company_address address {
        width: 90%;
        margin: 1em auto 0; }
        footer #company_address address ul {
          width: 100%;
          margin: 2em 0 0; }
          footer #company_address address ul li {
            width: 48%; }
            footer #company_address address ul li a {
              display: block;
              width: 100%;
              color: #fff;
              padding: 1em 0;
              text-align: center;
              text-decoration: none;
              background-color: #00328C; }
              footer #company_address address ul li a:hover, footer #company_address address ul li a:active {
                color: #fff;
                background-color: #003AA3;
                text-decoration: none; }
    footer #f_menu {
      margin: 3em auto 0; }
      footer #f_menu ul {
        flex-direction: column; }
        footer #f_menu ul li {
          width: 100%; }
    footer #copy {
      margin: 2.5em auto 0; } }
/* smartPhone1 */
@media only screen and (max-width: 499px) {
  /*基本設定*/
  html {
    font-size: 80%; }

  /*ヘッダー*/
  /*メイン*/
  /*フッター*/ }
