/*************************************************
** Charset:UTF-8（京雀）
** Version:20190618
** Programing by H.Watanabe
*************************************************/

/*************************************************
** Reset
*************************************************/
html, body, div, span, object, iframe, 
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
body {
	line-height:1;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section { 
	display:block;
}
nav ul {
	list-style:none;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
a {
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}
mark {
	background-color:#ff9;
	color:#000; 
	font-style:italic;
	font-weight:bold;
}
del {
	text-decoration:line-through;
}
abbr[title], dfn[title] {
	border-bottom:1px dotted;
	cursor:help;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
hr {
	display:block;
	height:1px;
	border:0;	 
	border-top:1px solid #cccccc;
	margin:1em 0;
	padding:0;
}
input, select {
	vertical-align:middle;
}
*,
*::before,
*::after {
	box-sizing:border-box;
}


/*************************************************
** Utility
*************************************************/
/* Clearfix */
.i-cf::after {
	content:"";
	display:block;
	clear:both;
}

/* Hide */
.i-hide {
	display:none;
}


/*************************************************
** Global Style
*************************************************/
html {
	overflow-y:scroll;
}
body {
	color:#202020;
	font-family:"Sawarabi Mincho";
}
.i-page-wrap {
	padding-top:80px;
	min-height:100vh;
}
.i-wrap {
	margin:0 auto;
	width:96%;
}

@media screen and (min-width:959px) {
	.i-wrap {
		width:960px;
	}
}

.i-conf-block {
	color:#e00;
	font-style:normal;
}


/*************************************************
** Header Style
*************************************************/
.i-header {
	z-index:10;
	position:fixed;
	top:0;
	left:0;
	padding:10px 0;
	height:80px;
	width:100%;
	background-image:url(../images/head_bg.jpg);
	background-size:cover;
	background-position:center center;
}
.i-header-wrap {
	position:relative;
}
.i-head-logo {
	display:block;
	position:relative;
	z-index:40;
	margin-left:20px;
	width:95px;
	height:60px;
	background-image:url(../images/logo.png);
	background-size:contain;
	background-position:center center;
}
.i-menu-trigger-wrap {
	position:absolute;
	top:10px;
	right:20px;
}
.i-menu-trigger,
.i-menu-trigger span {
	display:inline-block;
	transition:all .4s;
	box-sizing:border-box;
}
.i-menu-trigger {
	position:relative;
	width:40px;
	height:34px;
}
.i-menu-trigger span {
	position:absolute;
	left:0;
	width:100%;
	height:4px;
	background-color:#fff;
	border-radius:4px;
}
.i-menu-trigger span:nth-of-type(1) {
	top:0;
}
.i-menu-trigger span:nth-of-type(2) {
	top:15px;
}
.i-menu-trigger span:nth-of-type(3) {
	bottom:0;
}
.i-menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(15px) rotate(-45deg);
	transform:translateY(15px) rotate(-45deg);
}
.i-menu-trigger.active span:nth-of-type(2) {
	opacity:0;
}
.i-menu-trigger.active span:nth-of-type(3) {
	-webkit-transform:translateY(-15px) rotate(45deg);
	transform:translateY(-15px) rotate(45deg);
}
.i-nav-wrap {
	display:none;
	position:fixed;
	top:80px;
	left:0;
	width:100%;
	height:auto;
	background-color:rgba(0, 0, 0, 0.8);
}
.i-nav-list li {
	color:#fff;
	font-size:140%;
	line-height:2.5;
	text-align:center;
}
.i-nav-list li a {
	display:block;
	color:#fff;
	text-decoration:none;
	border-bottom:1px solid rgba(255, 255, 255, 0.5);
}
.i-nav-list li:last-child a {
	display:inline-block;
	padding:0 10px;
}
.i-nav-list li:last-child span {
	color:#dadada;
}

@media screen and (min-width: 559px) {
}

@media screen and (min-width: 959px) {
	.i-header-wrap {
		margin:0 auto;
		width:960px;
	}
	.i-menu-trigger-wrap {
		display:none;
	}
	.i-nav-wrap {
		display:inline-block;
		position:absolute;
		top:0;
		right:1em;
		width:auto;
		text-align:right;
		background-color:transparent;
	}
	.i-nav {
		display:inline-block;
		width:auto;
	}
	.i-nav-list {
		display:inline-block;
		letter-spacing:-.5em;
		text-align:right;
	}
	.i-nav-list li {
		display:inline-block;
		margin-left:2em;
		width:auto;
		color:#fff;
		font-size:140%;
		line-height:2.5;
		text-align:center;
		letter-spacing:normal;
	}
	.i-nav-list li a {
		border-bottom:0;
	}
}


/*************************************************
** Social Buttons Style
*************************************************/
.i-gl-sns {
	list-style-type:none;
	text-align:center;
	letter-spacing:-.5em;
}
.i-gl-sns li {
	display:inline-block;
		margin:0 10px;
	letter-spacing:normal;
	vertical-align:top;
}


/*************************************************
** Footer Style
*************************************************/
.i-footer {
	margin-top:80px;
	background-image:url(../images/head_bg.jpg);
	background-size:cover;
	background-position:center center;
}
.i-foot-copy {
	display:block;
	padding:15px 0;
	color:#fff;
	font-size:75%;
	text-align:center;
}


/*************************************************
** Loading Style
*************************************************/
.i-loader{
	background:#d0db00;
	height:100%;
	left:0;
	position:fixed;
	top:0;
	width:100%;
	z-index:10;
}
.i-loader-animation,
.i-loader-animation:before,
.i-loader-animation:after {
	background:#fff;
	-webkit-animation:load1 1s infinite ease-in-out;
	animation:load1 1s infinite ease-in-out;
	width:1em;
	height:4em;
}
.i-loader-animation {
	height:10px;
	left:50%;
	margin:-5px 0 0 -5px;
	position:absolute;
	top:50%;
	width:10px;
	color:#fff;
	text-indent:-9999em;
	font-size:10px;
	-webkit-transform:translateZ(0);
	-ms-transform:translateZ(0);
	transform:translateZ(0);
	-webkit-animation-delay:-0.16s;
	animation-delay:-0.16s;
}
.i-loader-animation:before,
.i-loader-animation:after {
	position:absolute;
	top:0;
	content:'';
}
.i-loader-animation:before {
	left:-1.5em;
	-webkit-animation-delay:-0.32s;
	animation-delay:-0.32s;
}
.i-loader-animation:after {
	left:1.5em;
}
@-webkit-keyframes load1 {
	0%,
	80%,
	100% {
		box-shadow:0 0;
		height:4em;
	}
	40% {
		box-shadow:0 -2em;
		height:5em;
	}
}
@keyframes load1 {
	0%,
	80%,
	100% {
		box-shadow:0 0;
		height:4em;
	}
	40% {
		box-shadow:0 -2em;
		height:5em;
	}
}


/*************************************************
** Front Page Style
*************************************************/
.i-front-wrap {
	width:100%;
	background-image:url(../images/bg_front_sp.jpg);
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
}
.i-front-h1 {
	margin:100px auto 150px;
	width:50%;
	max-width:324px;
}
.i-front-sec {
	margin-bottom:100px;
}
.i-front-h1-img {
	display:block;
	width:100%;
	height:auto;
}
.i-front-sub-sec {
	margin-bottom:60px;
}
.i-front-sub-sec:last-child {
	margin-bottom:0;
}
.i-front-h2 {
	margin-bottom:40px;
	color:#fff;
	font-size:160%;
	font-weight:normal;
	text-align:center;
}
.i-front-cast {
	list-style-type:none;
	color:#fff;
	font-size:140%;
	text-align:center;
}
.i-front-cast li {
	margin-bottom:20px;
}
.i-front-cast li:nth-of-type(2),
.i-front-cast li:nth-of-type(3),
.i-front-cast li:nth-of-type(5) {
	margin-bottom:30px;
}
.i-front-cast li small {
	display:inline-block;
	padding-right:1em;
	font-size:80%;
}
.i-front-staff {
	margin:0 auto;
	width:100%;
	max-width:560px;
	list-style-type:none;
	color:#fff;
	font-size:110%;
	text-align:center;
	letter-spacing:-.5em;
}
.i-front-staff li {
	display:inline-block;
	margin:0 10px 15px;
	letter-spacing:normal;
}
.i-front-staff li small {
	display:inline-block;
	position:relative;
	padding-right:1em;
	font-size:80%;
	vertical-align:middle;
}
.i-front-staff li small::after {
	content:"\FF1A";
	display:inline-block;
	position:absolute;
	top:0;
	right:0;
}

@media screen and (min-width:959px) {
	.i-front-wrap {
		background-image:url(../images/bg_front_pc.jpg);
	}
}


/*************************************************
** About Page Style
*************************************************/
.i-about-wrap {
	width:100%;
	background-color:#333;
}
.i-about-h1-wrap {
	position:relative;
	margin-bottom:60px;
	padding-top:66.6%;
	width:100%;
	height:0;
	background-image:url(../images/bg_about_sp.jpg);
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
}
.i-about-h1 {
	position:absolute;
	top:50%;
	left:0;
	margin-top:-50px;
	width:100%;
	color:#000;
	font-size:300%;
	font-weight:normal;
	line-height:100px;
	text-shadow:0 0 2px #555;
}
.i-about-sec {
	margin-bottom:100px;
}
.i-about-sub-sec {
	margin-bottom:100px;
	padding-bottom:60px;
	border-bottom:1px solid #fff;
}
.i-about-sub-sec:last-child {
	margin-bottom:0;
}
.i-about-h2 {
	margin-bottom:40px;
	color:#fff;
	font-size:200%;
	font-weight:normal;
	text-align:center;
}
.i-about-contents p {
	margin:0 auto 1em;
	color:#fff;
	font-size:120%;
	line-height:1.6;
	text-align:center;
}
.i-about-contents p .i-about-sp-br {
	display:none;
}
.i-about-contents-left p {
	text-align:left;
}
.i-about-movie-wrap {
	position:relative;
	width:100%;
	padding-top:56.25%;
}
.i-about-movie-wrap iframe {
	position:absolute;
	top:0;
	right:0;
	width:100% !important;
	height:100% !important;
}
.i-about-gallery {
	list-style-type:none;
	letter-spacing:-.5em;
}
.i-about-gallery li {
	display:inline-block;
	margin:0 30px 30px 0;
	width:calc(calc(100% - 30px) / 2);
}
.i-about-gallery li:nth-of-type(2n) {
	margin:0 0 30px 0;
}
.i-about-gallery li a {
	display:block;
	padding-top:66.6%;
	width:100%;
	height:0;
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
}

@media screen and (min-width:959px) {
	.i-about-h1-wrap {
		padding-top:550px;
		background-image:url(../images/bg_about_pc.jpg);
	}
	.i-about-contents p {
		width:800px;
	}
	.i-about-gallery li {
		width:calc(calc(100% - 60px) / 3);
	}
	.i-about-gallery li:nth-of-type(2n) {
		margin:0 30px 30px 0;
	}
	.i-about-gallery li:nth-of-type(3n) {
		margin:0 0 30px 0;
	}
}
