@charset "utf-8";

/* .scrollanime,
.scrollanime_2,
.scrollanime_delay,
.main_visual_img,
.main_visual_ttl {
	opacity: 0;
}
.fadeIn_1 {
    animation-name: fadeIn_1;
    animation-duration: 1.8s;
    animation-fill-mode: forwards;
	-webkit-animation-delay: 0.1s;
	animation-delay: 0.5s;
}
@keyframes fadeIn_1 {
    0% {
		opacity: 0;
		transform: scale(1.1);
    }
    100% {
		opacity: 1;
		transform: scale(1);
    }
}
.fadeIn_2 {
    animation-name: fadeIn_2;
    animation-duration: 1.6s;
    animation-fill-mode: forwards;
	-webkit-animation-delay: 0.1s;
	animation-delay: 1s;
}
@keyframes fadeIn_2 {
    0% {
		opacity: 0;
		margin-top: 20px;       
    }
    100% {
		opacity: 1;
		margin-top: 0px; 
    }
}
.fadeIn_3 {
    animation-name: fadeIn_3;
    animation-duration: 1.6s;
    animation-fill-mode: forwards;
	-webkit-animation-delay: 0.1s;
	animation-delay: 0.2s;
}
@keyframes fadeIn_3 {
    0% {
		opacity: 0;
    }
    100% {
		opacity: 1;
    }
}
.fadeIn_4 {
    animation-name: fadeIn_4;
    animation-duration: 1.6s;
    animation-fill-mode: forwards;
	-webkit-animation-delay: 0.1s;
	animation-delay: 0.1s;
}
@keyframes fadeIn_4 {
    0% {
		opacity: 0;
		transform: translateY(20px);
    }
    100% {
		opacity: 1;
		transform: translateY(0);
    }
}
.fadeIn_delay {
    animation-name: delay;
    animation-duration: 1.6s;
    animation-fill-mode: forwards;
	-webkit-animation-delay: 0.1s;
	animation-delay: 0.6s;
}
@keyframes delay {
    0% {
		opacity: 0;
    }
    100% {
		opacity: 1;
    }
} */

.lp_main_pc {
	display: block;
}
.lp_main_sp {
	display: none;
}
/* .main_visual {
	position: relative;
	margin: 0 auto 120px;
	overflow: hidden;
}
.main_visual_img {
	width: 100%;
	margin: 0 auto;
} */
.main_visual {
  /* 親の1200pxを無視して画面の端まで突き抜けさせる魔法のセット */
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  
  /* 余計な余白をリセット */
  margin: 0;
  padding: 0;
}

.main_visual_img {
    margin-bottom: 100px;
}
.main_visual_img img {
  width: 100%;
  height: auto;
  display: block;
}
/* .main_visual_ttl{
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.main_visual_ttl img{
	width: 100%;
} */
.lp_main .ttl h1 {
    width: 80%;
    margin: 100px auto 40px;
    font-family: "Tiempos Headline", serif;
    font-size: 38px;
    color: #333333;
    line-height: 1.2;
    text-align: center;
}
.lp_main .ttl h2 {
    width: 100%;
    margin: 0 auto;
    font-family: "Tiempos Headline", serif;
    font-size: 22px;
    color: #333333;
    line-height: 1.2;
    text-align: center;
	margin-bottom: 40px;
}
.lp_main .ttl h2.mg100_ {
    margin-bottom: 80px;
    margin-top: 120px;
}
.lp_contents {
	max-width: 1060px;
	margin: 0 auto;
	padding: 0 30px;
}
.lp_contents_main_ttl {
	text-align: center;
	font-size: 14px;
	line-height: 1.8;
	padding: 0;
    margin: 60px 0 100px 0;
}
.lp_contents_main_ttl.read_ttl {
    margin-top: 40px;
    padding-top: 0;
}
.lp_contents_main_ttl.read_ttl p span.store_bold_ {
    font-weight: bold;
}
ul.normal_lyout {
	display: flex;
  	flex-wrap: wrap;
  	justify-content: flex-end;
  	padding: 0;
  	margin: 0;
  	list-style: none;
	margin-bottom: 100px;
}
ul.normal_lyout.ttl_mg_area {
    margin-bottom: 140px;
}
ul.normal_lyout li{
	width: 50%;
	margin: 0;
  	padding: 0;
}
ul.normal_lyout li.column_1{
	width: 55%;
	margin: 0 auto;
}
li.scrollanime.column_1.yoko_lyout {
    width: 100%;
}
ul.normal_lyout li:nth-of-type(2){
	padding-right: 0px;
}
ul.normal_lyout li img {
    display: block;
    width: 100%;
}
ul.normal_lyout_2 {
    margin-bottom: 100px;
}
ul.normal_lyout_2 li {
	width: 55%;
}
ul.normal_lyout_2 li:nth-of-type(1) {
  margin-right: auto;   /* 左寄せ */
  position: relative;
  z-index: 1;           /* 2枚目の下に潜らせる */
}
ul.normal_lyout_2 li:nth-of-type(2) {
	margin-left: auto;
	margin-top: -7%;
	/*margin-bottom: -7%;*/
	position: relative;
	z-index: 2;
}
/* 1枚目：左上に配置 */
ul.normal_lyout_2 li.reve_area:nth-of-type(1) {
  margin-right: auto;   /* 左寄せ */
  position: relative;
  z-index: 2;           /* 2枚目の下に潜らせる */
}

/* 2枚目：右下に配置して、1枚目に重ねる */
ul.normal_lyout_2 li.reve_area:nth-of-type(2)  {
  margin-left: auto;    /* 右寄せ */
  margin-top: -7%;
  position: relative;
  z-index: 1;           /* 1枚目の上に乗せる */
}
ul.normal_lyout_2 li:nth-of-type(3) {
    margin: 80px auto 0;
    text-align: center;
}
ul.normal_lyout.creators_area {
    margin-bottom: 60px;
}
.normal_lyout_sdj {
	align-items: end;
}
.img_adj_1 {
	width: 40% !important;
}
.img_adj_2 {
	width: 50% !important;
}

.lp_contents_images_caption {
	text-align: right;
	padding-top: 24px;
	margin-bottom: 120px;
	line-height: 2;
}
.lp_contents_images_caption p {
    line-height: 2;
}
.lp_contents_images_caption.column_one_caption_,
.lp_contents_images_caption.column_cneter_caption__ {
    width: 55%;
    margin: 0 auto 120px;
}
.lp_contents_images_caption a span{
	text-decoration: underline;
}

.img_adj_sp_3 {
	margin-bottom: 0% !important;
}


.link_btn {
	margin: 0 auto 140px;
	width: 25%;
}
.archive_inner {
	display: flex;
	max-width: 1060px;
	justify-content: space-between;
	border-top: 1px solid #000;
	padding: 40px 0;
}
.archive_contents {
	width: 32%;
	margin: 0 auto;
}
.archive_contents_img {
	margin-bottom: 16px;
	text-align: center;
}
.archive_contents_img img {
    width: 100%;
    margin: 0 auto;
}
.archive_contents_text {
	text-align: right;
	font-size: 14px;
}
br.sp {
    display: none;
}
a.link_area_ {
    display: inline-block;
    text-decoration: underline;
    color: #333;
}
/* 親要素：全体を制御 */
ul.normal_lyout_2.reverse_wrapper  {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  margin-bottom: 100px;
}

/* 各リスト項目の共通設定 */
ul.normal_lyout_2.reverse_wrapper li {
  width: 55%; /* 任意：重なり具合を見て70%〜80%程度でもOK */
  position: relative;
}

/* 1枚目：右側に配置し、一番上に重ねる */
ul.normal_lyout_2.reverse_wrapper li:nth-of-type(1) {
  align-self: flex-end; /* ★右寄せ */
  z-index: 1;           /* 手前に出す */
    margin-right: 0;
}

/* 2枚目：左側に配置し、1枚目の下に少し潜らせる */
ul.normal_lyout_2.reverse_wrapper li:nth-of-type(2) {
  align-self: flex-start; /* ★左寄せ */
  margin-top: -7%;       /* ★1枚目と重ねる（数値は適宜調整） */
  z-index: 2;             /* 奥に配置 */
	margin-left: 0;
}
.movie_wrap {
    width: 55%;
    margin: 100px auto;
}

/* sp */
@media screen and (max-width: 640px) {
	.fadeIn_delay {
		animation-name: delay;
		animation-duration: 0.8s;
		animation-fill-mode: forwards;
		-webkit-animation-delay: 0.1s;
		animation-delay: 0.2s;
	}
	.main_visual_ttl {
		width: 95%;
	}
	.main_visual_img {
		width: 100%;
	}
	/* .main_visual_ttl img {
		width: 80%;
	} */
	.main_visual {
		margin-bottom: 60px;
	}
	.main_visual.store_area {
    margin-bottom: 40px;
	}
	.main_visual_img {
    margin-bottom: 0;
	}
	.lp_contents_main_ttl {
		text-align: center;
    	width: 100%;
	}
	.lp_main .ttl h1 {
        width: 100%;
        font-size: 22px;
		margin: 40px auto 40px;
    }
	.lp_main .ttl h2 {
    	font-size: 18px;
        line-height: 1.8;
	}
	.lp_contents_main_ttl.read_ttl {
    text-align: left;
	margin-bottom: 60px;
	}
	.lp_contents {
		padding: 0;
	}
	.lp_contents_main_ttl {
		padding: 0;
		margin: 60px 0 80px 0;
	}
	.lp_contents_main_ttl p{
		line-height: 28px;
	}
	ul.normal_lyout,
	ul.normal_lyout_2,
	ul.normal_lyout_2.reverse_wrapper {
    margin-bottom: 60px;
	}
	ul.normal_lyout.ttl_mg_area {
    margin-bottom: 100px;
	}
	ul.normal_lyout li {
		width: 50%;
	}
	ul.normal_lyout li.column_1 {
		width: 100%;
	}
	ul.normal_lyout_2 li:nth-of-type(3) {
    margin: 40px auto 0;
	}
	.lp_contents_images_caption.column_one_caption_ {
    	width: 100%;
	}
	.lp_main .ttl h2.mg100_ {
    margin-bottom: 40px;
    margin-top: 80px;
	}
	ul.normal_lyout.creators_area {
    margin-bottom: 40px;
	}
	.img_adj_1,.img_adj_sp {
		margin-bottom: 80px;
	}
	.img_adj_1,.img_adj_2 {
		width: 100% !important;
	}
	.img_adj_sp_2 {
		margin-bottom: 0;
	}
	.archive_contents {
		width: 90%;
		margin-bottom: 40px;
	}
	.archive_contents_img {
    	margin: 0 auto 16px;
	}
	.archive_contents_img img {
    	width: 100%;
    	text-align: center;
	}
	.link_btn {
		width: 70%;
		padding: 0 20px;
		box-sizing: border-box;
	}
	.archive_inner {
		display: block;
	}
	br.sp {
    display: block;
	}
	br.pc {
    display: none;
	}
	.movie_wrap {
    width: 100%;
    margin: 60px auto;
	}
}
