@charset "UTF-8";

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

	1. Common Format

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/* ==============================================================================

	1.1 Reset

============================================================================== */

html,body,h1,h2,h3,h4,h5,h6,div,p,li,dl,dt,dd,table,th,td,form{
	margin: 0;
	padding: 0;
}
h1,h2,h3,h4,h5,h6{font-size:14px;}
ul{list-style: none; margin: 0; padding: 0;}
ol{list-style: decimal; margin: 0 0 0 1.9em; padding: 0;}
img{text-decoration: none; border: 0; vertical-align:bottom;}
hr{display: none;}
table{border-collapse: collapse;}
th,td{vertical-align:top;}
caption,th{text-align: left;}
button{background: none; border: none; margin: 0; padding: 0; cursor: pointer;}


/* ==============================================================================

	1.2 global

============================================================================== */

body, th, td, textarea{
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック", sans-serif;
	font-size: 14px;
	line-height: 1.2;
	color: #333333;
}

body {
	text-align: center;
	background: url(../img/bg.png) repeat-x #fff;
}

.container {
	text-align: left;
	width: 900px;
	margin: 0 auto;
}

a {
	text-decoration: underline;
	color: #112395;
}
a:hover {
	text-decoration: none;
}

.arrow01 {
	background: url(../img/arrow01.png) no-repeat left;
	padding-left: 18px;
}


/* ==============================================================================

	1.3 header

============================================================================== */

#header {
	text-align: left;
	height: 123px;
	margin-bottom: 10px;
	overflow: hidden;
	position: relative;
}

#logo {
	padding: 25px 0 13px 0;
}

#hnav {
	font-size: 12px;
	position: absolute;
	top: 49px;
	right :0;
	display: inline-block;
}
#hnav:after{clear: both; display: block; content: "."; visibility: hidden; height: 0;}
/* Hides from IE-mac \*/
* html #hnav {height: 1%;}
#hnav {display: block;}
/* End hide from IE-mac */

#hnav li {
	padding-left: 12px;
	float: left;
}

#hnav li a {
	line-height: 1.1;
	text-decoration: none;
	background-image: url(../img/arrow01.png);
	background-repeat: no-repeat;
	background-position: left center;
	padding: 0.1em 0 0 18px;
	display: inline;
}
#hnav li a:hover {
	color: #666;
	background-image: url(../img/arrow02.png);
}


/* ------------------------------------------------------------------------------

	1.3.1 gnav

------------------------------------------------------------------------------ */

#gnav {
	height: 40px;
	display: inline-block;
}
#gnav:after{clear: both; display: block; content: "."; visibility: hidden; height: 0;}
/* Hides from IE-mac \*/
* html ul#gnav {height: 1%;}
ul#gnav {display: block;}
/* End hide from IE-mac */

#gnav li {
	float: left;
}
#gnav li a {
	text-indent: -9999px;
	background-image: url(../img/gnav.png);
	background-repeat: no-repeat;
	width: 180px;
	height: 40px;
	overflow: hidden;
	display: block;
	float: left;
}
#gnav li.gnav_home a { background-position: 0 0; }
#gnav li.gnav_home a.stay { background-position: 0 -80px; }
#gnav li.gnav_home a:hover { background-position: 0 -40px; }
#gnav li.gnav_service a { background-position: -180px 0; }
#gnav li.gnav_service a.stay { background-position: -180px -80px; }
#gnav li.gnav_service a:hover { background-position: -180px -40px; }
#gnav li.gnav_aboutus a { background-position: -360px 0; }
#gnav li.gnav_aboutus a.stay { background-position: -360px -80px; }
#gnav li.gnav_aboutus a:hover { background-position: -360px -40px; }
#gnav li.gnav_case a { background-position: -540px 0; }
#gnav li.gnav_case a.stay { background-position: -540px -80px; }
#gnav li.gnav_case a:hover { background-position: -540px -40px; }
#gnav li.gnav_news a { background-position: -720px 0; }
#gnav li.gnav_news a.stay { background-position: -720px -80px; }
#gnav li.gnav_news a:hover { background-position: -720px -40px; }



/* ==============================================================================

	1.5 main

============================================================================== */

#main {
	padding-bottom: 15px;
	display: inline-block;
}
#main:after {clear: both; display: block; content: "."; visibility: hidden; height: 0;}
/* Hides from IE-mac \*/
* html #main {height: 1%;}
#main {display: block;}
/* End hide from IE-mac */


/* gotoPagetop
------------------------------------------------------------------------------ */
.goto_pagetop {
	text-align: right;
	padding-bottom: 10px;
}



/* ==============================================================================

	1.6 content

============================================================================== */

#content {
	width: 630px;
	float: left;
}

.ttl {
	margin-bottom: 18px;
}
.ttl_txt {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.1;
	color: #333333;
	background: url(../img/ttl_txt.png) no-repeat left bottom;
	margin-bottom: 18px;
	padding: 0 0 10px 0;
}

.sttl {
	margin-bottom: 10px;
}
.sttl_txt {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.1;
	color: #112395;
	border-left: 4px solid #112395;
	margin-bottom: 10px;
	padding: 2px 0 2px 10px;
}

.ssttl_txt {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.1;
	border-left: 3px solid #786ab7;
	margin-bottom: 10px;
	padding: 2px 0 2px 10px;
}

.section { margin: 0 5px 25px 5px; display: inline-block; }
.section:after{clear: both; display: block; content: "."; visibility: hidden; height: 0;}
/* Hides from IE-mac \*/
* html .section {height: 1%;}
.section {display: block;}
/* End hide from IE-mac */

.txt {
	line-height: 1.5;
	margin-bottom: 0.7em;
}


/* ------------------------------------------------------------------------------

	1.4 page_header

------------------------------------------------------------------------------ */

#page_header {
	position: relative;
	margin-bottom: 25px;
}

#pagettl {
	height: 110px;
}

#breadcrumb {
	color: #333;
	position: absolute;
	top: 89px;
	left: 15px;
}
#breadcrumb li {
	font-size: 11px;
	display: inline;
}
#breadcrumb li a {
	text-decoration: underline;
}
#breadcrumb li a:hover {
	text-decoration: none;
}
#breadcrumb li strong {
	font-weight: normal;
}


/* ------------------------------------------------------------------------------

	1.6 one_columns

------------------------------------------------------------------------------ */

.one_column #content {
	margin: 0 auto;
	float: none;
}

.one_column #page_header {
	padding: 15px 0 0 0;
}
.one_column #breadcrumb {
	position: absolute;
	top: 105px;
	left: 15px;
}


/* ==============================================================================

	1.7 side

============================================================================== */

#side {
	width: 230px;
	float: right;
	display: block;
}

#side_inquiry {
	margin-bottom: 18px;
}

/* ------------------------------------------------------------------------------

	1.7.1 lnav

------------------------------------------------------------------------------ */

#lnav {
	border: 3px solid #ccc;
	margin-bottom: 10px;
	padding-bottom: 10px;
}
#lnav ul {
	border-top: 1px solid #ccc;
	margin: 0 13px;
}
#lnav li {
	font-size: 12px;
	border-bottom: 1px solid #ccc;
	display: block;
}
#lnav li a {
	text-decoration: none;
	background: url(../img/arrow01.png) no-repeat right center;
	padding: 8px 0;
	display: block;
}
#lnav li a:hover,
#lnav li a.stay {
	color: #666;
	background: url(../img/arrow02.png) no-repeat right center;
}


/* ------------------------------------------------------------------------------

	1.7.2 side_service

------------------------------------------------------------------------------ */

#side_service ul {
	padding-bottom: 5px;
}
#side_service li {
	margin-bottom: 5px;
}

/* ------------------------------------------------------------------------------

	1.7.3 side_bnr

------------------------------------------------------------------------------ */

#side_links li {
	margin-bottom: 5px;
}
#side_links {
	padding-bottom: 5px;
}

/* ------------------------------------------------------------------------------

	1.7.4 side_aboutus

------------------------------------------------------------------------------ */

#side_aboutus {
	font-size: 12px;
	background-color: #f1f0f9;
	border: 3px solid #ccc;
	margin-bottom: 10px;
	padding: 5px;
}

#side_aboutus dt {
	font-weight: bold;
	color: #112395;
	background-color: #fff;
	padding: 4px 7px;
	margin: 5px 0;
}
#side_aboutus dd {
	padding: 0 7px 0.3em 7px;
}


/* ==============================================================================

	1.8 footer

============================================================================== */

#footer {
	font-size: 12px;
	border-top: 3px solid #ccc;
	display: inline-block;
	padding: 12px 0;
}
#footer:after{clear: both; display: block; content: "."; visibility: hidden; height: 0;}
/* Hides from IE-mac \*/
* html #footer {height: 1%;}
#footer {display: block;}
/* End hide from IE-mac */

#footer_address {
	width: 310px;
	float: left;
	display: block;
}
#footer_right {
	width: 550px;
	float: right;
}
#fnav {
	text-align: right;
	color: #666;
	padding-top: 20px;
}
#fnav li {
	display: inline;
}
#fnav li a {
	color: #666;
	text-decoration: none;
}
#fnav li a:hover {
	text-decoration: underline;
}

#copyright {
	text-align: right;
	padding-top: 3px;
/*		padding-top: 42px; */
}


/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

	2. Page Layout

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */


/* ==============================================================================

	2.0 home

============================================================================== */

/* ------------------------------------------------------------------------------

	2.0.1 home_featured

------------------------------------------------------------------------------ */

#home_kv {
	margin-bottom: 20px;
}

/* ------------------------------------------------------------------------------

	2.0.2 home_case

------------------------------------------------------------------------------ */

#home_case li {
	width: 200px;
	padding-bottom: 15px;
	float: left;
}
#home_case li.home_case_center {
	margin: 0 15px;
}
#home_case li p {
	font-size: 12px;
	font-weight: bold;
	padding-top: 5px;
}


/* ==============================================================================

	2.1 service

============================================================================== */

.service_box {
	background: url(../../service/img/service_box_bg.png) repeat-x;
	border: 1px solid #ccc;
	width: 298px;
	min-height: 160px;
	margin-bottom: 20px;
	position: relative;
}

.service_box_left {
	float: left;
}
.service_box_right {
	float: right;
}

.service_box .service_box_pic {
	position: absolute;
	top: 10px;
	left: 10px;
}

.service_box h3 {
	font-size: 16px;
	color: #112395;
	margin: 20px 10px 10px 125px;
}
.service_box ul {
	margin: 0 10px 10px 140px;
}
.service_box ul li {
	list-style: disc;
	padding-bottom: 0.2em;
}

/* ------------------------------------------------------------------------------

	2.1.2 merit

------------------------------------------------------------------------------ */
#merit01_list {
	margin-bottom: 1em;
}

#merit01_list li {
	text-align: center;
	float: left;
}
#merit01_list p {
	padding-top: 0.5em;
}
#merit01_list02 {
	padding: 0 10px;
}

#merit02_list li {
	margin-bottom: 25px;
}
#merit02_list h3 {
	font-size: 16px;
	color: #112395;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	margin-bottom: 12px;
	padding: 3px 0;
}
.merit02_txt {
	width: 370px;
	float: left;
}
.merit02_img {
	display: block;
	float: right;
}


/* ==============================================================================

	2.2 aboutus

============================================================================== */

/* ------------------------------------------------------------------------------

	2.2.1 outline

------------------------------------------------------------------------------ */

#aboutus_outline {
	border-top: 1px solid #cccccc;
	width: 100%;
}
#aboutus_outline th {
	font-weight: normal;
	white-space: nowrap;
	background-color: #f1f1f9;
	border-bottom: 1px solid #cccccc;
	padding: 10px 15px;
}
#aboutus_outline td {
	border-bottom: 1px solid #cccccc;
	padding: 10px 15px;
}

#aboutus_outline td li {
	padding-bottom: 0.2em;
}

#aboutus_outline table.aboutus_outline_child {
	width: auto;
}
#aboutus_outline .aboutus_outline_child th,
#aboutus_outline .aboutus_outline_child td {
	border: none;
	background: none;
	padding: 0 15px 0.3em 0;
}

/* ------------------------------------------------------------------------------

	2.2.3 permit

------------------------------------------------------------------------------ */
.permit_list li {
	margin-bottom: 0.5em;
}


/* ==============================================================================

	2.3 case

============================================================================== */

.case_tbl {
	width: 100%;
}
.case_tbl th,
.case_tbl td {
	vertical-align: middle;
	border: 1px solid #cccccc;
	padding: 10px;
}
.case_tbl th {
	font-weight: normal;
	text-align: center;
	white-space: nowrap;
	background-color: #f1f1f9;
}

.case_tbl td {
	font-size: 13px;
}
.case_tbl_client {
	white-space: nowrap;
}
.case_tbl_place {
	white-space: nowrap;
	text-align: center;
}
.case_tbl_date {
	white-space: nowrap;
	text-align: right;
}


/* ==============================================================================

	2.X news

============================================================================== */

.newslist dt {
	font-weight: bold;
	color: #666;
	margin-bottom: 0.2em;
	padding: 0 0 0.5em 0;
	width: 110px;
	float: left;
	clear: both;
}
.newslist dd {
	margin-bottom: 0.2em;
	padding: 0 0 0.5em 110px;
}


/* ==============================================================================

	2.X inquiry

============================================================================== */

.form_tbl {
	border-top: 1px solid #ccc;
	width: 100%;
	margin-bottom: 20px;
}
.form_tbl th,
.form_tbl td {
	border-bottom: 1px solid #ccc;
	padding: 10px;
}
.form_tbl th {
	background-color: #f1f1f9;
	width: 140px;
}

.form_comment {
	font-size: 12px;
	color: #666666;
	margin-bottom: 0.3em;
}

.input_btn {
	text-align: center;
}
.input_btn button {
	margin: 0 8px;
	padding: 0;
}


.btn_form {
	width: 300px;
}
.btn_goto {
	width: 300px;
}
.btn_back {
	width: 240px;
}

#error_info {
	background-color: #ffffcc;
	margin-bottom: 20px;
	padding: 10px 20px;
}
#error_info ul {
	color: #f00;
	list-style: disc;
	margin-left: 2em;
}

.inquiry_privacy_txt {
	text-align: center;
	margin-bottom: 0.8em;
}

#inquiry_thanks_massage {
	font-size: 20px;
	padding: 15px 0 20px 0;
}



/* ==============================================================================

	2.X privacy

============================================================================== */

#privacy_list {
	list-style: decimal;
	margin-left: 2.5em;
}
#privacy_list h3 {
	padding-bottom: 0.5em;
}
#privacy_list ul {
	list-style: disc;
	margin: 0 0 1em 1.5em;
}


/* ==============================================================================

	2.X sitemap

============================================================================== */

.sitemap_list {
	line-height: 1.3;
	padding: 0 0 0 25px;
}
.sitemap_list li{
	list-style: square;
	margin-bottom: 1em;
}
.sitemap_list .sitemap_listChild ul {
	margin: 1em 0 0 15px;
}
.sitemap_list .sitemap_listChild ul li {
	list-style: disc;
	margin-bottom: 0.3em;
}
.sitemap_list .sitemap_listChild02 ul {
	margin: 0.5em 0 0.5em 20px;
}
.sitemap_list .sitemap_listChild02 ul li {
	list-style: circle;
	margin-bottom: 0.3em;
}


/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

	3. Other Styles

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/* ------------------------------------------------------------------------------

	3.1 font

------------------------------------------------------------------------------ */

.fs11px { font-size: 11px; }
.fs12px { font-size: 12px; }
.fs14px { font-size: 14px; }
.fs16px { font-size: 16px; }

.fw_bold { font-weight: bold;}
.fw_normal { font-weight: normal;}

/* ------------------------------------------------------------------------------

	3.2 float align

------------------------------------------------------------------------------ */

.clearfix { display: inline-block; }
.clearfix:after{clear: both; display: block; content: "."; visibility: hidden; height: 0;}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */

.clear_both { clear:both; }

.align_left { text-align: left; }
.align_center { text-align: center; }
.align_right { text-align: right; }

.valign_top { vertical-align: top; }
.valign_middle { vertical-align: middle; }
.valign_bottom { vertical-align: bottom; }

.fl_left { float: left; }
.fl_right { float: right; }

.img_left { float: left; margin: 0 15px 15px 0; }
.img_right { float: right; margin: 0 0 15px 15px; }


/* ------------------------------------------------------------------------------

	3.3 ul ol

------------------------------------------------------------------------------ */

.ul_disc {
	list-style: disc;
	margin-bottom: 1em;
	margin-left: 1.9em;
}

/* ------------------------------------------------------------------------------

	3.4 width height

------------------------------------------------------------------------------ */

.w100px { width: 100px; }
.w150px { width: 150px; }
.w200px { width: 200px; }
.w250px { width: 250px; }
.w300px { width: 300px; }
.w400px { width: 400px; }
.h150px { height: 150px; }
.h200px { height: 200px; }

/* ------------------------------------------------------------------------------

	3.5 color

------------------------------------------------------------------------------ */
.cl_f00 { color: #f00; }
.cl_blue { color: #112395; }


/* ------------------------------------------------------------------------------

	3.X other

------------------------------------------------------------------------------ */
.hidden { visibility: hidden; }



/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

	4. Plugin Styles

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

.clickable_box { cursor: pointer; }

a.loupe01 {
	display: block;
	position: relative;
	cursor: pointer;
}
a.loupe01 span {
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 53px;
	height: 19px;
	background-color: #333;
	z-index: 2;
}
a.loupe01 span img {
	vertical-align: top;
}


/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

	5. Media Styles

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/* ------------------------------------------------------------------------------

	5.2 print

------------------------------------------------------------------------------ */

@media print {
	div.container { background: #fff; }
}
