@charset "utf-8";

/* #mv */
#mv{
	position:relative;
}
#mv #slick{
	opacity:0;
	transition: opacity .3s linear;
}
#mv #slick.slick-initialized{
  opacity: 1;
}

#mv #slick .item{
	aspect-ratio:3840 / 1680;
	padding:2vw 62vw 2vw 5vw;
	text-align:left;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-direction: column;
	flex-direction: column;
}
#mv #slick .bg1{
	background:url(../img/top/mv_1_bg.webp)no-repeat center center;
	background-size:cover;
}
#mv #slick .bg2{
	background:url(../img/top/mv_2_bg.webp)no-repeat center center;
	background-size:cover;
}
#mv #slick .bg3{
	background:url(../img/top/mv_3_bg.webp)no-repeat center center;
	background-size:cover;
}
#mv #slick .bg4{
	background:url(../img/top/mv_4_bg.webp)no-repeat center center;
	background-size:cover;
}

#mv #slick .item .top_sec h2{
	height:4.2em;
	line-height:1.4;
	font-size:2.8vw;
	letter-spacing:0.15em;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-end;
	align-items: flex-end;
	white-space:nowrap;
}
#mv #slick .item .top_sec p{
	line-height:2.1;
	margin-top:1em;
	font-size:max(10px,0.9vw);
	letter-spacing:0.15em;
}
#mv #slick .item .bottom_sec{
	padding-bottom:5%;
}
#mv #slick .item .bottom_sec h1{
	width:60%;
	min-width:250px;
}
#mv #slick .item .bottom_sec .more{
	width:16em;
	line-height:2.5;
	padding-left:1.6em;
	font-size:max(13px,1vw);
	text-align:left;
}

#mv #movie_btn{
	width:min(22%,334px);
	padding:0.3em 0.5em 0.5em;
	font-size:min(1.2vw,16px);
	color:#fff;
	border-radius:0.3em;
	box-shadow:0 0 5px rgba(0,0,0,0.5);
	position:absolute;
	right:30px;
	bottom:30px;
	cursor:pointer;
}
#mv #movie_btn figcaption{
	margin-bottom:0.3em;
	letter-spacing:0.1em;
	text-indent:0.1em;
}

html.overlay {
	overflow:hidden;
	height:100%;
}
#modal{
	position:fixed;
	width:100%;
	top:0;
	left:0;
	z-index:110;
	background-color:rgba(0,0,0,0.8);
	display:none;
}
#modal > div{
	height:100vh;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
#modal .video{
	width:800px;
	height:0;
	margin:auto;
	padding-top:450px;
	position:relative;
	display:none;
}
#modal .video #player{
	position:absolute;
	top:0;
	left:0;
	width:100% !important;
	height:100% !important;
}

@media screen and (max-width:1080px){
	#mv #slick .item{
		padding:1.8vw 58vw 1vw 3vw;
	}
	#mv #slick .item .top_sec h2{
		height:3.9em;
		line-height:1.3;
	}
	#mv #slick .item .top_sec p{
		line-height:2;
		margin-top:0.5em;
		font-size:max(10px,0.9vw);
	}
}

@media screen and (max-width:860px){
	#mv #slick .item{
		aspect-ratio:auto;
		padding:0;
	}
	#mv #slick .bg1,
	#mv #slick .bg2,
	#mv #slick .bg3,
	#mv #slick .bg4{
		background:none;
	}
	#mv .only_pc{
		display:none !important;
	}
	#mv .only_smart{
		display:block !important;
	}

	#mv #slick .item .top_sec{
		padding:7vw 6vw 0;
		position:relative;
	}
	#mv #slick .item .top_sec h2{
		height:auto;
		font-size:5.4vw;
		display: block;
	}
	#mv #slick .item .top_sec h2.large{
		font-size:5.6vw;
	}
	#mv #slick .item .top_sec p{
		margin-top:1em;
		font-size:3vw;
	}
	#mv #slick .item .bottom_div{
		margin-top:-0.5em;
	}
	#mv #slick .item .bottom_div .btn_wrapper{
		margin-bottom:-7%;
		padding:0 6vw;
		text-align:right;
	}
	#mv #slick .item .bottom_div .btn_wrapper .more{
		margin-top:0;
		width:14em;
		line-height:2.5;
		padding-left:1.6em;
		font-size:3vw;
		text-align:left;
	}
	
	#mv #movie_btn{
		width:56%;
		padding:0.8em 4em 0.8em 0;
		font-size:2.7vw;
		border-radius:0.3em 0 0 0.3em;
		box-shadow:0 0 5px rgba(0,0,0,0.5);
		position:absolute;
		right:0;
		bottom:5%;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
	}
	#mv #movie_btn figcaption{
		line-height:1.2;
		margin-bottom:0;
		padding:0 0.5em;
		letter-spacing:0.1em;
		text-indent:0.1em;
		writing-mode: vertical-rl;
		text-orientation: upright;
	}
}


/* #cont1 */
#cont1{
}
#cont1 .news_wrapper{
	width:100%;
	margin-top:min(6%,60px);
	display:flex;
	overflow: hidden;
}
#cont1 .news_wrapper .news_list{
	display:flex;
}
#cont1 .news_wrapper .news_list > li{
	width:25.5vw;
	padding:0 15px;
	text-align:left;
}
#cont1 .news_wrapper .news_list > li figure{
	aspect-ratio:1000 / 685;
}
#cont1 .news_wrapper .news_list > li figure img{
	width:100%;
	height:100%;
	object-fit: cover;
}
#cont1 .news_wrapper .news_list > li .info{
	margin-top:1em;
	position:relative;
}
#cont1 .news_wrapper .news_list > li .info ul{
	display:flex;
}
#cont1 .news_wrapper .news_list > li .info ul li{
	display:inline-block;
	margin-right:0.5em;
	padding:0 0.8em;
	font-size:12px;
	border:1px solid;
}
#cont1 .news_wrapper .news_list > li .info .date{
	font-size:12px;
	position:absolute;
	right:0;
	top:50%;
	transform:translateY(-50%);
}
#cont1 .news_wrapper .news_list > li p{
	margin-top:1em;
	letter-spacing:0.15em;
}
#cont1 .news_wrapper .news_list > li .sub_link{
	text-decoration:underline;
	word-break: break-all;
}

#cont1 .news_wrapper .news_list:first-child {
	animation: slide1 120s -60s linear infinite;
}

#cont1 .news_wrapper .news_list:last-child {
	animation: slide2 120s linear infinite;
}
@keyframes slide1 {
	0% {
		transform: translateX(100%);
	}
	to {
		transform: translateX(-100%);
	}
}

@keyframes slide2 {
	0% {
		transform: translateX(0);
	}
	to {
		transform: translateX(-200%);
	}
}

@media screen and (max-width:1280px){
	#cont1 .news_wrapper .news_list > li{
		width:330px;
	}
}

@media screen and (max-width:768px){
	#cont1 .news_wrapper .news_list > li{
		width:74vw;
		padding:0 2.5vw;
	}
	#cont1 .news_wrapper .news_list > li .info ul li{
		font-size:2.8vw;
	}
	#cont1 .news_wrapper .news_list > li .info .date{
		font-size:2.8vw;
	}
}


/* #cont2 */
#cont2{
	padding-top:min(16%,calc(90px + 7%));
	background:url(../img/top/cont2_bg.png)no-repeat center top;
	background-size:102% auto;
}
#cont2 .sum_list{
	max-width:832px;
	margin-top:min(5.4vw,70px);
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	position:relative;
	z-index:1;
}
#cont2 .sum_list:after{
	content:'';
	display:block;
	width:100%;
	height:1px;
	background-color:#c69a1e;
	position:absolute;
	top:50%;
	left:0;
	z-index:-1;
}
#cont2 .sum_list li{
	width:9.4em;
	font-size:min(2.9vw,26px);
	line-height:1.4;
}
#cont2 .sum_list li a{
	display:block;
	height:9.4em;
	border-radius:50%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-direction: column;
	flex-direction: column;
	position:relative;
}
#cont2 .sum_list li a:hover{
	opacity:1;
}
#cont2 .sum_list li a:after{
	content:'';
	display:block;
	width:0.6em;
	height:0.6em;
	border-top:2px solid;
	border-right:2px solid;
	position:absolute;
	bottom:1.5em;
	transform:rotate(45deg);
}
#cont2 .sum_list li a .num{
	display:block;
	width:100%;
	font-family: "Jost", sans-serif;
	font-size:min(4.3vw,38px);
	font-weight:500;
	opacity:0.3;
	position:absolute;
	top:0.6em;
}
#cont2 .sum_list li a .jp{
	font-weight:700;
	letter-spacing:0.14em;
	text-indent:0.14em;
}
#cont2 .sum_list li a .en{
	margin-top:0.5em;
	font-size:min(1.2vw,11px);
	letter-spacing:0.1em;
	text-indent:0.1em;
}

#cont2 .more{
	margin-top:min(7%,70px);
}

@media screen and (max-width:768px){
	#cont2{
		padding-top:20%;
		background:url(../img/top/cont2_bg_s.png)no-repeat center top;
		background-size:102% auto;
	}
	
	#cont2 .sum_list{
		margin-top:9%;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#cont2 .sum_list:after{
		content:'';
		display:block;
		width:50vw;
		height:50vw;
		background-color:transparent;
		border:1px solid #c69a1e;
		position:absolute;
		top:50%;
		left:50%;
		z-index:-1;
		transform:translate(-50%,-50%);
		border-radius:50%;
	}
	#cont2 .sum_list li{
		font-size:4.2vw;
	}
	#cont2 .sum_list li:first-child{
		margin-left:calc(50% - 4.7em);
		margin-right:calc(50% - 4.7em);
	}
	#cont2 .sum_list li a .num{
		font-size:6.4vw;
		position:absolute;
		top:0.6em;
	}
	#cont2 .sum_list li a .en{
		font-size:1.7vw;
	}
	#cont2 .more{
		margin-top:9%;
	}
}


/* #cont3 */
#cont3{
	padding-bottom:150px;
	background:
		url(../img/top/cont3_bg_bottom.png)no-repeat center bottom -1px,
		url(../img/top/cont3_bg.png)no-repeat center top;
	background-size:1536px auto;
}
@media screen and (min-width:1530px){
	#cont3{
		padding-bottom:15%;
		background-size:100% auto;
	}
}
#cont3 .tit{
	text-align:center;
	letter-spacing:0.07em;
}
#cont3 .tit .en{
	text-indent:0.07em;
}
#cont3 .tit .en:before{
	content:none;
}
#cont3 .tit .jp{
	display:block;
	text-indent:0.05em;
}
#cont3 .group_list li{
	margin-top:min(5%,60px);
	margin-right:calc(50% - 640px);
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
#cont3 .group_list li:nth-child(even){
	margin-right:0;
	margin-left:calc(50% - 640px);
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
#cont3 .group_list li figure{
	flex:1;
	margin-right:-5%;
}
#cont3 .group_list li:nth-child(even) figure{
	margin-right:0;
	margin-left:-5%;
}
#cont3 .group_list li section{
	width:640px;
	margin-top:3%;
	padding:min(5%,60px);
	background-color:#fff;
	box-shadow:0 8px 12px rgba(0,0,0,0.12);
	text-align:left;
	position:relative;
}
#cont3 .group_list li section h3{
	font-size:26px;
	letter-spacing:0.14em;
	white-space:nowrap;
}
#cont3 .group_list li section p{
	margin-top:1.5em;
	font-size:15px;
	letter-spacing:0.2em;
}
#cont3 .group_list li section .more{
	width:19em;
	line-height:4.2;
	font-size:14px;
}

@media screen and (max-width:1300px){
	#cont3{
		padding-bottom:12%;
		background-size:100% auto,100% 105%;
	}
	#cont3 .group_list li{
		margin-right:1.5%;
	}
	#cont3 .group_list li:nth-child(even){
		margin-right:0;
		margin-left:1.5%;
	}
	#cont3 .group_list li figure{
		flex:1;
		margin-right:-3%;
	}
	#cont3 .group_list li:nth-child(even) figure{
		margin-right:0;
		margin-left:-3%;
	}
	#cont3 .group_list li section{
		width:48.5%;
		margin-top:0;
		padding:3%;
	}
	#cont3 .group_list li section h3{
		font-size:2vw;
	}
	#cont3 .group_list li section p{
		margin-top:1em;
		font-size:14px;
	}
	#cont3 .group_list li section .more{
		font-size:12px;
	}
}

@media screen and (max-width:768px){
	#cont3{
		padding-bottom:20%;
		background:
			url(../img/top/cont3_bg_bottom_s.png)no-repeat center bottom -1px,
			url(../img/top/cont3_bg_s.png)no-repeat center top;
		background-size:100% auto,100% 100%;
	}
	#cont3 .group_list li{
		margin-top:12%;
		margin-right:0;
		display: block;
	}
	#cont3 .group_list li:nth-child(even){
		margin-right:0;
		margin-left:0;
	}
	#cont3 .group_list li figure{
		margin-right:7%;
	}
	#cont3 .group_list li:nth-child(even) figure{
		margin-right:0;
		margin-left:7%;
	}
	#cont3 .group_list li section{
		width:auto;
		margin-top:-5%;
		margin-left:7%;
		padding:7%;
		box-shadow:0 4px 6px rgba(0,0,0,0.12);
	}
	#cont3 .group_list li:nth-child(even) section{
		margin-left:0;
		margin-right:7%;
	}
	#cont3 .group_list li section h3{
		line-height:1.5;
		font-size:5.4vw;
	}
	#cont3 .group_list li section p{
		font-size:3.2vw;
	}
	#cont3 .group_list li section .more{
		font-size:2.6vw;
	}
}


/* #cont4 */
#cont4{
	padding:0 0 min(9%,120px);
}
#cont4 .flex{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#cont4 .flex li{
	width:min(30%,380px);
	margin-top:min(9%,120px);
}
#cont4 .flex li figure{
	position:relative;
}
#cont4 .flex li figure figcaption{
	width:88%;
	padding:0.5em 0.8em 0;
	font-size:min(2.6vw,34px);
	background:#fff url(../img/arrow.png)no-repeat right bottom 0.5em;
	background-size:1.3em auto;
	text-align:left;
	position:absolute;
	bottom:-0.5em;
	right:0;
}
#cont4 .flex li figure figcaption .en{
	line-height:1.1;
	display:block;
	font-weight:500;
	letter-spacing:0.08em;
}
#cont4 .flex li figure figcaption .jp{
	display:block;
	font-size:min(1.2vw,15px);
	font-weight:bold;
	letter-spacing:0.1em;
}

@media screen and (max-width:768px){
	#cont4{
		padding:0 0 18%;
	}
	#cont4 .flex{
		display: block;
	}
	#cont4 .flex li{
		width:auto;
		margin-top:12%;
	}
	#cont4 .flex li figure figcaption{
		font-size:7.2vw;
		bottom:-0.3em;
	}
	#cont4 .flex li figure figcaption .en{
		line-height:1.1;
		display:block;
		font-weight:500;
		letter-spacing:0.08em;
	}
	#cont4 .flex li figure figcaption .jp{
		font-size:2.8vw;
	}
}


/* #cont5 */
#cont5{
	aspect-ratio:3840 / 1480;
	background:url(../img/top/cont5_bg.webp)no-repeat center center;
	background-size:cover;
}
#cont5 .tit .jp{
	display:block;
}

@media screen and (max-width:1024px){
	#cont5 .tit + .lead .only_smart{
		display:block !important;
	}
}

@media screen and (max-width:768px){
	#cont5{
		padding-top:12%;
		aspect-ratio:1500 / 2316;
		background:url(../img/top/cont5_bg_s.webp)no-repeat center center;
		background-size:cover;
	}
	#cont5 .tit .en{
		line-height:1.1;
	}
}