/* CSS Document */
.pre-inc #future img {
  width: 100%;
}
.pre-inc #future .under-mv {
  background: #56B7BF;
}
.pre-inc #future .under-mv .tab {
  max-width: 1004px;
  margin: 3em auto 3em;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2%;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future .under-mv .tab {
    margin: 1.5em auto 1.5em;
  }
}
.pre-inc #future .under-mv .tab li {
  background: #fff;
  width: 30%;
  list-style: none;
  text-align: center;
  font-size: min(3.5svw, 20px);
  color: #3F918D;
  border: 1px solid #fff;
  padding: 1em 0;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 750px), print {
  .pre-inc #future .under-mv .tab li {
    width: 48%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.pre-inc #future .under-mv .tab li span {
  display: block;
  font-size: min(4svw, 24px);
}
.pre-inc #future .under-mv .tab li.active {
  background: #3F918D;
  color: #fff;
  box-shadow: none;
}
.pre-inc #future .under-mv .tab li.active a {
  pointer-events: none;
}
.pre-inc #future .under-mv .lead {
  font-size: min(4.6svw, 28px);
  color: #fff;
  text-align: center;
  margin: 2em 0 0.5em;
}
.pre-inc #future .under-mv .txt {
  font-size: min(3.8svw, 20px);
  color: #fff;
  text-align: center;
  margin: 0 0 2em;
}
.pre-inc #future #jr .photo {
  position: relative;
}
.pre-inc #future #jr .photo .cap {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: min(2.4svw, 12px);
  text-align: right;
  padding: 0.5em;
  color: #fff;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.7), 0 0 10px rgba(0, 0, 0, 0.7), 0 0 10px rgba(0, 0, 0, 0.7);
}
.pre-inc #future #jr .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1004px;
  margin: 0 auto;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .flex {
    width: 95%;
  }
}
.pre-inc #future #jr .sec01 {
  padding: 80px 0;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec01 {
    padding: 40px 0;
  }
}
.pre-inc #future #jr .sec01 h2 {
  max-width: 866px;
  margin: 0 auto 50px;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec01 h2 {
    width: 86.6%;
    margin: 0 auto 1em;
  }
}
.pre-inc #future #jr .sec01 .flex .img {
  width: 57%;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec01 .flex .img {
    width: 100%;
    margin: 0 0 1em;
  }
}
.pre-inc #future #jr .sec01 .flex .img span {
  display: block;
  text-align: right;
  font-size: min(2.4svw, 12px);
}
.pre-inc #future #jr .sec01 .flex .txt {
  width: 40%;
  font-size: min(3.2svw, 16px);
  line-height: 2;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec01 .flex .txt {
    width: 100%;
  }
}
.pre-inc #future #jr .sec01 .flex .txt span {
  display: block;
  font-size: min(2.4svw, 12px);
}
.pre-inc #future #jr .sec01 .box {
  background: #DEF5F5;
  padding: 3em;
  margin: 3em auto 0;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec01 .box {
    padding: 1em;
    margin: 1em auto 0;
  }
}
.pre-inc #future #jr .sec01 .box.flex .left {
  width: 45%;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec01 .box.flex .left {
    width: 100%;
    margin: 0 0 1em;
  }
}
.pre-inc #future #jr .sec01 .box.flex .left dl {
  margin: 0 0 1em;
}
.pre-inc #future #jr .sec01 .box.flex .left dl dt {
  color: #2D6060;
  font-size: min(4.2svw, 24px);
  border-bottom: 1px solid #2E6060;
  padding: 0 0 0.25em;
  margin: 0 0 0.25em;
}
.pre-inc #future #jr .sec01 .box.flex .left dl dd {
  font-size: min(3.8svw, 20px);
}
.pre-inc #future #jr .sec01 .box.flex .left .txt {
  width: 100%;
}
.pre-inc #future #jr .sec01 .box.flex .right {
  width: 51%;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec01 .box.flex .right {
    width: 100%;
  }
}
.pre-inc #future #jr .sec02 {
  background: #F1F8F8;
  padding: 80px 0;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec02 {
    padding: 40px 0;
  }
}
.pre-inc #future #jr .sec02 h2 {
  max-width: 933px;
  margin: 0 auto 50px;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec02 h2 {
    width: 93.3%;
    margin: 0 auto 1em;
  }
}
.pre-inc #future #jr .sec02 .flex .left {
  width: 49%;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec02 .flex .left {
    width: 100%;
    margin: 0;
  }
}
.pre-inc #future #jr .sec02 .flex .right {
  width: 48%;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec02 .flex .right {
    width: 100%;
  }
}
.pre-inc #future #jr .sec02 .flex .right .block .photo {
  margin: 0 0 2em;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec02 .flex .right .block .photo {
    margin: 0 0 1em;
  }
}
.pre-inc #future #jr .sec02 .flex .right .block dl {
  margin: 0 0 3em;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec02 .flex .right .block dl {
    margin: 0 0 1em;
  }
}
.pre-inc #future #jr .sec02 .flex .right .block dl dt {
  font-size: min(3.8svw, 20px);
  margin: 0 0 1em;
}
.pre-inc #future #jr .sec02 .flex .right .block dl dd {
  font-size: min(3.2svw, 16px);
}
.pre-inc #future #jr .sec02 .flex .right .block:last-child dl {
  margin: 0;
}
.pre-inc #future #jr .sec03 {
  padding: 120px 0;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec03 {
    padding: 40px 0;
  }
}
.pre-inc #future #jr .sec03 .flex .left {
  width: 40%;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec03 .flex .left {
    width: 100%;
    margin: 0 0 1em;
  }
}
.pre-inc #future #jr .sec03 .flex .left h2 {
  max-width: 176px;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec03 .flex .left h2 {
    width: 17.6%;
    margin: 0 auto;
  }
}
.pre-inc #future #jr .sec03 .flex .left dl dt {
  font-size: min(4.6svw, 28px);
  padding: 0.5em 0 1em;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec03 .flex .left dl dt {
    text-align: center;
  }
}
.pre-inc #future #jr .sec03 .flex .left dl dd {
  font-size: min(3.2svw, 16px);
}
.pre-inc #future #jr .sec03 .flex .right {
  width: 57%;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec03 .flex .right {
    width: 100%;
  }
}
.pre-inc #future #jr .sec04 .top {
  background: url(../images/future/02/img07.webp) no-repeat 0 0;
  background-size: cover;
  color: #fff;
  padding: 90px 0;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #jr .sec04 .top {
    padding: 3em 0;
  }
}
.pre-inc #future #jr .sec04 .top h2 {
  text-align: center;
  font-size: min(5svw, 32px);
  text-shadow: 0 0 5px rgb(48, 147, 134), 0 0 5px rgb(48, 147, 134), 0 0 5px rgb(48, 147, 134);
  margin: 0 0 1em;
}
.pre-inc #future #jr .sec04 .top .txt {
  text-align: center;
  font-size: min(3.2svw, 16px);
  line-height: 2;
  text-shadow: 0 0 5px rgb(48, 147, 134), 0 0 5px rgb(48, 147, 134), 0 0 5px rgb(48, 147, 134);
  margin: 0 0 2em;
}
.pre-inc #future #hanshin li {
  list-style: none;
}
.pre-inc #future #hanshin .sec01 {
  padding: 80px 0 110px;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec01 {
    padding: 2em 0;
  }
}
.pre-inc #future #hanshin .sec01 h2 {
  max-width: 613px;
  margin: 0 auto 50px;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec01 h2 {
    transform: scale(0.8);
    margin: 0 auto 1em;
  }
}
.pre-inc #future #hanshin .sec01 .flex {
  max-width: 1004px;
  margin: 0 auto 60px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec01 .flex {
    margin: 0 auto 1em;
  }
}
.pre-inc #future #hanshin .sec01 .flex .photo {
  width: 56.972%;
  position: relative;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec01 .flex .photo {
    width: 100%;
  }
}
.pre-inc #future #hanshin .sec01 .flex .photo .cap {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: min(2.4svw, 12px);
  text-align: right;
  padding: 2em;
  line-height: 1.3;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec01 .flex .photo .cap {
    line-height: 1;
  }
}
.pre-inc #future #hanshin .sec01 .flex .txt {
  width: 40.028%;
  font-size: min(3.2svw, 16px);
  line-height: 2;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec01 .flex .txt {
    width: 90%;
    margin: 0 auto;
  }
}
.pre-inc #future #hanshin .sec01 .box {
  background: #DEF5F5;
  padding: 3em 2em;
  max-width: 1004px;
  margin: 0 auto;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec01 .box {
    padding: 1em;
  }
}
.pre-inc #future #hanshin .sec01 .box h3 {
  color: #2D6060;
  font-size: min(4.2svw, 24px);
  text-align: left;
  margin: 0 0 0.5em;
  border-bottom: 1px solid #2E6060;
  padding: 0 0 0.25em;
}
.pre-inc #future #hanshin .sec01 .box .flex {
  margin: 0 0 30px;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec01 .box .flex {
    margin: 0 0 1em;
  }
}
.pre-inc #future #hanshin .sec01 .box .flex .list {
  width: 40%;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec01 .box .flex .list {
    width: 100%;
    margin: 0 0 1em;
  }
}
.pre-inc #future #hanshin .sec01 .box .flex .list li {
  font-size: min(3.6svw, 18px);
  line-height: 1.8;
}
.pre-inc #future #hanshin .sec01 .box .flex .photo {
  width: 57%;
  display: flex;
  gap: 1%;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec01 .box .flex .photo {
    width: 100%;
  }
}
.pre-inc #future #hanshin .sec01 .box .flex .photo li {
  position: relative;
}
.pre-inc #future #hanshin .sec01 .box .flex .photo li .cap {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: min(2.4svw, 12px);
  text-align: right;
  padding: 0.5em;
  color: #fff;
}
.pre-inc #future #hanshin .sec01 .box dl {
  background: rgba(85, 183, 191, 0.35);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.pre-inc #future #hanshin .sec01 .box dl dt {
  background: #55B7BF;
  padding: 5px;
  color: #fff;
  font-size: min(3.7svw, 19px);
  box-sizing: border-box;
  width: 25.632%;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec01 .box dl dt {
    width: 100%;
  }
}
.pre-inc #future #hanshin .sec01 .box dl dt span {
  display: block;
  border: 1px solid #fff;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec01 .box dl dt span {
    padding: 0.25em 0;
  }
}
.pre-inc #future #hanshin .sec01 .box dl dd {
  font-size: min(3.6svw, 18px);
  padding: 1em;
  box-sizing: border-box;
  width: 74.368%;
  line-height: 1.8;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec01 .box dl dd {
    width: 100%;
  }
}
.pre-inc #future #hanshin .sec02 {
  background: #F1F8F8;
  padding: 120px 0;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec02 {
    padding: 2em 0;
  }
}
.pre-inc #future #hanshin .sec02 h2 {
  max-width: 743px;
  margin: 0 auto 90px;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec02 h2 {
    transform: scale(0.8);
    margin: 0 auto 1em;
  }
}
.pre-inc #future #hanshin .sec02 .block {
  max-width: 1280px;
  margin: 0 auto 100px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec02 .block {
    margin: 0 0 1em;
  }
}
.pre-inc #future #hanshin .sec02 .block:last-child {
  margin-bottom: 0;
}
.pre-inc #future #hanshin .sec02 .block .photo {
  width: 50%;
  position: relative;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec02 .block .photo {
    width: 100%;
  }
}
.pre-inc #future #hanshin .sec02 .block .photo .cap {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: min(2.4svw, 12px);
  text-align: right;
  padding: 0.5em;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.7), 0 0 10px rgba(255, 255, 255, 0.7), 0 0 10px rgba(255, 255, 255, 0.7);
}
.pre-inc #future #hanshin .sec02 .block .photo .cap.white {
  color: #fff;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.7), 0 0 10px rgba(0, 0, 0, 0.7), 0 0 10px rgba(0, 0, 0, 0.7);
}
.pre-inc #future #hanshin .sec02 .block .photo .cap.left {
  right: auto;
  left: 0;
}
.pre-inc #future #hanshin .sec02 .block .detail {
  width: 50%;
  box-sizing: border-box;
  padding: 0 10% 0 5%;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec02 .block .detail {
    width: 100%;
    padding: 1em;
  }
}
.pre-inc #future #hanshin .sec02 .block .detail h3 {
  text-align: left;
  color: #2E6060;
  font-size: min(4.6svw, 28px);
  margin: 0 0 1em;
}
.pre-inc #future #hanshin .sec02 .block .detail h3 span {
  background: #55B7BF;
  display: inline-block;
  color: #fff;
  font-size: min(5.15svw, 35px);
  text-align: center;
  width: 1em;
  line-height: 1;
  padding: 0.1em 0;
  margin: 0 0.5em 0 0;
}
.pre-inc #future #hanshin .sec02 .block .detail dl dt {
  font-size: min(3.8svw, 20px);
  line-height: 1.5;
  margin: 0 0 0.5em;
}
.pre-inc #future #hanshin .sec02 .block .detail dl dd {
  font-size: min(3.2svw, 16px);
  line-height: 2;
}
.pre-inc #future #hanshin .sec02 .block:nth-of-type(2) {
  flex-direction: row-reverse;
}
.pre-inc #future #hanshin .sec02 .block:nth-of-type(2) .detail {
  padding: 0 5% 0 10%;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec02 .block:nth-of-type(2) .detail {
    padding: 1em;
  }
}
.pre-inc #future #hanshin .sec03 .top {
  background: url(../images/future/02/img07.webp) no-repeat 0 0;
  background-size: cover;
  color: #fff;
  padding: 90px 0;
}
@media screen and (max-width: 750px), print {
  .pre-inc #future #hanshin .sec03 .top {
    padding: 3em 0;
  }
}
.pre-inc #future #hanshin .sec03 .top h2 {
  text-align: center;
  font-size: min(5svw, 32px);
  text-shadow: 0 0 5px rgb(48, 147, 134), 0 0 5px rgb(48, 147, 134), 0 0 5px rgb(48, 147, 134);
  margin: 0 0 1em;
}
.pre-inc #future #hanshin .sec03 .top .txt {
  text-align: center;
  font-size: min(3.2svw, 16px);
  line-height: 2;
  text-shadow: 0 0 5px rgb(48, 147, 134), 0 0 5px rgb(48, 147, 134), 0 0 5px rgb(48, 147, 134);
  margin: 0 0 2em;
}
.pre-inc #future #hanshin .sec03 .photo {
  position: relative;
}
.pre-inc #future #hanshin .sec03 .photo .cap {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: min(2.4svw, 12px);
  text-align: right;
  padding: 0.5em;
}

/*# sourceMappingURL=future.css.map */
