@charset "UTF-8";
/* CSS Document */



/****************************************************************************************************
main
****************************************************************************************************/
#main {
	position:relative;
	background:#000;
}
.main-img > img {
	width:100%;
	height:100vh;
	object-fit:cover;
	-webkit-transition: transform 10000ms linear;
	-moz-transition: transform 10000ms linear;
	transition: transform 10000ms linear;
	-webkit-transform: scale(1.10);
	transform: scale(1.10);
}
.main-img.zoom-out > img {
	-webkit-transform: scale(1.0);
	transform: scale(1.0);
}
.main-img.zoom-in > img {
	-webkit-transform: scale(1.25);
	transform: scale(1.25);
}
#main-logo {
	position:absolute;
	left:50%;
	top:50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index:1100;
}
#main-scroll {
	position:absolute;
	left:50%;
	bottom:40px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	font-size:10px;
	line-height:1.0;
	letter-spacing:2px;
	z-index:1100;
}
#main-scroll a {
	position:relative;
	display:block;
	padding:0.5rem;
	color:#FFF;
}
#main-scroll a::after {
	position:absolute;
	left:0;
	right:0;
	content:"";
	display:inline-block;
	width: 14px;
	height: 14px;
	margin:auto;
	margin-top:0.5em;
	border: 1px solid;
	border-color: transparent transparent #FFF #FFF;
	-webkit-transform: rotate(-45deg) translate(0, 0);
	transform: rotate(-45deg) translate(0, 0);
}



/****************************************************************************************************
introduction
****************************************************************************************************/
#introduction {
	display:inline-block;
	padding:120px 0 100px 0;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	font-feature-settings: normal;
	text-align:left;
}
#introduction h2 {
	font-size:23px;
	font-weight:400;
	line-height:1.8;
	letter-spacing:0.5px;
}
#introduction h2 + p {
	margin-right:3em;
}
#introduction p {
	margin-top:0.3em;
	line-height:2.4;
	letter-spacing:0.5px;
}
#introduction p + p {
	margin-right:1.5em;
}



/****************************************************************************************************
link
****************************************************************************************************/
#link {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	/*gap: 40px;*/
	width:1100px;
	margin:0 auto;
}
.link-box + .link-box {
	margin-left:40px;
}
.link-box:nth-of-type(3n+1) {
	margin-left:0;
}
.link-box:nth-of-type(n+4) {
	margin-top:40px;
}
.link-box {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width:340px;
	height:340px;
	background:#000;
}
.link-box a {
	position:relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	width:100%;
	height:100%;
	background-image:URL(../img/top/btn-bg1.jpg);
	background-size:cover;
	color:#FFF;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	font-feature-settings: normal;
	text-align:left;
}
.link-box:nth-of-type(2) a {
	background-image:URL(../img/top/btn-bg2.jpg);
}
.link-box:nth-of-type(3) a {
	background-image:URL(../img/top/btn-bg3.jpg);
}
.link-box:nth-of-type(4) a {
	background-image:URL(../img/top/btn-bg4.jpg);
}
.link-box:nth-of-type(5) a {
	background-image:URL(../img/top/btn-bg5.jpg);
}
.link-box:nth-of-type(6) a {
	background-image:URL(../img/top/btn-bg6.jpg);
}
.link-box h3 {
	margin-top:45px;
	font-size:30px;
	font-weight:500;
	letter-spacing:3px;
}
.link-box h3.kana {
	letter-spacing:-3px;
}
.link-box p {
	margin-top:82px;
	margin-right:3px;
	margin-left:6px;
	letter-spacing:-0.8px;
}
.link-box div {
	position:absolute;
	right:50px;
	bottom:30px;
	font-size:13px;
	line-height:1.0;
	-ms-writing-mode: horizontal-tb;
	-webkit-writing-mode: horizontal-tb;
	writing-mode: horizontal-tb;
}
.link-box div span {
	display:block;
	position:relative;
}
.link-box div span::after {
	position:absolute;
	top:0;
	bottm:0;
	content:"";
	display:inline-block;
	width: 16px;
	height: 16px;
	margin-left:0.25em;
	border: 1px solid;
	border-color: transparent transparent #FFF #FFF;
	-webkit-transform: rotate(-135deg) translate(1px, 1px);
	transform: rotate(-135deg) translate(1px, 1px);
}



/****************************************************************************************************
news-banner
****************************************************************************************************/
#news-banner {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	/*gap: 40px;*/
	width:1100px;
	margin:0 auto;
	margin-top:100px;
	text-align:left;
}
#news-wrap {
	width:530px;
}
#news {
	padding:38px 0 ;
	border-top: 1px solid #555555;
	border-bottom: 1px solid #555555;
}
.sec-ttl {
	position:relative;
}
.sec-ttl h3 {
	font-size:28px;
	font-weight:500;
	line-height:1.0;
	letter-spacing:3px;
}
.sec-ttl div.link {
	position:absolute;
	right:3px;
	top:50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	font-size:13px;
}
.sec-ttl div.link a {
}
.sec-ttl div.link a::after {
	content:"";
	display:inline-block;
	width: 15px;
	height: 15px;
	margin-left:0.25em;
	border: 1px solid;
	border-color: transparent transparent #000 #000;
	-webkit-transform: rotate(-135deg) translate(-2px, -2px);
	transform: rotate(-135deg) translate(-2px, -2px);
}
.sec-ttl + .sec-body {
	margin-top:28px;
}

#news .sec-body {
	height:345px;
	height:210px;
	overflow:scroll;
}
#news .sec-body dl {
	line-height:1.6;
}
#news .sec-body dl + dl {
	margin-top:1.2em;
}
#news .sec-body dt {
	float:left;
}
#news .sec-body dd {
	padding-left:6em;
}
#top-sns {
	margin-top:30px;
}
#top-sns ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	/*gap:2em;*/
}
#top-sns ul li + li {
	margin-left:2em;
}

#banner {
	width:530px;
	margin-left:40px;
}
.banner-box {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height:120px;
	background:#000;
}
.banner-box + .banner-box {
	margin-top:20px;
}
.banner-box a {
	position:relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	width:100%;
	height:100%;
	padding:0 0 0 50px;
	background:#2A1500;
	color:#FFF;
}
.banner-box:nth-of-type(even) a {
	background:#000;
}
.banner-box a > img {
	float:left;
	margin-top:-18px;
}
.banner-box a img + h3 {
	padding-left:15px;
}
.banner-box a h3 {
	font-size:24px;
	font-weight:500;
	line-height:1.0;
	letter-spacing:1px;
}
.banner-box a h3 span {
	display:block;
	margin-top:1em;
	font-size:10px;
	line-height:1.0;
}
.banner-box a h3 em {
	display:block;
	margin-top:1em;
	font-size:15px;
	font-style:normal;
	line-height:1.0;
}
.banner-box a p {
	display:block;
	font-weight:500;
}
.banner-box div {
	position:absolute;
	right:50px;
	bottom:23px;
	font-size:13px;
	line-height:1.0;
	-ms-writing-mode: horizontal-tb;
	-webkit-writing-mode: horizontal-tb;
	writing-mode: horizontal-tb;
}
.banner-box div span {
	display:block;
	position:relative;
}
.banner-box div span::after {
	position:absolute;
	top:0;
	bottm:0;
	content:"";
	display:inline-block;
	width: 16px;
	height: 16px;
	margin-left:0.25em;
	border: 1px solid;
	border-color: transparent transparent #FFF #FFF;
	-webkit-transform: rotate(-135deg) translate(1px, 1px);
	transform: rotate(-135deg) translate(1px, 1px);
}



/****************************************************************************************************
btn-block
****************************************************************************************************/
.btn-block {
	padding:90px 0;
}



/****************************************************************************************************
movie
****************************************************************************************************/
#movie {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}
#movie-txt {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	width:550px;
	height:310px;
	background:#000;
	color:#FFF;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	font-feature-settings: normal;
	text-align:left;
}
#movie-txt h3 {
	margin-left:1em;
	font-size:26px;
	line-height:1.5;
}
#movie-txt h3 img {
	margin-bottom: 0.5em;
}
#movie-photo {
	background:#000;
}
#movie-photo iframe {
	vertical-align: top;
}









@media screen and (max-width: 767px),
screen and (max-width: 960px) and (orientation: landscape) {
	/****************************************************************************************************
	main
	****************************************************************************************************/
	#slider1 > img {
		object-position:40% 50%;
	}
	#slider2 > img {
		object-position:70% 50%;
	}
	#slider3 > img {
		object-position:70% 50%;
	}
	#slider4 > img {
		object-position:70% 50%;
	}
	#slider5 > img {
		object-position:52% 50%;
	}
	#main-logo {
		width:64vw;
	}
	#main-scroll {
		bottom:5vw;
		-webkit-transform: translate(-50%, -55%);
		transform: translate(-50%, -55%);
		font-size:2.400vw;
		letter-spacing:1px;
	}
	#main-scroll a::after {
		width: 3.5vw;
		height: 3.5vw;
		-webkit-transform: rotate(-45deg) translate(0, 0);
		transform: rotate(-45deg) translate(0, 0);
	}
	
	
	
	/****************************************************************************************************
	introduction
	****************************************************************************************************/
	#introduction {
		padding:15vw 0 15vw 0;
		-ms-writing-mode: horizontal-tb;
		-webkit-writing-mode: horizontal-tb;
		writing-mode: horizontal-tb;
		text-align:center;
	}
	#introduction h2 {
		font-size:5.866vw;
		line-height:1.6;
	}
	#introduction h2 + p {
		margin:1.5em 0 0 0;
	}
	#introduction p {
		line-height:2.0;
	}
	#introduction p + p {
		margin:1.5em 0 0 0;
	}
	
	
	
	/****************************************************************************************************
	link
	****************************************************************************************************/
	#link {
		/*gap: 3vw;*/
		width:auto;
	}
	.link-box + .link-box,
	.link-box:nth-of-type(3n+1) {
		margin-left:3vw;
	}
	.link-box:nth-of-type(2n+1) {
		margin-left:0;
	}
	.link-box:nth-of-type(n+3) {
		margin-top:3vw;
	}
	.link-box {
		width:44.5vw;
		height:46vw;
	}
	.link-box h3 {
		margin-top:5vw;
		font-size:4.000vw;
	}
	.link-box h3.kana {
		letter-spacing:-2px;
	}
	.link-box p {
		margin-top:9.5vw;
		margin-right:1.5vw;
		margin-left:3vw;
		font-size:2.13vw;
		line-height:2.2;
		letter-spacing:0;
	}
	.link-box div {
		right:6.5vw;
		bottom:4vw;
		font-size:2.13vw;
	}
	.link-box div span::after {
		width: 2.5vw;
		height: 2.5vw;
	}
	
	
	
	/****************************************************************************************************
	news-banner
	****************************************************************************************************/
	#news-banner {
		/*gap: 8vw;*/
		width:auto;
		margin-top:12vw;
	}
	#news-wrap {
		width:100%;
	}
	#news {
		padding:10vw 0;
	}
	.sec-ttl h3 {
		font-size:7.466vw;
	}
	.sec-ttl div.link {
		position:absolute;
		right:3px;
		top:50%;
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
		font-size:3.200vw;
	}
	.sec-ttl div.link a::after {
		width: 3vw;
		height: 3vw;
		-webkit-transform: rotate(-135deg) translate(0, 0);
		transform: rotate(-135deg) translate(0, 0);
	}
	.sec-ttl + .sec-body {
		margin-top:7vw;
	}
	
	#news .sec-body {
		height:auto;
	}
	#news .sec-body dl {
		line-height:1.6;
	}
	#news .sec-body dl + dl {
		margin-top:1.2em;
	}
	#news .sec-body dt {
		float:none;
	}
	#news .sec-body dd {
		padding-left:0;
	}
	#top-sns {
		margin-top:8vw;
	}
	#top-sns ul li {
		width:26vw;
	}
	
	#banner {
		width:100%;
		margin:8vw 0 0 0;
	}
	.banner-box {
		height:24vw;
	}
	.banner-box + .banner-box {
		margin-top:3vw;
	}
	.banner-box a {
		padding:0 0 0 5vw;
	}
	.banner-box a > img {
		width:6vw;
		margin-top:-5.5vw;
	}
	.banner-box a img + h3 {
		padding-left:2.5vw;
	}
	.banner-box a h3 {
		font-size:5.333vw;
	}
	.banner-box a h3 img {
		width:40vw;
	}
	.banner-box a h3 span {
		font-size:2.66vw;
	}
	.banner-box a h3 em {
		font-size:4.000vw;
	}
	.banner-box div {
		right:8vw;
		bottom:4vw;
		font-size:3.200vw;
	}
	.banner-box div span::after {
		width: 3vw;
		height: 3vw;
		-webkit-transform: rotate(-135deg) translate(0, 0);
		transform: rotate(-135deg) translate(0, 0);
	}
	
	
	
	/****************************************************************************************************
	btn-block
	****************************************************************************************************/
	.btn-block {
		padding:10vw 0;
	}
	
	
	
	/****************************************************************************************************
	movie
	****************************************************************************************************/
	#movie {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#movie-txt {
		width:100%;
		height:auto;
		padding:10vw 0;
		-ms-writing-mode: horizontal-tb;
		-webkit-writing-mode: horizontal-tb;
		writing-mode: horizontal-tb;
		text-align:center;
	}
	#movie-txt h3 {
		font-size:6.4vw;
	}
	#movie-txt h3 img {
		display: inline-block;
		width:10vw;
		margin:0 3vw 3vw -9vw;
	}
	#movie-photo iframe {
		width: 92vw;
		height:51.8vw;
	}
}
@media screen and (max-width: 960px) and (orientation: landscape) {
	.main-img img {
		height:200vh;
	}
}