@charset "utf-8";
.hd_logo a{
    display: block;
    width: 100%;
    height: 100%;
}
@media screen and (max-width:767px){
    .sub .sec_contentsWrap{
       padding:calc(138 / var(--vw-min) * 100vw) calc(24 / var(--vw-min) * 100vw) calc(24 / var(--vw-min) * 100vw);
    }
}
.box_txtBlock {
    padding: 40px 60px 32px;
}
@media screen and (max-width:767px){
    .box_txtBlock {
		padding: calc(20 / var(--vw-min) * 100vw) calc(16 / var(--vw-min) * 100vw) calc(16 / var(--vw-min) * 100vw);
	}
}
/***
** STORY 
***/
.storyBox {
	opacity: 0;
	filter: blur(8px);
	transition: .6s ease;
}
body.--storyLoaded .storyBox {
	opacity: 1;
	filter: blur(0px);
}
@media screen and (max-width: 768px) {
	.storyBox {
		padding: 0;
		font-size: calc(24 / var(--vw-min) * 100vw);
	}
	.sub__cont{
		margin-top: 0;
	}
}

/**
* STORY LISTS
**/
.storyListsWrap{
	display: flex;
    justify-content: center;
    align-items: flex-start;
	color: #1A1311;
    margin-bottom: 40px;
}
.storyLists_ttl{
	font-size: 16px;
	font-family: var(--font-en);
	font-weight: 500;
	margin-right: 22px;
	line-height: 60px;
}
@media screen and (max-width: 767px){
	.storyListsWrap{
		padding: 0 calc(48 / var(--vw-min) * 100vw);
		align-items: flex-start;
		margin-bottom: calc(40 / var(--vw-min) * 100vw);
	}
	.storyLists_ttl{
		font-size: calc(24 / var(--vw-min) * 100vw);
		margin-right: calc(20 / var(--vw-min) * 100vw);
		height: calc(88 / var(--vw-min) * 100vw);
        display: flex;
        align-items: center;
		line-height: unset;
	}
}

.storyLists{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	font-size: 20px;
}
.storyLists li{
	margin: 0 6px;
}
@media screen and (max-width: 767px){
	.storyLists{
		font-size: calc(32 / var(--vw-min) * 100vw);
		flex-wrap: wrap;
	}
	.storyLists li{
		margin: 0 calc(5.5 / var(--vw-min) * 100vw);
	}
}

.storyList__link{
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
    justify-content: center;
	text-decoration: none;
	line-height: 1;
	font-weight: 700;
	text-align: center;
	transition: .3s ease;
	color: var(--color-main);
	background-color: #FFF;
	position: relative;
	font-family: var(--font-oswald);
    border-radius: 50px;
    border: 3px solid var(--color-main);
    transition: all .4s ease;
}
@media screen and (max-width: 768px){
	.storyList__link{
		width: calc(40 / var(--vw-min) * 100vw);
		height: calc(40 / var(--vw-min) * 100vw);
		border: calc(3 / var(--vw-min) * 100vw) solid var(--color-main);
	}
}
.storyList__link:after{
	content: '';
    display: block;
    border-radius: 50px;
	position: absolute;
    z-index: 1;
    margin: auto;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
    width: calc(100% - 6px);
    height: calc(100% - 6px);
	border: 1px solid var(--color-main);
    opacity: .4;
}
.storyList__link > span{
	position: relative;
}

/* hover */
@media (hover: hover) and (pointer: fine){
	.storyList__link:hover{
        background-color: var(--color-sub);
	}
	.storyList__link:hover::before{
		transform: scale(98%);
		opacity: 1;
	}
}

@media screen and (max-width: 768px){
	.storyList{
		padding: 0;
	}
	.storyList__link{
		min-width: unset;
		font-size: calc(14 / var(--vw-min) * 100vw);
		padding: calc(14 / var(--vw-min) * 100vw);
	}
}


/* is-active */
.storyList__link.--is-active{
	background-color: var(--color-sub);
}

.storyList__link.--is-active:before{
	opacity: 1;
	transform: scale(100%);
}


/**
* storyContent
**/
.storyContent{
	width: 100%;
}


.storyContentIn{
	width: 100%;
	position: relative;
}







/* BLOCK > ttl (ep ttl)*/
.cont_ttl-s{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 50px;
}
.cont_ttl-s-en{
	width: 100%;
	display: flex;
	align-items: center;
	position: relative;
	min-width: 170px;
	line-height: 1;
}

@media screen and (max-width: 767px){
	.cont_ttl-s{
		margin-bottom: calc(28 / var(--vw-min) * 100vw);
	}
}

.cont_ttl-s-en__line {
    width: 100%;
    height: 1px;
    position: relative;
}
.cont_ttl-s-en__line--frame{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color:var(--color-purple);
}
.cont_ttl-s-en__line:before{
	content: '';
	position: absolute;
	top: 0;
	margin-top: 8px;
	width: 56px;
	height: 5px;
	background-image: var(--grad-repline);
	background-size: 5px 5px;
}
.cont_ttl-s-en__line.-r:before{
	right: 0;
}
.cont_ttl-s-en__line.-l:before{
	left: 0;
}


.cont_ttl-s-ja{
	display: inline-block;
	flex-shrink: 0;
	line-height: 1;
	margin-top: 30px;
	color: var(--color-purple);
}
.story_title{
	font-size: 22px;
	letter-spacing: 0.07em;
	font-weight: 600;
}

.cont_ttl-s-en__line--frame{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #707070;
}
.cont_ttl-s-en__line:before{
	content: '';
	position: absolute;
	top: 0;
	margin-top: 8px;
	width: 56px;
	height: 3px;
	background-image: var(--grad-repline);
	background-size: 5px 5px;
}
.cont_ttl-s-en__line.-r:before{
	right: 0;
}
.cont_ttl-s-en__line.-l:before{
	left: 0;
}
@media screen and (max-width: 767px){
	.cont_ttl-s-en{
		min-width: calc(192 / var(--vw-min) * 100vw);
	}
	.cont_ttl-s-en__line:before{
		margin-top: var(--sp-size-12);
		width: var(--sp-size-64);
		margin-left: auto;
		margin-right: auto;
	}
	.cont_ttl-s-en:after{
		width: calc(192 / var(--vw-min) * 100vw);
		height: var(--sp-size-36);
	}
	.cont_ttl-s-ja{
		margin-top: var(--sp-size-24);
	}
}

.cont_ttl-s-en__txt{
	font-family: var(--font-en);
	color: var(--color-purple);
	font-size: 48px;
	letter-spacing: 0.02em;
	font-weight: 400;
	margin: 0 24px;
	white-space: nowrap;
}
#story .cont_ttl-s-en__line--frame {
    background-color: var(--color-purple);
}

@media screen and (max-width: 767px){
	/* 画面サイズが768px未満の場合の設定 */
	.cont_ttl-s-en__txt{
		font-size: calc(72 / var(--vw-min) * 100vw);
		margin: 0 calc(20 / var(--vw-min) * 100vw);
	}
}

#story .cont_ttl-s-en__line--frame {
    background-color: var(--color-purple);
}


/* epNumBox */
.epNumBox{
	display: flex;
    flex-direction: column;
    align-items: center;
	font-family: var(--font-en);
}
.epNumBox__ttl{
	color: var(--color-purple);
	font-size: 18px;
	padding-left: 10px;
	letter-spacing: 0.02em;

}
.epNumBox__num{
	color: var(--color-purple);
	font-size: 66px;
	font-style: italic;
	font-family: var(--font-en-num);
	letter-spacing: 0.04em;
	font-weight: 400;
}

/*
* Image
*/
.storyImageList{
	padding: 0 4px;
}
.storyImageList__img{
	width: 100%;
	padding-top: 56.25%;
	position: relative;
	margin-bottom: 18px;
}
@media screen and (max-width: 768px){
	.storyImageList{
		padding: 0 calc(4 / var(--vw-min) * 100vw);
	}
	.storyImageList__img{
		margin-bottom: calc(12 / var(--vw-min) * 100vw);
	}
}
.storyImageList__img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
}
.storyImageList__img::after{
	content: '';
	width: 100%;
	height: 100%;
	background-color: var(--color-purple);
	opacity: 0.5;
	position: absolute;
	top: 0;
	left: 0	;
	pointer-events: none;
	transition: opacity .3s ease;
}
.swiper-slide-active .storyImageList__img::after{
	opacity: 0;
}

/*
* THUMB
*/

.storyThumbBlock{
	margin:  calc(10 / var(--vw-min) * 100vw) auto 0;
	position: relative;
}
@media screen and (max-width: 768px){
	.storyThumbBlock{
		width: 100%;
		margin:  0 auto;
		position: relative;
	}
}

/* storyThumb */
.storyThumbWrap{
	display: flex;
	margin:0 auto;
}
.storyThumbList{
	width: calc((100% - 25px) / 6) !important;
	position: relative;
	pointer-events: none;
	margin-right: 5px;
	margin-bottom: 5px;
}
.storyThumbList:nth-child(6n){
	margin-right: 0;

}
@media screen and (max-width: 768px){
	.storyThumbWrap{
		width: 100%!important;
	}
	.storyThumbList{
		width: calc(100% / 5);
	}
}
.storyThumbList__img{
	width: 100%;
	padding-top: 56.25%;
	position: relative;
	pointer-events: auto;
	cursor: pointer;
	overflow: hidden;
}
.storyThumbList__imgIn{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.storyThumbList__img:after{
	border: 2px solid var(--color-main);
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	transition: .3s ease;
}
.storyThumbList__imgIn img{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: .3s ease;
}
.storyThumbLists{
	flex-wrap: wrap;
	justify-content: center;
	padding: 0 0;
	transform:none!important;
}
@media screen and (max-width: 768px){
	.storyThumbWrap{
		width: calc(100% + (16 / var(--vw-min) * 100vw));
	}
	.storyThumbList,
	.storyThumbList:nth-child(6n){
		width: calc((100% - (20 / var(--vw-min) * 100vw)) / 5)!important;
		margin-right: calc(5 / var(--vw-min) * 100vw);
	}
	.storyThumbList:nth-child(5n){
		margin-right: 0;
	}
	.storyThumbLists{
		flex-wrap: wrap;
		justify-content: center;
		padding: 0 0;
		transform:none!important;
	}
}

/* hover */
@media (hover: hover) and (pointer: fine){
	.storyThumbList__img:hover::after{
		opacity: 1;
	}
}


/* is-active */
.storyThumbList.swiper-slide-thumb-active .storyThumbList__img:after{
	opacity: 1;
}


/*content ttl*/
.storyCont__ttl{
	font-size: 24px;
	line-height: 1.4;
	font-family: var(--font-en);
	color: var(--color-main);
	font-weight: 600;
	padding-bottom: 13px;
}
.storyCont__ttl__ja{
	font-size: 12px;
	letter-spacing: 0.08em;
	display: block;
	margin-top: 9px;
}
@media screen and (max-width: 768px){
	.storyContent{
		margin-top: calc(6 /  var(--vw-min)  * 100vw);
		border-width: calc(10 / var(--vw-min) * 100vw);
	}
	.storyCont__ttl{
		font-size: calc(18 / var(--vw-min)  * 100vw);
		padding-bottom:0;
	}
}

/*
* TEXT
*/
.storyTextWrap{
	margin-top: 32px;
}
.storyText{
	width: 100%;
	font-size: 15px;
	letter-spacing: 0.04em;
	line-height: calc(30/15);
}

@media screen and (max-width: 768px){
	.storyTextWrap{
		margin-top: calc(24 / var(--vw-min) * 100vw);
	}
	.storyText{
		line-height:calc(24 / 12);
		font-size: calc(12 / var(--vw-min) * 100vw);
	}
}



.storyDetaile__inBlock{
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
  }
@media screen and (max-width: 1200px){
	.storyDetaile__inBlock{
		flex-direction: column;
		margin-top: calc(24 / var(--vw-min) * 100vw);
	  }
}
/*
* STAFF
*/
.storyStaffListsWrap{
    display: flex;
	flex-direction: column;
}
.storyStaffList{
	display: flex;
	font-size: 15px;
	letter-spacing: 0.05em;
	line-height: calc(27 / 15);
    /*margin-left: 24px;*/
	padding-bottom: 4px;
}
@media screen and (max-width: 768px){
	.storyStaffListsWrap{
		flex-direction: column;
	}
	.storyStaffList{
		font-size: calc(12 / var(--vw-min) * 100vw);
		line-height: calc(30 / 12);
		margin-left: 0;
	}
}

.storyStaffList > dt{
	flex-shrink: 0;
	color: var(--color-main);
}
.storyStaffList > dt:after{
	content: '：';
}
@media screen and (max-width: 768px){

	.storyStaffList:not(:last-child){
		padding-bottom: calc(4 / var(--vw-min) * 100vw);
	}
}


/*
* Trailer
*/
.storyTrailerContWrap{
    position: relative;
    overflow: hidden;
  }
@media screen and (max-width: 1200px){
	.storyTrailerContWrap{
		width: 100%;
		margin-top: calc(30 / var(--vw-min) * 100vw);
	  }
}
  .storyCont__trailerTtl{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    z-index: 3;
    pointer-events: none;
    color: var(--color-main);
    font-family: var(--font-en);
    font-size: 48px;
    font-weight: 600;
    line-height: .8;
  }
@media screen and (max-width: 768px){
    .storyCont__trailerTtl{
		font-size: calc(32 / var(--vw-min) * 100vw);
	  }
}
  ._ttl1{
    text-align: left;
  }
  ._ttl2{
    text-align: right;
  }
/* MOVIE */

.movieBoxWrap {
    display: block;
    width: 400px;
    /*height: 247px;*/
    padding-top: 56.25%;
    position: relative;
    overflow: hidden;
    border: 2px solid var(--color-main);
  }
@media screen and (max-width: 1200px){
	.movieBoxWrap {
		width: 100%;
		height: calc(166 / var(--vw-min) * 100vw);
	   /* padding-top: 56.25%;*/
		border: calc(3 / var(--vw-min) * 100vw) solid var(--color-main);
	  }
}
  .movieBoxWrap::before {
    background: #FFFFFF;
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: 100%;
    width: 100%;
    display: block;
    z-index: 1;
    opacity: 0.3;
    transition: opacity 0.4s ease;
    pointer-events: none;
  }
.movieBoxWrap:hover::before {
    opacity: 0;
  }
.item_img {
    height: 100%;
    transition: 0.4s ease;
  }
  .item_img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
.movieBox {
    width: 100%;
    height: 100%;
    transition: 0.3s ease;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background-size: 100% auto;
    background-repeat: no-repeat;
  }
  .play-icon {
    width: min(calc(80 / var(--vw-min) * 100vw), 80px);
    height: min(calc(80 / var(--vw-min) * 100vw), 80px);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background: url(../img/common/icon/ic_move.png) no-repeat center center/contain;
    transform: scale(1);
    transition: 0.4s ease;
    z-index: 1;
  }
  @media screen and (max-width: 768px){
	.play-icon {
		width: calc(56 / var(--vw-min) * 100vw);
		height: calc(56 / var(--vw-min) * 100vw);
	  } 
}
  .btn_moviePlay {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
  /*hover*/
  .movieBoxWrap:hover .item_img {
    transform: scale(1.05);
  }
  .movieBox:hover {
    cursor: pointer;
  }



  /* ttl */
  .box_headBlock{
    position: relative;
    overflow: hidden;
  }
  .story_epNum{
    font-family: var(--font-en);
    font-weight: 700;
    font-size: 64px;
    line-height: .64;
    position: absolute;
    right: 10px;
    bottom: 0;
    color: #E62D8C;
  }
@media screen and (max-width:767px){
    .story_epNum{
		font-size: calc(38 / var(--vw-min) * 100vw);
		right: unset;
		bottom: unset;
		top: calc(-28 / var(--vw-min) * 100vw);
		left: 0;
	  }
}
  .story_epNum_sharp{
    font-family: var(--main-font-family);
    letter-spacing: -0.1em;
  }
@media screen and (max-width:767px){

	.box_headBlock {
		position: unset;
		overflow: unset;
}
}