#top {
  /*================================
  	sec-keyv
  ==================================*/
  /*================================
  	sec-link
  ==================================*/
  /*================================
  	sec-bn
  ==================================*/ }
  #top main {
    padding-bottom: 0; }
  #top .header-wrap {
    width: 100%;
    position: relative; }
  #top .contents-wrap {
    background: none;
    background: #fff; }
  @media screen and (max-width: 767px) {
    #top .pc-contents {
      display: none !important; } }
  @media print, screen and (min-width: 768px) {
    #top .sp-contents {
      display: none !important; } }
  #top .sp-contents .sp-wrap {
    -js-display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -7px;
    margin-right: -7px; }
    #top .sp-contents .sp-wrap .item {
      width: 50%;
      padding: 14px 7px; }
      #top .sp-contents .sp-wrap .item a {
        color: #284696;
        text-decoration: none; }
        #top .sp-contents .sp-wrap .item a:hover, #top .sp-contents .sp-wrap .item a:active, #top .sp-contents .sp-wrap .item a:focus {
          color: #284696;
          text-decoration: none; }
        #top .sp-contents .sp-wrap .item a:visited {
          color: #284696; }
      #top .sp-contents .sp-wrap .item .box {
        border: 2px solid #284696;
        border-radius: 15px;
        text-align: center;
        padding: 1em 1em 0.7em; }
        #top .sp-contents .sp-wrap .item .box .img {
          margin: 0; }
          #top .sp-contents .sp-wrap .item .box .img img {
            height: 63px; }
        #top .sp-contents .sp-wrap .item .box .text {
          margin: 0.4em 0 0;
          font-size: 16px;
          font-size: 1.6rem;
          font-weight: 500; }
          @media screen and (min-width: 480px) and (max-width: 1200px) {
            #top .sp-contents .sp-wrap .item .box .text {
              font-size: 2px;
              font-size: 1.28rem; } }
      #top .sp-contents .sp-wrap .item.-pink a {
        color: #e6a000;
        text-decoration: none; }
        #top .sp-contents .sp-wrap .item.-pink a:hover, #top .sp-contents .sp-wrap .item.-pink a:active, #top .sp-contents .sp-wrap .item.-pink a:focus {
          color: #e6a000;
          text-decoration: none; }
        #top .sp-contents .sp-wrap .item.-pink a:visited {
          color: #e6a000; }
      #top .sp-contents .sp-wrap .item.-pink .box {
        border: 2px solid #e6a000; }
  #top .sp-contents .bn-link {
    margin-top: 14px; }
    #top .sp-contents .bn-link.-green {
      display: block; }
  #top .sp-contents .btn {
    margin: 0; }
    #top .sp-contents .btn .btn-01 {
      display: block; }
  #top .sp-contents .contact-btn {
    margin: 0.5em 0; }
  @media print, screen and (min-width: 768px) {
    #top .wrap {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; } }
  #top .btn {
    text-align: center; }
  #top .sec-keyv .keyv {
    width: 100%;
    position: relative; }
    @media print, screen and (min-width: 768px) {
      #top .sec-keyv .keyv .keyv-slide {
        width: 100%;
        top: 0;
        left: 0; }
      #top .sec-keyv .keyv .keyv-item .img {
        /*position: absolute;
        top: 0;
        left: 0;*/
        width: 100%; }
      #top .sec-keyv .keyv .keyv-item .container {
        position: relative;
        width: 100%; }
        #top .sec-keyv .keyv .keyv-item .container .copy {
          text-align: left;
          margin: 0;
          padding-top: 25vw;
          color: #fff;
          letter-spacing: 0.1em; }
      #top .sec-keyv .keyv .keyv-item.-keyv-item01 {
        position: relative; }
        #top .sec-keyv .keyv .keyv-item.-keyv-item01 .container {
          position: absolute;
          top: 0;
          bottom: 0;
          left: 50%;
          transform: translateX(-50%); }
          #top .sec-keyv .keyv .keyv-item.-keyv-item01 .container .copy {
            position: absolute;
            right: 0;
            width: 75%;
            top: 60px;
            padding: 0; } }
      @media print, screen and (min-width: 768px) and (min-width: 1023px) {
        #top .sec-keyv .keyv .keyv-item.-keyv-item01 .container .copy {
          width: 816px; } }

    @media screen and (max-width: 767px) {
      #top .sec-keyv .keyv .keyv-item .copy {
        display: none; } }
    @media screen and (max-width: 767px) {
      #top .sec-keyv .keyv .slick-dots {
        bottom: -40px; } }
    @media print, screen and (min-width: 768px) {
      #top .sec-keyv .keyv .slick-dots {
        margin: 0 auto;
        width: 1110px;
        padding: 15px;
        text-align: left;
        position: static;
        bottom: auto; } }
    #top .sec-keyv .keyv .slick-dots li {
      width: 30px;
      height: 30px; }
      #top .sec-keyv .keyv .slick-dots li button:before {
        font-size: 14px;
        font-size: 1.4rem; }
        @media screen and (min-width: 480px) and (max-width: 1200px) {
          #top .sec-keyv .keyv .slick-dots li button:before {
            font-size: 1.75px;
            font-size: 1.12rem; } }
      #top .sec-keyv .keyv .slick-dots li.slick-active button:before {
        color: #284696; }
  #top .sec-keyv .slick-slider .slick-track, #top .sec-keyv .slick-slider .slick-list {
    overflow: hidden; }
  #top .sec-keyv .keyv-bn {
    display: none; }
    @media print, screen and (min-width: 768px) {
      #top .sec-keyv .keyv-bn {
        display: block;
        margin-top: -160px;
        position: absolute;
        border-radius: 15px;
        background: rgba(40, 70, 150, 0.85);
        position: relative;
        float: right;
        width: 528px; }
        #top .sec-keyv .keyv-bn .bn-inner {
          padding: 13px 25px 15px;
          border-radius: 15px;
          color: #fff; }
          #top .sec-keyv .keyv-bn .bn-inner:before {
            content: "";
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
            z-index: 0;
            background: url("../../img/dot.png") repeat 0 0;
            background-size: 5px auto;
            opacity: 0.4; }
          #top .sec-keyv .keyv-bn .bn-inner h3 {
            font-size: 30px;
            font-size: 3rem;
            font-weight: 700;
            margin: 0; } }
      @media screen and (min-width: 768px) and (min-width: 480px) and (max-width: 1200px) {
        #top .sec-keyv .keyv-bn .bn-inner h3 {
          font-size: 3.75px;
          font-size: 2.4rem; } }
    @media print, screen and (min-width: 768px) {
          #top .sec-keyv .keyv-bn .bn-inner p {
            font-size: 19px;
            font-size: 1.9rem;
            font-weight: 400;
            margin: 0; } }
      @media screen and (min-width: 768px) and (min-width: 480px) and (max-width: 1200px) {
        #top .sec-keyv .keyv-bn .bn-inner p {
          font-size: 2.375px;
          font-size: 1.52rem; } }

    @media screen and (min-width: 768px) and (max-width: 1200px) {
      #top .sec-keyv .keyv-bn {
        margin-top: -145px;
        width: 550px; } }
    @media print, screen and (min-width: 1200px) {
      #top .sec-keyv .keyv-bn {
        margin-top: -210px; } }
  #top .sec-link {
    padding: 4em 0; }
    #top .sec-link .link-wrap .link-item .text .btn-01 {
      display: block;
      width: 100%; }
  #top .sec-bn {
    padding: 22px 0;
    background: #faeccc url("../../img/dot.png") repeat 0 0;
    background-size: 5px auto; }
    @media screen and (max-width: 767px) {
      #top .sec-bn {
        padding: 2em 0; } }
    #top .sec-bn .bn-wrap {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content: center;
      margin-left: -6px;
      margin-right: -6px; }
      @media print, screen and (min-width: 768px) {
        #top .sec-bn .bn-wrap {
          margin-left: -25px;
          margin-right: -25px;
          padding: 0; } }
    #top .sec-bn .bn-item {
      margin: 0; }
      @media screen and (max-width: 767px) {
        #top .sec-bn .bn-item {
          width: 50%;
          padding: 6px; } }
      @media print, screen and (min-width: 768px) {
        #top .sec-bn .bn-item {
          padding: 11px 14px;
          width: calc(100% / 3); } }
    #top .sec-bn .iso-wrap ul {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content: center;
      margin: 0;
      padding: 0; }
      @media screen and (max-width: 767px) {
        #top .sec-bn .iso-wrap ul {
          margin-top: 1em; } }
      #top .sec-bn .iso-wrap ul li {
        margin-right: 1em;
        line-height: 1.5;
        border-bottom: 1px solid #000;
        font-size: 15px;
        font-size: 1.5rem; }
        @media screen and (min-width: 480px) and (max-width: 1200px) {
          #top .sec-bn .iso-wrap ul li {
            font-size: 1.875px;
            font-size: 1.2rem; } }
        @media screen and (max-width: 767px) {
          #top .sec-bn .iso-wrap ul li {
            margin: 0.5em 1em 0 0; } }
        #top .sec-bn .iso-wrap ul li::before {
          content: "";
          width: 5px;
          height: 9px;
          background: url("../../img/arrow02.svg") no-repeat center center;
          background-size: contain;
          margin-right: 5px;
          display: inline-block; }
