@charset "utf-8";
@media screen and (max-width: 1300px) {
  /* ----------------------------------------------- */
  html {
    font-size: 61%;
  }
  /* ----------------------------------------------- wrapper */
  #wrapper {}
  /* ----------------------------------------------- float */
  @media screen and (max-width: 500px) {
    .f_left,
    .f_right {
      float: none;
      margin: 10px;
    }
  }
  /* ----------------------------------------------- header */
  header {}
  header h1 {}
  header .header_right {}
  header h1 a:hover img,
  header .header_right a:hover img {}
  /* 右側リンク部分 */
  header .header_right .link {}
  header .header_right .link ul li {
    font-size: 1.4rem;
  }
  header .header_right .link a {}
  header .header_right .link a:link,
  header .header_right .link a:active,
  header .header_right .link a:visited {}
  header .header_right .link .contact a {}
  header .header_right .link .contact a:hover {}
  header .header_right .link .login a {}
  header .header_right .link .login a:hover {}
  header .header_right .language {}
  header .header_right .language li {}
  header .header_right .language li a {}
  header .header_right .language li a:link,
  header .header_right .language li a:visited,
  header .header_right .language li a:active {}
  header .header_right .language li a:hover {}
  header .header_right .language li.on a {}
  header .header_right .language li.on a:link,
  header .header_right .language li.on a:visited,
  header .header_right .language li.on a:active {}
  /* サイト内検索 */
  header .header_right .serach {}
  header .header_right .serach input[type="text"] {
    font-size: 1.4rem;
  }
  header .header_right .serach ::placeholder { }
  header .header_right .serach input[type="submit"] {}
  @media screen and (max-width: 920px) {
    header {
      height: 80px;
      align-items: center;
    }
    header h1 {
      padding-top: 5px;
    }
    header h1 img {
      width: 80%;
      max-width: 427px;
      height: auto;
    }
    header .header_right .language {
      width: auto;
      padding-right: 60px;
      display: block;
      border: none;
    }
    header .header_right .language li {
      width: auto;
    }
    header .header_right .language li a {
      display: inline-block;
      padding: 7px 15px;
      background-color: #e1e6f9;
    }
    header .header_right .link .contact,
    header .header_right .link .login,
    header .header_right .language li.on,
    header .header_right .serach {
      display: none;
    }
  }
  /* -------------------------------------------------- 入会のご案内 */
  .membership_info {}
  .membership_info a {
    font-size: 1.9rem;
  }
  .membership_info a::before {
    left: 23px;
  }
  .membership_info a:link,
  .membership_info a:active,
  .membership_info a:visited {}
  @media screen and (max-width: 920px) {
    .membership_info {
      top: 150px;
      border-radius: 15px 0 0 15px;
    }
    .membership_info a {
      font-size: 1.6rem;
      padding: 13px 13px 15px 10px;
      border-radius: 13px 0 0 13px;
    }
    .membership_info a::before {
      display: none;
    }
  }
  /* -------------------------------------------------- overlay */
  @media screen and (max-width: 920px) {
    .overlay {/*
      width: 100%;
      height: 100%;
      position: fixed;
      z-index: 10000;
      background: #11206d;
      background: linear-gradient(145deg,rgba(17, 32, 109, 1) 0%, rgba(28, 65, 124, 1) 100%);
      display: none;
      top: 80px;
      left: 0;*/
    }
  }
  /* -------------------------------------------------- nav */
  #nav {}
  #nav .toggle {}
  #nav nav {}
  #nav nav ul.accordion {}
  #nav nav ul.accordion li {}
  #nav nav ul.accordion a.accordion_header {
    padding: 17px 5px;
  }
  #nav nav ul.accordion li:last-child a.accordion_header {
    border-right: none;
  }
  #nav nav ul.accordion li a.accordion_header.sp {
    display: block;
  }
  #nav nav ul.accordion li a.accordion_header.pc {
    display: none;
  }
  #nav nav ul.accordion a.accordion_header span {
    font-size: 1.5rem;
    padding-right: 15px;
  }
  #nav nav ul.accordion a.accordion_header span::before {}
  #nav nav ul.accordion li:hover a.accordion_header {}
  #nav nav ul.accordion li:hover {}
  #nav nav ul.accordion li:hover a.accordion_header span {}
  #nav nav ul.accordion li:hover a.accordion_header span::before {}
  #nav nav ul.accordion a.accordion_header.on {/*onの時*/}
  #nav nav ul.accordion a.accordion_header.on::before {}
  /* サブメニュー中身 */
  #nav nav ul.accordion > li:hover .dropmenu {  }
  #nav nav ul.accordion li .dropmenu {}
  #nav nav ul.accordion li .dropmenu_inner {}
  #nav nav ul.accordion li .dropmenu .info {
    width: 400px;
  }
  #nav nav ul.accordion li .dropmenu .info::before {
  }
  #nav nav ul.accordion li .dropmenu .info h2 {
    padding: 50px 30px 20px 40px;
    font-size: 2.2rem;
  }
  #nav nav ul.accordion li .dropmenu .info h2 span {
    font-size: 1.5rem;
  }
  #nav nav ul.accordion li .dropmenu .info a {
    margin: 0 30px 60px 40px;
    font-size: 1.5rem;
  }
  #nav nav ul.accordion li .dropmenu .info a::before {}
  #nav nav ul.accordion li .dropmenu .info a:link,
  #nav nav ul.accordion li .dropmenu .info a:active,
  #nav nav ul.accordion li .dropmenu .info a:visited {}
  #nav nav ul.accordion li .dropmenu .info a:hover {}
  #nav nav ul.accordion li .dropmenu .nav_sub {
    margin: -30px 0 0 0;
    padding: 0 40px 30px 40px;
  }
  /*プルダウンメニュー内第1階層*/
  #nav nav ul.accordion li .dropmenu .nav_sub li {
    width : calc(100%/2);
  }
  #nav nav ul.accordion li .dropmenu .nav_sub li:hover {}
  #nav nav ul.accordion li .dropmenu .nav_sub li.sp {/*sp用*/
    display: block;
  }
  #nav nav ul.accordion li .dropmenu .nav_sub li a {
    font-size: 1.5rem;
  }
  #nav nav ul.accordion li .dropmenu .nav_sub li a:link,
  #nav nav ul.accordion li .dropmenu .nav_sub li a:active,
  #nav nav ul.accordion li .dropmenu .nav_sub li a:visited {}
  #nav nav ul.accordion li .dropmenu .nav_sub li a::before {}
  #nav nav ul.accordion li .dropmenu .nav_sub li a::after {}
  /*プルダウンメニュー内第2階層*/
  #nav nav ul.accordion li .dropmenu .nav_sub li ul {}
  #nav nav ul.accordion li .dropmenu .nav_sub li ul li {}
  #nav nav ul.accordion li .dropmenu .nav_sub li ul li a {
    font-size: 1.4rem;
  }
  #nav nav ul.accordion li .dropmenu .nav_sub li ul li a::after {}
  #nav nav ul.accordion li .dropmenu .nav_sub li ul li a::before {}
  /* サイト内検索 */
  #nav nav .serach {}
  /* sp用メニュー */
  #nav #nav nav_sp_btm {}
  #nav .search {}
  @media screen and (max-width: 1000px) {
    #nav nav ul.accordion a.accordion_header span {
      font-size: 1.4rem;
    }
    /*プルダウンメニュー内第1階層*/
    #nav nav ul.accordion li .dropmenu .nav_sub li {
      width : calc(100%/1);
    }
    @media screen and (max-width: 920px) {
      #nav {
        position: absolute;
        z-index: 200000;
        width: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        pointer-events: none;
        /*overflow-y: auto;*/
      }
      #nav .toggle * {
        margin: 0;
        padding: 0;
        outline: none;
        border: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        pointer-events: auto;/**/
      }
      #nav .toggle {
        position: absolute;
        display: block;
        top: 15px;
        right: 15px;
        z-index: 100000;
        width: 50px;
        height: 50px;
        background: #11206d;
        background: linear-gradient(145deg,rgba(17, 32, 109, 1) 0%, rgba(28, 65, 124, 1) 100%);
        border-radius: 100%;
        cursor: pointer;
        outline: none;
        pointer-events: auto;/**/
      }
       #nav .toggle span {
         position: relative;
        display: block;
        width: 20px;
        height: 3px;
        transition: all 0.2s;
        transform-origin: 0% 0%;
        transform: translateY(-50%);
        position: absolute;
        background-color: #fff;
        border-radius: 20px;
        right: 19px;
      }
       #nav .toggle .bar01 {
        top: 33%;
      }
       #nav .toggle .bar02 {
        top: 50%;
      }
       #nav .toggle .bar03 {
        top: 66%;
      }
      /**/
       #nav .toggle.active span {
        width: 30px;
        right: 7px;
      }
       #nav .toggle.active .bar01 {
        transform: rotate(0.6rad) translateY(-50%);
      }
       #nav .toggle.active .bar02 {
        opacity: 0;
      }
       #nav .toggle.active .bar03 {
        transform: rotate(-0.6rad) translateY(-50%);
      }
      /**/
      #nav .toggle span::before {
        position: absolute;
        content: '';
        top: -1px;
        right: -8px;
        width: 4px;
        height: 4px;
        border-radius: 10px;
        background-color: #fff;
      }
      #nav .toggle.active span::before {
        display: none;
      }
      /**/
      #nav nav {
        display: none !important;
        padding-bottom: 30px;
      }
      #nav .active {
        display: block !important;
      }
      /**/
      #nav nav {
        position: absolute;
        top: 80px;
        left: 0;
        z-index: 10000;
        pointer-events: auto;/**/
        overflow-y: scroll;
        width: 100%;
        height: 100%;
        background: #11206d;
        background: linear-gradient(145deg,rgba(17, 32, 109, 1) 0%, rgba(28, 65, 124, 1) 100%);
      }
      #nav nav ul.accordion {
        display: -webkit-block;
        display: block;
        width: 100%;
      }
      #nav nav ul.accordion li {
        width: 100%;
        margin: 0px;
        padding: 0px;
      }
      /**/
      #nav nav ul.accordion li a.accordion_header {
        position: relative;
        display: block;
        padding: 12px 30px;
        text-decoration: none;
      }
      #nav nav ul.accordion li a.accordion_header::after {
        position: absolute;
        content: '';
        top: 20px;
        right: 30px;
        width: 8px;
        height: 8px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
        transition: .4s;
      }
      #nav nav ul.accordion li a.accordion_header.opne::after {
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
        border-right: 2px solid #ff0000;
      }
      #nav nav ul.accordion a.accordion_header span {
        color: #fff;
        text-decoration: none;
      }
      /*サブメニュー中身*/
      #nav nav ul.accordion li .dropmenu {
        display: none;
      }
      #nav nav ul.accordion li .dropmenu_inner {
        display: -webkit-block;
        display: block;
        margin: 0 30px;
        border-radius: 20px;
        background-color: #fff;
      }
      #nav nav ul.accordion li .dropmenu .info {
        display: none;
      }
      #nav nav ul.accordion li .dropmenu .nav_sub {
        display: -webkit-block;
        display: block;
        width: 100%;
        margin: 0;
        padding: 30px;
      }
      /*プルダウンメニュー内第1階層*/
      #nav nav ul.accordion li .dropmenu .nav_sub li {
        width: 100%;
      }
      #nav nav ul.accordion li .dropmenu .nav_sub li a {
        display: block;
        position: relative;
        padding: 2px 0 2px 20px;
      }
      #nav nav ul.accordion li .dropmenu .nav_sub li a::before {
        position: absolute;
        content: '';
        top: 6px;
        left: 0;
        width: 16px;
        height: 16px;
        border-radius: 30px;
        background-color: #1c417c;
      }
      #nav nav ul.accordion li .dropmenu .nav_sub li a::after {
        position: absolute;
        content: '';
        top: 12px;
        left: 5px;
        width: 4px;
        height: 4px;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
      }
      #nav nav ul.accordion li .dropmenu .nav_sub li a:link,
      #nav nav ul.accordion li .dropmenu .nav_sub li a:active,
      #nav nav ul.accordion li .dropmenu .nav_sub li a:visited {
        color: #000;
        text-decoration: underline;
        text-decoration: none;
      }
      /*プルダウンメニュー内第2階層*/
      #nav nav ul.accordion li .dropmenu .nav_sub li ul {
        padding: 0 0 10px 10px;
      }
      #nav nav ul.accordion li .dropmenu .nav_sub li ul li a::before {
        display: none;
      }
      #nav nav ul.accordion li .dropmenu .nav_sub li ul li a::after {
        border-top: 1px solid #1c417c;
        border-right: 1px solid #1c417c;
      }
      /* サイト内検索 */
      #nav nav .serach {
        display: block;
        text-align: center;
        margin: 30px auto;
      }
      #nav nav .serach input[type="text"] {
        width: 80%;
        padding: 8px 15px;
        background-color: #fff;
        border: none;
        border-radius: 30px;
        text-align: left;
      }
      #nav nav .serach ::placeholder {
        color: #9b9b9b;
      }
      #nav nav .serach input[type="submit"] {
        margin-left: 5px;
        width: 45px;
        height: 45px;
        background-color: rgba(255,255,255,0.2);
        border-radius: 100%;
        background-image: url("../img/search.svg");
        background-position: center;
        background-size: 20px auto;
        background-repeat: no-repeat;
      }
      /* sp用メニュー */
      #nav nav .nav_sp_btm {
        display: block;
        margin: 30px auto;
        width: 90%;
        text-align: left;
      }
      #nav nav .nav_sp_btm .link {
        padding-left: 5px;
      }
      #nav nav .nav_sp_btm .link li a {
        display: inline-block;
        font-size: 1.4rem;
      }
      #nav nav .nav_sp_btm .link li a:link,
      #nav nav .nav_sp_btm .link li a:active,
      #nav nav .nav_sp_btm .link li a:visited {
        color: #fff;
        text-decoration: none;
      }
      #nav nav .nav_sp_btm .button {
        padding: 20px 0;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
      }
      #nav nav .nav_sp_btm .button li {
        width: 48%;
      }
      #nav nav .nav_sp_btm .button a {
        display: block;
        margin-right: 5px;
        padding: 8px 20px;
        border-radius: 30px;
        text-align: center;
        font-size: 1.5rem;
      }
      #nav nav .nav_sp_btm .button a:link,
      #nav nav .nav_sp_btm .button a:link span,
      #nav nav .nav_sp_btm .button a:active,
      #nav nav .nav_sp_btm .button a:visited {
        color: #fff;
        text-decoration: none;
      }
      #nav nav .nav_sp_btm .button .contact a {
        background-color: #1c417c;
        border: 2px solid #1c417c;
      }
      #nav nav .nav_sp_btm .button .login a {
        background-color: #bfa226;
        border: 2px solid #bfa226;
      }
      #nav nav .nav_sp_btm .button .login a span {
        display: inline-block;
        padding-left: 20px;
        background-image: url("../img/lock.svg");
        background-size: 13px auto;
        background-repeat: no-repeat;
        background-position: 0 center;
      }
      .off {
        display: none;
      }
    }
  }
  /* ----------------------------------------------- link > dot */
  .link_dot {}
  .link_dot::before {
    width: 18px;
    height: 18px;
  }
  .link_dot:hover::before {}
  @media screen and (max-width: 920px) {
    .link_dot::before {
      width: 15px;
      height: 15px;
    }
  }
  /* ----------------------------------------------- footer */
  footer {}
  footer .inner {}
  footer .inner p img {}
  footer .inner p,
  footer .inner p span {
    font-size: 1.8rem;
  }
  footer .inner p span {
    font-size: 1.3rem;
  }
  footer .inner address {
    font-size: 1.4rem;
  }
  /* footer_navi */
  footer .footer_navi {}
  footer .footer_navi li {}
  footer .footer_navi li p {
    font-size: 1.5rem;
  }
  footer .footer_navi li ul li {}
  footer .footer_navi li ul li a:link,
  footer .footer_navi li ul li a:active,
  footer .footer_navi li ul li a:visited {
    font-size: 1.3rem;
  }
  /* footer_bottom */
  footer .footer_bottom {}
  footer .footer_bottom p {
    font-size: 1.2rem;
  }
  footer .footer_bottom ul {}
  footer .footer_bottom ul li {}
  footer .footer_bottom ul li a:link,
  footer .footer_bottom ul li a:active,
  footer .footer_bottom ul li a:visited {
    font-size: 1.2rem;
  }
  @media screen and (max-width: 920px) {
    footer .footer_navi {
      display: none;
    }
    footer .footer_bottom {
      display: block;
    }
    footer .footer_bottom p {
      font-size: 1.0rem;
      text-align: center;
    }
    footer .footer_bottom ul {
      display: none;
    }
  }
  /* ----------------------------------------------- pagetop*/
  .pagetop {}
  .pagetop a {}
  .pagetop a::before {}

}