@charset "utf-8";

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, 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,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	text-align: center;
	font-size: 15px;
	line-height: 1.5;
	color: #000;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
	-webkit-text-size-adjust: none;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	max-width: 100%;
}
/* ------------------------------------------------------
Hypertext
-------------------------------------------------------　*/
a:link,
a:visited{
	color: #000;
}
a:hover{
	color: #f90;
}
a:hover img{
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}
/* ------------------------------------------------------
Wrapper
-------------------------------------------------------　*/
#wrapper{
	text-align: left;
}

/* ------------------------------------------------------
Header
-------------------------------------------------------　*/
#header{
	width:960px;
	margin:0 auto;
	padding: 20px 0;
}
.headerbar{
	display: flex;
	justify-content: space-between;
	align-items: center;
	align-content: center;
}
#header h1,
.header-txt{
	float: left;
	font-size: 12px;
	width: 80%;
	margin-bottom: 10px;
}
.header_sns {
	display: flex;
	align-content: center;
	justify-content: center;
	align-items: center;
}
.instagrambtn {
	width: 30px;
	margin-right: 10px;
}
.header-title{
	overflow: hidden;
}
.sitetitle{
	width: 35%;
	float: left;
}
.sub-header{
	padding-top: 10px;
	float: right;
	width: 60%;
	text-align: right;
}
.sub-header li{
	display: inline-block;
	padding-left: 20px;
}

/* ------------------------------------------------------
Navigation
-------------------------------------------------------　*/
#globalNav{
	background: #b60005;
	padding: 10px 0;
	overflow: hidden;
	margin-bottom: 30px;
	line-height: 1;
}
#globalNav ul{
	width: 961px;
	margin: 0 auto;
	overflow: hidden;
	border-left: solid 1px #fff;
	display: table;
}
#globalNav li{
	float: left;
	width: 14.28%;
}
#globalNav li span{
	display: block;
}
#globalNav li a:link,
#globalNav li a:visited{
	display: block;
	width: auto;
	height: 50px;
	line-height: 50px;
	color: #fff;
	border-right: solid 1px #fff;
	font-size: 15px;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
}

#globalNav li a:hover,
#globalNav li a:active,
#globalNav li.active a{
	background: #fff;
	color: #b60005;
}

/* ------------------------------------------------------
Contents
-------------------------------------------------------　*/
#container{
	width:960px;
	margin:0 auto;
}
#contents{
	margin-bottom: 40px;
	overflow: hidden;
	min-height: 700px;
	height: auto !important;
	height: 700px;
}
#breadcrumbs{
	font-size: 12px;
	padding-bottom: 20px;
	border-bottom: solid 1px #ccc;
	margin-bottom: 20px;
}
#breadcrumbs ol {
	width: 960px;
	margin: 0 auto;
}
#breadcrumbs ol li{
	display: inline;
}
h1.contents-title{
	font-size: 21px;
	color: #000;
	padding: 0 0 20px 70px;
	line-height: 50px;
	margin-bottom: 20px;
	border-bottom: solid 2px #b60005;
	font-weight: bold;
}
h1.contents-title span{
	color: #666;
	font-size: 14px;
	padding-left: 20px;
	font-weight: normal;
}
.about-title{
	background:url(../img/common/ico_about.png) no-repeat;
}
.beforeafter-title{
	background: url(../img/common/ico_beforeafter.png) no-repeat;
}
.faq-title{
	background:url(../img/common/ico_faq.png) no-repeat;
}
.flow-title{
	background:url(../img/common/ico_flow.png) no-repeat;
}
.flow-title{
	background:url(../img/common/ico_flow.png) no-repeat;
}
.service-title{
	background:url(../img/common/ico_service.png) no-repeat;
}
.shop-title{
	background:url(../img/common/ico_shop.png) no-repeat;
}
.works-title{
	background: url(../img/common/ico_work.png) no-repeat;
}
.contact-title{
	background: url(../img/common/ico_contact.png) no-repeat;
}

.contact-box{
	width:660px;
	padding: 20px;
	border: solid 3px #b60005;
	margin: 0 auto;
	text-align: center;
}
#main-contents .contact-box{
	width: auto;
	margin: 0 auto;
}
.contact-box h3{
	font-size: 16px;
	color: #000;
	font-weight: bold;
	padding-bottom: 20px;
}
.contact-box ul{
	display: table;
	margin: 0 auto;
}
.contact-box li{
	padding: 0 20px;
	display: table-cell;
}
.contact-box dt{
	padding-bottom: 10px;
}
.contact-box span{
	display: block;
}
a.tel{
	cursor: default;
}
a.tel:hover img{
	opacity:1;
	filter:alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
}

/* ------------------------------------------------------
.totop
-------------------------------------------------------　*/
.totop{
	position: fixed;
	right: 20px;
	z-index: 100;
}
.totop-block{
	display: block;
	bottom: 20px;
}
.totop-none{
	display: none;
}

.totop li a:link,
.totop li a:visited {
	width: 80px;
	height: 0;
	background: url(../img/common/btn_totop.png) no-repeat;
	display: block;
	overflow: hidden;
	padding-top: 80px;
}
.totop li a:hover,
.totop li a:active {
	background-position: 0 -80px;
}


@media screen and (max-width: 960px) {
	.totop li a:link,
	.totop li a:visited {
		width: 30px;
		background: url(../img/common/btn_totop2.png) no-repeat;
		padding-top: 30px;
		background-size: 30px;
	}
	.totop li a:hover,
	.totop li a:active {
		background-position: 0 -30px;
	}
}
.footer-totop{
	border-top: 1px solid #ccc;
	padding: 10px 0;
	text-align: center;
	line-height: 1;
}
/* ------------------------------------------------------
Footer
-------------------------------------------------------　*/
footer{
}
.footer-nav{
	border-top: 1px solid #ccc;
	padding: 20px 0;
	background: #000;
	font-size: 12px;
}
.footer-nav ul{
	width: 960px;
	margin: 0 auto;
	text-align: center;
}
.footer-nav li{
	display: inline-block;
	padding: 0 10px;
}
.footer-nav li a:link,
.footer-nav li a:visited{
	color: #fff;
}

.footer-text{
	padding-bottom: 20px;
	font-size: 12px;
}
.address{
	float: left;
	width: 25%;
	padding-right: 40px;
	font-size: 12px;
}
.address dt{
	padding-bottom: 10px;
}
.footer-r{
	width:65%;
	float: right;
}
.support-area{
	padding-bottom: 10px;
}
.support-area dt{
	background: #b60005;
	padding: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	color: #fff;
	margin-bottom: 10px;
	text-align: center;
	width: 100px;
}
.support-area dd{
	font-size: 12px;
}
.copyright{
	text-align: right;
	font-size: 12px;
	color: #000;
}
.footer{
	padding: 20px 0;
}
.footer-inner{
	width: 960px;
	margin: 0 auto;
	overflow: hidden;
}

@media screen and (max-width: 960px) {
	#header{
		width: 95%;
	}
	h1.contents-title span,
	.facebookbtn,
	.footer-nav,
	.footer-text{
		display: none;
	}
	.instagrambtn {
		position: absolute;
		right: 50px;
		top: 30px;
	}
	.sitetitle img{
		width: 255px;
	}
	.header-contact img{
		width: 150px;
	}
	.header-tel img{
		width: 230px;
	}
	#globalNav{
		padding: 10px 0;
		overflow: hidden;
		margin:0 0 20px;
	}
	#globalNav ul{
		width: 95%;
		margin: 0 auto;
	}
	#globalNav li{
		width: 12.5%;
	}
	#globalNav li a:link,
	#globalNav li a:visited{
		width: 12.5%;
		height: 40px;
		font-size: 12px;
	}
	#container{
		width: auto;
	}
	#contents{
		padding: 0 10px;
	}
	.footer-inner{
		width: auto;
	}
	.address,
	.footer-r{
		float: none;
		width: auto;
		text-align: center;
	}
	.address{
		padding: 0 0 20px;
	}
	.support-area {
		width:50%;
		margin: 0 auto;
	}
	.support-area dt{
		margin: 0 auto 10px;
	}
	.copyright{
		text-align: center;
		font-size: 10px;
	}
}
@media screen and (min-width: 769px){
	.nav-collapse li.nav-contact,
	.nav-collapse li.nav-blog{
		display: none;
	}
}
@media screen and (max-width: 768px){
	.nav-collapse li.nav-contact,
	.nav-collapse li.nav-blog{
		display: block;
	}
	body{
		font-size: 80%;
	}
	#header{
		width: 100%;
		position: relative;
		margin: 0;
	}
	#header h1,
	.header-txt{
		display: none;
	}
	.sitetitle{
		width: auto;
		float: none;
		margin-left: 10px;
	}
	.sitetitle img{
		width: 200px;
	}
	.sub-header{
		display: none;
	}
	#globalNav{
		padding: 0;
		overflow: hidden;
		margin:0 0 20px;
	}
	#globalNav ul{
		width: 100%;
		margin: 0;
	}
	#globalNav ul{
		border: none;
		padding: 0;
	}
	#globalNav li{
		float: none;
		width: 100%;
	}
	#globalNav li span{
		display: inline;
	}
	#globalNav li a:link,
	#globalNav li a:visited{
		display: block;
		width: 100%;
		height: auto;
		color: #b60005;
		border-right: none;
		border-bottom: solid 1px #b60005;
		font-size: 12px;
		padding: 10px;
		text-align: center;
		vertical-align: middle;
		text-decoration: none;
		background: #fff;
		line-height: 1;
	}
	#globalNav li a:hover,
	#globalNav li a:active,
	#globalNav li.active a{
		background: #b60005;
		color: #fff;
	}
	h1.contents-title{
		background-size: 30px;
		line-height: 30px;
		padding:0 0 10px 40px;
		font-size: 15px;
	}
	#breadcrumbs{
		font-size: 12px;
		padding:0 10px 10px;
		margin-bottom: 20px;
	}
	#breadcrumbs ol {
		width: auto;
		margin: 0;
	}
	#breadcrumbs ol li{
		display: inline;
	}
	.support-area {
		width:90%;
	}
	#contents{
		min-height: 0;
		height: auto !important;
		height: auto;
	}
	.contact-box{
		width: auto;
		padding: 10px 10px 0;
		margin: 0 auto;
		text-align: center;
		border: solid 2px #b60005;
	}
	.contact-box h3{
		font-size: 14px;
		font-weight: bold;
		padding-bottom: 10px;
	}
	.contact-box ul{
		display: block;
		margin: 0 auto;
	}
	.contact-box li{
		padding: 0 0 10px;
		display: block;
	}
	.contact-box dt{
		font-weight: bold;
		padding-bottom: 5px;
	}
	.contact-box img{
		width: 200px;
	}
}
@media screen and (max-width: 480px){
	body{
		font-size: 12px;
	}
	.contact-box {
		line-height: 1.3;
	}
}
