@charset "UTF-8";
/*--------------------
共通設定
----------------------*/
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a {
  text-decoration: none;
  transition: .4s;
  color: #333333; }
  a:hover {
    text-decoration: none;
    color: #333333; }
  a.disabled {
    pointer-events: none;
    text-decoration: none; }
  a:visited {
    color: #333333; }

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; }

.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(50px);
  transition: opacity 1s, transform 1s; }
  .fadeIn.visible {
    opacity: 1;
    transform: translateY(0); }

/*--------------------------------------------*/
#future.lp_wrapper {
  margin: 0;
  box-sizing: border-box;
  padding: 0;
  letter-spacing: 0;
  color: #333333;
  font-size: 14px;
  text-align: center;
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-weight: 200;
  font-style: normal;
  overflow-x: hidden;
  line-height: 1.5;
  background: #e7ebf3; }
#future .mv {
  height: 100vh;
  width: fit-content;
  margin: 0 auto;
  overflow: hidden;
  position: relative; }
  @media screen and (max-width: 1080px) {
    #future .mv {
      height: auto;
      overflow-y: auto; } }
  #future .mv img {
    width: 100%;
    height: 100%;
    object-fit: contain; }
  #future .mv .link {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-direction: column;
    position: absolute;
    bottom: 35px;
    left: 35px; }
    @media screen and (max-width: 1080px) {
      #future .mv .link {
        flex-direction: row;
        left: 50%;
        transform: translateX(-50%);
        justify-content: space-between;
        width: 90%;
        bottom: 15px; } }
    #future .mv .link a {
      min-width: 180px;
      display: block;
      padding: 0.7em 2.0em;
      border-radius: 50vh;
      font-size: 1.0em;
      margin-bottom: 4%;
      color: #788fb2;
      background: rgba(255, 255, 255, 0.8); }
      @media screen and (max-width: 1080px) {
        #future .mv .link a {
          min-width: 93px;
          font-size: 3.2vw;
          padding: 0.7em 1.0em;
          white-space: nowrap;
          margin: 0;
          width: calc(100%/3 - 2%); } }
#future .txt {
  margin: 10% auto; }
  @media screen and (max-width: 600px) {
    #future .txt {
      margin: 20% auto; } }
  #future .txt p {
    font-size: 1.3em;
    line-height: 2.2; }
    @media screen and (max-width: 600px) {
      #future .txt p {
        font-size: 3.2vw; } }
#future .menu {
  margin: 10% auto;
  width: 80%;
  max-width: 500px;
  background: #ffffff;
  padding: 5% 5%; }
  @media screen and (max-width: 600px) {
    #future .menu {
      margin: 20% auto; } }
  #future .menu li {
    text-align: center;
    margin: 7% 0; }
    #future .menu li p {
      font-size: 2.5em;
      font-family: "times-new-roman", sans-serif;
      font-weight: 400;
      color: #788fb2; }
      @media screen and (max-width: 600px) {
        #future .menu li p {
          font-size: 6.0vw; } }
    #future .menu li a {
      display: block;
      font-size: 1.5em; }
      @media screen and (max-width: 600px) {
        #future .menu li a {
          font-size: 3.2vw; } }
#future section {
  margin: calc(15% - 60px) auto;
  max-width: 700px;
  padding-top: 60px; }
  @media screen and (max-width: 600px) {
    #future section {
      margin: calc(10% - 60px) auto;
      width: 95%; } }
  #future section .ttl {
    width: fit-content;
    margin: 0 auto 5%; }
    #future section .ttl .number {
      font-size: 2.5em;
      font-family: "times-new-roman", sans-serif;
      font-weight: 400;
      color: #788fb2; }
      @media screen and (max-width: 600px) {
        #future section .ttl .number {
          font-size: 8vw; } }
    #future section .ttl h2 {
      font-weight: 200;
      font-size: 2.0em;
      line-height: 2.0; }
      @media screen and (max-width: 600px) {
        #future section .ttl h2 {
          font-size: 4.5vw; } }
    #future section .ttl .sub_ttl {
      width: 60%;
      margin: .5em auto;
      font-family: "times-new-roman", sans-serif;
      font-size: 1.0em;
      font-weight: 400;
      color: #788fb2;
      letter-spacing: .1em;
      border-top: 1px solid #788fb2;
      line-height: 2.0; }
      @media screen and (max-width: 600px) {
        #future section .ttl .sub_ttl {
          font-size: 3.2vw; } }
  #future section p.txt {
    font-size: 1.3em;
    line-height: 2.5;
    margin: 5% auto; }
    @media screen and (max-width: 600px) {
      #future section p.txt {
        font-size: 3.0vw; } }
  #future section .ttlBox {
    text-align: left;
    border-left: 10px solid #788fb2;
    padding: 0 1.0em 0.3em;
    margin-bottom: 1.0em; }
    #future section .ttlBox h3 {
      font-size: 2.0em;
      color: #788fb2;
      font-family: "times-new-roman", sans-serif;
      font-weight: 200;
      letter-spacing: .1em; }
      @media screen and (max-width: 600px) {
        #future section .ttlBox h3 {
          font-size: 5.5vw; } }
    #future section .ttlBox p {
      font-size: 1.3em; }
      @media screen and (max-width: 600px) {
        #future section .ttlBox p {
          font-size: 3.4vw; } }
  #future section .main_item {
    margin: 15%  auto; }
    @media screen and (max-width: 600px) {
      #future section .main_item {
        margin: 25% auto; } }
    #future section .main_item img {
      margin-bottom: 5%; }
    #future section .main_item .btn {
      display: block;
      width: fit-content;
      background: #ffffff;
      color: #788fb2;
      font-size: 1.1em;
      border: 1px solid #788fb2;
      padding: 1.0em 3.0em;
      margin: 7% auto; }
      @media screen and (max-width: 600px) {
        #future section .main_item .btn {
          font-size: 3.0vw; } }
      #future section .main_item .btn:hover {
        background: #788fb2;
        color: #ffffff; }
  #future section .recommend {
    margin: 15% auto; }
    @media screen and (max-width: 600px) {
      #future section .recommend {
        margin: 25% auto; } }
    #future section .recommend ul {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      flex-wrap: wrap; }
      #future section .recommend ul li {
        width: calc(100%/2 - 0.5%);
        margin-bottom: 5%; }
        #future section .recommend ul li p {
          font-size: 1.2em;
          margin: 1.0em auto; }
          @media screen and (max-width: 600px) {
            #future section .recommend ul li p {
              font-size: 2.7vw; } }
        #future section .recommend ul li .btn {
          background: #788fb2;
          color: #ffffff;
          display: block;
          width: fit-content;
          padding: 0.7em 2.0em;
          margin: 1.0em auto;
          font-size: 1.1em;
          border: 1px solid #788fb2; }
          @media screen and (max-width: 600px) {
            #future section .recommend ul li .btn {
              font-size: 2.7vw;
              padding: 0.5em 2.0em; } }
          #future section .recommend ul li .btn:hover {
            background: #fff;
            color: #788fb2; }
#future .all_btn a {
  display: block;
  width: fit-content;
  background: #ffffff;
  color: #788fb2;
  font-size: 1.1em;
  border: 1px solid #788fb2;
  padding: 1.0em 3.0em;
  margin: 7% auto; }
  @media screen and (max-width: 600px) {
    #future .all_btn a {
      font-size: 3.0vw; } }
  #future .all_btn a:hover {
    background: #788fb2;
    color: #ffffff; }
