@charset "utf-8";
/* CSS Document */

html{
	font-size: 10px;
	background:#7f2644;
	margin: 0;
	padding: 0;
}

body{
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;	
	color: #222;
	margin: 0 auto;
	line-height: 2.3rem;
}


.wrapper{
	overflow: hidden;
}

img{
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	display: block;
}

p{
	font-size: 16px;
	margin: 1.5rem 0;
}

a{
	text-decoration: none;
	color: #fff;
}

footer{
	text-align: center;
}

/*mv----------------------------*/
header{
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 140.6%;
}

.movie{
	position: absolute;
	width: 100%;
	top:0;
	left: 0;
}

.mv-item{
	position: absolute;
	width: 100%;
	top: 21%;
	animation: mv-fade 2s;
}

@keyframes mv-fade{
	0%{
		opacity: 0;
	}
	20%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}

.mv-catch{
	position: absolute;
	z-index: 100;
	width: 50%;
	top: 40%;
	right: 5%;
	animation: catch 1.6s;
}

@keyframes catch{
	0%{
		opacity: 0;
	}
	85%{
		opacity: 0;
		transform: translate(5rem,-3rem);
	}
	100%{
		opacity: 1;
		transform: translate(0);
	}
}

.mv-microcopy{
	position: absolute;
	width: 63%;
	bottom: 24%;
	left: 19%;
}

.mv-cv{
	position: absolute;
	width: 85%;
	bottom: 5.5%;
	left: 8%;
}
/*-------video設定-----------*/
.movie{
	margin:0 auto;
	text-align: center;
}
.movie video{
	width: 100%;
	vertical-align: bottom;
}

/* 拡大 */
.zoom{
	animation: zoom 1.3s infinite;
}

@keyframes zoom{ 
	0%{
		scale: 1;
		transform: translateY(2px)
	}
	50%{
		scale: 1.02;
		transform: translateY(0)
	}
	100%{
		scale: 1;
		transform: translateY(2px)
	}
}

/*section1----------------------------*/
.section1{
	position: relative;
	width: 100%;
	padding-top: 112.6%;
}

.section1-bg{
	position: absolute;
	top: 0;
	left: 0;
}

.section1-text{
	position: absolute;
	width: 70%;
	top:  13%;
	left: 15%;
}
/*section2----------------------------*/
h2{
	margin: 2rem 4.5rem 3rem;
}

.section2-1{
	margin: 0 4.5rem 0 5rem;
}

.section2-2{
	 margin: 0 4.5rem 1rem 3.3rem;
}

.cv2{
	margin: 2rem 2rem;
}

/*スクロールでズームイン----------------------------*/
.cta img {
  opacity: 0; /* 初めは透明 */
  transform: scale(1); /* 最初は通常のサイズ */
  transition: opacity 1s ease, transform 1s ease; /* フェードインとスムーズな拡大・縮小 */
}

.cta img.visible {
  opacity: 1; /* フェードイン */
  transform: scale(1.2); /* 最初の拡大 */
}

.cta img.reverted {
  transform: scale(1); /* 元のサイズに戻す */
}

/*-----CSS---画像の無限ループアニメーション----------------------------*/
@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 30s infinite linear 0s both;/*30秒かけて全アイテム（写真など）を右から左に流す。画面が表示されて０秒後にループ開始*/
}
.scroll-infinity__item {
  width: calc(100vw / 3);/*画面に何個のアイテム（写真など）を表示させるか*/
	margin-right: 1rem;
}
.scroll-infinity__item>img {
  width: 100%;
}
/*-----CSS---画像の無限ループアニメーションここまで----------------------------*/

.cv{
	position: absolute;
	top: 0;
	left: 0;
	margin: 6rem 3rem;
}

.microcopy{
	margin: 0 1.5rem 1rem;
}

.microcopy3{
	margin: 0 8rem;
}

footer{
	position: relative;
	width: 100%;
	padding-top: 120%;
	
}

.footer_link{
	position: absolute;
	bottom: 1rem;
	width: 60%;
	left: 20%;
}

.footer_link a{
	color: white;
	font-size: 1.2rem;
}

footer .movie{
	opacity: 0.4;
}

/*fadeInアニメーション----------------------------*/
.fadein {
  opacity : 0;
  transform: translateY(10px);
  transition: all 1s;
}

/*==================privacypolicy.html======================*/

.privacypolicy{
	margin: 3rem 1.5rem;
    color: #fff;
	font-size: 14px;
	font-weight: normal;
	line-height: 1;
}

.privacypolicy h1{
	text-align: center;
	font: 1.2rem bolder;
	margin: 2.5rem auto 1rem;
}

th{
	width: 30%;
	color: #fff;
	border: solid 0.5px #fff;
	padding: 0.5rem;
}

td{	
	border: solid 0.5px #fff;
	padding: 0.5rem;
	
}



/*==================tablet,pc======================*/

@media screen and (min-width: 600px){
	body{
		width: 100%;
		max-width: 600px;
		margin: 0 auto;
		font-size: 12px;
	}
}
