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, ins, kbd,
q, s, samp, small, strike, strong, sub, sup,
tt, var, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
h1, h2, h3, h4, h5, h6 {
	position: relative;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
	display: block;
}
a { outline:none !important; color:#231815; text-decoration: none; }
a:focus { outline:none !important; color:#231815; text-decoration:none; }
a:active { outline:none !important; color:#231815; text-decoration:none; }
a:hover { color:#231815; text-decoration:none; opacity:0.60; }
a:visit { color:#231815; text-decoration:none; }
a {
	-webkit-transition:0.20s;
	        transition:0.20s;
}
address {margin:0;}
b,strong {font-weight: 700;}
em,i,b {font-weight:700;}
p {	margin-bottom: 20px;}
ul,ol {	list-style: none;}
img {
	-ms-interpolation-mode: bicubic;
	border: 0;
	vertical-align: middle;
	-webkit-backface-visibility: hidden;
			backface-visibility: hidden;
}
table {
	border-collapse: separate;
	border-spacing: 0;
	border-width: 0;
	width: 100%;
}
input[type="text"], 
input[type="button"], 
input[type="submit"], 
textarea {
	border-radius:0;
	-webkit-appearance: none;
}

/*-----------------------------------------------------------------------------------------
	body
-----------------------------------------------------------------------------------------*/
body {
	font-family:'Lucida Grande',
				'メイリオ',
				Meiryo,
				'Hiragino Kaku Gothic ProN',
				'ヒラギノ角ゴ ProN W3',
				sans-serif;
	font-size:16px;
	line-height:180%;
	color:#231815;
	background:#fff;
}
html, body {
	height: 100%;
	width:100%;
	min-width:1200px;
	margin: 0;
	padding: 0;
}
main {
	position: relative;
}

/*-----------------------------------------------------------------------------------------
	header
-----------------------------------------------------------------------------------------*/
header {
	position: relative;
	min-width:1200px;
	margin:0 auto;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
header #logo {
	position: relative;
	text-align: center;
	margin:54px auto 40px auto;
}

/*------------------------------ Grobal Nav ----------*/
nav#gnav {
	position: relative;
	border-top:1px solid #231815;
	border-bottom:1px solid #231815;
	margin-bottom:18px;
	z-index:1;
}
nav#gnav ul.gn {
	display: -webkit-flex;
    display: flex;
	-webkit-align-items: center;
			align-items: center;
	width:1200px;
	margin:0 auto;
}
nav#gnav ul.gn li {
	position:relative;
	font-size: 15px;
	font-weight:700;
	line-height:130%;
	width:20%;
	text-align: center;
}
nav#gnav ul.gn li.home {
	display: none;
}
nav#gnav ul.gn li a,
nav#gnav ul.gn li span {
	position: relative;
	display: block;
	padding:20px 0 13px 0;
	opacity:1 !important;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
nav#gnav ul.gn li a:before,
nav#gnav ul.gn li span:before {
	position: absolute;
	content:'';
	top:0;
	left:50%;
	width:20px;
	height:20px;
	background:#5976ba;
	border-radius:50%;
	margin:-20px 0 0 -10px;
}
nav#gnav ul.gn li:last-child a:before {
	margin:-10px 0 0 -10px;
}
nav#gnav ul.gn li:hover a:before {
	background:#002f7b;
}
/*-- サブメニュー ------------------------------*/
nav#gnav ul.gn li ul {
	position:absolute;
	top:47px;
	left:0;
	width:100%;
	display:block;
	z-index:10;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
nav#gnav ul.gn li ul li {
	position: relative;
	overflow: hidden;
	text-align:left !important;
	font-size:14px;
	font-weight:normal;
	height:0;
	margin:0;
	padding:0;
	width:100%;
	background:#fff;
	-webkit-transition: 0.3s;
			transition: 0.3s;
}
nav#gnav ul.gn li ul li a {
	line-height:60px !important;
	padding:0 15px;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
nav#gnav ul.gn li ul li a:before {
	display: none;
}
nav#gnav ul.gn li ul li a:after {
	position: absolute;
	content:'';
	top:27px;
	right:13px;
	height:7px;
	width:7px;
	border-top:1px solid #333;
	border-right:1px solid #333;
	background:none;
	-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
}
nav#gnav ul.gn li:hover > ul > li {
	overflow: visible;
	height: 60px;
	border-bottom:1px solid rgba(0,0,0,0.05);
}
nav#gnav ul.gn li:hover > ul > li:hover {
	background:#f9f9f9;
}
nav#gnav ul.gn li:hover > ul > li:hover a {
	color:#002f7b;
}

/*------------------------------ SNS Nav ----------*/
nav#gnav ul.sns {
	position: absolute;
	top:-70px;
	right:65px;
	display: -webkit-flex;
    display: flex;
}
nav#gnav ul.sns li a {
	display: block;
	background:#231815;
	border-radius:50%;
	margin-right:10px;
}

/*-----------------------------------------------------------------------------------------
	footer
-----------------------------------------------------------------------------------------*/
footer {
	position: relative;
	background:#5976ba;
	color:#fff;
}
#footer {
	position:relative;
	width: 1200px;
	padding:60px 10px;
	margin:0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
			align-items: center;
	-webkit-justify-content: space-between;
			justify-content: space-between;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
#footer p {
	margin-bottom:5px;
	line-height:150%;
}
#footer p.logo-f {
	margin-bottom:15px !important;
}
#footer small {
	position: absolute;
	bottom:40px;
	right:10px;
	display: block;
	padding:0;
	font-size:12px;
}
#footer small br {
	display: none;
}

/*------------------------------ Grobal Nav ----------*/
nav#fnav {}
nav#fnav ul {
	display: -webkit-flex;
    display: flex;
	-webkit-justify-content: space-between;
			justify-content: space-between;
}
nav#fnav ul li {
	position:relative;
	font-size: 14px;
	line-height:100%;
	text-align: center;
	margin-right:30px;
}
nav#fnav ul li:last-child {
	margin-right:0;
}
nav#fnav ul li a,
nav#fnav ul li span {
	position: relative;
	color:#fff;
	padding-left:25px;
}
nav#fnav ul li a:before,
nav#fnav ul li span:before {
	position: absolute;
	content:'';
	top:2px;
	left:0;
	width:13px;
	height:13px;
	border:1px solid #fff;
}

/*-- サブメニュー ------------------------------*/
nav#fnav ul li ul {
	position:absolute;
	top:17px;
	left:0;
	width:150%;
	display:block;
	z-index:10;
	padding-top:10px;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
nav#fnav ul li ul li {
	position: relative;
	overflow: hidden;
	text-align:left !important;
	font-size:14px;
	font-weight:normal;
	height:0;
	margin:0;
	padding:0;
	width:100%;
	-webkit-transition: 0.3s;
			transition: 0.3s;
}
nav#fnav ul li ul li a {
	line-height:30px !important;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
nav#fnav ul li ul li a:before {
	position: absolute;
	content:'';
	top:6px;
	right:13px;
	height:7px;
	width:7px;
	border:none;
	border-top:1px solid #fff !important;
	border-right:1px solid #fff !important;
	background:none;
	-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
}
nav#fnav ul li:hover > ul > li {
	overflow: visible;
	height: 30px;
}


/*-----------------------------------------------------------------------------------------
	toppage
-----------------------------------------------------------------------------------------*/
#main {
	position: relative;
	overflow: hidden;
	min-width:1200px;
	height:425px;
	padding:145px 0 0 0;
	background:url("../img/bg-main.jpg") 50% 0 no-repeat;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
#main:after {
	position: absolute;
	content:'';
	top:0;
	left:50%;
	margin:-130px 0 0 -343px;
	width:685px;
	height:685px;
	background:rgba(255,255,255,0.50);
	border-radius:50%;
}
#main p {
	position: relative;
	overflow: hidden;
	text-indent:-9999px;
	width:534px;
	height:66px;
	margin:0 auto 70px auto;
	background:url("../img/catchcopy.png") 0 0 no-repeat;
}
#main h1 {
	position: relative;
	overflow: hidden;
	text-indent:-9999px;
	width:312px;
	height:56px;
	margin:0 auto;
	background:url("../img/logomark.png") 0 0 no-repeat;
}
#main p,
#main h1 {
	z-index:1;
}

section {
	padding:50px 0 0 0;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
section h2 {
	position: relative;
	overflow: hidden;
	text-indent:-9999px;
	/*
	font-size:40px;
	font-weight:bold;
	text-align: center;
	color:#5976ba;
	*/
	margin:0 auto 26px auto;
}
section h2:before {
	position: absolute;
	content:'';
	top:10px;
	left:0;
	width:100%;
	border-top:1px solid #898989;
}
section h2 span {
	position: relative;
	background:#fff;
	display: block;
	height: 52px;
	width:510px;
	margin:0 auto;
	z-index:10;
}

/*-- concept --*/
#concept h2 span {
	background:url("../img/ttl-concept.png") 50% 0 no-repeat #fff;
}
#concept h3 {
	overflow: hidden;
	text-indent:-9999px;
	background:url("../img/txt-concept.png") 0 0 no-repeat;
	width:476px;
	height:116px;
	margin:0 auto 35px auto;
}
#concept p {
	text-align: center;
	line-height: 200%;
	font-size:16px;
	font-weight:bold;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
	#concept p br.blk {
		display:none;
	}

/*-- company --*/
#company h2 span {
	background:url("../img/ttl-company.png") 50% 0 no-repeat #fff;
}

/*-- SHOP INFORMATION --*/
.bx-company {
	width:1200px;
	margin:50px auto 70px auto;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
			align-items: center;
	-webkit-justify-content: space-between;
			justify-content: space-between;
}

.bx-company dl.info {
	width:840px;
	border-left:8px double #5976ba;
	padding-left:35px;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
.bx-company dl.info div {
	font-size:18px;
	padding:5px 0;
	display: -webkit-flex;
	display: flex;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
.bx-company dl.info div dt {
	position: relative;
	width:180px;
	text-align: justify !important;
	word-break: break-all;
	padding-left:23px;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
.bx-company dl.info div dt:before {
	position: absolute;
	content:'';
	top:5px;
	left:0;
	width:14px;
	height:14px;
	background:#231815;
}
.bx-company dl.info div dd {}

/*-----------------------------------------------------------------------------------------
	contact page
-----------------------------------------------------------------------------------------*/

#ttl {
	position: relative;
	font-size:40px;
	font-weight:bold;
	text-align: center;
	margin:105px 0 70px 0;
	line-height:100%;
}
#ttl br {
	display: none;
}

/*-- mailform --*/
#mailForm {
	position: relative;
	margin:0 auto;
	padding:20px 0;
	width:1100px;
}
#mailForm-confirm,
#mailForm-complete{
	position: relative;
	margin:0 auto;
	padding:0 10px 50px 10px !important;
	background:#fff;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}

.bx-form dl div {
	display: -webkit-flex;
	display: flex;
	padding:15px 10px;
	-webkit-justify-content:space-between;
			justify-content:space-between;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.bx-form dl div dt {
	position: relative;
	font-weight:700;
	font-size:20px;
	padding-top:10px;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
.bx-form dl div dt.h:after {
	position: absolute;
	content:"\5FC5\a0\9808";
	top:8px;
	right:-60px;
	background:#e60012;
	color:#fff;
	padding:5px 10px;
	font-size: 12px;
	line-height:20px;
	font-weight: normal;
	display: inline-block;
}
.bx-form dl div dd {
	width:75%;
}

/*-- input error  --*/
.bx-form dl div dd div {
	position: absolute;
	top:75%;
	left:10px;
	visibility: hidden;
	line-height:25px;
	font-size:12px;
	font-weight:normal;
	padding:0 10px;
	display: inline-block;
	background:#ff0000;
	color:#fff;
}

/*-- input  --*/
.bx-form dl div dd input[type="text"],
.bx-form dl div dd input[type="email"],
.bx-form dl div dd input[type="tel"] {
	width:100%;
	height: 50px;
	line-height: 50px;
	padding:0 10px;
	display: inline-block;
	background:#e6e6e6;
	border:1px solid #9fa0a0;
	font-size: 16px;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.bx-form dl div dd textarea {
	display: block;
	width:100%;
	height: 200px;
	padding:10px;
	margin-bottom:15px;
	background:#e6e6e6;
	border:1px solid #9fa0a0;
	font-size: 16px;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}

/*-- confirm  --*/
dl.confirm {
	margin-bottom:50px;
}
dl.confirm div {
	font-size:20px;
	line-height:150%;
	padding:15px 10px;
	border-bottom:1px solid #ccc;
}
dl.confirm div dd {
	padding-top:10px;
}
/*-- 送信ボタン --*/
.send-box {
	position: relative;
	clear:both;
	overflow: hidden;
	margin:40px 0;
	width:100%;
	display: inline-block;
	text-align:center;
}
.send-box input[type="submit"],
.send-box button {
	position: relative;
	border:0;
	background:#5976ba;
	color:#fff;
	height: 122px;
	line-height: 122px;
	font-size: 26px;
	width:757px;
	margin-bottom:45px;
	-webkit-transition:0.3s;
			transition:0.3s;
}
.send-box input[type="submit"]:hover,
.send-box button:hover {
	opacity: 1;
	cursor: pointer;
	color:#fff;
	background:#002f7b;
	-webkit-transition:0.3s;
			transition:0.3s;
}

/*-- 送信完了 --*/
#complete {
	width:620px;
	margin:0 auto 80px auto;
	padding:50px 30px 40px 30px;
	background:#fff;
	border-radius:10px;
	-webkit-box-shadow:0 0 10px rgba(35,24,21,0.03);
			box-shadow:0 0 10px rgba(35,24,21,0.03);
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
#complete h2 {
	text-indent:inherit !important;
	font-size:20px;
	color:#002f7b;
	text-align: center;
	font-weight:700;
	margin-bottom:30px;
}
#complete h2:before {
	display: none;
}
#complete p {}
#complete p a {
	display: block;
	text-align: center;
	color:#231815;
}
.err {
	color:#e60012 !important;
}
.ttl-err {
	color:#e60012;
	text-align: center;
	font-weight:700;
}
.ttl-form {
	color:#002f7b;
	text-align: center;
	font-weight:700;
}

/*-----------------------------------------------------------------------------------------
	recruit page
-----------------------------------------------------------------------------------------*/

#ttl-recruit {
	color:#fff;
	font-size:60px;
	font-weight:bold;
	background:#5976ba;
	text-align: center;
	line-height:120px;
	margin:0 auto 30px auto;
}
.logomark {
	text-align: center;
	margin:0 auto 30px auto;
}

.table {
	margin:0 auto 90px auto;
	width:992px;
	border-top:1px solid #5976ba;
	border-left:1px solid #5976ba;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
.table:nth-child(2) {
	margin-bottom:30px;
}
.table caption {
	position: relative;
	font-size:61px;
	margin-bottom:20px;
	line-height: 100%;
}
.table caption:before,
.table caption:after {
	position: absolute;
	content:'';
	top:0;
	width:28px;
	height:61px;
	background:url("../img/border.png") 0 0 no-repeat;
}
.table caption:before {
	left:0;
}
.table caption:after {
	right:0;
}
.table th,
.table td {
	text-align: left;
	line-height:150%;
	vertical-align:middle;
	border-right:1px solid #5976ba;
	border-bottom:1px solid #5976ba;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
.table th {
	padding:45px 33px;
	background:#dfeaf8;
	font-size:30px;
	font-weight:bold;
}
.table td {
	padding:20px 23px;
	font-size:26px;
}
.f30 {
	font-size:26px;
	text-align: center;
	line-height:180%;
	margin:60px auto;
}

/*-----------------------------------------------------------------------------------------
	SP
-----------------------------------------------------------------------------------------*/
@media only screen and (max-width:800px){
	a {}
	a:focus {}
	a:active {}
	a:hover {}
	a:visit {}
	a {
		-webkit-transition:0s;
				transition:0s;
	}
	address {}
	b,strong {}
	em,i,b {}
	p {margin-bottom: 4%;}
	ul,ol {}
	img {}
	table {}
	input[type="text"], 
	input[type="button"], 
	input[type="submit"], 
	textarea {}

	/*-----------------------------------------------------------------------------------------
		body
	-----------------------------------------------------------------------------------------*/
	body {
		font-size:16px;
		line-height:180%;
	}
	html, body {
		min-width:100%;
	}
	main {}

	/*-----------------------------------------------------------------------------------------
		header
	-----------------------------------------------------------------------------------------*/
	header {
		min-width:100%;
		margin:0;
	}
	header #logo {
		width:140px;
		margin:5% auto 4% auto;
	}
	header #logo img {
		width:100%;
		height:auto;
	}

	/*------------------------------ グローバルナビ・メニューボタン ----------*/
	#panel-btn {
		display: inline-block;
		position: fixed;
		top:5px;
		left:5px;
		width:50px;
		max-width:50px;
		min-width:50px;
		height:50px;
		margin-top:0;
		z-index:7000;
		background:#002F87;
	}
	#panel-btn-icon {
		display: block;
		position: absolute;
		top: 50%;
		left: 12px;
		width: 25px;
		height: 2px;
		background: #fff;
		border-radius:50px;
		-webkit-transition: 0.2s;
				transition: 0.2s;
	}
	#panel-btn-icon:before,
	#panel-btn-icon:after {
		position: absolute;
		content: "";
		top: 50%;
		left: 0;
		display: block;
		width: 25px;
		height: 2px;
		background: #fff;
		-webkit-transition: 0.3s;
				transition: 0.3s;
	}
	#panel-btn-icon:before {
		margin-top: -8px;
	}
	#panel-btn-icon:after {
		margin-top: 6px;
	}
	#panel-btn .close {
		background: transparent;
	}
	#panel-btn .close:before,
	#panel-btn .close:after {
		margin-top: 0;
		background: #fff;
	}
	#panel-btn .close:before{
	  -webkit-transform: rotate(-45deg);
			  transform: rotate(-45deg);
	}
	#panel-btn .close:after{
	  -webkit-transform: rotate(-135deg);
			  transform: rotate(-135deg);
	}
	
	.dr_on {
		top:0 !important;
		left:0 !important;
		visibility:visible !important;
		opacity:1 !important;
		-webkit-transition: .7s;
				transition: .7s;
	}
	.dr_off {
		top:0;
		visibility:hidden;
		opacity:0;
		-webkit-transition: .7s;
				transition: .7s;
	}
	.over_hide {
    	overflow: hidden !important;
	}

	/*------------------------------ Grobal Nav ----------*/
	nav#gnav {
		margin-bottom:0;
		position: fixed;
		top:0;
		left:-100%;
		width:100%;
		max-width:100%;
		height:100%;
		visibility:hidden;
		opacity:0;
		border:0;
		background:rgba(255,255,255,1);
		z-index: 5000 !important;
	}
	nav#gnav ul.gn {
		display:block;
		margin:70px auto 0 auto;
		height:80%;
		width:80%;
		overflow-x: hidden;
	}
	nav#gnav ul.gn li {
		font-size: 16px;
		line-height:100%;
		text-align: left;
		width:100%;
		border-bottom:1px solid rgba(0,47,135,0.50);
	}
	nav#gnav ul.gn li.home {
		display:block;
	}
	nav#gnav ul.gn li a,
	nav#gnav ul.gn li span {
		position: relative;
		padding:5% 1% 5% 35px;
	}
	nav#gnav ul.gn li a:before,
	nav#gnav ul.gn li span:before {
		position: absolute;
		content:'';
		top:18px;
		left:5px;
		width:20px;
		height:20px;
		margin:0 0 0 0;
	}
	nav#gnav ul.gn li:last-child a:before {
		margin:0 0 0 0;
	}
	nav#gnav ul.gn li br {
		display: none;
	}
	/*-- サブメニュー ------------------------------*/
	nav#gnav ul.gn li ul {
		position: relative;
		top:0;
		left:0;
		margin:0 0 4% 25px;
	}
	nav#gnav ul.gn li ul li {
		position: relative;
		overflow: hidden;
		text-align:left !important;
		font-size:14px;
		font-weight:normal;
		margin:0;
		padding:0;
		width:100%;
		height:auto;
		background:#fff;
		border-bottom:0 !important;
		-webkit-transition: 0.3s;
				transition: 0.3s;
	}
	nav#gnav ul.gn li ul li a {
		padding:0 15px 0 32px;
		line-height:40px !important;
		-webkit-box-sizing:border-box;
				box-sizing:border-box;
	}
	nav#gnav ul.gn li ul li a:after {
		position: absolute;
		content:'';
		top:15px;
		left:10px;
		height:7px;
		width:7px;
		border-top:1px solid #333;
		border-right:1px solid #333;
		background:none;
		-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
	}
	nav#gnav ul.gn li:hover > ul > li {
		overflow: visible;
		height:40px;
		border-bottom:1px solid rgba(0,0,0,0.05);
	}
	nav#gnav ul.gn li:hover > ul > li:hover {
		background:#fff;
	}

	/*-----------------------------------------------------------------------------------------
		footer
	-----------------------------------------------------------------------------------------*/
	footer {}
	#footer {
		display: block;
		width: 90%;
		padding:8% 2%;
		margin:0 auto;
		text-align: center;
	}
	#footer p {
		font-size:14px;
		margin-bottom:2%;
	}
	#footer p.logo-f {
		margin-bottom:5% !important;
	}
	#footer small {
		position:relative;
		bottom:auto;
		right:auto;
		font-size:10px;
		line-height:180%;
		text-align: center;
	}
	#footer small br {
		display:block;
	}
	
	/*------------------------------ Grobal Nav ----------*/
	nav#fnav {
		display: none !important;
	}
	nav#fnav ul {}
	nav#fnav ul li {}
	nav#fnav ul li:last-child {}
	nav#fnav ul li a,
	nav#fnav ul li span {}
	nav#fnav ul li a:before,
	nav#fnav ul li span:before {}

	/*-- サブメニュー ------------------------------*/
	nav#fnav ul li ul {}
	nav#fnav ul li ul li {}
	nav#fnav ul li ul li a {}
	nav#fnav ul li ul li a:before {}
	nav#fnav ul li:hover > ul > li {}

	/*-----------------------------------------------------------------------------------------
		toppage
	-----------------------------------------------------------------------------------------*/
	#main {
		position: relative;
		overflow: hidden;
		min-width:100%;
		height:350px;
		padding:100px 0 0 0;
		background:url("../img/bg-main.jpg") 0 0 no-repeat;
		background-size:cover;
	}
	#main:after {
		position: absolute;
		content:'';
		top:0;
		left:50%;
		margin:-70px 0 0 -235px;
		width:470px;
		height:470px;
		background:rgba(255,255,255,0.50);
		border-radius:50%;
	}
	#main p {
		width:300px;
		height:40px;
		margin:0 auto 10% auto;
		background:url("../img/catchcopy.png") 0 0 no-repeat;
		background-size:100% auto;
	}
	#main h1 {
		position: relative;
		overflow: hidden;
		text-indent:-9999px;
		width:270px;
		height:40px;
		margin:0 auto;
		background:url("../img/logomark.png") 0 0 no-repeat;
		background-size:100% auto;
	}
	#main p,
	#main h1 {
		z-index:1;
	}

	section {
		padding:10% 0 0 0;
	}
	section h2 {
		margin:0 auto 6% auto;
	}
	section h2:before {
		position: absolute;
		content:'';
		top:10px;
		left:0;
		width:100%;
		border-top:1px solid #898989;
	}
	section h2 span {
		position: relative;
		background:#fff;
		display: block;
		height: 52px;
		width:220px;
		margin:0 auto;
		z-index:10;
	}

	/*-- concept --*/
	#concept h2 span {
		background:url("../img/ttl-concept.png") 50% 0 no-repeat #fff;
		background-size:150px auto;
	}
	#concept h3 {
		background:url("../img/txt-concept.png") 0 0 no-repeat;
		background-size:100% auto;
		width:80%;
		height:auto;
		margin:0 auto 8% auto;
		padding-top:17%;
	}
	#concept p {
		width:100%;
		margin:0 auto;
		text-align: center;
		font-size:15px;
	}
	#concept p br.blk {
		display:block;
	}

	/*-- company --*/
	#company h2 span {
		background:url("../img/ttl-company.png") 50% 0 no-repeat #fff;
		background-size:160px auto;
	}

	/*-- SHOP INFORMATION --*/
	.bx-company {
		width:100%;
		margin:10% auto;
		display:block;
	}
	.bx-company img {
		display: block;
		margin:0 auto 10% auto;
	}

	.bx-company dl.info {
		width:90%;
		margin:0 auto;
		border-left:0;
		border-top:8px double #5976ba;
		padding:6% 1%;
		-webkit-box-sizing:border-box;
				box-sizing:border-box;
	}
	.bx-company dl.info div {
		font-size:16px;
		padding:1% 0;
	}
	.bx-company dl.info div dt {
		width:30%;
	}
	.bx-company dl.info div dt:before {}
	.bx-company dl.info div dd {
		width:70%;
	}

	/*-----------------------------------------------------------------------------------------
		contact page
	-----------------------------------------------------------------------------------------*/

	#ttl {
		color:#fff;
		font-size:36px;
		font-weight:bold;
		background:#5976ba;
		text-align: center;
		line-height:140%;
		padding:6% 0 !important;
		margin:0 auto 6% auto;
	}
	#ttl br {
		display:block;
	}

	/*-- mailform --*/
	#mailForm {
		padding:4% 0;
		width:90%;
		margin:0 auto;
	}
	#mailForm-confirm,
	#mailForm-complete {
		position: relative;
		margin:0 auto;
		padding:0 2% 5% 2% !important;
		background:#fff;
		-webkit-box-sizing: border-box;
				box-sizing: border-box;
	}

	.bx-form dl div {
		display:block;
		padding:3% 2%;
		width:100%;
		-webkit-box-sizing: border-box;
				box-sizing: border-box;
	}
	.bx-form dl div dt {
		width:100%;
		position: relative;
		font-weight:700;
		font-size:16px;
		padding:2% 0;
		-webkit-box-sizing:border-box;
				box-sizing:border-box;
	}
	.bx-form dl div dt.h {
		padding-left:80px;
	}
	.bx-form dl div dt.h:after {
		top:8px;
		left:0;
		padding:1% 2%;
		font-size: 12px;
		line-height:20px;
		width:50px;
		text-align: center;
	}
	.bx-form dl div dd {
		width:100%;
	}

	/*-- input error  --*/
	.bx-form dl div dd div {
		position: absolute;
		top:75%;
		left:10px;
		visibility: hidden;
		line-height:25px;
		font-size:12px;
		font-weight:normal;
		padding:0 10px;
		display: inline-block;
		background:#ff0000;
		color:#fff;
	}

	/*-- input  --*/
	.bx-form dl div dd input[type="text"],
	.bx-form dl div dd input[type="email"],
	.bx-form dl div dd input[type="tel"] {
		padding:0 2%;
	}
	.bx-form dl div dd textarea {
		display: block;
		width:100%;
		height: 200px;
		padding:2%;
		margin-bottom:0;
	}

	/*-- confirm  --*/
	dl.confirm {
		margin-bottom:10%;
	}
	dl.confirm div {
		font-size:16px;
		line-height:150%;
		padding:3% 2%;
		border-bottom:1px solid #ccc;
	}
	dl.confirm div dd {
		padding-top:3%;
	}
	/*-- 送信ボタン --*/
	.send-box {
		margin:8% 0;
	}
	.send-box input[type="submit"],
	.send-box button {
		height: 80px;
		line-height: 80px;
		font-size: 20px;
		width:80%;
		margin-bottom:10%;
		-webkit-transition:0s;
				transition:0s;
	}
	.send-box input[type="submit"]:hover,
	.send-box button:hover {
		-webkit-transition:0s;
				transition:0s;
	}

	/*-- 送信完了 --*/
	#complete {
		width:96%;
		margin:0 auto 10% auto;
		padding:7%;
		background:#fff;
		border-radius:0;
		-webkit-box-shadow:0 0 10px rgba(35,24,21,0);
				box-shadow:0 0 10px rgba(35,24,21,0);
	}
	#complete h2 {
		text-indent:inherit !important;
		font-size:20px;
		color:#002f7b;
		text-align: center;
		font-weight:700;
		margin-bottom:6%;
	}
	#complete h2:before {
		display: none;
	}
	#complete p {
		font-size:14px;
	}
	#complete p a {
		display: block;
		text-align: center;
		color:#231815;
	}
	.err {}
	.ttl-err {}
	.ttl-form {}

	/*-----------------------------------------------------------------------------------------
		recruit page
	-----------------------------------------------------------------------------------------*/

	#ttl-recruit {
		font-size:36px;
		line-height:100px;
		margin:0 auto 6% auto;
	}
	.logomark {
		text-align: center;
		margin:0 auto 6% auto;
		width:280px;
	}
	.logomark img {
		width:100%;
		height:auto;
	}

	.table {
		margin:0 auto 10% auto;
		width:90%;
	}
	.table:nth-child(2) {
		margin-bottom:6%;
	}
	.table caption {
		font-size:30px;
		margin-bottom:4%;
	}
	.table caption:before,
	.table caption:after {
		position: absolute;
		content:'';
		top:0;
		width:15px;
		height:33px;
		background:url("../img/border.png") 0 0 no-repeat;
		background-size:15px 33px;
	}
	.table caption:before {}
	.table caption:after {}
	.table th,
	.table td {}
	.table th {
		width:30%;
		padding:5% 3%;
		font-size:18px;
	}
	.table td {
		width:70%;
		padding:5% 3%;
		font-size:16px;
	}
	.f30 {
		font-size:15px;
		font-weight:700;
		margin:8% auto;
	}

}
