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

	--style.css--

	1. Style setting
		1-1. FontColor styles
		1-2. Headline styles

	2. Layout setting
		2-1. Base styles
		2-2. Header styles
		2-3. Navi styles
		2-4. Main styles
		2-5. Side styles
		2-6. Footer styles

****************************************************************** */

/*==================================================================
	1. Style setting
===================================================================*/

/* ------------------------------------------------------------------
	1-1. FontColor styles
-------------------------------------------------------------------*/
html { color:#FFF; }
a:link, a:visited { color:#06C; }
body {
	background:#000;
	line-height:1.8em;
	min-width:320px;
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	letter-spacing:0.2em;
}
.pcStyle a:hover {
	color:#06C;
	text-decoration:none;
}
.touchHover,
.noTapColor,
button { -webkit-tap-highlight-color:rgba(0,0,0,0); }

.pcDisplay {
	display:block;
}
.spDisplay {
	display:none;
}
.tbDisplay {
	display:none;
}
@media screen and (max-width:768px) {
.pcDisplay {
	display:none;
}
.spDisplay {
	display:block;
}
}
@media screen and (max-width:1480px) {
	.tbDisplay {
		display:block;
	}
	.tbpcDisplay {
		display:none;
	}
}


/* ------------------------------------------------------------------
	1-2. Headline styles
-------------------------------------------------------------------*/
.headline1 {
	position:relative;
	padding:20px 0;
	padding:69px 20px 20px;
	margin-bottom:63px;
	font-size:30px;
	text-align:center;
	line-height:1.1;
}
.headline1:before {
	content:'';
	width:40px;
	height:1px;
	background:#b9002f;
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
}
.headline2 {
	display:inline-block;
	margin-bottom:20px;
	padding-bottom:12px;
	border-bottom:1px solid #B9002F;
	font-size:20px;
}
@media screen and (max-width:768px) {
	.headline1 {
		margin-bottom:30px;
		padding:45px 0 15px;
		font-size:24px;
	}
	.headline1:before {
		width:26px;
	}
	.headline2 {
		margin-bottom:20px;
		font-size:15px;
	}
}
/*==================================================================
	2. Layout setting
===================================================================*/

/* ------------------------------------------------------------------
	2-1. Base styles
-------------------------------------------------------------------*/
#contents {
	clear:both;
	margin:0 auto;
}
.container {
	clear:both;
	max-width:1020px;
	margin:0 auto;
	padding:0 20px;
}

/* ------------------------------------------------------------------
	2-2. Header styles
-------------------------------------------------------------------*/
.headerInner {
	margin:0 auto;
	position:relative;
	padding:0 100px;
	left:0;
	top:0;
	z-index:9999;
	background:transparent;
}
header#header {
	position:fixed;
	z-index:999;
	top:0;
	width:100%;
	transition:0.3s all;
	left:0;
}
#logo img {
	float:left;
	max-width:187px;
	transition:0.3s all;
}
.bgHeader {
	background:#000;
}
.bgHeader #logo img {
	max-width:150px;
	image-rendering: optimizeSpeed;
	image-rendering: -moz-crisp-edges;
	image-rendering: -o-crisp-edges;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: optimize-contrast;
	-ms-interpolation-mode: nearest-neighbor;
}
@media screen and (max-width:768px) {
	.headerInner {
		padding:0;
	}
	#logo img {
		float:left;
		width:94px;
	}
}

/* ------------------------------------------------------------------
	2-3. Navi styles
-------------------------------------------------------------------*/
.hNav {
	float:right;
}
.navi li {
	float:left;
	position:relative;
	margin-left:0px;
	list-style:none outside none;
}
.navi li a {
	position:relative;
	display:block;
	margin:2px 18px 0;
	padding:37px 0 10px;
	color:#FFF;
	font-size:13px;
	font-weight:bold;
	text-decoration:none;
	letter-spacing:2.9px;
	-webkit-transition:all 0.2s linear;
	-moz-transition:all 0.2s linear;
	transition:all 0.2s linear;
}
.navi li a:hover {
	background:transparent;
	color:#FFF;
}
.navi li a:after {
	position:absolute;
	bottom:0;
	left:50%;
	content:"";
	width:0;
	height:2px;
	background:#FFF;
	transition:all 0.3s linear 0s;
	-webkit-transform:translateX(-50%);
	-moz-transform:translateX(-50%);
	transform:translateX(-50%);
}
.navi li a:hover:after {
	width:100%;
}
.boxTel,
.openNav {
	display:none;
}
@media screen and (min-width:1481px) {
	#navi {
		display:block !important;
	}
}
@media screen and (max-width:1480px) {
	.hNav {
		overflow:hidden;
		display:none;
	}
	.openNav {
		display:block;
	}
	#navi {
		display:none;
		float:none;
		position:absolute;
		left:0;
		top:100%;
		width:100%;
		margin:0;
		letter-spacing:1px;
		text-align:center;
		overflow:auto;
		padding-bottom:30px;
		-webkit-overflow-scrolling:touch;
	}
	#navi li {
		float:none;
		padding-bottom:45px;
	}
	#navi li a {
		margin:2px 0 0;
		padding:0;
		font-size:14px;
	}
	#navi li a:after {
		display:none;
	}
	#navi .boxTel {
		display:block;
		padding:20px 0 0;
	}
	#navi .boxTel .title {
		padding-bottom:18px;
	}
	#navi .boxTel .phone {
		margin:0 auto;
		max-width:240px;
	}
	#navi .boxTel .phone a {
		padding:16px 15px;
		display:block;
		background:#B9002F;
		color:#FFF;
		text-decoration:none;
		font-size:15px;
		letter-spacing:4px;
	}
/*---------------------------------------
	openNav
---------------------------------------*/
	.openNav {
		position:absolute;
		top:50%;
		right:100px;
		margin-top:-10px;
	}
	.menu-trigger {
		height:18px;
		position:relative;
		width:23px;
	}
	.menu-trigger span {
		overflow:hidden;
		text-indent:50px;
	}
	.menu-trigger:before,
	.menu-trigger:after {
		content:"";
	}
	.menu-trigger,
	.menu-trigger:before,
	.menu-trigger:after,
	.menu-trigger span {
		box-sizing:border-box;
		display:inline-block;
		transition:all 0.4s ease 0s;
	}
	.menu-trigger span,
	.menu-trigger:before,
	.menu-trigger:after {
		background-color:#FFF;
		height:2px;
		left:0;
		position:absolute;
		width:100%;
	}
	.menu-trigger:before {
		top:0;
	}
	.menu-trigger span {
		top:8px;
	}
	.menu-trigger:after {
		bottom:0;
	}
	.menu-trigger.active:before {
		-webkit-transform:translateY(8px) rotate(45deg);
		-moz-transform:translateY(8px) rotate(45deg);
		transform:translateY(8px) rotate(45deg);
	}
	.menu-trigger.active span {
		opacity:0;
	}
	.menu-trigger.active:after {
		-webkit-transform:translateY(-8px) rotate(-45deg);
		-moz-transform:translateY(-8px) rotate(-45deg);
		transform:translateY(-8px) rotate(-45deg);
	}
	#overlay {
		z-index:90;
		position:fixed;
		top:0;
		right:0;
		bottom:0;
		left:0;
		display:none;
		background:rgba(0, 0, 0, 0.9);
	}
}
@media screen and (max-width:768px) {
	.openNav {
		right:20px;
	}
}
@media screen and (max-width:414px) {
	#navi {
		padding:12.5% 0 13%;
	}
	#navi li {
		padding-bottom:10.8%;
	}
	#navi .boxTel {
		padding-top:4.8%;
	}
}
/* ------------------------------------------------------------------
	2-4. Main styles
-------------------------------------------------------------------*/
#keyv {
	position:relative;
}
#keyv .keyvImage {
	display:block;
	margin:0 auto;
}
#keyv .keyvImage img {
	position:absolute;
	top:-100%;
	right:-100%;
	bottom:-100%;
	left:-100%;
	margin:auto;
	z-index:9;
}
ul.owlKeyv li {
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	display:-webkit-flex;
	-webkit-justify-content:center;
	-webkit-align-items:center;
	-webkit-flex-direction:column;
	/*width:100%;*/
	opacity: 0;
	transition: 1s all;
	overflow:hidden;
	height:720px;
}
ul.owlKeyv .active li {
	opacity:1;
}
ul.owlKeyv .owl-item img {
	max-width:none;
	width:auto;
	height:auto;
	min-width:100%;
}
.groupNotice {
	padding-top:60px;
}
.groupNotice .title {
	font-size:13px;
}
.noticeImage {
	background:url(/common/img/bg_notice.jpg) no-repeat 50% 0;
	width:100%;
}
.noticeImage .image {
	position:relative;
	overflow:hidden;
	margin:0 auto;
	min-height:720px;
}
.noticeImage .image img {
	position:absolute;
	top:-100%;
	right:-100%;
	bottom:-100%;
	left:-100%;
	margin:auto;
}
.noticeList {
	margin-bottom:70px;
}
.noticeList dt {
	float:left;
	letter-spacing:3px;
	margin-bottom:5px;
	font-size:12px;
}
.noticeList dd {
	padding:0 0 0 95px;
	margin-bottom:5px;
	font-size:12px;
}
.noticeList dd a {
  color: #fff;
}
.noticeList dd a:link, .noticeList dd a:visited, .noticeList dd a:hover {
  color: #fff;
}
.noticeList dd a:hover {
  text-decoration: none;
}
.loadingShow #keyv {
	opacity:0;
}
.loadingShow #header {
	position:relative;
}
.loadingShow {
	overflow-y:scroll;
	height:100%;
	position:fixed;
	top:0;
	left:0;
	width:100%;
}
#loading {
	z-index:99999;
	position:fixed;
	top:0;
	left:0;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-align-items:center;
	-moz-align-items:center;
	align-items:center;
	-webkit-justify-content:center;
	-moz-justify-content:center;
	justify-content:center;
	width:100%;
	height:100%;
	background:#FFF;
}
@media screen and (max-width:1480px) {
	.noticeImage .image.tbDisplay img {
		height:650px;
	}
	.noticeImage {
		background:url(/common/img/bg_notice.jpg) no-repeat 43% 0;
		width:100%;
	}
	.noticeImage .image {
		padding:40px 35px 70px 35px;
		position:inherit;
		min-height:auto;
	}
	.noticeImage .image img {
		position:inherit;
		max-width:243px;
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		display:-webkit-flex;
		-webkit-flex-direction:column;
		-webkit-align-items:center;
		-webkit-justify-content:center;
		text-align:center;
	}
}
@media screen and (max-width:768px) {
	.groupNotice {
		border-bottom:1px solid #383838;
	}
	.groupNotice .title {
		font-size:11px;
		margin-bottom:0;
	}
	.noticeList {
		margin-bottom:60px;
	}
	.noticeList dt {
		float:none;
		margin-bottom:0;
	}
	.noticeList dd {
		padding:0;
		margin-bottom:20px;
	}
	
	#loading img {
		max-width:75px;
	}
	ul.owlKeyv .owl-item li {
		height:auto;
	}
	ul.owlKeyv .owl-item img {
		height:360px;
	}
	#keyv .keyvImage img {
		width:166px;
	}
	.noticeImage {
		background:url(/common/img/bg_notice02.jpg) no-repeat 43% 0;
		width:100%;
		background-size:cover;
	}
}
/* ------------------------------------------------------------------
	2-5. Side styles
-------------------------------------------------------------------*/

/* ------------------------------------------------------------------
	2-6. Footer styles
-------------------------------------------------------------------*/
#footer .boxContact {
	width:100%;
	max-width:730px;
	margin:0 auto;
}
.fBlock {
	border-bottom:1px solid #383838;
	border-top:1px solid #383838;
	padding:53px 0 66px 0;
	letter-spacing:4px;
}
.fBlock .title {
	text-align:center;
	font-size:18px;
	margin-bottom:20px;
}
.fBlock li {
	float:left;
	width:49%;
	margin-right:10%;
}
.fBlock li:last-child {
	width:41%;
	margin-right:0;
}
.fBlock li .bl-hover {
	text-decoration:underline;
	color:#FFF;
}
.fBlock .facebook,
.fBlock .instagram,
.fBlock .phone {
	min-height:70px;
	line-height:70px;
}
.fBlock .facebook a,
.fBlock .instagram a,
.fBlock .phone a {
	border:1px solid #FFF;
}
.fBlock .facebook span,
.fBlock .instagram span,
.fBlock .phone span {
	display:inline-block;
	vertical-align:middle;
	line-height:22px;
}
.fBlock .facebook a,
.fBlock .instagram a {
	position:relative;
	padding-left:96px;
}
.fBlock .facebook .image,
.fBlock .instagram .image {
	position:absolute;
	top:0;
	left:0;
	width:67px;
	height:100%;
	border-right:1px solid #FFF;
}
.fBlock .facebook img,
.fBlock .instagram img {
	width: 23px;
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform:translate(-50%, -50%);
	-moz-transform:translate(-50%, -50%);
	transform:translate(-50%, -50%);
	text-align:center;
}
.fBlock .facebook span em,
.fBlock .instagram span em {
	font-size:18px;
}
.fBlock .phone a {
	font-size:18px;
	text-align:center;
	pointer-events:none;
}
.fBlock .facebook a,
.fBlock .instagram a,
.fBlock .phone a {
	letter-spacing:3px;
	display:block;
	text-decoration:none;
	color:#FFF;
}
.copyright {
	text-align:center;
	padding:15px 0;
	font-size:14px;
}
@media screen and (max-width:768px) {
	.fBlock {
		padding:50px 10px 25px;
	}
	.fBlock li {
		float:none;
		width:100%;
		margin-bottom:35px;
	}
	.fBlock li:last-child {
		width:100%;
	}
	.fBlock .title {
		margin-bottom:15px;
		font-size:16px;
	}
	.fBlock .facebook a,
	.fBlock .instagram a,
	.fBlock .phone a {
		min-height:55px;
		line-height:50px;
	}
	.fBlock .facebook .image,
	.fBlock .instagram .image {
		width:55px;
	}
	.fBlock .facebook img {
		width:9px;
		left:40%;
	}
	.fBlock .facebook a,
	.fBlock .instagram a {
		padding-left:75px;
		font-size:10px;
	}
	.fBlock .facebook span em,
	.fBlock .instagram span em,
	.fBlock .phone a {
		font-size:15px;
	}
	.fBlock .facebook span,
	.fBlock .instagram span,
	.fBlock .phone span {
		line-height:14px;
	}
	.copyright {
		font-size:11px;
	}
}
@media screen and (max-width:736px) {
	.fBlock .phone a {
		pointer-events:inherit;
	}
}