@charset "UTF-8";
@font-face {
  font-family: "bold";
  src: url("../font/times-bold.ttf") format("TrueType"); }
@font-face {
  font-family: "eng";
  src: url("../font/times.ttf") format("TrueType"); }
/*--------------------
共通設定
----------------------*/
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a {
  text-decoration: none;
  color: #364276;
  transition: .4s; }
  a.disabled {
    pointer-events: none;
    text-decoration: none; }

ul, ol {
  list-style: none; }

.pc {
  display: block; }
  @media screen and (max-width: 1080px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 1080px) {
    .sp {
      display: block; } }

body {
  overflow-x: visible;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  height: -webkit-fill-available;
  min-height: -webkit-fill-available; }

.fs-l-page {
  overflow: visible; }

p {
  margin: 0;
  padding: 0; }

.wrapper {
  margin: 0 auto !important; }

main {
  max-width: 100%; }

.mainBox {
  margin: 0 auto !important; }

footer {
  position: relative;
  z-index: 9999; }

.fadeIn {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1s, transform 1s; }
  .fadeIn.visible {
    opacity: 1;
    transform: translateY(0); }

/*--------------------------------------------*/
/*--------------------------------------------*/
#future {
  background: #efefed;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  height: -webkit-fill-available;
  min-height: -webkit-fill-available; }
  #future.lp_wrapper {
    margin: 0 auto;
    box-sizing: border-box;
    padding: 0;
    letter-spacing: 0;
    color: #364276;
    font-size: 16px;
    text-align: center;
    font-family: "hiragino-kaku-gothic-pron", sans-serif;
    font-weight: 400;
    font-style: normal;
    overflow-x: hidden;
    line-height: 1.5; }
    @media screen and (max-width: 600px) {
      #future.lp_wrapper {
        padding-top: 60px; } }
    #future.lp_wrapper .inner {
      max-width: 800px;
      margin: 10% auto; }
    #future.lp_wrapper section {
      margin: 20% auto;
      max-width: 600px; }
      @media screen and (max-width: 600px) {
        #future.lp_wrapper section {
          margin: 30% auto; } }
    @media screen and (max-width: 600px) {
      #future.lp_wrapper .mv {
        width: 90%;
        margin: 0 auto; } }
    #future.lp_wrapper .mv .txt {
      margin: 10vh auto; }
      @media screen and (max-width: 600px) {
        #future.lp_wrapper .mv .txt {
          margin: 15vh auto; } }
      #future.lp_wrapper .mv .txt p {
        font-size: 1.0em;
        line-height: 1.8;
        letter-spacing: 1px;
        margin-bottom: 2.0em; }
        @media screen and (max-width: 600px) {
          #future.lp_wrapper .mv .txt p {
            font-size: 3.7vw; } }
    #future.lp_wrapper h3 {
      font-family: "bold";
      font-weight: 400;
      color: #efefed;
      background: #364276;
      line-height: 1.0;
      padding: 0.7em 2.5em;
      width: fit-content;
      margin: 0 auto;
      font-size: 1.2em;
      letter-spacing: 1px; }
      @media screen and (max-width: 600px) {
        #future.lp_wrapper h3 {
          font-size: 4.5vw; } }
    #future.lp_wrapper .lineup {
      margin: 15% auto; }
      @media screen and (max-width: 600px) {
        #future.lp_wrapper .lineup {
          margin: 20% auto; } }
      #future.lp_wrapper .lineup div {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        max-width: 500px;
        margin: 10% auto;
        flex-wrap: wrap; }
        @media screen and (max-width: 600px) {
          #future.lp_wrapper .lineup div {
            width: 80%; } }
        #future.lp_wrapper .lineup div a {
          display: block;
          width: calc(100%/2 - 3%); }
          #future.lp_wrapper .lineup div a p {
            font-size: 1.0em;
            line-height: 1.5; }
            @media screen and (max-width: 600px) {
              #future.lp_wrapper .lineup div a p {
                font-size: 3.7vw; } }
    #future.lp_wrapper .point ul {
      margin: 10% auto;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      max-width: 600px; }
      @media screen and (max-width: 600px) {
        #future.lp_wrapper .point ul {
          width: 90%;
          margin: 20% auto; } }
      #future.lp_wrapper .point ul li {
        width: calc(100%/3 - 5%); }
        @media screen and (max-width: 600px) {
          #future.lp_wrapper .point ul li {
            width: calc(100%/3 - 2%); } }
        @media screen and (max-width: 600px) {
          #future.lp_wrapper .point ul li img {
            max-height: 50px;
            width: auto; } }
        #future.lp_wrapper .point ul li p {
          font-size: 0.9em;
          margin-top: 2.0em; }
          @media screen and (max-width: 600px) {
            #future.lp_wrapper .point ul li p {
              font-size: 3.2vw; } }
    #future.lp_wrapper .scroll {
      margin: 15% auto; }
      #future.lp_wrapper .scroll p {
        font-size: 1.1em;
        margin-bottom: 1.0em; }
        @media screen and (max-width: 600px) {
          #future.lp_wrapper .scroll p {
            font-size: 4.5vw; } }
    #future.lp_wrapper h2 {
      font-weight: 400;
      font-size: 1.1em;
      padding: 0.7em 1.5em;
      line-height: 1.0;
      width: fit-content;
      min-width: 350px;
      margin: 0 auto;
      background: #ffffff;
      border: 1px solid #364276;
      box-shadow: 7px 7px 0px 0px #364276;
      margin-bottom: 1.0em; }
      @media screen and (max-width: 600px) {
        #future.lp_wrapper h2 {
          font-size: 4.2vw;
          padding: 1.0em;
          min-width: auto;
          width: 75%; } }
    #future.lp_wrapper .price {
      font-size: 1.1em;
      margin-bottom: 1.0em; }
      @media screen and (max-width: 600px) {
        #future.lp_wrapper .price {
          font-size: 4.2vw; } }
      #future.lp_wrapper .price span {
        padding-left: .5em;
        font-size: 80%; }
    @media screen and (max-width: 600px) {
      #future.lp_wrapper .swiper {
        width: 90%;
        margin: 0 auto; } }
    #future.lp_wrapper section .item_txt {
      margin: 1.5em auto;
      line-height: 1.8;
      font-size: 1.0em; }
      @media screen and (max-width: 600px) {
        #future.lp_wrapper section .item_txt {
          font-size: 3.7vw;
          margin: 2.0em auto; } }
    #future.lp_wrapper section h4 {
      font-size: 1.1em;
      font-family: "eng";
      font-weight: 400;
      letter-spacing: 0.1em;
      margin-bottom: 1.0em; }
      @media screen and (max-width: 600px) {
        #future.lp_wrapper section h4 {
          font-size: 4.5vw; } }
    #future.lp_wrapper section .detail, #future.lp_wrapper section .color {
      width: 90%;
      margin: 15% auto; }
      #future.lp_wrapper section .detail ul, #future.lp_wrapper section .color ul {
        display: flex;
        align-items: center;
        justify-content: space-between; }
        #future.lp_wrapper section .detail ul li, #future.lp_wrapper section .color ul li {
          width: calc(100%/3 - 2%); }
    @media screen and (max-width: 600px) {
      #future.lp_wrapper section .color {
        width: 80%; }
        #future.lp_wrapper section .color ul li {
          width: calc(100%/4 - 2%); } }
    #future.lp_wrapper section .icon {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 40%;
      margin: 15% auto; }
      @media screen and (max-width: 600px) {
        #future.lp_wrapper section .icon {
          width: 50%; } }
      #future.lp_wrapper section .icon div {
        width: calc(100%/3 - 5%); }
    #future.lp_wrapper section .btn {
      width: 40%;
      margin: 0 auto; }
      @media screen and (max-width: 600px) {
        #future.lp_wrapper section .btn {
          width: 60%; } }
      #future.lp_wrapper section .btn a {
        display: block;
        font-size: 1.0em;
        background: #ffffff;
        border: 1px solid #364276;
        border-radius: 50vh;
        line-height: 1.0;
        padding: 1em 3.0em 1.0em 3.5em;
        transition: .4s; }
        @media screen and (max-width: 600px) {
          #future.lp_wrapper section .btn a {
            padding: 1.0em;
            font-size: 3.7vw; } }
        #future.lp_wrapper section .btn a:hover {
          background: #364276;
          color: #ffffff; }
    #future.lp_wrapper section ul.itemlink {
      display: flex;
      align-items: flex-end;
      justify-content: space-between; }
      @media screen and (max-width: 600px) {
        #future.lp_wrapper section ul.itemlink {
          width: 90%;
          margin: 0 auto; } }
      #future.lp_wrapper section ul.itemlink li {
        width: calc(100%/2 - 2%); }
        #future.lp_wrapper section ul.itemlink li .btn {
          width: 90%;
          margin: 1.0em auto; }
          @media screen and (max-width: 600px) {
            #future.lp_wrapper section ul.itemlink li .btn {
              width: 95%; } }
          #future.lp_wrapper section ul.itemlink li .btn a {
            font-size: 0.9em;
            padding: 1.0em;
            position: relative; }
            @media screen and (max-width: 600px) {
              #future.lp_wrapper section ul.itemlink li .btn a {
                font-size: 3.2vw;
                padding: 1.0em 0; }
                #future.lp_wrapper section ul.itemlink li .btn a:first-child {
                  padding-right: 1.0em; } }
            #future.lp_wrapper section ul.itemlink li .btn a::after {
              content: "▶";
              position: absolute;
              top: 50%;
              right: 1.5em;
              transform: translateY(-50%);
              font-size: 100%; }
              @media screen and (max-width: 600px) {
                #future.lp_wrapper section ul.itemlink li .btn a::after {
                  right: 1.0em; } }
    #future.lp_wrapper .logo {
      width: fit-content;
      margin: 0 auto; }
      @media screen and (max-width: 600px) {
        #future.lp_wrapper .logo {
          padding-bottom: 10%; } }
      #future.lp_wrapper .logo a {
        display: block;
        max-width: 75px; }
        @media screen and (max-width: 600px) {
          #future.lp_wrapper .logo a {
            max-width: 50px; } }
