@charset "utf-8";


/* -- Link
-------------------------------------------------------------------------------- */
a {
	-webkit-tap-highlight-color: rgba(199,14,26, 0.5);
	text-decoration: none;
	outline: none;
}
header nav li a,
.btn {
	position: relative;
}
header nav li a::before,
header nav li a::after,
.btn::before,
.btn::after {
	content: "";
	display: block;
	width: 11px;
	height: 11px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	border-left: none!important;
	border-bottom: none!important;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}
.btn::after { right: 16px; }
header nav li a::before,
header nav li a::after {
	width: 7px;
	height: 7px;
	margin-top: 2px;
	right: 24px;
}
header nav li a::after { right: 28px; }
header .subnavi {
	display: none;
}


/* -- Layout
-------------------------------------------------------------------------------- */
header,
main > * {
	text-align: left;
	padding: 0 15px;
}
img {
	width: 100%;
}
.pc {
	display: none;
}
.layer {
	background: rgba(0,0,0,0.8);
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 8;
	visibility: hidden;
	opacity: 0;
}
.is-open .layer {
	visibility: visible;
	opacity: 1;
	transition: all 0.5s ease;
}



/* -- Headerer
-------------------------------------------------------------------------------- */
header {
	background: #fff;
	height: 44px;
	border-bottom: solid 1px #c8c8c8;
	position: relative;
	z-index: 9;
}
header > p {
	display: block;
	height: 16px;
	width: 119px;
	position: absolute;
	left: 15px;
	top: 15px;
}
header nav p {
	font-size: 0;
	display: block;
	width: 49px;
	height: 44px;
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
}
header nav::before,
header nav p::before,
header nav p::after {
	content: "";
	background: #000;
	display: block;
	width: 19px;
	height: 2px;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	transition: all 0.3s ease;
}
header nav::before { top: 21px; left: auto; right: 15px; }
header nav p::before { top: 15px; }
header nav p::after { top: 27px; }
.is-open header nav::before { opacity: 0; }
.is-open header nav p::before,
.is-open header nav p::after { width: 22px; top: 21px; }
.is-open header nav p::before { transform: rotate(-45deg); }
.is-open header nav p::after { transform: rotate(-135deg); }
header nav > ul {
	display: block;
	height: 0;
	width: 100%;
	overflow: hidden;
	position: absolute;
	left: 0;
	top: 44px;
	transition: all 0.5s ease;
}
.is-open header nav > ul {
	background: #000;
	height: 425px;
}
header nav li a {
	font-size: 1.4rem;
	font-weight: 600;
	color: #FFF;
	display: block;
	padding: 15px 25px;
	border-bottom: solid 1px #373737;
}

/*
header nav li:last-child a {
	text-align: center;
	padding: 30px 0 0;
	border-bottom: none;
}
header nav li:last-child a::before,
header nav li:last-child a::after {
	display: none;
}
header nav li:last-child a img {
	width: 290px;
}
*/



/* -- Contents
-------------------------------------------------------------------------------- */
main {
	font-size: 1.4rem;
	overflow: hidden;
}
aside {
	background: #de5424;
	padding: 42px 15px;
}
aside dt {
	padding: 20px 63px;
	border-top: solid 4px #000;
	border-bottom: solid 4px #000;
}
aside dd p.tel {
	padding: 25px 12px;
}
aside dd p.form a {
	font-size: 1.3rem;
	font-weight: 600;
	color: #fff;
	background: #000;
	text-align: center;
	height: 13px;
	display: block;
	padding: 18px 0;
}
#pageTop {
	display: block;
	position: fixed;
	right: 15px;
	bottom: 15px;
	display: none;
}
#pageTop a {
	font-size: 0;
	color: #202020;
	background: #202020;
	display: block;
	width: 55px;
	height: 55px;
	border-radius: 4px;
}
#pageTop a::after {
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	margin: auto;
	border-top: solid 1px #fff;
	border-left: solid 1px #fff;
	position: absolute;
	left: 0;
	right: 0;
	top: 24px;
	transition: all 0.3s ease;
	transform: rotate(45deg);
}


/* -- Movie
-------------------------------------------------------------------------------- */
#movie {
	padding: 50px 15px;
}
#movie p {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 600;
	margin: 18px 0;
}
#movie iframe {
	display: block;
	width: 100%;
	height: calc((100vw - 30px) * 0.5625);
	border: 0;
}


/* -- Footer
-------------------------------------------------------------------------------- */
footer {
	color: #fff;
	background: #000;
	text-align: center;
	padding: 23px 0;
}
footer p {
	display: none;
}
