@charset "UTF-8";

* {
	margin: 0;
	padding: 0;
}

body {
	min-width: 1000px;
	background: #FFF;
	color: #484848;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 15px;
	line-height: 1.6;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover, a:focus {
	text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1;
	margin: 0;
	padding: 0;
}

ul, ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ryumin {
	font-family: "リュウミン B-KL" , "Ryumin Bold KL";
}


/* clearfix */
.clearfix:before, .clearfix:after {
	content: "";
	display: table;
}

.clearfix:after {
	clear: both;
}

@media screen and (min-width: 601px) {
	body {
		margin-top: 138px;
	}
}

@media screen and (max-width: 600px) {
	html, body {
		width: 100%;
		min-width: 100%;
		overflow-x: hidden;
	}

	a {
		-webkit-tap-highlight-color: rgba(0, 0, 0, .3);
	}

	img {
		max-width: 100%;
		height: auto;
	}
	
	.sp-br {
		display: none;
	}
}


/* header */
.header_inner {
	display: table;
	width: 980px;
	height: 88px;
	margin: 0 auto;
}

.header_left {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: middle;
}

.header_right {
	display: table-cell;
	height: 100%;
	text-align: right;
	vertical-align: middle;
}

.header_company {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
}

.header_logo {
	display: inline-block;
	line-height: 1;
}

.header_logo > img {
	display: block;
}

.header_license {
	font-size: 12px;
	line-height: 1.2;
}

.header_manage {
	display: inline-block;
	margin: 0 0 0 20px;
	font-size: 12px;
	vertical-align: middle;
}

.header_manage > a {
	text-decoration: underline;
}

.headerTel {
	display: inline-block;
	color: #57351C;
	vertical-align: middle;
}

.headerTel_info {
	margin: 0 0 5px;
	font-size: 12px;
	line-height: 1.2;
	font-weight: bold;
	text-align: left;
}

.headerTel_num {
	font-family: Roboto;
	display: inline-block;
	font-size: 32px;
	font-weight: bold;
	line-height: 1;
}

.headerTel_num > img {
	display: inline-block;
	vertical-align: baseline;
}

.headerTel_num > strong {
	font-size: 40px;
}

.headerTel_hour {
	margin: 0;
	padding: 0;
	font-size: 12px;
	line-height: 1.2;
	font-weight: bold;
	text-align: left;
}

.headerMail {
	display: inline-block;
	width: 88px;
	height: 100%;
	margin: 0 0 0 10px;
	background: #F59023;
	color: #FFF;
	line-height: 1;
	text-align: center;
	vertical-align: middle;
}

.headerMail:before, .headerMail:after {
	content: "";
	display: inline-block;
	width: 1px;
	height: 100%;
	vertical-align: middle;
}

.headerMail_inner {
	display: inline-block;
	padding: 2px 0 0;
	vertical-align: middle;
}

.headerMail_icon {
	display: block;
	margin: 0 auto;
}

.headerMail_text {
	display: block;
	margin: 7px 0 0;
	font-size: 13px;
	line-height: 1.4;
}

.headerNav {
	padding: 15px 0;
	background: #894B2C;
	color: #FFF;
}

.headerNav_ul {
	display: table;
	width: 980px;
	height: 20px;
	margin: 0 auto;
	border-collapse: collapse;
}

.headerNav_li {
	display: table-cell;
	height: 100%;
	border-left: solid 1px #FFF;
	border-right: solid 1px #FFF;
	text-align: center;
	vertical-align: middle;
}

.headerNav_li > a {
	display: block;
	min-width: 100px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
}

@media screen and (min-width: 601px) {
	.header {
		position: fixed;
		top: 0;
		width: 100%;
		height: 138px;
		background: #FFF;
		z-index: 1000;
	}
	
	.headerNav_text br {
		display: none;
	}
}

@media screen and (max-width: 600px) {
	.header_inner {
		display: block;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 5px 10px;
		box-sizing: border-box;
	}

	.header_left {
		display: table;
		width: 100%;
		height: auto;
		table-layout: fixed;
	}

	.header_right {
		display: table;
		position: fixed;
		width: 100%;
		left: 0;
		right: 0;
		bottom: 0;
		height: auto;
		table-layout: fixed;
		border-top: solid 1px #BFBFBF;
		background: #FFF;
		text-align: center;
		z-index: 10000;
	}

	.header_company {
		display: table-cell;
		width: 72%;
		text-align: left;
		vertical-align: middle;
	}

	.header_logo > img {
		display: block;
	}

	.header_license {
		font-size: 11px;
	}

	.header_manage {
		display: table-cell;
		margin: 0;
		padding: 0 0 0 10px;
		font-size: 11px;
		text-align: left;
		vertical-align: middle;
	}

	.headerTel {
		display: table-cell;
		width: 75%;
		height: 100%;
		padding: 5px;
		text-align: left;
		vertical-align: middle;
		box-sizing: border-box;
	}
	
	.headerTel_info {
		font-size: 3.3vw;
	}

	.headerTel_num {
		display: block;
		font-size: 7vw;
	}

	.headerTel_num > strong {
		font-size: 8.9vw;
	}

	.headerTel_hour {
		padding: 0;
		font-size: 3vw;
	}

	.headerMail {
		display: table-cell;
		width: 25%;
		height: 100%;
		margin: 0;
	}

	.headerMail:before, .headerMail:after {
		content: none;
	}

	.headerMail_inner {
		display: inline-block;
		padding: 2px 0 0;
		vertical-align: middle;
	}

	.headerMail_text {
		margin: 5px 0 0;
		font-size: 12px;
	}

	.headerNav {
		padding: 0;
		z-index: 10000;
	}

	.headerNav.headerNav--fixed {
		position: fixed;
		width: 100%;
		top: 0;
		left: 0;
	}

	.headerNav_ul {
		display: table;
		width: 100%;
		height: 60px;
		margin: 0;
		table-layout: fixed;
	}

	.headerNav_li {
		display: table-cell;
		height: 100%;
		padding: 3px;
		border-left: 0;
		border-right: 0;
		vertical-align: top;
		box-sizing: border-box;
	}

	.headerNav_li + .headerNav_li {
		border-left: solid 1px #FFF;
	}

	.headerNav_li:last-child {
		display: none;
	}

	.headerNav_li > a {
		display: block;
		min-width: 1px;
		font-size: 12px;
		font-weight: normal;
		line-height: 1.1;
	}

	.headerNav_li > a:before {
		font-family: fontawesome;
		display: block;
		font-size: 30px;
		font-weight: normal;
		line-height: 1;
	}

	.headerNav_li:first-child > a:before {
		content: "\f015";
	}

	.headerNav_li:nth-child(2) > a:before {
		content: "\f004";
	}

	.headerNav_li:nth-child(3) > a:before {
		content: "\f0a4";
	}

	.headerNav_li:nth-child(4) > a:before {
		content: "\f024";
	}

	.headerNav_li:nth-child(5) > a:before {
		content: "\f059";
	}
}


/* footer */
.footer {
	padding: 30px 0 15px;
	background: #894B2C;
	color: #FFF;
	text-align: center;
}

.footer_inner {
	display: table;
	width: 980px;
	margin: 0 auto;
}

.footer_left {
	display: table-cell;
	text-align: left;
	vertical-align: top;
}

.footer_right {
	display: table-cell;
	padding: 15px 0 0;
	text-align: right;
	vertical-align: top;
}

.footer_logo {
	display: block;
}

.footer_license {
	margin: 10px 0 0;
	font-size: 12px;
}

.footer_link {
	margin: 20px 0 0;
	font-size: 12px;
}

.footer_link > li {
	display: inline-block;
	vertical-align: top;
}

.footer_link > li + li {
	margin-left: 7px;
}

.footer_link > li + li:before {
	content: "｜";
	display: inline-block;
	margin: 0 10px 0 0;
	vertical-align: middle;
}

.footer_sitemap {
	font-size: 12px;
}

.footer_sitemap > li {
	display: inline-block;
	vertical-align: top;
}

.footer_sitemap > li + li {
	margin-left: 7px;
}

.footer_sitemap > li + li:before {
	content: "｜";
	display: inline-block;
	margin: 0 10px 0 0;
	vertical-align: middle;
}

.footer_copy {
	margin: 10px 0 0;
	font-size: 12px;
	text-align: center;
}

@media screen and (max-width: 600px) {
	.footer {
		padding: 15px 10px 95px;
	}

	.footer_inner {
		display: block;
		width: 100%;
		margin: 0;
	}

	.footer_left {
		display: block;
	}

	.footer_right {
		display: block;
		padding: 15px 0 0;
		text-align: left;
		vertical-align: top;
	}

	.footer_logo {
		display: block;
		max-width: 200px;
	}

	.footer_license {
		margin: 5px 0 0;
		font-size: 11px;
	}

	.footer_link {
		margin: 5px 0 0;
		font-size: 11px;
	}

	.footer_sitemap {
		font-size: 11px;
	}

	.footer_sitemap > li {
		display: inline-block;
		vertical-align: top;
	}

	.footer_sitemap > li + li {
		margin-left: 3px;
	}

	.footer_sitemap > li + li:before {
		margin: 0 5px 0 0;
	}

	.footer_copy {
		margin: 20px 0 0;
		font-size: 11px;
	}
}


/* contact */
.contact {
	background: #DEF5FF;
}

.contact_inner {
	width: 980px;
	margin: 0 auto;
	padding: 25px 0 45px;
	background: url(../img/contact_bg.png) no-repeat bottom right;
}

.contact_info {
	margin: 0 0 25px;
	color: #57351C;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
}

.contact_tel {
	display: inline-block;
	color: #57351C;
	line-height: 1;
	vertical-align: top;
}

.contact_tel_link {
	display: inline-block;
}

.contact_tel_icon {
	vertical-align: baseline;
}

.contact_tel_num {
	display: inline-block;
	font-family: Roboto;
	font-size: 45px;
	font-weight: bold;
	vertical-align: baseline;
}

.contact_tel_num > strong {
	font-size: 64px;
}

.contact_tel_hour {
	margin: 5px 0 0;
	font-size: 14px;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
}

.contact_mail {
	display: inline-block;
	margin: 5px 0 0 20px;
	padding: 15px 10px;
	border-radius: 5px;
	background: #F59023;
	color: #FFF;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	vertical-align: top;
}

.contact_mail:before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 25px;
	margin: 0 8px 2px 0;
	background: url(../img/contact_mail_icon.png) no-repeat center center;
	vertical-align: middle;
}

@media screen and (max-width: 600px) {
	.contact_inner {
		width: 100%;
		margin: 0;
		padding: 15px 10px;
		background: none;
		box-sizing: border-box;
	}

	.contact_info {
		margin: 0 0 10px;
		font-size: 14px;
	}

	.contact_tel {
		display: block;
		text-align: center;
	}

	.contact_tel_link {
		display: block;
	}

	.contact_tel_icon {
		width: 40px;
		height: auto;
	}

	.contact_tel_num {
		font-size: 28px;
	}

	.contact_tel_num > strong {
		font-size: 36px;
	}

	.contact_tel_hour {
		font-size: 12px;
	}

	.contact_mail {
		display: block;
		margin: 15px auto 0;
		padding: 10px 5px;
		border-radius: 3px;
		font-size: 18px;
	}

	.contact_mail:before {
		width: 25px;
		height: 25px;
		background: url(../img/contact_mail_icon.png) no-repeat center center;
		background-size: contain;
	}
}


/* common parts */
.pageHeader {
	height: 120px;
	background: url(../img/page_header_bg.png) no-repeat center center;
	background-size: cover;
	text-align: center;
}

.pageHeader:after {
	content: "";
	display: inline-block;
	width: 1px;
	height: 100%;
	vertical-align: middle;
}

.pageHeader_title {
	display: inline-block;
	color: #6D4E3B;
	font-size: 32px;
	font-weight: bold;
	vertical-align: middle;
	text-shadow: 3px 3px 0 #FFF;
}

@media screen and (max-width: 600px) {
	.pageHeader {
		height: 70px;
		background: url(../img/page_header_bg.png) no-repeat bottom center;
		background-size: 800px auto;
	}

	.pageHeader_title {
		font-size: 24px;
		text-shadow: 2px 2px 0 #FFF;
	}
}
