@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
*{
	margin:0;
	padding:0;
	list-style: none;
	box-sizing: border-box;
	text-decoration: none;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

*::before,
*::after{
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	box-sizing: border-box;
}

html {
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
}

input,
select,
textarea{
	font-family: 'Noto Sans CJK JP' , 'Noto Sans JP'  ,sans-serif;
	color:#111;
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	font-feature-settings: 'palt';
	touch-action: manipulation;
	resize: none;
	display: block;
}

button{
	border: none;
	background: none;
	border-radius: 0;
	cursor: pointer;
}

body{
	color: #111;
	font-size: 16px;
	font-family: 'Noto Sans CJK JP' , 'Noto Sans JP'  ,sans-serif;
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
}

img{
	display: block;
	object-position: center;
	width: 100%;
}

#body_wrap{
	overflow: hidden;
}


.hide{
	display: none!important;
}

a{
	color: #111;
}

.fax a{
	pointer-events: none;
}

@media (any-hover:hover){
a[href^="tel:"] {
	pointer-events: none;
}
}

/*
------------------------------------
アニメーション関係
------------------------------------
*/

.common_hover_opa{
	transition: 0.4s;
}


@media (any-hover:hover){
	.common_hover_opa:hover{
		opacity: 0.7;
	}
}

.common_hover_scale{

}

.common_hover_scale_frame{
	overflow: hidden;
}

.common_hover_scale_item{
	transition: 0.5s;
	width:100%;
	height:100%;
	object-fit: cover;
}

@media(any-hover:hover){
	.common_hover_scale_trigger:hover .common_hover_scale_item,
	.common_hover_scale_trigger:hover.common_hover_scale_item{
		transform:scale(1.08);
	}
}




/*
------------------------------------
共通パーツ
------------------------------------
*/

.container{
	max-width: 1200px;
	margin-inline: auto;
}

.common_wave{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width:1440px;
	aspect-ratio: 1 / calc(135 / 1440);
	min-width: 100vw;
	max-height: 300px;
	background-size: cover;
}

.common_wave.top{
	top:-95px;
}
.common_wave.bottom{
	bottom:-85px;
}

.common_wave.top{
	background-position: top;
	background-image: url('../img/common/wave_green_top.png');
}
.common_wave.bottom{
	background-position: bottom;
	background-image: url('../img/common/wave_green_bottom.png');
}

.common_slide_area{
	max-width: 2000px;
	margin:50px auto 0;
	overflow: hidden;
}

.common_slide_area .swiper_block.shift{
	margin-top: 56px;
	width: calc(100% + 225px);
	margin-left: -225px;
}

/*縦長動画のカード*/

.common_slide_area .movie_slide{
	width:280px!important;
	padding:0 20px;
}

.common_movie_card{
	display: block;
	cursor: pointer;
}

.common_movie_card .movie_thumb{
	overflow: hidden;
	border-radius: 10px;
	aspect-ratio: 3/5;
}

.common_movie_card .movie_thumb video{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 10px;
	display: block;
}

.common_movie_card .movie_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 10px;
}

.common_movie_card .movie_rank{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	padding-bottom: 6px;
	background-image: url('../img/common/icon_crown_yellow.png');
	width: 86px;
	height:54px;
	background-size: contain;
	margin:0 auto 16px;
	font-weight: bold;
	font-size: 15px;
	color: #fcfcfc;
	line-height: 1;
	white-space: nowrap;
	text-align: center;
}

.common_movie_card .movie_count{
	margin-top: 8px;
	text-align: center;
	/* font-size: 14px; */
}



/*横長動画のカード*/

.common_slide_area .full_movie_slide{
	width:450px!important;
	padding:0 20px;
}

.common_full_movie_card{
	display: block;
	cursor: pointer;
}

.common_full_movie_card .movie_thumb{
	overflow: hidden;
	border-radius: 10px;
	aspect-ratio: 1 / 0.5625;
}

.common_full_movie_card .movie_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.common_full_movie_card .movie_title{
	margin-top: 12px;
	line-height: 1.5;
}

/*動画のポップアップ*/
.common_movie_pop{
	position: fixed;
	top:0;
	left:0;
	z-index: 100;
	background-color: rgba(0,0,0,0.8);
	pointer-events: none;
	opacity: 0;
	width:100%;
	transition-duration: 0.4s;
	transition-property: opacity;
}

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

.common_movie_pop .movie_pop_inner{
	height:100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.common_movie_pop .movie_pop_close{
	position: absolute;
	cursor: pointer;
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: center;
	top:30px;
	right:30px;
}

.common_movie_pop .movie_pop_close::after{
	content:'';
	width:24px;
	height:24px;
	background-image: url('../img/common/icon_close_white.svg');
}

.common_movie_pop .movie_frame{
	aspect-ratio: 0.5625 / 1;
    height: 80vh;
	max-height: 700px;
}


.common_movie_pop[data_pop_movie_type="full_movie"] .movie_frame{
	aspect-ratio: 1 / 0.5625;
	width:1000px;
	max-width: 90%;
	height:auto;
}


.common_movie_pop .movie_frame iframe{
	width:100%;
	height:100%;
	object-fit: cover;
    display: block;
}

.common_movie_pop[data_ratio="wide"] .movie_frame{
	height:auto;
	width:1000px;
	max-width: 90%;
	aspect-ratio: 1/0.5625;
}


/*タグ一覧エリア*/
.common_tag_area{
	margin-top: 40px;
}

.common_tag_area .tag_line{
	display: flex;
	font-size: 18px;
	white-space: nowrap;
}

.common_tag_area .tag_track{
	flex-shrink: 0;
	display: flex;
	align-items: flex-start;
	gap:0 24px;
}

.common_tag_area .tag_list{
	flex-shrink: 0;
	display: flex;
	align-items: flex-start;
	gap:0 24px;
}


.common_tag_area .tag_line{

}
.common_tag_area .tag_line + .tag_line{
	margin-top: 24px;
}


/* アニメーション */
@keyframes scroll-left {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

@keyframes scroll-right {
	0% { transform: translateX(-50%); }
	100% { transform: translateX(0); }
}

.common_tag_area .tag_track {
	animation: scroll-left  linear infinite;
}

.common_tag_area .tag_line.reverce .tag_track {
	animation: scroll-right  linear infinite;
}




/*
------------------------------------
ヘッダー
------------------------------------
*/
header{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	z-index: 10;
}

header .header_inner{
	padding:0 24px;
}

header .header_flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
	height:100px;
}

header .header_logo{
	display: block;
}
header .header_logo img{
	height:40px;
	width:auto;
}


header .drawer_open{
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 60px;
	min-height: 35px;
	cursor: pointer;
}

header .drawer_open_inner{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

header .drawer_open .bar{
	width:60px;
	height:5px;
	background-color: #fff;
	border-radius: 5px;
	transition-duration: 0.5s;
}

header .drawer_open .bar02{
	margin:10px 0;
	width:80%;
}

header .drawer_open.active .bar01 {
	transform: translateY(2px) rotate(-45deg);
}
header .drawer_open.active .bar02 {
	display: none;
}
header .drawer_open.active .bar03 {
	transform: translateY(-2px) rotate(45deg);
}
/*
------------------------------------
フッター
------------------------------------
*/
footer{
	padding-top: 120px;
	padding-bottom: 80px;
	background-color: #fff;
}

footer .footer_logo_flex{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap:0 36px;
}

footer .footer_logo_flex img{
	height:60px;
	width:auto;
}

footer .footer_copy{
	margin-top: 40px;
	font-size: 18px;
	text-align: center;
}

/*
------------------------------------
トップページ
------------------------------------
*/

body.top_body{
	
}

main.top_main{

}

.top_section{
	position: relative;
}

.top_section .sec_title{
	font-weight: bold;
	font-size: 37px;
	text-align: center;	
}

.top_fv_section{
	position: relative;

}

.top_fv_section .fv_catch{
	position: absolute;
	top: 40px;
	right:100px;
	z-index:10;
	height:400px;
	max-height: 70%;
}

.top_fv_section .fv_catch img{
	height:100%;
	width:auto;
}

.top_fv_section .top_fv_slide{
	width:100%;
}

.top_fv_section .top_fv_card{
	height: calc(100vh - 200px);
	min-height: 500px;
}

.top_fv_section .top_fv_card img{
	width:100%;
	height:100%;
	object-fit: cover;
}


.top_fv_section .fv_view_more{
	position: absolute;
	width:68px;
	bottom:10%;
	right:calc(50% + 500px);
	animation-name:scroll_move ;
	animation-duration: 1.5s;
	animation-iteration-count: infinite;
	animation-fill-mode: forwards;
	z-index: 10;
}

@keyframes scroll_move {
	0%{
		transform: translateY(0);
	}
	50%{
		transform: translateY(20px);
	}
	100%{
		transform: translateY(0);
	}
}

.top_prologue_section{
	padding-top: 105px;
	padding-bottom: 150px;

	position: relative;
}

.top_prologue_section::before{
	position: absolute;
	content:'';
	width:100%;
	height:calc(100% - 80px);
	top:38px;
	left: 0;
	background-color: #406B33;
}

.top_prologue_section .common_wave{
	z-index: 3;
}

.top_prologue_section .prologue_area{
	max-width: 1100px;
	margin-inline: auto;
	position: relative;
	z-index: 3;
}

.top_prologue_section .prologue_head{
	font-weight: bold;
	font-size: 32px;
	text-align: center;
	color: #fff;
}


.top_prologue_section .prologue_text{
	font-size: 18px;
	line-height: 3;
	margin-top: 60px;
	color:#fff;
	text-align: center;
}

.top_prologue_section .prologue_text strong{
	font-size: 30px;
	
}

.top_secion_list{
	position: relative;
}

.top_secion_list .top_secion_bg{
	position: absolute;
	width:100%;
	height:100%;
	min-width: 1980px;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -5;
	opacity: 0.3;
	background-image: url('../img/top/top_bg.png');
	background-repeat: repeat;
	background-size: contain;
	background-position: top;
}


.top_recent_section{
	padding-top: 150px;
	padding-bottom: 160px;
}

.top_rank_section{
	padding-top: 60px;
	padding-bottom: 60px;
	color:#fff;
}

.top_rank_section .common_wave{
	z-index: -1;
}

.top_rank_section::before{
	position: absolute;
	content:'';
	width:100%;
	height:calc(100% - 80px);
	top:38px;
	left: 0;
	background-color: #406B33;
	z-index: -2;
}



.top_recommend_section{
	padding-top: 100px;
	padding-bottom: 60px;
}

.top_category_section{
	padding-top: 100px;
	padding-bottom: 120px;
}


.top_category_section .movie_category_list{
	max-width: 1120px;
	margin:56px auto 0;
	display: flex;
	align-items: flex-start;
	gap:65px;
}

.top_category_section .movie_category_list li{
	width:330px;
}

.top_category_section .movie_category_list a{
	display: block;
	position: relative;
	aspect-ratio: 1/1;
	border-radius: 50%;
	overflow: hidden;
}

.top_category_section .movie_category_list a::before{
	content:'';
	width:100%;
	height:100%;
	background-color: rgba(0,0,0,0.2);
	position: absolute;
	top:0;
	left:0;
	z-index: 1;
}

.top_category_section .movie_category_list img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 50%;
}

.top_category_section .movie_category_list span{
	position: absolute;
	z-index: 3;
	width:100%;
	height:100%;
	top:0;
	left:0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	font-size:32px;
	text-align: center;
	color: #fff;
	line-height: 1;

}


/*
------------------------------------
動画一覧ページ
------------------------------------
*/

body.movie_list_body{
	background-color: #406B33;
	color: #fff;
}

body.movie_list_body a{
	color:#fff;
}

body.movie_list_body footer{
	color:#111;
}

main.movie_list_main{
	
}

.movie_list_section{

}

.movie_list_section .selected_tag{
	margin-top: 12px;
	text-align: center;
	color:#fff;
	font-size: 20px;
	font-weight: bold;
}

.movie_list_section .no_result{
	margin-top: 24px;
	text-align: center;
	color:#fff;
}

.movie_archive_section{
	position: relative;
	margin-top: 100px;
	padding-top: 80px;
	padding-bottom: 48px;
}

.movie_archive_section .page_title{

	font-weight: bold;
	font-size: 37px;
	color: #fff;
	text-align: center;
}

.movie_archive_section .movie_category_list{
	margin-top: 72px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 24px 60px;
}

.movie_archive_section .movie_category_list li{

}

.movie_archive_section .movie_category_list li a{
	width: 245px;
	height: 64px;
	border-radius: 25px;
	background: #fff;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	font-size: 28px;
	line-height: 1.2;
	color: #eb5c03;

}

.movie_archive_section .movie_category_list li a.active{
	background-color: #E94731;
	color:#fff;
}

.movie_archive_section .swiper_block + .swiper_block{
	margin-top: 24px;
}

.movie_recommend_section{

}

.movie_recommend_section .sec_title{
	color:#fff;
}