/*======= common style =======*/
  @charset "utf-8";

  /* import font */
  @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');
  /* import font */
  
  
  * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
  }
  
  body {
      font-weight: 400;
      color: #000000;
      overflow-x: hidden;
      line-height: 1.6;
      font-size: 16px;
      font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", 'Noto Sans JP', "Kozuka Gothic Pr6N","Helvetica Neue", "Helvetica", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  }
  
  .font-roboto {
      font-family: 'Roboto', sans-serif;
  }
  
  a {
      text-decoration: none;
      color: unset;
      transition: 0.2s;
  }
  
  a:hover {
      text-decoration: none;
      opacity: 0.8;
  }
  
  ul,
  li {
      list-style-type: none;
      margin: 0px;
  }
  
  img {
      display: block;
      max-width: 100%;
      transition: .2s;
  }
  
  h1, h2, h3, h4, h5, h6 {
      font-weight: 700;
  }
  
  h1, h2, h3, h4, h5, h6, p {
      margin: 0px;
  }
  
  table {
      border-collapse: collapse;
      border-spacing: 0;
  }
  
  .container {
      max-width: 1000px;
      padding: 0 20px;
      margin: 0 auto;
      transition: 0.2s;
  }
  
  .cl-white {
      color: #ffffff !important;
  } 
  
  .d-flex {
      display: flex;
  }
  
  .justify-between {
      justify-content: space-between;
  }
  
  .justify-center {
      justify-content: center;
  }
  
  .align-center {
      align-items: center;
  }
  
  .align-start {
      align-items: flex-start;
  }
  
  .align-stretch {
      align-items: stretch;
  }
  
  .text-center {
      text-align: center;
  }
  
  .text-left {
      text-align: left;
  }
  
  .text-right {
      text-align: right;
  }
  
  .pc {
      display: block !important;
  }
  
  .sp {
      display: none !important;
  }
  
  .sp_footer_border{
      border-bottom: none;
  }
  .normal__font{
      font-weight: normal!important;
  }
  
  .pb-0 {
      padding-bottom: 0px !important;
  }
  
  .mb-0 {
      margin-bottom: 0px !important;
  }
  
  .ft-right{
      float:right;
  }
  
  .mg-left-10{
      margin-left: 10px;
  }
  
  /* =====start - header===== */
  header {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 100;
      background-color: #ffffffaf;
      height: 80px;
  }
  
  .header__inner {
      padding: 0px 100px;
      height: 100%;
  }
  
  .header__logo img {
      max-width: 112px;
  }
  
  .header__menu {
      display: flex;
      align-items: center;
      column-gap: 76px;
  }
  
  .menu-item a {
      display: block;
      text-align: center;
      font-size: 16px;
      white-space: nowrap;
      line-height: 24px;
      font-weight: bold;
  }
  
  .menu-item a:hover {
      color: #174f9f;
      opacity: 1;
  }
  
  .menu-item a span {
      display: block;
      text-align: center;
      font-size: 13px;
      font-weight: bold;
      text-transform: uppercase;
  }
  .sns-ico {
      width: 30px;
  }
  .footer__logo .sns-ico {
      margin: 10px 8px 0;
  }
  /* =====end - header===== */
  
  
  /* =========start - footer========= */
  footer {
      width: 100%;
      background-color: #fff;
  }
  
  .footer__inner {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      padding: 60px 100px;
  }
  
  .footer__logo {
      padding-right: 40px;
  }
  
  .footer__logo img {
      max-width: 196px;
  }
  
  .footer__block {
      font-size: 16px;
      font-weight: 300;
      max-width: 256px;
  }
  
  .footer__inner.--bt {
      justify-content: flex-start;
      column-gap: 150px;
      padding-top: 40px;
  }
  
  .copyright {
      font-size: 12px;
      padding-top: 10px;
  }
  
  .footer__menu {
      flex: 1;
      display: flex;
      align-items: center;
      column-gap: 60px;
  }
  
  .footer__menu li a {
      font-size: 18px;
      font-weight: bold;
      display: block;
      white-space: nowrap;
  }
  
  .footer__menu li a:hover {
      color: #174f9f;
  }
  /* =========end - footer========= */
  
  /* css button back to top */
  #back-to-top {
      position: fixed;
      bottom: 48px;
      right: 80px;
      width: 50px;
      height: 50px;
      border-radius: 50%;
      background-color: #004892;
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      transition: background-color .3s, opacity .5s, visibility .5s;
      opacity: 0;
      visibility: hidden;
      z-index: 1000;
      color: #fff;
      font-size: 14px;
  }
  
  #back-to-top img {
  }
  
  #back-to-top.show {
      opacity: 1;
      visibility: visible;
  }
  
  #back-to-top:hover {
      background-color: #40A8FF;
      box-shadow: 0px 3px 3px 0px rgb(0, 0, 0, 20%);
  }
  /* css button back to top */
  
  .hambuger {
      display: none;
  }
  
  .header__nav {
      position: relative;
  }
  
  .logo-menu__sp {
      display: none;
  }
  
  /*======= start responsive =======*/
  @media only screen and (max-width: 1600px) {
      .footer__inner {
          padding: 60px 80px 40px 80px;
      }
      .footer__menu {
          column-gap: 26px;
          justify-content: flex-end;
      }
  }
  @media only screen and (max-width: 1400px) {
      .header__menu {
          column-gap: 46px;
      }
      .menu-item a {
          font-size: 15px;
      }
      .header__inner {
          padding: 0px 60px;
          position: relative;
          height: 100%;
      }
      .footer__block {
          font-size: 14px;
      }
      .footer__inner {
          padding: 40px 20px 40px 20px;
      }
      .footer__inner.--bt {
          column-gap: 40px;
      }
      .footer__menu li a {
          font-size: 16px;
      }
  }   
  /* end breakpoint 1400px */
  
  @media only screen and (max-width: 1024px) {
      .header__nav {
          position: absolute;
          top: 0;
          background-color: #004892;
          width: 100%;
          height: 100vh;
          top: 0;
          left: 0px;
          z-index: 10;
          padding: 15px 20px;
          display: none;
      }
      .menu-item a {
          color: #fff;
          text-align: left;
          display: flex;
          flex-direction: column-reverse;
          font-size: 18px;
          row-gap: 6px;
          padding: 20px 0px;
          border-bottom: 1px solid #fff;
      }
      .menu-item:last-child a {
          border-bottom: 0px;
      }
      .menu-item a span {
          text-align: left;
          font-size: 30px;
      }
      .logo-menu__sp {
          display: inline-block;
          padding-bottom: 40px;
      }
      .header__menu {
          display: block;
      }
      header {
          height: 56px;
      }
      .header__inner {
          padding: 0px 20px;
          justify-content: space-between;
      }
      .header__logo img {
          max-width: 74px;
      }
      .hambuger {
          display: block;
          width: 24px;
          cursor: pointer;
          z-index: 20;
      }
      .hambuger span {
          display: block;
          width: 100%;
          height: 2px;
          background-color: #004892;
          margin: 6px 0px;
          transition: .3s ease;
      }
      .hambuger.active span {
          background-color: #fff;
      }
      .hambuger.active span.line2 {
          opacity: 0;
      }
      .hambuger.active span.line1 {
          transform: rotate(45deg) translate(6px, 5px);
      }
      .hambuger.active span.line3 {
          transform: rotate(-45deg) translate(6px, -5px);
      }
      #back-to-top {
          right: 20px;
          bottom: 40px;
      }
      
      .footer__inner {
          flex-wrap: wrap;
          row-gap: 20px;
          column-gap: 20px;
          justify-content: flex-start;
      }
      .footer__inner.--bt {
          padding-top: 0px;
      }
      .footer__menu {
          width: 100%;
          flex: unset;
          order: 1;
          justify-content: flex-start;
      }  
      .copyright {
          order: 2;
      }
  }
  /* end breakpoint 1024px */
  
  @media only screen and (max-width: 768px) {
      .pc {
          display: none !important;
      }
      .sp {
          display: block !important;
      }
      .--wrap-sp{
          width: 100%;
      }
      .border__none {
          border: none !important;
      }
      .sp_footer_border{
          border-bottom: 1px solid #000!important;
          padding-bottom: 35px;
      }
      .arrow-sp{
          position: relative;
          border-right: none!important;
      }
      .arrow-sp::after{
          display: block;
          content: '>>';
          position: absolute;
          top: 0px;
          right: -30px;
      }
      .footer__block{
          max-width: 100%;
      }
      .header__logo img {
          max-width: 66px;
      }
      .footer__logo .sns-ico {
          margin-bottom: 10px;
      }
      .copyright {
          order: 3;
          width: 100%;
      }
      .footer__inner.--bt .footer__logo {
          order: 2;
      }
      .footer__inner.--bt {
          row-gap: 14px;
      }
      .footer__menu {
          flex-wrap: wrap;
          row-gap: 4px;
      }
  }
  /* end breakpoint 768px */
  
  @media only screen and (max-width: 479px) {
      .footer__menu  {
          flex-direction: column;
          align-items: flex-start;
      }
  }
  
  
  @media only screen and (max-width: 360px) {
      .logo-menu__sp {
          padding-bottom: 30px;
      }
      .menu-item a span {
          text-align: left;
          font-size: 24px;
      }
      .menu-item a {
          font-size: 16px;
      }
  }