@charset "UTF-8";
/* --------------------------------------------------
	section size
-------------------------------------------------- */
header {
  height: 126px;
}
@media screen and (max-width: 768px) {
  header {
    height: 14.1333333333vw;
  }
}
header .wrap {
  padding: 39px 0;
}
@media screen and (max-width: 768px) {
  header .wrap {
    padding: 2.9333333333vw 0;
  }
}

main {
  padding-top: 136px;
}
@media screen and (max-width: 768px) {
  main {
    padding-top: 14.1333333333vw;
  }
}

@media screen and (max-width: 768px) {
  header .menuwrap {
    background: #fff url(../img/mirai-supporter/header_menu_bg_sp.png) no-repeat center top/100%;
  }
  header .menuwrap .logo {
    width: 78.8vw;
  }
  #pagetop {
    bottom: 20px;
  }
}
.page-mirai-supporter {
  position: relative;
  border-top: 10px solid #03b8df;
  /* common
  ---------------------------------------------------------------------------- */
  /* sec-fv
  ---------------------------------------------------------------------------- */
  /* sec-concept
  ---------------------------------------------------------------------------- */
  /* sec-partner
  ---------------------------------------------------------------------------- */
  /* sec-contact
  ---------------------------------------------------------------------------- */
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter {
    border-top: none;
  }
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sp-fade {
    animation: sp-fadeIn 1s 0.2s cubic-bezier(0.33, 1, 0.68, 1) forwards;
    opacity: 0;
    transform: translateY(30px);
  }
}
.page-mirai-supporter .main-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  font-size: 0;
  line-height: 0; /* 画像下の余白を消す */
  overflow: hidden;
}
.page-mirai-supporter .main-bg .item {
  margin: 0 !important;
  padding: 0;
  /*			width: 1919px;
  			height: 4489px;*/
}
.page-mirai-supporter .main-bg .item img {
  width: 100%;
  max-width: inherit;
  height: auto;
}
.page-mirai-supporter .slider-container {
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .slider-container {
    display: flex;
    width: 100%;
    height: auto;
  }
}
.page-mirai-supporter .slider-container .slider-wrapper {
  display: flex;
  flex-direction: column;
  /*			animation: horizontal-animation 50s linear infinite;*/
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .slider-container .slider-wrapper {
    flex-direction: row;
    /*				animation: horizontal-animation_sp 30s linear infinite;*/
  }
}
.page-mirai-supporter .slider-container .slide {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .slider-container .slide {
    width: 207.4666666667vw;
  }
}
.page-mirai-supporter .slider-container .slide img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sp-bg-slider {
    width: 100%;
    overflow: hidden;
  }
  .page-mirai-supporter .sp-bg-slider .item {
    width: 208vw;
  }
}
.page-mirai-supporter section {
  position: relative;
  z-index: 2;
}
.page-mirai-supporter .l-inner {
  position: relative;
  width: 100%;
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .l-inner {
    max-width: inherit;
  }
}
.page-mirai-supporter .white-wrap {
  background: #fff;
}
.page-mirai-supporter .c-border {
  width: 100%;
  max-width: 970px;
  height: 10px;
  background: #03b8df;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .c-border {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .page-mirai-supporter .nopc {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .nosp {
    display: none;
  }
}
.page-mirai-supporter .sec-fv {
  position: relative;
  z-index: 2;
}
.page-mirai-supporter .sec-fv:after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: block;
  content: "";
  width: 100%;
  max-width: 1160px;
  height: 100%;
  background: #fff;
  z-index: -1;
}
.page-mirai-supporter .sec-fv .l-inner {
  padding: 146px 0 162px 0;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sec-fv .l-inner {
    padding: 7.3333333333vw 0 8vw 0;
  }
}
.page-mirai-supporter .sec-fv .fv-txt {
  width: 100%;
  max-width: 1008px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sec-fv .fv-txt {
    max-width: 83.0666666667vw;
  }
}
.page-mirai-supporter .sec-fv .fv-slider {
  position: relative;
  z-index: 2;
}
.page-mirai-supporter .sec-fv .fv-slider .item {
  width: 320px;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sec-fv .fv-slider .item {
    width: 33.3333333333vw;
  }
}
.page-mirai-supporter .sec-concept {
  padding: 90px 0 30px 0;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sec-concept {
    padding: 13.7333333333vw 0 0 0;
  }
}
.page-mirai-supporter .sec-concept .txt_wrap {
  max-width: 894px;
  margin: 130px auto 0 auto;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sec-concept .txt_wrap {
    max-width: 76.5333333333vw;
    margin: 8.6666666667vw auto 0 auto;
  }
}
.page-mirai-supporter .sec-concept .c-border {
  margin-top: 196px;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sec-concept .slider-container {
    margin-top: 12vw;
  }
}
.page-mirai-supporter .sec-partner {
  padding: 90px 0 30px 0;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sec-partner {
    padding: 14.1333333333vw 0 0 0;
  }
}
.page-mirai-supporter .sec-partner .txt-lead {
  max-width: 749px;
  margin: 100px auto 208px auto;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sec-partner .txt-lead {
    max-width: 82.6666666667vw;
    margin: 8.8vw auto 16.8vw auto;
  }
}
.page-mirai-supporter .sec-partner .flex {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 0 180px;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sec-partner .flex {
    gap: 0 14.4vw;
  }
}
.page-mirai-supporter .sec-partner .flex .logo:nth-of-type(1) {
  width: 277px;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sec-partner .flex .logo:nth-of-type(1) {
    width: 25.6vw;
  }
}
.page-mirai-supporter .sec-partner .flex .logo:nth-of-type(2) {
  width: 354px;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sec-partner .flex .logo:nth-of-type(2) {
    width: 32.6666666667vw;
  }
}
.page-mirai-supporter .sec-partner .flex .logo a {
  transition: 0.4s;
}
.page-mirai-supporter .sec-partner .flex .logo a:hover {
  opacity: 0.7;
}
.page-mirai-supporter .sec-partner .c-border {
  margin-top: 254px;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sec-partner .slider-container {
    margin-top: 17.3333333333vw;
  }
}
.page-mirai-supporter .sec-contact {
  padding: 126px 60px 178px 60px;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sec-contact {
    padding: 9.6vw 13.3333333333vw 10.6666666667vw 13.3333333333vw;
  }
}
.page-mirai-supporter .sec-contact .flex {
  position: relative;
  margin-top: 118px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sec-contact .flex {
    margin-top: 9.3333333333vw;
  }
}
.page-mirai-supporter .sec-contact .flex-img {
  width: 557px;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sec-contact .flex-img {
    width: 77.3333333333vw;
  }
}
.page-mirai-supporter .sec-contact .flex-img .imgwrap {
  position: relative;
  width: 100%;
  z-index: 1;
}
.page-mirai-supporter .sec-contact .flex-img .imgwrap:before {
  content: "";
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transition: width 0.3s ease, transform 0.3s ease 0.3s;
  z-index: -1;
  background-color: #03b8df;
  border-radius: 32px;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sec-contact .flex-img .imgwrap:before {
    border-radius: 4.2666666667vw;
  }
}
.page-mirai-supporter .sec-contact .flex-img .imgwrap .img {
  position: relative;
  z-index: 1;
}
.page-mirai-supporter .sec-contact .flex-txt {
  width: calc(100% - 557px);
  padding-left: 60px;
}
@media screen and (max-width: 768px) {
  .page-mirai-supporter .sec-contact .flex-txt {
    width: 100%;
    padding-left: 0;
    margin-top: 8.6666666667vw;
    text-align: center;
  }
}
.page-mirai-supporter .sec-contact.is-show .anime_rotate::before {
  width: 100%;
  transform: rotate(5deg);
}

/* footer
---------------------------------------------------------------------------- */
footer {
  margin: 0;
  padding: 0;
}

.l-footer {
  position: relative;
  background: #fff;
  border-top: 10px solid #03b8df;
  padding: 55px 0;
  z-index: 2;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .l-footer {
    border-top: 1.3333333333vw solid #03b8df;
    padding: 6.6666666667vw 0 24.2666666667vw 0;
  }
}
.l-footer .l-inner {
  max-width: 1260px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
}
@media screen and (max-width: 768px) {
  .l-footer .l-inner {
    max-width: inherit;
    flex-direction: column;
    gap: 7.3333333333vw 0;
  }
}
.l-footer .l-inner .f-logo {
  max-width: 747px;
}
@media screen and (max-width: 768px) {
  .l-footer .l-inner .f-logo {
    max-width: 78.8vw;
  }
}
.l-footer .l-inner .f-nav .fnavi {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 0 45px;
}
@media screen and (max-width: 768px) {
  .l-footer .l-inner .f-nav .fnavi {
    gap: 0 10.6666666667vw;
  }
}
.l-footer .l-inner .f-nav .fnavi li {
  font-family: "Koburina Gothic W6 JIS2004", sans-serif;
  font-size: 1.5rem;
}
.l-footer .l-inner .f-nav .fnavi li a {
  display: block;
  transition: 0.3s ease;
}
@media screen and (min-width: 769px) {
  .l-footer .l-inner .f-nav .fnavi li a:hover {
    color: #7F7F7F;
  }
}

@keyframes horizontal-animation {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-50%);
  }
}
@keyframes horizontal-animation_sp {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@keyframes sp-fadeIn {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}