/*
Theme Name: SAKURA
*/


article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
	display: block;
}
audio[controls], canvas, video {
	display: inline-block;
*display: inline;
	zoom: 1;
}
html {
	overflow-y: scroll;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	font-size:14px;
}
body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, ul {
	margin: 0;
	padding: 0;
}
body, button, input, select, textarea {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
	font-size: 100%;
	color: #333333;
}
body {
	background-color:#FFFFFF;
}
a, a:link, a:active, a:visited {
	text-decoration: none;
	color: #333333;
}
a:hover {
	color: #0080CC;
	text-decoration: underline;
}
a:focus {
	outline: thin dotted;
}
a:hover, a:active {
	outline: 0;
}
abbr[title] {
	border-bottom: 1px dotted;
}
b, strong {
	font-weight: bold;
}
blockquote {
	margin: 1em 40px;
}
dfn {
	font-style: italic;
}
mark {
	background: #ff0;
	color: #000;
}
pre, code, kbd, samp {
	font-family: monospace, monospace;
	_font-family: 'courier new', monospace;
	font-size: 1em;
}
pre {
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}
q {
	quotes: none;
}
q:before, q:after {
	content: '';
	content: none;
}
small {
	font-size: 85%;
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}
ul, ol {
	margin: 0;
	padding: 0;
}

#contents li{
padding:1em 0 0 0;}

dd {
	margin: 0px;
}
nav ul, nav ol {
	list-style: none;
}
img {
	border: 0;
	-ms-interpolation-mode: bicubic;
}
svg:not(:root) {
	overflow: hidden;
}
figure {
	margin: 0;
}
form {
	margin: 0;
}
fieldset {
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}
legend {
	border: 0;
*margin-left: -7px;
}
button, input, select, textarea {
	font-size: 100%;
	margin: 0;
	vertical-align: baseline;
*vertical-align: middle;
}
button, input {
	line-height: normal;
 *overflow: visible;
}
button, input[type="button"], input[type="reset"], input[type="submit"] {
	cursor: pointer;
	-webkit-appearance: button;
}
input[type="checkbox"], input[type="radio"] {
	box-sizing: border-box;
}
input[type="search"] {
	-webkit-appearance: textfield;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
button::-moz-focus-inner, input::-moz-focus-inner {
border: 0;
padding: 0;
}
textarea {
	overflow: auto;
	vertical-align: top;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
address, caption, cite, code, dfn, em, strong, th, var {
	font-style: normal;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	font-size: 100%;
}
img, abbr, acronym, fieldset {
	border: 0;
}
li {
	list-style: none;
}
.ie6_error, .no_script {
	background:#F66;
	padding: 100px;
	text-align:center;
	font-size:150%;
	color:#333;
}
/*utility*/
.m05 {
	margin-bottom: 5px;
}
.m10 {
	margin-bottom: 10px;
}
.m12 {
	margin-bottom: 12px;
}
.m15 {
	margin-bottom: 15px;
}
.m20 {
	margin-bottom: 20px;
}
.m30 {
	margin-bottom: 30px;
}
.m40 {
	margin-bottom: 40px;
}
.m50 {
	margin-bottom: 50px;
}
.m60 {
	margin-bottom: 60px;
}
.mt05 {
	margin-top: 5px;
}
.mt10 {
	margin-top: 10px;
}
.mt12 {
	margin-top: 12px;
}
.mt15 {
	margin-top: 15px;
}
.mt20 {
	margin-top: 20px;
}
.mt30 {
	margin-top: 30px;
}
.mt40 {
	margin-top: 40px;
}
.mt50 {
	margin-top: 50px;
}
.mt60 {
	margin-top: 60px;
}
.ml05 {
	margin-left: 5px;
}
.ml10 {
	margin-left: 10px;
}
.ml12 {
	margin-left: 12px;
}
.ml15 {
	margin-left: 15px;
}
.ml20 {
	margin-left: 20px;
}
.ml30 {
	margin-left: 30px;
}
.ml40 {
	margin-left: 40px;
}
.ml50 {
	margin-left: 50px;
}
.ml60 {
	margin-left: 60px;
}
.mr05 {
	margin-right: 5px;
}
.mr10 {
	margin-right: 10px;
}
.mr15 {
	margin-right: 15px;
}
.mr20 {
	margin-right: 20px;
}
.mr30 {
	margin-right: 30px;
}
.mr40 {
	margin-right: 40px;
}
.mr50 {
	margin-right: 50px;
}
.mr60 {
	margin-right: 60px;
}
.pt05 {
	padding-top: 5px;
}
.pt10 {
	padding-top: 10px;
}
.pt15 {
	padding-top: 15px;
}
.pt20 {
	padding-top: 20px;
}
.pt30 {
	padding-top: 30px;
}
.pt40 {
	padding-top: 40px;
}
.pb05 {
	padding-bottom: 5px;
}
.pb10 {
	padding-bottom: 10px;
}
.pb15 {
	padding-bottom: 15px;
}
.pb20 {
	padding-bottom: 20px;
}
.pb30 {
	padding-bottom: 30px;
}
.pb40 {
	padding-bottom: 40px;
}
.pl05 {
	padding-left: 5px;
}
.pl10 {
	padding-left: 10px;
}
.pl15 {
	padding-left: 15px;
}
.pl20 {
	padding-left: 20px;
}
.pl30 {
	padding-left: 30px;
}
.pl40 {
	padding-left: 40px;
}
.pr05 {
	padding-right: 5px;
}
.pr10 {
	padding-right: 10px;
}
.pr15 {
	padding-right: 15px;
}
.pr20 {
	padding-right: 20px;
}
.pr30 {
	padding-right: 30px;
}
.pr40 {
	padding-right: 40px;
}
.flt {
	float: left;
}
.flr {
	float: right;
}
.txt_l, td.txt_l, .txt_l td {
	text-align: left;
}
.txt_r, td.txt_r, .txt_r td {
	text-align: right;
}
.txt_c, td.txt_c, .txt_c td {
	text-align: center;
}
.valign_t, td.valign_t, .valign_t td {
	vertical-align: top;
}
.valign_m, td.valign_m, .valign_m td {
	vertical-align: middle;
}
.valign_b, td.valign_b, .valign_b td {
	vertical-align: bottom;
}
.clear {
	clear: both;
}
.clearfix:before, .clearfix:after {
	content: "";
	display: block;
}
.clearfix:after {
	clear: both;
}
.clearfix {
	zoom: 1;
}
.img_bd {
	border:solid 1px #E8E8E8;
}
.c_red {
	color:#FF3425
}



#wrapper {
	width:100%;
	font-size:100%;
	line-height: 180%;
}
#header {
	background: none;
	width:100%;
	height:142px;
}
#header_inner {
	width: 960px;
	height: 142px;
	margin: 29px auto 0 auto;
	position: relative;
}
#header h1 {
	width: 623px;
	height: 115px;
	position: absolute;
	top: 0;
	left: 0;
}
.logo {
	width: 623px;
	height: 115px;
	position: absolute;
	bottom:0px;
	left:0px;
}

.header_nav {
	width: 35px;
	height: 62x;
	position: absolute;
	top: 70px;
	right: 295px;
}
.header_nav li {
	float: left;
}
.header_nav li a {
	background: none;
	padding-left:0;
}
.header_nav .header_nav01 {
	margin-right:0;
}

.header_info {
	width: 255px;
	height: 114px;
	position: absolute;
	right: 0px;
}
.header_info li {
	float: left;
}
.header_tel {
	width:255px;
	height:81px;
}
.header_infobtn a {
	background: url(/images/header_contact.png) no-repeat 0px 0px;
	height: 0px;
	width: 257px;
	padding-top: 32px;
	overflow: hidden;
	float:left;
}
.header_infobtn a:hover {
	background: url(/images/header_contact.png) no-repeat 0px -32px;
}

/* ------ Mainvisual ------ */

#mainvisual {
	width: 100%;
	height: 333px;
}

.row {
	max-width: 960px;
	margin: 0 auto;
	overflow:hidden;
}
.row:after {
	content: "";
	display: block;
	clear: both;
}

#mainvisual ul {
	position: relative;
}

#mainvisual ul li {
	display: none;
	position: absolute;			/* 背面の画像にはposition: absoluteを指定 */
	z-index: 1;				/* 背面の画像のz-indexを1に指定 */
	width: 100%;
	left:50%;
	margin-left:-480px;					/* 背面の画像をtop: 0に移動し、画像を重ねる */
}
#mainvisual ul li:first-child {
	display: block;
	position: relative;			/* 前面の画像にはposition: relativeを指定 */
	z-index: 1000;				/* 前面の画像のz-indexを1000に指定 */
}


#nav {
	background: url(/images/nav_bg.png) repeat-x left top;
	width: 100%;
	height: 36px;
	margin-bottom:0px;
}
#nav ul {
	width: 960px;
	height: 36px;
	margin-right: auto;
	margin-left: auto;
}
#nav ul li {
	width:160px;
	height: 36px;
	float: left;
}
#nav ul a {
	background:url(/images/nav.png) no-repeat left top;
	width: 160px;
	height: 0px;
	display: block;
	overflow: hidden;
	padding-top: 36px;
	line-height: 36px;
}
#nav ul .nav01 a {
	background-position: 0px 0px;
}
#nav ul .nav02 a {
	background-position: -160px 0px;
}
#nav ul .nav03 a {
	background-position: -320px 0px;
}
#nav ul .nav04 a {
	background-position: -480px 0px;
}
#nav ul .nav05 a {
	background-position: -640px 0px;
}
#nav ul .nav06 a {
	background-position: -800px 0px;
}

#nav ul .nav01c a, #nav ul .nav01 a:hover {
	background-position: 0px -36px;
}
#nav ul .nav02c a, #nav ul .nav02 a:hover {
	background-position: -160px -36px;
}
#nav ul .nav03c a, #nav ul .nav03 a:hover {
	background-position: -320px -36px;
}
#nav ul .nav04c a, #nav ul .nav04 a:hover {
	background-position: -480px -36px;
}
#nav ul .nav05c a, #nav ul .nav05 a:hover {
	background-position: -640px -36px;
}
#nav ul .nav06c a, #nav ul .nav06 a:hover {
	background-position: -800px -36px;
}


#contents {
	width: 960px;
	margin-right: auto;
	margin-left: auto;
	overflow:hidden;
	padding-top:32px
}
#content_left {
	width: 620px;
	float:left;
}

.bnr_01 {
	width: 596px;
	height:108px;
	padding:0 14px 28px 10px;
}

.news_box {
	width: 586px;
	float: left;
	border-top:1px solid #d4d4d4;
	padding:33px 0 30px 10px;
	margin-left:10px;

}
.news_box .head {
	float:left;
	width: 50px;
	padding-right:30px;
}

.news_box .inner {
	float:left;
	width:492px;

}



#content_right {
	width: 340px;
	height 286px;
	float: right;
}

.bnr_side{
	width:270px;
	border:1px solid #b0b0b0;
	margin:0px 10px 23px 25px;
	padding:15px 17px 5px 13px;	
	border-radius: 5px;		/* CSS3草案 */
	-webkit-border-radius: 5px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 5px;	/* Firefox用 */
}
.bnr_book{
	width:323px;
	margin:0px 10px 0px 0px;
	-webkit-border-radius: 5px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 5px;	/* Firefox用 */
}

.bnr_title{
	margin-bottom:10px;}

.bnrs li{
	margin-bottom:10px;}

#footer {
	background: url(/images/footer_bg.png) repeat-x;
	width: 100%;
	height: 150px;
	margin-top:30px;
}
#footer_inner {
	width: 940px;
	height: 80px;
	margin:0 auto;
	position: relative;
	text-align:center;
}

.footer_nav {
	position: absolute;
	top: 25px;
	left: 0;
	right: 0;
}

.footer_nav li {
	display: inline-block
}
.footer_nav .nav_sp {
	margin-right:0.5em;
}
.footer_nav li a {
	color:#000;

}

.copyright{
	position: absolute;
	top: 70px;
	left: 0;
	right: 0;
}





#contents_company {
	width: 960px;
	margin-right: auto;
	margin-left: auto;
	overflow:hidden;
	padding-top:32px
}

#contents_company h3{
	clear:both;
	margin:17px 0 15px 0;
	background: url(/images/arrow_18.png) no-repeat;
	padding-left:22px;
	border-bottom:1px solid #afafaf;
	padding-bottom:6px;
}

#contents_company p{
	padding:0 0 0.6em 0;
}

#contents_company .right{
	padding:0 0 0 1em;
	float:right;
}


#contents_company ol{
	padding:0.5em 0;
}

#contents_company ol li{
	padding-left:2em;
}

table.company th{
	width:10em;
	text-align:left;
	vertical-align:top;
	font-weight:normal;
}

#map{
	float:right;
	border:1px solid #4a4847;
}

#contents_service {
	width: 960px;
	margin-right: auto;
	margin-left: auto;
	overflow:hidden;
	padding-top:32px
}

div.service {
	clear:both;
	width: 960px;
	background-color:#f2f2f2;
	margin:1em 0;
	padding:15px;
	overflow: auto;
}

div.service_left{
	float:left;
	width:240px;
}

div.service_left h3{
	float:left;
	background: url(/images/arrow_21.png) no-repeat;
	padding-left:25px;
	padding-bottom:6px;
}

div.service_left img.illust{
	margin:0 0 0 60px;
}

div.service_left img.illust2{
	margin:0 0 0 47px;
}

div.service2 {
	clear:both;
	width: 910px;
	background-color:#379fce;
	text-align:center;
	color:#fff;
	margin:1em 0;
	padding:25px;
}


div.service_right{
	float:left;
	width:670px;
}

div.service_right h4{
	float:left;
	width:680px;
	border-bottom:1px solid #afafaf;
	padding-bottom:6px;}

div.service_right dl{
	width:225px;
	float:left;
	margin:0.7em 0 0 0;}

div.service_right dl.right{
	width:auto;
	float:right;
	margin:0.7em 0 0 0;
}

#contents_work {
	width: 960px;
	margin-right: auto;
	margin-left: auto;
	overflow:hidden;
	padding-top:32px
}

#contents_work h3{
	float:left;
	background: url(/images/arrow_21.png) no-repeat;
	padding-left:25px;
	padding-bottom:6px;
	border-bottom:2px double #0f4a91;
	width:940px;
	margin:1em 0 0.7em 0;
}

div.work {
	clear:both;
	width: 960px;
	background-color:#f2f2f2;
	margin:1em 0;
	padding:20px;
	overflow: auto;
}

div.work h4{
	font-size:100%;
	font-weight:bold;
	margin:0;
}

div.work h5{
	border-top:1px solid #a6a6a6;
	width:920px;
	margin:1em 0 0 0;
	padding:1em 0 0 0;
}

div.work a{
	color:#0068b7;
	
}

#contents_estate {
	width: 960px;
	margin-right: auto;
	margin-left: auto;
	overflow:hidden;
	padding-top:32px
}

div.estate {
	clear:both;
	width: 900px;
	background-color:#f1f8f9;
	margin:3em 0;
	padding:20px 40px 20px 20px;
	overflow: auto;
	border-radius: 20px;		/* CSS3草案 */
	-webkit-border-radius: 20px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 20px;	/* Firefox用 */	

}

div.estate li{
	margin:0 0 0 30px;
	list-style-image: url(/images/arrow_15.png) ;
	line-height:2.5em;
}

span.ex{
	font-size:80%;
}

div.estate img.right{
	float:right;
	}

#contents_inhe {
	width: 960px;
	margin-right: auto;
	margin-left: auto;
	overflow:hidden;
	padding-top:32px
}

#contents_inhe h3{
	margin:0 0 20px 83px;
}

#contents_inhe h4{
	clear:both;
	width: 960px;
	background-color:#c6e3f0;
	text-align:center;
	height:42px;
	padding-top:15px;
	margin:0 0 15px 0;	
}

table.inhe01{
margin-bottom:30px;
border-bottom:1px solid #202020;
width:960px;
}

table.inhe01 th{
padding:1em 2em 1em 0;
border:1px solid #202020;
border-left:0px solid #202020;
}

table.inhe01 th.dot{
padding:1em 2em 1em 0;
border-right:1px dashed #202020;
border-left:0px solid #202020;
}

table.inhe01 td{
padding:0.7em 1.4em;
border-top:1px solid #202020;
border-left:0px solid #202020;
}

table.inhe01 td.fimg{
}

table.inhe01 td.top{
vertical-align:top;
}

table.inhe01a{
border:1px solid #202020;
padding:0;
}

table.inhe01a td{
width:180px;
line-height:1.5em;
padding:0.5em;
vertical-align:top;}

table.inhe02{
margin-bottom:30px;
border:2px solid #707070;
width:960px;
margin-top:1em;
}

table.inhe02 th{
border:1px solid #c0c0c0;
border-right:2px solid #707070;
width:15em;
text-align:left;
padding:1em;
vertical-align:center;
}

table.inhe02 td{
border:1px solid #c0c0c0;
text-align:left;
padding:1em;
}

table.inhe02 th.f2{
background-color:#ebebeb;
border:2px solid #707070;
text-align:center;
font-weight:bold;
font-size:120%;
padding:0.2em;
}

table.inhe02 .f3{
background-color:#ebebeb;
border:2px solid #707070;
text-align:center;
padding:0.2em;
}

#contents_inhe u{
text-decoration: none;
border-bottom: double #000;
font-size:150%;}

#contents_inhe .right{
float:right;
}

div.inhe_left{
float:left;
width:470px;
margin:0 10px 30px 0;
}

div.inhe_right{
float:left;
width:470px;
margin:0 0 0 10px;
}

table.inhe03a{
width:470px;
border:2px solid #707070;
}

table.inhe03b{
width:470px;
float:right;
border:2px solid #707070;
margin-bottom:1em;
}

table caption{
text-align:right;
vertical-align: bottom;
height:6em; }

table.inhe03a th,.inhe03b th{
border:1px solid #c0c0c0;
border-right:1px solid #707070;
border-left:1px solid #707070;
width:15em;
text-align:center;
padding:0.5em;
vertical-align:center;
}

table.inhe03a td,.inhe03b td{
border-bottom:1px solid #c0c0c0;
border-right:1px solid #707070;
text-align:center;
padding:0.5em;
}


table.inhe03a th.f2,.inhe03b th.f2{
background-color:#ebebeb;
border:1px solid #707070;
text-align:center;
font-weight:bold;
font-size:120%;
padding:0.2em;
}

table.inhe03a .f3,.inhe03b .f3{
background-color:#ebebeb;
border:1px solid #707070;
text-align:center;
padding:0.2em;
}

p.small{
font-size:80%;
margin:1em 0;
line-height:1.5em;
}