@charset "utf-8";

@media screen and (min-width: 768px), print {
    .page_title {
        background: none;
        padding: 0;
    }
}
.page_title h1 {
	align-items: flex-start;
    justify-content: center;
    font-size: 4.2rem;
    margin-left: 73px;
    height: 500px;
    flex-direction: column;
}
.page_title h1 span{
	font-size: 2.2rem;
}
.page_title picture {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
}

@media screen and (max-width: 767px) {
	.page_title h1 {
		margin-left: 0;
		height: 500px;
		justify-content: center;
	}

}

.project_contents{
	margin-bottom: 218px;
}
.project_contents .mv_under_txt{
	text-align: center;
}

.story{
	background-image: url(../images/project/project_bg_01.png);
	background-repeat: no-repeat;
	background-position: top;
	background-size: contain;
	position: relative;
}
.story .story_title{
	padding-top: 275px;
	margin-bottom: 70px;
}
.story .story_title h2{
	display: block;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1;
	padding-left: 20px;
	border-left:solid 5px #66c3cf;
}
.story .story_title h2 span{
	display: block;
	font-size: 1.6rem;
	margin-top: 10px;
	font-weight: normal;
}
.story_box{
	display: flex;
	gap:113px;
	flex-direction: row-reverse;
	margin-bottom: 100px;
}
.story_box:nth-child(odd){
	flex-direction: row;
}
.story_box .txt,.story_box .img{
	flex:1;
}
.story_box .txt .episode_en{
	color: #66c3cf;
}
.story_box .txt h3{
	font-size: 2.4rem;
	margin:1em 0;
}
.story_box .img_box{
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 100px;
}
.story_box img{
	position: relative;
	box-shadow: 40px 40px 0px 0px #a9dde4;
}

@media screen and (max-width: 767px) {
	.story {
    background-position: top left;
    background-size: 205%;
    margin-top: 0;
    padding-top: 50px;
	}
	.story_box {
		flex-direction: column;
		gap: 50px;
		margin-bottom: 100px;
	}
	.story_box:nth-child(odd) {
		flex-direction: column;
	}
	.story_box:last-child {
		margin-bottom:0;
	}
	.story .story_title {
		padding-top: 0;
		margin-bottom: 70px;
		margin-top: 100px;
	}
	.story_box .img_box {
		gap: 50px;
		margin-right: 5vw;
	}
	.story_box img {
		box-shadow: 20px 20px 0px 0px #a9dde4;
	}
}

.epiloge{
	padding-top:180px;
	background-image: url(../images/project/project_bg_02.png);
	background-position: top;
	background-size: cover;
}

.epiloge .epiloge_title h2{
	color: #66c3cf;
}
.epiloge .epiloge_title h3{
	font-size: 2.4rem;
    margin: 1em 0;
}
.epiloge .img{
	margin-top: 50px;
}
.epiloge .img img{
	width: 100%;
	height: 560px;
	object-fit: cover;
}
@media screen and (max-width: 767px) {
	
}

.project_info{
	background-color: #000;
}
.project_info .project_info_box{
	display: flex;
}
.project_info .project_info_box .txt{
	color:#fff;
	padding: 50px 40px;
	display: flex;
    flex-direction: column;
    justify-content: center;
}
.project_info .project_info_box .txt h3{
	font-size: 3.2rem;
    font-weight: bold;
    display: block;
    border-left: solid 5px #66c3cf;
    padding-left: 1em;
    line-height: 1;
}
.project_info .project_info_box .txt h3 span{
	font-size: 1.6rem;
    display: block;
    margin-top: 15px;
}
.project_info .project_info_box .txt h4{
	color: #66c3cf;
	font-size: 2.4rem;
	font-weight: bold;
	margin: 60px 0 30px;
}

.project_info .project_info_box .txt .info_list dl{
    display: flex;
    gap: 20px;
}
.project_info .project_info_box .txt .info_list dl dt{
    width: 80px;
}
.project_info .project_info_box .txt .info_list dl dd{
    flex:1;
}
.project_info .project_info_box .img{
	width: 50%;
}
.project_info .project_info_box .img img{
	width: 100%;
    height: 100%;
    object-fit: cover;
}

@media screen and (max-width: 767px) {
	.project_info .project_info_box {
		flex-direction: column;
		padding-top: 40px;
	}
	.project_contents {
		margin-bottom: 70px;
	}
	.project_info .project_info_box .txt {
		padding:10vw 5vw;
	}
	.project_info .project_info_box .txt h4 {
		margin: 2em 0 1em;
	}
	.project_info .project_info_box .img {
		width: 100%;
	}
}