@charset "utf-8";



/* -- Link
-------------------------------------------------------------------------------- */
a,
a img {
	text-decoration: none;
	outline: none;
	transition: all 0.3s ease;
}
header nav li a,
.btn {
	position: relative;
	box-sizing: border-box;
}
header nav li a::before,
header nav li a::after,
.btn::before,
.btn::after {
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	border-left: none!important;
	border-bottom: none!important;
	position: absolute;
	right: 38px;
	top: 50%;
	transition: all 0.3s ease;
	transform: translateY(-50%) rotate(45deg);
}
.btn::after { right: 44px; }
header nav li a::before,
header nav li a::after {
	width: 9px;
	height: 9px;
	margin-top: 2px;
	border-color: #000;
	right: 2px;
}
header nav li a::after { right: 6px; }
header nav li a:hover::before,
header nav li a:hover::after,
.btn:hover::before,
.btn:hover::after {
	margin-right: -10px;
}
header nav li a:hover::before,
header nav li a:hover::after {
	border-color: #c70e1a;
}
a:not([data-fancybox]):hover img {
	opacity: 0.7;
}
a[data-fancybox]:hover {
	cursor: default;
}



/* -- Layout
-------------------------------------------------------------------------------- */
body {
	min-width: 980px;
}
header,
main > *,
aside dl,
footer {
	text-align: left;
	max-width: 960px;
	margin: auto;
	padding: 0 10px;
}
main {
	width: 100%;
	overflow: hidden;
}
.sp {
	display: none;
}
header::before,
footer::before {
	content: "";
	display: block;
	width: 100%;
	min-width: 980px;
	position: absolute;
	left: 0;
}
header > *,
footer > * {
	position: relative;
}



/* -- Headerer
-------------------------------------------------------------------------------- */
header {
	height: 114px;
}
header::before {
	height: 84px;
	border-top: solid 43px #000;
	border-bottom: solid 1px #f2f2f2;
}
header > p {
	float: left;
	padding-top: 74px;
}
header nav {
	text-align: right;
	float: right;
	width: 647px;
}
header nav p {
	display: none;
}
header nav > ul {
	font-size: 0;
	display: block;
	height: 100%;
}
header nav li {
	background: no-repeat center 28px;
	display: inline-block;
	padding: 4px 0 1px;
}
header nav li:nth-child(1) { background-image: url(../img/nv_btn1_on.png); width: 117px; margin-right: 18px; }
header nav li:nth-child(2) { background-image: url(../img/nv_btn2_on.png); width: 142px; margin-right: 28px; }
header nav li:nth-child(3) { background-image: url(../img/nv_btn3_on.png); width: 102px; margin-right: 38px; }
header nav li:nth-child(4) { background-image: url(../img/nv_btn4_on.png); width: 202px; }
header nav li a {
	font-size: 0;
	color: #fff;
	text-align: center;
	display: block;
	height: 85px;
	padding: 24px 30px 20px;
}
header nav li a:hover img {
	opacity: 0;
}

header .subnavi ul {
	float: right;
	overflow: hidden;
}
header .subnavi li {
	float: left;
	width: 120px;
	height: 42px;
	background: #000;
	color: #fff;
	text-align: center;
	line-height: 42px;
	font-size: 14px;
}
header .subnavi li:first-child,
header .subnavi li:nth-child(2), 
header .subnavi li:nth-child(3) {
	border-left: 1px solid #535353;
}
header .subnavi li:nth-child(2),
header .subnavi li:last-child {
	width: 160px;
}
header .subnavi li:last-child {
	background: #de5423;
}
header .subnavi a {
	display: block;
	color: #fff;
}
header .subnavi a:hover {
	opacity: 0.7;
}



/* -- Contents
-------------------------------------------------------------------------------- */
main {
	font-size: 1.4rem;
}
main > *,
main > * > *,
main > section section > * {
	position: relative;
}
main > *::before,
main > section section::before,
section[class^="point"]::after,
#other::after {
	content: "";
	display: block;
	height: 100%;
	width: 100vw;
	min-width: 980px;
	margin: auto;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: -100%;
	right: -100%;
	z-index: 0;
}
aside {
	background: #de5424;
}
aside dl {
	font-size: 0;
	display: table;
	padding: 40px 30px;
}
aside dt,
aside dd {
	vertical-align: middle;
	display: table-cell;
}
aside dt {
	text-align: center;
	width: 195px;
	padding: 20px 0;
	border-top: solid 5px #000;
	border-bottom: solid 5px #000;
}
aside dd p {
	vertical-align: middle;
	display: inline-block;
}
aside dd p.tel {
	width: 265px;
	padding: 0 92px 0 38px;
}
aside dd p.tel a:hover {
	cursor: default;
}
aside dd p.tel a:hover img {
	opacity: 1;
}
aside dd p.form a {
	font-size: 1.8rem;
	font-weight: 600;
	color: #fff;
	background: #000;
	text-align: center;
	width: 310px;
	height: 64px;
	display: block;
	padding: 20px 0;
	border: solid 3px #000;
}
aside dd p.form a.btn::before,
aside dd p.form a.btn::after {
	width: 11px;
	height: 11px;
}
aside dd p.form a.btn::before { right: 23px; }
aside dd p.form a.btn::after { right: 29px; }
aside dd p.form a:hover {
	color: #000;
	background: none;
}
aside dd p.form a:hover.btn::before,
aside dd p.form a:hover.btn::after { border-color: #000; }
#pageTop {
	display: block;
	position: fixed;
	right: 20px;
	bottom: 75px;
	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 2px #fff;
	border-left: solid 2px #fff;
	position: absolute;
	left: 0;
	right: 0;
	top: 24px;
	transition: all 0.3s ease;
	transform: rotate(45deg);
}
#pageTop a:hover::after {
	top: 14px;
}


/* -- Movie
-------------------------------------------------------------------------------- */
#movie {
	padding-bottom: 100px;
	
}
#movie p {
	color: #fff;
	font-size: 1.8rem;
	font-weight: 600;
	margin: 30px 0 40px;
}
#movie iframe {
	display: block;
	width: 830px;
	height: 467px;
	margin: auto;
	border: 0;
}


/* -- Footer
-------------------------------------------------------------------------------- */
footer {
	color: #fff;
	text-align: right;
	height: 55px;
}
footer::before {
	background: #000;
	height: 55px;
}
footer p {
	float: left;
	padding-top: 13px;
}
footer p a {
	display: block;
}
footer small {
	float: right;
	display: block;
	padding-top: 26px;
}