@charset "utf-8";
/*------------------------------------------------------------
	COMMON
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, font, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}
*{
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
/*　IE(edge,11)用*/
.object-fit-img {
	object-fit: cover;
	object-position: center;
	font-family: 'object-fit: cover; object-position: center;'
}
body,
table,
input, textarea, select, option {
	font-family: "游ゴシック","Yu Gothic","游ゴシック体","YuGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Meiryo UI","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary {display: block;}
ol, ul {list-style: none;}
blockquote, q {quotes: none;}
:focus {outline: 0;}
ins {text-decoration: none;}
del {text-decoration: line-through;}
img {vertical-align: top;}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
html {
	font-family: "游ゴシック","Yu Gothic","游ゴシック体","YuGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Meiryo UI","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-size: 62.5%;
	font-weight: 400;
	font-style: normal;
	font-feature-settings: "palt" 1;
	line-height: 1.8;
	color: #222;
	word-break: break-all;
	margin: 0;
	padding: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body {
	color: #222;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.8;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
	letter-spacing: 0.06em;
}
p,ul,li,ol,th,td,dd,dl,dt,figcaption {line-height: 1.8;}
a {text-decoration: none;color: #222;}
a[href^="tel:"] {cursor: default;pointer-events: none;}
input[type="submit"] {
	font-weight: 400;
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	box-sizing: border-box;
	cursor: pointer;
	outline: none;
}
input[type="submit"]::-webkit-search-decoration {display: none;}
input[type="search"] {-webkit-appearance: none;border-radius: 0;}
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	text-indent: .01px;
	text-overflow: '';
}
select::-ms-expand {display: none;}
#container {text-align: left;overflow: hidden;}
#main {margin-bottom: 89px;}
.sp {display: none !important;}
@media all and (min-width: 0) and (max-width: 767px) {
	body {min-width: inherit;}
	a:hover,a:hover img {opacity: 1 !important;}
	.sp {display: block !important;}
	.pc {display: none !important;}
	a[href^="tel:"] {cursor: pointer;pointer-events: auto;}
	#main {margin-bottom: 35px;}
	.comLink {text-align: center;}
	.commingLink {text-align: center;}
}
.inner {max-width: 906px;margin: 0 auto;padding: 0 10px;}
/*------------------------------------------------------------
	書式設定
------------------------------------------------------------*/
/* テキストの位置 */
.taLeft { text-align: left !important; }
.taCenter { text-align: center !important; }
.taRight { text-align: right !important; }
/* フォントの大きさ（プラス） */
.fsP1 { font-size: 1.08em !important; }
.fsP2 { font-size: 1.16em !important; }
.fsP3 { font-size: 1.24em !important; }
.fsP4 { font-size: 1.32em !important; }
.fsP5 { font-size: 1.4em !important; }
/* フォントの大きさ（マイナス） */
.fsM1 { font-size: 0.92em !important; }
.fsM2 { font-size: 0.84em !important; }
.fsM3 { font-size: 0.76em !important; }
.fsM4 { font-size: 0.68em !important; }
.fsM5 { font-size: 0.6em !important; }
/* フォントの太さ */
.fwNormal { font-weight: normal !important; }
.fwBold { font-weight: bold !important; }

/*------------------------------------------------------------
	微調整用クラス（※多用しないこと）
------------------------------------------------------------*/
.mt0 { margin-top: 0 !important; }
.mb0 { margin-bottom: 0 !important; }
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
	* html .clearfix {
		zoom: 1;
	}
	*+html .clearfix {
		zoom: 1;
	}
.clearfix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}
/*------------------------------------------------------------
	css アニメーション
------------------------------------------------------------*/
.animated.fadeIn{animation-duration: 2s;}
.mainVisual .animated.fadeIn{animation-duration: 4s;}
.photoBox .animated.fadeIn{animation-duration: 6s;}
.en.animated.fadeIn{animation-duration: 3s;}
/*------------------------------------------------------------
	parallax
------------------------------------------------------------*/
#main .parallax {position: relative;}
@media all and (min-width: 0) and (max-width: 767px) {
	#main .parallax {transform: none !important;}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
.leadBox {position: relative;}
#gHeader {
    padding: 30px 66px 0;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: #FFF;
	box-sizing: border-box;
	z-index: 100;
	transition: 0.3s;
}
#gHeader .hBox {
	margin: 0 auto;
	padding-left: 1px;
	max-width: 100%;
	box-sizing: border-box;
	z-index: 200;
}
#gHeader.fix {margin: 0;position: fixed;padding: 30px 66px 0;}
#gHeader h1 {float: left;width: 200px;}
#gHeader h1 img{max-width: 200px;}
@media all and (min-width: 768px) {
	.menu {display: none !important;}
}
@media all and (min-width: 0) and (max-width: 767px) {
	.leadBox {padding-top: 50px;}
	#gHeader {padding: 0;}
	#gHeader .hBox {padding: 15px 10px !important;max-width: inherit;position: relative;}
	#gHeader.fix{padding: 0;}
	#gHeader h1 img{max-width: 150px;}
	/*------------------------------------------------------------
		menu
	------------------------------------------------------------*/
	.menu {
		margin-top: 0px;
		display: block;
		position: relative;
	    float: right;
		height: 20px;
		width: 25px;
		cursor: pointer;
		z-index: 100;
		-webkit-transition: all .3s ease;
		transition: opacity .25s ease;
		transition: all .3s ease;
	}
	.menu.active .top {
		-webkit-transform: translateY(7px) translateX(0) rotate(45deg);
		-ms-transform: translateY(7px) translateX(0) rotate(45deg);
		transform: translateY(7px) translateX(0) rotate(45deg);
		background: #231f20;
	}
	.menu.active .middle {opacity: 0;background: #231F20;}
	.menu.active .bottom {
		-webkit-transform: translateY(-7px) translateX(0) rotate(-45deg);
		-ms-transform: translateY(-7px) translateX(0) rotate(-45deg);
		transform: translateY(-7px) translateX(0) rotate(-45deg);
		background: #231F20;
	}
	.menu span {
		background: #231f20;
		border: none;
		height: 3px;
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		-webkit-transition: all .35s ease;
		transition: all .35s ease;
		cursor: pointer;
	}
	.menu span:nth-of-type(2) {top: 7px;}
	.menu span:nth-of-type(3) {top: 14px;}
}
/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
#gNavi {
	margin-top: -1px;
	width: 70%;
	float: right;
	text-align: right;
}
#gNavi ul {position: relative;}
#gNavi li {margin: 0 20px;display: inline-block;text-align: center;}
#gNavi .subNavi > li {margin: 0 12px;display: inline-block;text-align: center;}
#gNavi li:last-child {margin-right: 0;}
#gNavi li a {
	padding-bottom: 35px;
	position: relative;
	display: block;
	font-size: 14px;
	text-decoration: none;
	font-family: 'urw-din', sans-serif;
}
#gNavi li a::before {
	position: absolute;
	top: -4px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #707070;
	transform: scale(0, 1);
	transform-origin: center top;
	transition: transform .3s;
}
#gNavi li a:hover::before {transform: scale(1, 1);}
#gNavi li a .small {display: block;font-size: 10px;}
#gNavi .link01,#gNavi .link02,#gNavi .link03 {position: relative;}
#gNavi .link01 .subNavi,
#gNavi .link02 .subNavi,
#gNavi .link03 .subNavi {
	display: none;
	position: absolute;
	top: 100%;
	padding: 14px 36px 13px;
	background-color: #F0F0F0;
	text-align: center;
	z-index: 10;
}
#gNavi .link01 .subNavi {left: -20rem;width: 49rem;}
#gNavi .link02 .subNavi {left: -46rem;width: 86rem;}
#gNavi .link03 .subNavi {left: -8rem;width: 28rem;}
#gNavi .subNavi a {padding: 20px 0;transition: .5s;}
#gNavi .subNavi a::before {display: none;}
#gNavi .subNavi a:hover {color: #A8A8A8;}
@media all and (min-width: 0) and (max-width: 767px) {
	#gNavi {
		margin-top: 0;
		width: 100%;
		float: none;
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		text-align: center;
		border-top: 1px solid #222;
		background-color: #FFF;
		z-index: 100;
	}
	#gNavi li {margin: 0;display: block;border-bottom: 1px solid #222;}
	#gNavi .subNavi > li {margin: 0;display: block;border-bottom: 1px solid #222}
	#gNavi li a {
		padding: 8px 5px !important;
		display: block;
		font-size: 14px;
		text-decoration: none;
		text-align: center;
	}
	#gNavi li a:after {display: none;}
	#gNavi .subNavi {
		padding: 0;
		display: none;
		position: inherit;
		right: inherit;
		top: inherit;
	}
	#gNavi .subNavi li {
		border-top: 1px solid #222;
		border-bottom: none;
	}
	#gNavi .subNavi li a:after {display: none;}
	#gNavi .subNavi li a:hover {color: #222;}
	#gNavi .link01 .subNavi,
	#gNavi .link02 .subNavi,
	#gNavi .link03 .subNavi  {
		position: inherit;
		left: inherit;
		width: 100%;
	}
	#gNavi li.link03  a:hover {color: #222;}
	#gNavi li .ttl {
		position: relative;
		overflow: hidden;
		zoom: 1;
	}
	#gNavi li .ttl:before {
		margin-top: -8px;
		width: 16px;
		height: 16px;
		position: absolute;
		right: 15px;
		top: 50%;
		background: url(../../img/common/icon01.png) no-repeat;
		background-size: 16px auto;
		content: "";
	}
	#gNavi li .ttl.on:before {
		margin-top: -8px;
		width: 16px;
		height: 16px;
		position: absolute;
		right: 15px;
		top: 50%;
		background: url(../../img/common/icon02.png) no-repeat;
		background-size: 16px auto;
		content: "";
	}
	#gNavi li .ttl .ico {
		width: 35px;
		height: 35px;
		display: block;
		position: absolute;
		right: 7px;
		top: 3px;
		cursor: pointer;
	}
}
/*------------------------------------------------------------
	パンクズリスト
------------------------------------------------------------*/
#pagePath {max-width: 1168px;margin: 0 auto 73px;}
#pagePath li {
	margin-right: 9px;
	display: inline-flex;
	align-items: center;
	color: #A8A8A8;
	font-size: 14px;
	font-family: 'urw-din', sans-serif;
}
#pagePath li:last-child {margin-right: 0;}
#pagePath li .ico {
	width: 4px;
	height: 4px;
	display: inline-block;
	margin-left: 8px;
	border-right: 2px solid #A8A8A8;
	border-bottom: 2px solid #A8A8A8; 
	-webkit-transform: rotate(-45deg); 
	transform: rotate(-45deg); 
}
@media all and (min-width: 0) and (max-width: 767px) {
	#pagePath {margin: 0 auto 30px;padding: 0 10px;width: auto;}
	#pagePath li a {text-decoration: none;}
}
/*------------------------------------------------------------------

    footer

-------------------------------------------------------------------*/
footer {background: #0D0D0D;margin-top: 100px;padding:40px 0;}
footer .logo img {width: 200px;margin-bottom: 40px;}
footer ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	max-width: 600px;
	margin: 0 auto 40px;
}
footer p,footer li,footer h4 {
	color: #fff;
	font-size: 1.3rem;
	line-height: 1.5;
	letter-spacing: .1em;
}
footer a {
	font-size: 1.2rem;
	color: #fff;
	line-height: 1.5;
	letter-spacing: .1em;
	transition: .5s;
}
footer a:hover {color: #ccc;}
footer li,footer li a {line-height: 3;}
footer .iconbox {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}
footer ul:nth-child(2) .iconbox a::before {content: '';padding-right: 0;}
footer .iconbox a {margin-right: 25px;}
footer .iconbox svg {
	fill: #fff;
	width: 20px;
	height: 20px;
	transition: .5s;
}
footer .iconbox a:nth-of-type(1) svg:hover {fill: #b7398b;}
footer .iconbox a:nth-of-type(2) svg:hover {fill: #1c9deb;}
footer .iconbox a:nth-of-type(3) svg:hover {fill: #4064ad;}
footer .iconbox a:nth-of-type(4) svg:hover {fill: #F80000;}
footer .iconbox a:last-child {margin-right: 0;}
footer p {text-align: center;}
@media all and (min-width: 0) and (max-width: 767px) {
	footer {margin-top: 6rem;}
	footer ul {justify-content: space-between;}
	footer li {width: 50%;}
}
/*------------------------------------------------------------
	改行
------------------------------------------------------------*/
br.pc_br {display:inline-block;}
br.pctab_br {display:inline-block;}
br.tab_br {display:none;}
br.tabsp_br {display:none;}
br.sp_br {display:none;}
@media screen and (max-width: 981px) {
	br.pc_br {display:none;}
	br.pctab_br {display:inline-block;}
	br.sp_br {display:none;}
	br.tabsp_br {display:inline-block;}
	br.tab_br {display:inline-block;}
}
@media screen and (max-width: 641px) {
	br.pc_br {display:none;}
	br.pctab_br {display:none;}
	br.tab_br {display:none;}
	br.sp_br {display:inline-block;}
}
/*------------------------------------------------------------
	行揃え
------------------------------------------------------------*/
@media all and (min-width: 0) and (max-width: 767px) {
	.tx-l{text-align: left !important;}
}
/*-------------------------------------------------

	404 Not Found

--------------------------------------------------*/
#notfound {padding-top: 166px;}
#notfound h2 {text-align: center;margin-bottom: 4rem;}
#notfound h2 span {
	display: block;
	font-family: urw-din, sans-serif;
	font-size: 4rem;
	font-weight: 900;
	text-align: center;
}
#notfound p {text-align: center;margin-bottom: 3rem;}
@media only screen and (max-width: 896px) {
	#notfound {padding-top: 65px;}
	#notfound h2 span {font-size: 3rem;}
}