@charset "utf-8";
/* CSS Document */


.pcOnlyB{
	display:none;
}

.pcOnlyI{
	display:none;
}

/* トップページ */


.mv{
	background: url(../img/mv_bg_sp.jpg) no-repeat top left #1c6fd6;
	background-size: cover;
	min-height: calc(90svh - var(--header-height));
	padding-top: var(--header-height);
	overflow: hidden;
	width: 100%;
	position: relative;
}

.mv__mainCopy{
	width: 48vw;
	padding: 6rem 2.8rem 8.4rem 2.8rem;
}

.mv__subText{
	text-align: left;
	padding: 0 2.8rem 5rem;
	color: #FFF;
	width: auto;
	line-height: 1.6;
}

.mv__aircraft{
	position: absolute;
	right:5vw;
	top: 26vw;
	width: 48.5vw;
	pointer-events: none;
	/* 進行方向の逆（右下）からスタートして定位置へ */
	animation: aircraft-fly-in 1800ms ease both;
	img{
		/* 着地後のゆるやかな浮遊（フライイン完了後にループ） */
  		animation: aircraft-float 6s ease-in-out 2.2s infinite;
	}
}

@keyframes aircraft-fly-in {
  from {
    opacity: 0;
    transform: translate(26%, 18%);
  }
  to {
    opacity: 1;
    transform: translate(0, 0);
  }
}

@keyframes aircraft-float {
  0%,
  100% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(-1.2%, -2.4%);
  }
}

/* --ボタン型 mv__movie
.mv__movie {
  display: flex;
  align-items: center;
  margin-left: 2.8vw;
  gap: 0.6em;
  padding: 15px 28px;
  font-weight: 700;
  color: #FFF;
  background: rgba(26, 32, 74, 0.82);
  border-radius: 50vw;
  box-shadow: 0 10px 30px rgba(0, 18, 56, 0.3);
  transition: background 0.25s ease;
  border: none;
  font-size: 2.2rem;
}

.mv__movie:hover,
.mv__movie:focus-visible {
  background: rgba(26, 32, 74, 0.96);
}

.mv__movie-icon {
  width: 1.4em;
  height: 1.4em;
}

*/

.message{
  position: relative;
  padding: 5.6rem 2.8rem;
  &:before{
    content: "";
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 800/70;
    background: url(../img/message_bg_top.png) no-repeat bottom center;
    background-size: 100% 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-98%);
  }
  &:after{
    content: "";
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 800/70;
    background: url(../img/message_bg_top.png) no-repeat bottom center;
    background-size: 100% 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateY(98%) rotate(180deg);
  }
}

.message__movie.pcOnlyB{
  display: none;
}

.message__movie{
  width: auto;
  border: solid 0.4rem #FFF;
  background-color: rgba(204,204,204,0.4);
  display: grid;
  place-content: center;
  margin: 0;
  aspect-ratio: 16/9;
  border-radius: 1.4rem;
  margin-bottom: 5.6rem;
  display: none;
}

.message__movie__play{
  width: 24vw;
  height: 24vw;
  background-color: rgba(204,204,204,0.6);
  border: solid 1px #FFF;
  border-radius: 50vw;
  display: flex;
  justify-content: center;
  align-items: center;
  img{
    width: 46%;
  }
}

.message__topMsg{
  text-align: left;
  background: url(../img/message_bg2.png) no-repeat top right;
}

.message__topMsg__header{
  text-align: left;
  font-family: var(--font-m);
  font-weight: bold;
  font-size: 3.8rem;
  margin-bottom: 2.8vw;
  span{
    display: block;
    font-family: inherit;
    font-family: var(--font-g);
    font-weight: normal;
    font-size: 2.4rem;
  }
}

.message__topMsg__foot{
  width: fit-content;
  margin: 2.8vw 0 0 auto;
  line-height: 1.4;
}

.history{
  padding: calc(8.75vw + 5.6vw) 0 5.6vw 0;
  background: 
    url(../img/history_bg2.svg) no-repeat center right 10vw / 120vw auto,
    url(../img/history_bg.jpg) repeat-y center top;
}

.history__header{
  font-weight: bold;
  font-size: 3.8rem;
  color: #02284d;
  line-height: 1.2;
  .min{
    font-size: 80%;
    display: inline-block;
    margin-inline:0.6em ;
    
    &:before{
      content: "-";
      padding-right: 0.4em;
    }
    &:after{
      content: "-";
      padding-left: 0.4em;
    }
  }
}



.history__header__subtitle{
  color: #02284d;
  margin-bottom: 5.6vw;
}

.history__list__wrap{
  overflow-x: scroll;
  width: 100%;
  padding: 0 0 2vw 0;
  position: relative;
  margin-bottom: 5.6vw;
  &::after{
    content: "";
    display: block;
    position: absolute;
    width: 20vw;
    height: 20vw;
    background: url(../img/swipe_w.svg) no-repeat center center rgba(0,0,0,0.5);
    background-size: 75% auto;
    right: 2vw;
    top: calc(50% - 10vw);
    z-index: 3;
    border-radius: 2vw;
    opacity: 1;
    transition: opacity .3s ease;
  }
  &.is-scrolled::after{
    opacity: 0;
    pointer-events: none;
  }
}

.history__list{
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 0.6vw;
  width: max-content;
  cursor: grab;
  user-select: none;
  li{
    flex: none;
    width: 43vw;
    &:after{
      display: block;
      background:url(../img/arrow_bottom_w.svg) no-repeat center center var(--color2);
      background-size: 16% auto;
      content: "";
      width: 100%;
      height: auto;
      aspect-ratio: 300/50;
    }
  }
}

.history__list__content{
  text-align: left;
  background: url(../img/history_head.png) no-repeat top center;
  background-size: 100% 100%;
  color: #FFF;
  font-family: var(--font-m);
  line-height: 1.4;
  font-weight: bold;
  padding: 1.6vw;
  width: 100%;
  height: auto;
  aspect-ratio: 300/150;
  box-sizing: border-box;
  margin-bottom: -6.4vw;
  position: relative;
  z-index: 2;
  font-size:3rem;
  span{
    font-size: 2.2rem;
  }
}

.history__list.isComp li:after{
  display: none;
}

.history__list.isComp li{
  background-color: #FFF;
  padding-bottom: 2.8vw;
  .compIcon{
    padding: 2.8vw;
    img{
      width: 15vw;
      height: 15vw;
      object-fit: contain;
    }
  }

  .compData{
    margin-bottom: 2.8vw;
    dt{
      background-color: var(--color2);
      padding: 2.8vw;
      line-height: 1;
      color: #FFF;
      font-weight: 500;
      margin-bottom: 2.8vw;
    }
    dd{
      padding:0;
      color: var(--color2);
      line-height: 1;
    }
    dd.lv1{
      font-weight: bold;
      font-size: 4.8rem;
      span{
        font-size: 66%;
      }
    }
    dd.lv2{
      font-size: 2.2rem;
      padding-top: 1vw;
    }
  }

  .compGra{
    text-align: center;
    img{
      width: 30vw;
      margin-bottom: 2.8vw;
    }
    figcaption{
      line-height: 1;
      font-weight: 500;
      font-size: 90%;
      color: var(--color2);
    }
  }
}

.modalDialog{
  margin-inline: 2.8vw;
  padding: 11.2vw 2.8vw;
  border: none;
  opacity: 0;
  transition: opacity .3s ease;
  &.isShow{
    opacity: 1;
  }
  &::backdrop{
    opacity: 0;
    background: rgba(230,246,249,0.7);
    transition: opacity .3s ease;
  }
  &.isShow::backdrop{
    opacity: 1;
  }
}

.modalDialog__inner{
  position: relative;
}

.modalDialog__close{
  position: absolute;
  right: 0;
  top: -8.6vw;
  background: url(../img/close.svg) no-repeat center center;
  width: 20vw;
  height: auto;
  aspect-ratio: 100/30;
  border: none;
  outline: none;
  cursor: pointer;
}

.modalDialog__image{
  width: 100%;
  img{
    width: 100%;
  }
}

.modalDialog__header{
  font-family: var(--font-m);
  font-size:3.6rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: left;
  padding: 0.5em 0;
  span{
    font-size: 2.8rem;
  }
}

.modalDialog__text{
  text-align: left;
}

.reception{
  padding: 11.2vw 2.8vw;
}

.reception__text{
  text-align: left;
  margin-bottom: 2.8vw;
}

.reception__image{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.4vw;
}

.next{
  padding: 0 0 5.6vw 0;
  background:
    url(../img/next_bg2.svg) no-repeat right 1.4vw bottom 50vw / 120vw auto,
    url(../img/next_bg1.svg) no-repeat left 1.4vw top 40vw / 120vw auto;
}

.next__header{
  font-family: var(--font-m);
  color: var(--color3);
  span{
    display: grid;
    color: #FFF;
    background-color: var(--color3);
    font-family: var(--font-g);
    font-weight: bold;
    line-height: 1.3;
    width: 35vw;
    height: 35vw;
    place-content: center;
    border-radius: 50vw;
    margin: 0 auto 5.6vw auto;
  }
}

.next__text{
  text-align: left;
  padding: 0 2.8vw;
  margin-bottom: 5.6vw;
}

.next__list{
  list-style-type: none;
  margin: 0;
  padding: 0;
  li{
    margin-bottom: 5.6vw;
  }
}

.next__list__image{
  margin-bottom: 2.8vw;
  img{
    width: 100%;
    height: auto;
    aspect-ratio: 23/10;
    object-fit: cover;
    object-position: left bottom;
  }
}

.next__list__head{
  background: url(../img/next1_num.svg) no-repeat left top 0.6vw;
  background-size: 10vw auto;
  margin: 0 2.8vw 1.4vw 2.8vw;
  text-align: left;
  padding:0 0 0 12.8vw;
  line-height: 1.2;
  min-height: 10.6vw;
}

.next__list__text{
  text-align: left;
  padding: 0 2.8vw;
}

.next__list>li:nth-of-type(2) .next__list__head{ background-image:url(../img/next2_num.svg); }
.next__list>li:nth-of-type(3) .next__list__head{ background-image:url(../img/next3_num.svg); }
.next__list>li:nth-of-type(4) .next__list__head{ background-image:url(../img/next4_num.svg); }
.next__list>li:nth-of-type(5) .next__list__head{ background-image:url(../img/next5_num.svg); }

.next_list__flow{
  background-color: #e0eff6;
  padding: 2.8vw;
}

.next__list__flowHead{
  background-color: var(--color3);
  font-weight: bold;
  color: #FFF;
  padding-bottom: 0.4vw;
}

.next__list__flowContent{
  text-align: left;
  display: grid;
  grid-template-columns: auto auto;
  padding: 0 2.8vw 2.8vw 2.8vw;
  &>*{
    padding: 1.4vw 2.8vw;
    border-bottom: dotted 2px var(--color3);
  }
}

.footMsg{
  background: url(../img/foot_img.jpg) no-repeat center center;
  background-size: cover;
  color:#FFF;
  padding:2.8vw 2.8vw 5.6vw 2.8vw;
  text-align: left;
  position: relative;
  font-family: var(--font-m);
  font-weight: bold;
  &:before{
    content: "";
    background-color: var(--color2);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    z-index: 2;
    opacity: 0.4;
    mix-blend-mode: multiply;
  }
}

.footMsg__header,
.footMsg__text1,
.footMsg__text2{
  position: relative;
  z-index: 3;
}

.footMsg__header{
  font-size:3.2rem;
  .lv1{
    font-size: 4rem;
  }
  .lv2{
    font-size: 5.6rem;
  }
}

.footMsg__text1{
  font-size: 2.2rem;
  line-height: 1.4;
}

.footer{
  padding: 5.6vw 2.8vw 2.8vw 2.8vw;
}

.footer__logo{
  max-width: 50vw;
  margin: 0 auto 2.8vw auto;
}

.footer__link{
  display: flex;
  gap: 5.6vw;
  justify-content: center;
  margin-bottom: 5.8vw;
  a{
    text-decoration: none;
  }
}

.footer__copy{
  font-size: 2.2rem;
}

.toTop{
  display: block;
  width: 10vw;
  position: fixed;
  z-index: 90;
  bottom: 20vw;
  right: 2.8vw;
  opacity: 0;
  pointer-events: none;
  transition: opacity .4s ease;
}

.toTop.is-show{
  opacity: 1;
  pointer-events: auto;
}