@charset "UTF-8";
/* CSS Document */

/*--  共通  --*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    box-sizing: border-box;
  }
  * {
    margin: 0;
    padding: 0;
  }
  body {
    -webkit-text-size-adjust: 100%;
    line-height: 1.6;
    font-size: 16px;
    color: #222222;
    margin: auto;
    font-family: 'Noto Sans JP', '小塚ゴシック Pr6N R', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    overflow-x: hidden;
    background-color: #fff;
  }
  @media screen and (max-width: 980px) {
    body {
      font-size: 14px;
    }
  }
  a {
    display: block;
    color: #222222;
    text-decoration: none;
  }
  a:hover {
    opacity: 1.0;
    -webkit-filter: brightness(110%);
            filter: brightness(110%);
    -webkit-transition: all .2s;
    transition: all .2s;
  }
  img {
    max-width: 100%;
    height: auto;
  }
  img[src*='.svg'] {
    width: 100%;
    height: auto;
  }
  ul , ol {
    list-style: none;
  }
  h2 {
    font-size: 30px;
    text-align: center;
    letter-spacing: 0.09em;
    margin-bottom: 40px;
  }
  @media screen and (max-width: 980px) {
    h2 {
      font-size: 22px;
      margin-bottom: 20px;
    }
  }
  .h2-under {
    text-align: center;
    position: relative;
    margin-top: -25px;
    margin-bottom: 80px;
  }
  @media screen and (max-width: 980px) {
    .h2-under {
      margin: -10px auto 40px;
    }
  }
  .h2-under:after {
    content: '';
    position: absolute;
    bottom: -25px;
    display: inline-block;
    width: 40px;
    height: 3px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: linear-gradient(326.26deg, #53BA9B 0%, #4FBBDE 100%);
    border-radius: 2px;
  }
  @media screen and (max-width: 980px) {
    .h2-under:after {
      bottom: -15px;
    }
  }
  .pc-only{
    display:block;
  }
  @media screen and (max-width: 980px) {
    .pc-only {
      display: none;
    }
  }
  .sp-only {
    display:none;
  }
  @media screen and (max-width: 980px) {
    .sp-only{
      display: initial;
    }
  }
  #wrap {
    width: 100%;
    height: auto;
  }
  @media screen and (min-width: 981px) {
    .flex-box {
      display: flex;
      align-items: center;
    }
  }
  .OR {
    color: #EDA508;
  }
  .cont-inner {
    width: 1200px;
    margin: 0 auto;
    padding: 80px 0;
  }
  @media screen and (max-width: 980px) {
    .cont-inner {
      padding: 40px 20px;
      width: 100%;
    }
  }

/*--  header  --*/
  #header-content {
    width: 100%;
    background: #fff;
    position: fixed;
    top: 0;
    z-index: 2;
  }
  #header-content .header-content--inner {
    width: 100%;
    height: 86px;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    align-items: center;
  }
  @media screen and (max-width: 980px) {
    #header-content .header-content--inner {
      height: auto;
      padding: 10px;
    }
  }
  @media screen and (min-width: 981px) {
    #header-content .header-content--inner .h-logo-box {
      margin-left: 44px;
    }
  }
  #header-content .header-content--inner .h-logo-box a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #header-content .header-content--inner .h-logo-box img {
    width: 140px;
  }
  @media screen and (max-width: 980px) {
    #header-content .header-content--inner .h-logo-box img {
      width: 100px;
    }
  }
  #header-content .header-content--inner .h-logo-box-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-right: 44px;
  }
  @media screen and (max-width: 980px) {
    #header-content .header-content--inner .h-logo-box-2 ul.menu {
      display: none;
    }
  }
  @media screen and (max-width: 980px) {
    #header-content .header-content--inner .h-logo-box-2.btn-only {
      margin-right: 0;
    }
  }
  #header-content .header-content--inner .h-logo-box-2 .menu {
    display: flex;
    align-items: center;
    list-style: none;
    margin-top: 30px;
  }
  #header-content .header-content--inner .h-logo-box-2 .menu > li {
    margin:0 30px 0 0;
    padding-bottom: 30px;
  }
  #header-content .header-content--inner .h-logo-box-2 .menu a {
    font-size:15px;
    font-weight:700;
  }
  #header-content .header-content--inner .h-logo-box-2 .menu .plan {
    font-size:15px;
    font-weight:700;
    cursor : pointer;
  }
  #header-content .header-content--inner .h-logo-box-2 .menu .plan .sub {
    display: none;
  }
  #header-content .header-content--inner .h-logo-box-2 .menu .plan.hover .sub {
    display: flex;
    width: 100vw;
    margin-right: calc(50% - 50vw);
    left: 0;
    position: fixed;
    top: 66px;
    justify-content: center;
    gap: 1.5%;
    background: #fff;
  }
  #header-content .header-content--inner .h-logo-box-2 .menu .plan .sub li {
    padding: 35px 0 30px;
  }
  #header-content .header-content--inner .h-logo-box-2 .menu .plan .sub li a {
    position: relative;
    display: flex;
    align-items: center;
    padding-right: 20px;
  }
  #header-content .header-content--inner .h-logo-box-2 .menu .plan .sub li a:after {
    position: absolute;
    width: 12px;
    height: 12px;
    content: "";
    background-image: url(../img/header-arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    right: 0;
  }
  #header-content .header-content--inner .h-logo-box-2 .menu li {
    position: relative;
  }
  #header-content .header-content--inner .h-logo-box-2 .menu li:before {
    background: linear-gradient(326.26deg, #53BA9B 0%, #4FBBDE 100%);
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 20px;
    transition: transform .3s;
    transform: scaleX(0);
  }
  #header-content .header-content--inner .h-logo-box-2 .menu .sub li:before {
    bottom: 20px;
  }
  #header-content .header-content--inner .h-logo-box-2 .menu li:hover:before {
    transform: scaleX(1);
    transform-origin: center top;
  }
  #header-content .header-content--inner .h-logo-box-2 div {
    width: 180px;
  }
  @media screen and (max-width: 980px) {
    #header-content .header-content--inner .h-logo-box-2 div {
      display: none;
    }
    #header-content .header-content--inner .h-logo-box-2.btn-only div.sp-only {
      display: initial;
    }
  }
  #header-content .header-content--inner .h-logo-box-2 div a {
    background: linear-gradient(326.26deg, #53BA9B 0%, #4FBBDE 100%);
    color:#FFF;
    display: flex;
    justify-content:center;
    align-items: center;
    border-radius: 50px;
    padding: 12px 0;
    text-align:center;
    font-size:12px;
  }
  #header-content .header-content--inner .h-logo-box-2 div a.OR-btn {
    background:#ED8B08
  }
  #header-content .header-content--inner .h-logo-box-2 div a:before {
    content:"";
    background:no-repeat url(/common/img/icon_download.png) 0 0 / contain;
    width:12px;
    height:9px;
    display:block;
    margin:0 7px 0 0;
  }
  #header-content .header-content--inner .h-logo-box-2 img {
    width: 160px;
    height: 34px;
  }
  @media screen and (max-width: 980px) {
    #header-content .header-content--inner .hamburger {
      display : block;
      position: fixed;
      z-index : 3;
      right : 0;
      top   : 0;
      margin-top: calc(-5 *(100vw / 377));
      width : calc(50 *(100vw / 377));
      height: calc(60 *(100vw / 377));
      cursor: pointer;
      text-align: center;
      -webkit-transform: rotate(0deg);
      -ms-transform    : rotate(0deg);
      -o-transform     : rotate(0deg);
      transform        : rotate(0deg);
    }
    #header-content .header-content--inner .hamburger span {
      display : block;
      position: absolute;
      width   : calc(25 *(100vw /377));
      height  : calc(3 *(100vw / 377));
      left    : calc(6 *(100vw / 377));
      background : #00B29E;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition   : 0.3s ease-in-out;
      transition        : 0.3s ease-in-out;
    }
    #header-content .header-content--inner .hamburger span:nth-child(1) {
      top: calc(17 * (100vw / 377));
      left: calc(14 * (100vw / 377));
      border-radius: 10px;
    }
    #header-content .header-content--inner .hamburger span:nth-child(2) {
      top: calc(27 * (100vw / 377));
      left: calc(14 * (100vw / 377));
      border-radius: 10px;
    }
    #header-content .header-content--inner .hamburger span:nth-child(3) {
      top: calc(37 * (100vw / 377));
      left: calc(14 * (100vw / 377));
      border-radius: 10px;
    }
    #header-content .header-content--inner nav.globalMenuSp {
      position: fixed;
      z-index: 1;
      height: 100vh;
      top: 0;
      left: 0;
      color: #00B29E;
      background: #fff;
      text-align: center;
      width: 100%;
      opacity: 0;
      pointer-events: none;
      padding-top: calc(49 * (100vw / 377));
      -webkit-transition: opacity .6s ease, visibility .6s ease;
      transition: opacity .6s ease, visibility .6s ease;
    }
    #header-content .header-content--inner nav.globalMenuSp.active {
      opacity: 100;
      padding: calc(50 * (100vw / 377)) 0;
      pointer-events: auto;
      z-index: 2;
    }
    #header-content .header-content--inner .globalMenuSp p {
      text-align: left;
      padding: 0 0 calc(15 * (100vw / 377)) calc(25 * (100vw / 377));
      font-size: calc(20 * (100vw / 377));
    }
    #header-content .header-content--inner .globalMenuSp p.sub {
      font-size: calc(16 * (100vw / 377));
    }    
    #header-content .header-content--inner .globalMenuSp p a {
        font-weight: bold;
        color: #00B29E;
    }
  }


/*--  footer  --*/
  footer {
    background-color: #333;
    color: #fff;
    padding: 30px 0 40px;
    line-height: 1.8;
  }
  @media screen and (max-width: 980px) {
    footer {
      padding: 0 0 20px;
    }
  }
  footer .cont-inner {
    justify-content: space-between;
    align-items: flex-start;
  }
  footer .logo-block img {
    width: 240px;
  }
  @media screen and (max-width: 980px) {
    footer .logo-block img {
      width: 50%;
    }
  }
  footer .logo-block p {
    margin-top: 15px;
    font-size: 12px;
  }
  @media screen and (max-width: 980px) {
    footer .logo-block p {
      margin: 5px 0 20px;
    }
  }
  footer .navi {
    align-items: flex-start;
    gap: 40px;
  }
  footer .navi dt {
    font-weight: bold;
    margin-bottom: 15px;
  }
  @media screen and (max-width: 980px) {
    footer .navi dt {
      margin: 15px 0 0;
    }
  }
  footer .navi dd ul {
    list-style: none;    
  }
  footer .navi dd ul a {
    color: #FFF;
    font-size: 14px;
  }
  footer .copy {
    text-align: center;
    font-size: 10px;
  }
  @media screen and (min-width: 981px) {
    footer .copy {
      margin-top: 40px;
    }
  }