@charset "utf-8";

* {
	margin: 0;
	padding: 0;
}

header,
main,
article,
section,
nav,
aside,
figure,
footer {
	display: block;
}

body {
	-webkit-text-size-adjust: 100%;
}

body,td,th,h1,h2,h3,h4,h5,h6,p,dt,dd,li {
	font-size: 14px;
  font-family:"Noto Serif JP", "游明朝体","Yu Mincho",YuMincho,"ヒラギノ明朝 ProN W6",HiraMinProN-W6,"HG明朝E","ＭＳ Ｐ明朝","MS PMincho","MS 明朝","Hiragino Kaku Gothic ProN",sans-serif;
	font-weight: 400;
	color: #333333;
	letter-spacing: 0.07em;
}
.wrap {
	overflow: hidden;
}

img {
	border: none;
	vertical-align: bottom;
}
p, th, td, dt, dd, address {
	font-size: 14px;
	letter-spacing: 0.07em;
	line-height: 180%;
}
address {}
table {
	border-collapse: collapse;
	border: none;
	border-spacing: 0;
}

table.outline {
	width: 100%;
}
table.outline th {
	background-color: #fbebeb;
	color: #c25251;
	font-weight: 500;
	width: 210px;
}
table.outline td {
	font-weight: 400;
}
table.outline th,
table.outline td {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 15px;
	box-sizing: border-box;
	border-top: solid 1px #d3d3d3;
	border-bottom: solid 1px #d3d3d3;
	padding: 15px 20px;
}


th, td {
	text-align: left;
	vertical-align: top;
}
caption {
	text-align: left;
}
li {
	list-style-type: none;
}
a {
	display: block;
}

a:link    {color: #5172AD; text-decoration: none;}
a:visited {color: #5172AD; text-decoration: none;}
a:hover   {color: #5172AD; text-decoration: none;}
a:active  {color: #5172AD; text-decoration: none;}


/* clearfix */
.clearfix:before {
	display: block;
	content: " ";
}
.clearfix:after {
	content: "";
	display: block;
	height: 0px;
	clear: both;
	font-size: 0;
}

* html .clearfix {zoom: 1;} /* IE6 */
*:first-child+html .clearfix {zoom: 1;} /* IE7 */


/* FONT */
.jp {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 180%;
}

@font-face {
	font-family: "CONDENSEicon";
	src: url("../font/CONDENSEicon.woff") format('woff'),
			 url("../font/CONDENSEicon.ttf") format('truetype'),
			 url("../font/CONDENSEicon.eot"),
			 url("../font/CONDENSEicon.otf") format('opentype');
}


/* btn */
/* btn */
.btn {
	display:block;
	-webkit-transition: 0.3s ease-in-out;  
	transition: 0.3s ease-in-out;  
}
.btn:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);  
}


/* ---------- CONTAINER ---------------------------------------- */
#container {min-width: 1000px;}

/* ---------- BOX ---------------------------------------- */
.box {
	width: 1000px;
	margin: auto;
}


/* ---------- HEADER ---------------------------------------- */
#header {
	background-image: url(../images/bg_pattern1.png);
	height: 170px;
}
#header .box {
	position: relative;
}

#header .logo {
	position: absolute;
	top: 20px;
	left: 0;
}
#header .head_top {
	position: absolute;
	top: 25px;
	right: 0;
}

.tel_info {
	text-align: right;
}
.tel_info .tel {
	color: #c25251;
	font-size: 22px;
	line-height: 130%;
	font-weight: bold;
}
.tel_info .tel:before {
	font-family: 'CONDENSEicon', sans-serif;
	content: '=';
	font-size: 27px;
	color: #c25251;
	display: inline-block;
	vertical-align: text-bottom;
	margin-right: 2px;
}

.tel_info .time {
	color: #616161;
	font-size: 13px;
	font-weight: 400;
	line-height: 150%;
}

#header .tel_info {
	float: left;
	margin-right: 8px;
}

#header .btn_page {
	float: left;
	margin-left: 15px;
}
#header .btn_page a {
	font-size: 14px;
	padding: 15px 25px;
}


/* ---------- gnav -------------- */
#gnav {
	position: absolute;
	top: 115px;
	width: 100%;
}
#gnav ul {}
#gnav ul li {
	float: left;
	border-left: solid 1px #bfbfbf;
	box-sizing: border-box;
	width: 166.6px;
	width : -webkit-calc(999px / 6) ;
	width : calc(999px / 6) ;
	
}
#gnav ul li:last-child {	border-right: solid 1px #bfbfbf;}

#gnav ul li a {
	-webkit-transition: 0.1s ease-in-out;
	   -moz-transition: 0.1s ease-in-out;
	     -o-transition: 0.1s ease-in-out;
	        transition: 0.1s ease-in-out;

	line-height: 36px;
	text-align: center;
	color: #212121;
	font-size: 15px;
	font-weight: 600;
}
/**/
.home #gnav ul li.home a,
.serv #gnav ul li.serv a,
.comp #gnav ul li.comp a,
.qual #gnav ul li.qual a,
.recr #gnav ul li.recr a,
.cont #gnav ul li.cont a {color: #c85554;}

#gnav ul li a:hover { color: #c85554;}


/* sp_menu */
#sp_menu { display: none;}
#spnav { display: none;}
#btn-spnav { display: none;}

@media only screen and (min-width: 769px) {
	#gnav {
		display: block !important;
	}
	#sp_menu { display: none !important;}
}

/* ---------- MAIN ---------------------------------------- */
#main {}

/* ---------- CONTENTS ---------------------------------------- */
#contents {}

/* page_ttl */
#page_ttl {
	background-color: #c85554;
	background-image: url(../images/bg_pattern2.png);
	line-height: 140px;
	text-align: center;
	
	font-size: 30px;
	color: #FFF;
}

/* breadcrumb */
.breadcrumb {
	padding: 11px 0;
	margin-bottom: 60px;
	background-color: #f0f0f0;
}
.breadcrumb ol {}
.breadcrumb ol li {
	font-family: 'Noto Sans JP', sans-serif;
	color: #616161;
	float: left;
	font-size: 12px;
	font-weight: 300;
}
.breadcrumb ol li a {
	font-family: 'Noto Sans JP', sans-serif;
	color: #616161;
	font-weight: 300;
}
.breadcrumb ol li a:hover { text-decoration: underline;}
.breadcrumb ol li a:after {
	content: '';
	background-image: url(../images/ic_breadcrumb.png);
	background-repeat: no-repeat;
	background-position: center;
	padding-left: 20px;
	font-size: 11px;
	color: #000;
}


/* ---------- FOOTER ---------------------------------------- */
#footer {	border-top: solid 1px #e0e0e0;}

#footer_info {
	text-align: center;
	padding: 65px 0 75px;
}
#footer_info h3 {
	font-size: 21px;
	font-weight: 600;
	color: #333333;
	margin-bottom: 30px;
}
#footer_info .tel_info {
	display: inline-block;
	vertical-align: top;
	margin-right: 30px;
}
#footer_info .tel_info .tel { font-size: 28px;}
#footer_info .tel_info .time { font-size: 13px;}
#footer_info .btn_page {
	display: inline-block;
	vertical-align: top;
	width: 300px;
}

#footer_site_menu {
	border-bottom: solid 4px #c85554;
	overflow: hidden;
}
#footer_site_menu ul {}
#footer_site_menu ul li {
	width: 320px;
	float: left;
	margin-right: 20px;
	text-align: center;
}
#footer_site_menu ul li:last-child { margin-right: 0;}

#footer_site_menu ul li a {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	-webkit-border-top-left-radius: 4px;
	-webkit-border-top-right-radius: 4px;
	-moz-border-radius-topleft: 4px;
	-moz-border-radius-topright: 4px; 

	background-color: #f0f0f0;
	line-height: 70px;
	font-size: 14px;
	color: #333333;
}
/**/
#footer_site_menu ul li.corp a { background-color: #c85554; color: #FFF; pointer-events: none;}
#footer_site_menu ul li.spir a {}
#footer_site_menu ul li.inte a {}

#footer_site_menu ul li span {
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 24px;
	font-size: 600;
}
/**/
#footer_site_menu ul li.corp span { background-image: url(../images/ic_corporate_hover.png);}
#footer_site_menu ul li.spir span { background-image: url(../images/ic_spiritual.png);}
#footer_site_menu ul li.inte span { background-image: url(../images/ic_interior.png);}

/**/
#footer_site_menu ul li.corp a:hover { background-color: #c85554; color: #FFF;}
#footer_site_menu ul li.spir a:hover { background-color: #44a8e3; color: #FFF;}
#footer_site_menu ul li.inte a:hover { background-color: #5bb45f; color: #FFF;}

/**/
#footer_site_menu ul li.corp a:hover span { background-image: url(../images/ic_corporate_hover.png);}
#footer_site_menu ul li.spir a:hover span { background-image: url(../images/ic_spiritual_hover.png);}
#footer_site_menu ul li.inte a:hover span { background-image: url(../images/ic_interior_hover.png);}



#footer_navi {
	background-image: url(../images/bg_pattern1.png);
	padding: 60px 0 80px;
}
#footer_navi .top {}
#footer_navi .top .logo {
	float: left;
}
#footer_navi .top ul {
	float: right;
	margin-top: 20px;
}
#footer_navi .top ul li {
	float: left;
	margin-left: 30px;
}
#footer_navi .top ul li a {
	font-family: 'Noto Sans JP', sans-serif;
	color: #333333;
	font-size: 13px;
	font-weight: 500;
	background-repeat: no-repeat;
	background-position: left center;
	padding: 10px 0px 10px 40px;
}
#footer_navi .top ul li.facebook a { background-image: url(../images/btn_facebook.png);}
#footer_navi .top ul li.twitter a  { background-image: url(../images/btn_twitter.png);}

#footer_navi .top ul li a:hover { text-decoration: underline;}


#footer_navi .under {
	clear: both;
	border-top: solid 1px #d3d3d3;
	padding-top: 40px;
	margin-top: 25px;

}

/* fnav */
#fnav {}
#fnav ul {}
#fnav ul li {
	float: left;
	margin-right: 40px;
}
#fnav ul li a {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	color: #424242;
	font-size: 14px;
}
#fnav ul li a:hover { text-decoration: underline;}

#footer_end {
	background-color: #c85554;
	background-image: url(../images/bg_pattern2.png);
	padding: 35px 0;
}
#footer_end ul {}
#footer_end ul li {
	float: left;
	margin-right: 20px;
}
#footer_end ul li:first-child {
	border-right: solid 1px #FFF;
}

#footer_end ul li a {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	color: #FFF;
	font-size: 12px;
	padding-right: 20px;
}
#footer_end ul li a:hover {text-decoration: underline;}
#footer_end .copyright {
	text-align: right;
	color: #FFF;
	font-size: 11px;
}















@media screen and (max-width: 768px) {


body,td,th,h1,h2,h3,h4,h5,h6,p,dt,dd,li {
	font-size: 14px;
	font-weight: 600;
}
p, th, td, dt, dd, address {
	font-size: 14px;
	line-height: 180%;
}

.jp {
	font-size: 14px !important;
}

table.outline th, table.outline td {
	font-size: 14px;
	padding: 10px 13px;
}
table.outline th {
	width: 30%;
}


/* ---------- CONTAINER ---------------------------------------- */
#container {min-width: auto;}

/* ---------- BOX ---------------------------------------- */
.box {
	width: auto;
	margin: 0 6%;
}



/* ---------- HEADER ---------------------------------------- */
#header .head_top,
#gnav { display: none;}


#header {
	height:70px;
	position: relative;
}
#header .box {position: static;}
#header .logo {
	top: 15px;
	left: 6%;
	width: 65%;
	max-width: 240px;
	height: auto;
}
#header .logo img {
	width: 100%;
	height: auto;
}
#header .tel_info {
	float: none;
	display: table;
	text-align: right;
	margin-right: 0;
	margin-bottom: 30px;
}
.tel_info .tel::before {
	font-size: 24px;
}
.tel_info .tel a {
	display: inline;
	color: #c25251;
}
.tel_info .time {
	font-size: 12px !important;
	padding-top: 3px;
}


#header .btn_page {
	float: none;
	margin-left: 0;
	margin-bottom: 15px;
}


#sp_menu {
	box-sizing: border-box;
	display: none;
	background-color: #f0f0f0;
	position: absolute;
	top: 70px;
	left: 0;
	z-index: 9999;
	width: 100%;
	padding: 30px 6%;
}
#spnav {
	display: block;
	margin-bottom: 20px;
}
#spnav ul {
	border-top: solid 1px #d3d3d3;
}
#spnav ul li {
	border-bottom: solid 1px #d3d3d3;
}
#spnav ul li a {
	color: #333333;
	font-size: 15px;
	padding: 17px 0;
	background-image: url(../images/ic_corporate.png);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 14px auto;
}

/* btn-spnav */
#btn-spnav {
	display: block;
	position: absolute;
	right: 6%;
	top: 7px;
	width: 55px;
	height: 55px;
	overflow: hidden;
	font-size: 0;
	cursor: pointer;
	text-align: center;
	background-color: #c25251;
	-webkit-transition: background 0.3s;
	transition: background 0.3s;
	z-index: 9999;
}
#btn-spnav:focus {
	outline: none;
}

#btn-spnav span {
	display: block;
	position: absolute;
	width: 30px;
	top: 0;
	right: 0;
	left: 0;
	bottom: 13px;
	height: 2px;
	background: #FFF;
	-webkit-transition: background 0 0.3s;
	transition: background 0 0.3s;
	margin: auto;
}
#btn-spnav span::before,
#btn-spnav span::after {
	position: absolute;
	display: block;
	left: 0;
	width: 30px;
	height: 2px;
	background-color: #FFF;
	content: "";
	-webkit-transition-duration: 0.3s, 0.3s;
	transition-duration: 0.3s, 0.3s;
	-webkit-transition-delay: 0.3s, 0;
	transition-delay: 0.3s, 0;
}
#btn-spnav span::before {
	top: -9px;
	-webkit-transition-property: top, -webkit-transform;
	transition-property: top, transform;
}
#btn-spnav span::after {
	bottom: -9px;
	-webkit-transition-property: bottom, -webkit-transform;
	transition-property: bottom, transform;
}
.open #btn-spnav span {
	background: none;
}
.open #btn-spnav span::before,
.open #btn-spnav span::after {
	-webkit-transition-delay: 0, 0.3s;
	transition-delay: 0, 0.3s;
}
.open #btn-spnav span::before {
	top: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.open #btn-spnav span::after {
	bottom: 0;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#btn-spnav p {
	color: #FFF;
	font-size: 10px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 4.5px;
	margin: auto;
}




/* ---------- CONTENTS ---------------------------------------- */

#page_ttl {
	line-height: 170%;
	font-size: 20px;
	padding: 25px 5%;
}


.breadcrumb {
	padding: 10px 0;
	margin-bottom: 35px;
}
.breadcrumb ol li {
	font-size: 10px;
}
.breadcrumb ol li a::after {
	padding-left: 18px;
	font-size: 9px;
}




/* ---------- FOOTER ---------------------------------------- */

#footer_info {
	padding: 40px 0 55px;
}
#footer_info h3 {
	font-size: 18px;
	margin-bottom: 15px;
}
#footer_info .tel_info {
	display: table;
	margin: 0 auto 20px;
}
#footer_info .tel_info .tel {font-size: 24px;}
#footer_info .btn_page {
	display: block;
	width: auto;
}
#footer_info .btn_page a {
	font-size: 15px;
	padding: 14px 10px;
}
#footer_info .btn_page a span {}
#footer_info .btn_page a span::before {
	font-size: 22px;
	margin-right: 8px;
}








#footer_site_menu {}
#footer_site_menu ul {
	margin: auto;
}
#footer_site_menu ul li {
	width: 100%;
}
#footer_site_menu ul li span {
	padding-left: 20px;
	background-size: 13px auto;
}
#footer_site_menu ul li a {
	border-top-left-radius: 0px;
	border-top-right-radius: 0px;
	-webkit-border-top-left-radius: 0px;
	-webkit-border-top-right-radius: 0px;
	-moz-border-radius-topleft: 0px;
	-moz-border-radius-topright: 0px;
	line-height: 150%;
	padding: 17px 10px;
}

#footer_navi {
	padding: 40px 0;
}
#footer_navi .top .logo {
	float: none;
	margin-bottom: 17px;
	width: 250px;
}
#footer_navi .top .logo img {
	width: 100%;
	height: auto;
}
#footer_navi .top ul {
	float: none;
	margin-top: 0;
}
#footer_navi .top ul li {
	float: left;
	margin-left: 0;
	margin-right: 30px;
}
#footer_navi .top ul li a {
	padding: 5px 0px 5px 34px;
	background-size: 26px auto;
}
#footer_navi .under {
	padding-top: 0px;
	margin-top: 30px;
}
#fnav ul {
	float: none;
	margin-right: 0;
}
#fnav ul li {
	border-bottom: solid 1px #d3d3d3;
	float: none;
	margin-right: 0;
}
#fnav ul li a {
	padding: 14px 0;
	font-size: 14px;
}




#footer_end {
	padding: 25px 0;
}
#footer_end ul li {
	margin-right: 12px;
}
#footer_end ul li a {
	padding-right: 12px;
}
#footer_end .copyright {
	padding-top: 15px;
	text-align: left;
	font-size: 10px;
	clear: both;
}


}


