
body { min-width: 1050px; }
header { 
	width: 980px; 
	margin: 0 auto; 
}
header .top { margin: 10px 0 15px; }
header .top h1 { 
	font-size: 12px; 
	font-weight: normal; 
	margin: 0; 
	width: 670px; 
	float: left; 
	margin: 0; 
}
header .top ul { 
	width: 310px; 
	float: left; 
	text-align: right; 
}
header .top ul li { 
	background: url(/img/header_arrow.gif) no-repeat left center; 
	display: inline-block; 
	padding: 0 0 0 12px; 
}
header .top ul li a { color: #333333; }
header .top ul li+li { margin: 0 0 0 15px; }
header .bottom h2 { 
	background: url(/img/logo.gif) no-repeat; 
	width: 394px; 
	height: 66px; 
	float: left; 
	margin: 5px 0 0; 
}
header .bottom h2 a { 
	display: block; 
	width: 100%; 
	height: 100%; 
}
header .bottom h2 a span { 
	display: none; 
	　: ; 
}
header .bottom dl { 
	width: 194px; 
	float: right; 
}
header .bottom dl dt { 
	font-family: 'Playfair Display', serif; 
	font-size: 26px; 
	line-height: 26px; 
	padding: 0 0 0 25px; 
	margin: 0 0 10px; 
	letter-spacing: 0.01em; 
	background: url(/img/header_tel.gif) no-repeat 5px 8px; 
	text-align: center; 
}
nav { 
	margin: 25px 0 0; 
	background: url(/img/nav_back.gif); 
}
nav .inner { 
	margin: 0 auto; 
	width: 1000px; 
}
nav ul { 
	width: 1000px; 
	margin: 0 auto; 
}
nav li { 
	float: left; 
	height: 74px; 
}
nav h3 { 
	height: 74px; 
	background-repeat: no-repeat; 
	margin: 0; 
}
nav a { 
	display: block; 
	width: 100%; 
	height: 100%; 
}
nav span { display: none; }
nav .nav1 h3 { 
	width: 193px; 
	background-image: url(/img/nav1.gif); 
}
nav .nav1 h3 a:hover { 
	background-image: url(/img/nav1b.gif); 
	padding: -5px 0 0 0; 
}
nav .nav2 h3 { 
	width: 193px; 
	background-image: url(/img/nav2.gif); 
}
nav .nav2 h3 a:hover { background-image: url(/img/nav2b.gif); }
nav .nav3 h3 { 
	width: 192px; 
	background-image: url(/img/nav3.gif); 
}
nav .nav3 h3 a:hover { background-image: url(/img/nav3b.gif); }
nav .nav4 h3 { 
	width: 192px; 
	background-image: url(/img/nav4.gif); 
}
nav .nav4 h3 a:hover { background-image: url(/img/nav4b.gif); }
nav .nav5 h3 { 
	width: 230px; 
	background-image: url(/img/nav5.gif); 
}
nav .nav5 h3 a:hover { background-image: url(/img/nav5b.gif); }
#top_mainimage { 
	text-align: center; 
	padding: 0 0 20px; 
	background: url(/img/top_mainimage_bg.jpg) no-repeat center top; 
	background-size: 100% 100%; 
}
footer .pagetop { 
	margin: 100px 0 0; 
	background: url(/img/pagetop_back.gif); 
	height: 21px; 
	position: relative; 
	z-index: 12; 
}
footer .pagetop .inner { 
	width: 920px; 
	margin: 0 auto; 
	position: relative; 
}
footer .pagetop .inner img { 
	position: absolute; 
	top: -24px; 
	right: 0; 
}
footer .main { 
	background: url(/img/footer_back.gif); 
	padding: 30px 0; 
}
footer .main .inner { 
	width: 980px; 
	margin: 0 auto; 
}
footer .main .inner .logo { margin: 5px 0 8px; }
footer .main .inner .detail { 
	width: 310px; 
	float: left; 
}
footer .main .inner .detail table { font-size: 14px; }
footer .main .inner .detail table th { 
	font-weight: normal; 
	text-align: left; 
	padding: 4px 0 0; 
}
footer .main .inner .detail table td { padding: 4px 0 0; }
footer .main .inner .list { 
	width: 378px; 
	float: left; 
	border-left: 1px solid #dcdcdc; 
	border-right: 1px solid #dcdcdc; 
	padding: 4px 0; 
}
footer .main .inner .list .left { 
	width: 190px; 
	float: left; 
	margin: 0 0 0 18px; 
}
footer .main .inner .list .right { 
	width: 170px; 
	float: left; 
}
footer .main .inner .list ul li { 
	font-size: 14px; 
	background: url(/img/footer_circle1.png) no-repeat left center; 
	padding: 0 0 0 20px; 
}
footer .main .inner .list ul li a { color: #333333; }
footer .main .inner .list ul li.even { background: url(/img/footer_circle2.png) no-repeat left center; }
footer .main .inner .list ul li+li { margin: 15px 0 0; }
footer .main .inner .list ul li.sub { 
	font-size: 12px; 
	background: url(/img/footer_arrow.png) no-repeat left center; 
	margin: 0 0 0 20px; 
	padding: 0 0 0 15px; 
}
footer .main .inner .list ul li.sub+li.sub { margin-top: 3px; }
footer .main .inner .list ul li+li.sub { margin-top: 8px; }
footer .main .inner .contact { 
	width: 290px; 
	float: left; 
	text-align: center; 
}
footer .main .inner .contact dt { 
	background: url(/img/footer_tel.png) no-repeat 25px 15px; 
	font-family: 'Playfair Display', serif; 
	font-size: 32px; 
	line-height: 32px; 
	padding: 10px 0 25px 35px; 
}
footer .main .inner .contact .sdgs ul { 
	padding: 2.5em 0 0; 
	display: flex; 
	justify-content: center; 
}
footer .main .inner .contact .sdgs ul li+li { margin-left: 1em; }
footer .main .inner .contact .sdgs .goals { 
	text-align: center; 
	padding: 1em 0; 
}
footer .main .inner .area dt { font-size: 14px; }
footer .main .inner .area dd { padding: 3px 0 0 10px; }
footer >p { 
	margin: 0; 
	background: #1e3764; 
	color: #ffffff; 
	text-align: center; 
	border-bottom: 5px solid #0f2143; 
	padding: 10px 0; 
}
.top_case { 
	background: url(/img/top_case_back.jpg) center top; 
	background-size: 100% 100%; 
	padding: 30px 0; 
}
.top_case .inner { 
	width: 1000px; 
	margin: 0 auto; 
}
.top_case dl.title { 
	width: 960px; 
	margin: 0 auto 30px; 
}
.top_case dl.title dt { 
	width: 710px; 
	float: left; 
	background: url(/img/top_case_line.png) no-repeat right center; 
	margin: 0 26px 0 0; 
}
.top_case dl.title dd { 
	width: 224px; 
	float: left; 
}
.top_case ul li { 
	width: 172px; 
	float: left; 
}
.top_case ul li .img { margin: 0 0 15px; }
.top_case ul li .category { 
	font-size: 14px; 
	line-height: 28px; 
	text-align: center; 
	background: #ffffff; 
	border: 1px solid #dfdfdf; 
	margin: 0 0 15px; 
	-webkit-box-shadow: inset 0 0 0 2px #ffffff; 
	-moz-box-shadow: inset 0 0 0 2px #ffffff; 
	box-shadow: inset 0 0 0 2px #ffffff; 
	background-image: -webkit-linear-gradient(bottom, #ededed, #ffffff 49%); 
	background-image: -moz-linear-gradient(bottom, #ededed, #ffffff 49%); 
	background-image: -o-linear-gradient(bottom, #ededed, #ffffff 49%); 
	background-image: -ms-linear-gradient(bottom, #ededed, #ffffff 49%); 
	background-image: linear-gradient(to top, #ededed, #ffffff 49%); 
}
.top_case ul li dl dt { 
	text-align: center; 
	font-size: 16px; 
	padding: 0 0 10px; 
	border-bottom: 1px dotted #272727; 
}
.top_case ul li dl dd { 
	text-align: center; 
	font-size: 14px; 
	line-height: 22px; 
	padding: 10px 5px 0; 
}
.top_case ul li dl dd a { color: #333333; }
.top_case ul li+li { margin: 0 0 0 35px; }
.top_background { 
	position: relative; 
	background: url(/img/top_background.jpg) center top; 
	background-size: 100% 100%; 
}
.top_contents { 
	position: relative; 
	z-index: 10; 
}
.top_contents .inner { 
	background: rgba(255, 255, 255, 0.6); 
	width: 1000px; 
	margin: auto; 
	padding: 60px 0 100px; 
}
.top_contents .top { 
	width: 1000px; 
	margin: 0 auto; 
}
.top_contents .top .new-construction { 
	width: 310px; 
	float: left; 
}
.top_contents .top .reform-menu { 
	width: 662px; 
	float: right; 
}
.top_contents .top .reform-menu dt { 
	text-align: center; 
	margin: 4px 0 20px; 
}
.top_contents .top .reform-menu dd ul { 
	width: 687px; 
	margin: 0 -25px 0 0; 
	overflow: hidden; 
	_zoom: 1; 
}
.top_contents .top .reform-menu dd li { 
	width: 204px; 
	float: left; 
	margin: 0 25px 25px 0; 
}
.top_contents .bottom { 
	width: 1000px; 
	margin: 0 auto; 
}
.top_contents .bottom .blog { 
	width: 446px; 
	float: left; 
	margin: 0 30px 0 15px; 
}
.top_contents .bottom .blog dt { padding: 7px 0 18px 10px; }
.top_contents .bottom .blog dd li { 
	border-bottom: 1px dotted #000000; 
	padding: 12px 10px; 
}
.top_contents .bottom .blog dd li p { margin: 0; }
.top_contents .bottom .blog dd li p.date { 
	width: 75px; 
	float: left; 
}
.top_contents .bottom .blog dd li p.category { 
	width: 84px; 
	float: left; 
	background: #417bb7; 
	text-align: center; 
	color: #ffffff; 
	margin: 0 10px 0 0; 
}
.top_contents .bottom .blog dd li p.category_report { background: #54aea8; }
.top_contents .bottom .blog dd li p.category_blog { background: #1F355E; }
.top_contents .bottom .blog dd li p.title { 
	width: 257px; 
	float: left; 
}
.top_contents .bottom .blog dd li p.title a { color: #333333; }
.top_contents .bottom .blog dd .color { background: #fcffec; }
.top_contents .bottom .links { 
	width: 509px; 
	float: left; 
}
.top_contents .bottom .links li { 
	width: 242px; 
	float: left; 
}
.top_contents .bottom .links li+li { margin: 0 0 0 25px; }
.breadcrumb { 
	background: none; 
	margin: 0; 
	padding: 15px 0 30px; 
	width: 980px; 
	margin: 0 auto; 
}
.breadcrumb a { color: #333333; }
.next_entries { 
	width: 1000px; 
	margin: 0 auto; 
}
#company { 
	width: 972px; 
	margin: 0 auto; 
}
.company_greeting >dt { 
	text-align: right; 
	margin: 0 0 50px; 
}
.company_greeting >dd { 
	width: 950px; 
	margin: 0 auto; 
}
.company_greeting >dd .img { 
	width: 306px; 
	float: left; 
	margin: 0 30px 0 0; 
}
.company_greeting >dd dl { 
	width: 614px; 
	float: left; 
}
.company_greeting >dd dl dt { margin: 10px 0 20px; }
.company_greeting >dd dl dd { 
	font-size: 18px; 
	line-height: 34px; 
}
.company_greeting >dd dl dd .name { 
	text-align: right; 
	padding: 10px 0 0; 
}
.company_profile { margin: 90px 0 0; }
.company_profile >dt { 
	text-align: right; 
	margin: 0 0 50px; 
}
.company_profile >dd { 
	width: 950px; 
	margin: 0 auto; 
}
.company_profile >dd table { float: left; }
.company_profile >dd table th { 
	border-bottom: 1px dotted #999999; 
	background: #dff2fc; 
	font-weight: bold; 
	font-size: 16px; 
	padding: 10px 0; 
	width: 110px; 
}
.company_profile >dd table td { 
	border-bottom: 1px dotted #999999; 
	font-size: 16px; 
	padding: 10px 0 10px 20px; 
}
.company_profile >dd table.left { 
	width: 585px; 
	margin: 0 20px 0 25px; 
}
.company_profile >dd table.right { width: 320px; }
.company_profile >dd table.right th { padding: 20px 0; }
.company_profile >dd table.right td { 
	line-height: 36.5px; 
	padding: 37px 0 37px 20px; 
}
.company_map { margin: 110px 0 0; }
.company_map >dt { 
	text-align: right; 
	margin: 0 0 50px; 
}
.company_map >dd { 
	width: 950px; 
	margin: 0 auto; 
}
#custom-home { width: auto !important; }
.next_mainimage { text-align: center; }
.next_title { 
	text-align: center; 
	padding: 15px 0 60px; 
}
.custom_illust { 
	margin: 70px 0 0; 
	background: url(/img/custom_back.jpg) no-repeat center top / 100% 100%; 
	min-height: 774px; 
}
.custom_illust .inner { 
	width: 1000px; 
	margin: 0 auto; 
	position: relative; 
}
.custom_illust .illust { 
	text-align: center; 
	padding: 60px 0 0; 
	position: relative; 
	z-index: 10; 
}
.custom_illust ul li { 
	position: absolute; 
	width: 210px; 
	background-color: rgba(255,255,255,0.9); 
	padding: 15px; 
}
.custom_illust ul li span { 
	font-family: 'Lora', serif; 
	font-size: 30px; 
	line-height: 30px; 
	color: #1f365f; 
	display: block; 
	letter-spacing: -0.02em; 
}
.custom_illust ul li p { 
	margin: 0; 
	font-size: 14px; 
	line-height: 25px; 
	padding: 10px 0 0 2px; 
}
.custom_illust ul li.after { 
	top: 220px; 
	left: 0; 
}
.custom_illust ul li.construction { 
	top: 420px; 
	left: 0; 
}
.custom_illust ul li.estimation { 
	top: 605px; 
	left: 0; 
}
.custom_illust ul li.estate { 
	top: 40px; 
	right: 0; 
}
.custom_illust ul li.estate span { 
	text-align: right; 
	padding: 0 20px 0 0; 
}
.custom_illust ul li.plan { 
	top: 225px; 
	right: 0; 
}
.custom_illust ul li.plan span { 
	text-align: right; 
	padding: 0 20px 0 0; 
}
.custom_illust ul li.funds { 
	top: 425px; 
	right: 0; 
}
.custom_illust ul li.funds span { 
	text-align: right; 
	padding: 0 20px 0 0; 
}
.custom_main { 
	width: 972px; 
	margin: 45px auto 0; 
}
.custom_main dd { 
	width: 950px; 
	margin: 0 auto; 
}
.custom_main dd .img { 
	width: 436px; 
	float: left; 
	margin: 0 30px 0 0; 
}
.custom_main dd .txt { 
	width: 484px; 
	float: left; 
	font-size: 15px; 
	line-height: 30px; 
	color: #66879d; 
}
.custom_main dd .txt p { margin: 0; }
.custom_main dd .txt p+p { padding: 15px 0 0; }
.bottom_link { 
	width: 1000px; 
	margin: 100px auto 0; 
}
.bottom_link li { float: left; }
.bottom_link li.case { width: 372px; }
.bottom_link li.top { 
	width: 295px; 
	position: relative; 
	top: -13px; 
}
.bottom_link li.contact { width: 295px; }
.bottom_link li+li { margin-left: 19px; }
.reform-menu_list { margin: 70px 0 0; }
.reform-menu_list li { 
	width: 332px; 
	float: left; 
	border-right: 1px dotted #999999; 
	padding: 25px 0; 
}
.reform-menu_list li .img { text-align: center; }
.reform-menu_list li p { 
	margin: 0; 
	font-size: 14px; 
	line-height: 24px; 
	padding: 25px 30px; 
}
.reform-menu_list li .link { 
	width: 280px; 
	height: 45px; 
	line-height: 45px; 
	margin: 0 auto; 
	text-align: center; 
	border-radius: 4px; 
	background: #ffffff; 
	border: solid 1px #bdbcbd; 
	background-image: linear-gradient(to top, #dedede, #ededed 2%, #fdfdfd 40%, #ffffff); 
}
.reform-menu_list li .link:hover { background-image: linear-gradient(to bottom, #dedede, #ededed 2%, #fdfdfd 40%, #ffffff); }
.reform-menu_list li .link a { display: block; }
.reform-menu_list li.top { border-bottom: 1px dotted #999999; }
.reform-menu_list li.none { border-right: none; }
.reform-menu_list li.color { background: url(/img/menu_back.gif); }
#all_left { 
	width: 710px; 
	float: left; 
	margin: 0 20px; 
}
#all_right { 
	width: 250px; 
	float: left; 
}
.contact_catch { 
	width: 972px; 
	margin: 0 auto 20px; 
	padding: 0 0 60px 20px; 
	background: url(/img/case_list_line.gif) repeat-x bottom; 
}
.contact_form { 
	width: 910px; 
	margin: 0 auto; 
}
button { 
	margin: 20px 0 0; 
	padding: 10px 15px; 
}
form#mailformpro textarea { width: 95% !important; }
form#mailformpro dl.none { border-top: none !important; }
.thanks_txt { 
	text-align: center; 
	font-size: 16px; 
	line-height: 30px; 
	padding: 0 0 60px; 
}
.sitemap { padding: 0 10px; }
.sitemap ul li { margin: 5px 0 18px 0px; }
.sitemap ul .sitemap_border { 
	border-bottom: 1px solid #cccccc; 
	padding-bottom: 5px; 
}
.sitemap ul li ul { 
	margin-top: 5px; 
	border-top: 1px solid #cccccc; 
	list-style-position: inside; 
}
.sitemap ul li ul li { 
	margin: 8px 0px 0px 0px; 
	padding: 0px 25px 0px 25px; 
	border: none; 
}
.sitemap ul li ul li a { 
	color: #444444; 
	font-size: 14px; 
	padding: 0px; 
}
.sitemap ul li a { 
	font-size: 16px; 
	padding-left: 10px; 
	color: #1C325B; 
}
.policy_txt { 
	background: #f1f1f1; 
	font-size: 14px; 
	font-weight: bold; 
	border: 1px solid #e1e1e1; 
	line-height: 28px; 
	padding: 15px 20px; 
	margin: 0 auto 60px; 
	width: 930px; 
}
.policy_list { 
	width: 972px; 
	margin: 0 auto; 
}
.policy_list dt { 
	background: url(/img/blog_line.gif) repeat-x bottom; 
	color: #1F355E; 
	font-weight: bold; 
	font-size: 18px; 
	padding: 0 0 12px 15px; 
}
.policy_list dd { 
	line-height: 30px; 
	padding: 20px 25px 60px; 
	font-size: 14px; 
}
.policy_list dd ul { padding: 25px 0 0 30px; }
.policy_list dd ul li { 
	font-weight: bold; 
	line-height: 30px; 
}
#mainpage footer .pagetop { margin: 0px 0 0; }
.company_principle { margin: 90px 0 0; }
.company_principle dt { text-align: right; }
.company_principle dd ul { 
	width: 920px; 
	margin: 0 0 0 35px; 
}
.company_principle dd li { 
	margin: 50px 0 0; 
	background: url(/img/company_principle_back.gif) repeat left top; 
	padding: 25px 30px 25px; 
}
.company_principle dd li .caption { padding: 0 0 23px; }
.company_principle dd li p { 
	background: #ffffff; 
	font-size: 16px; 
	padding: 15px 18px; 
	line-height: 30px; 
	margin: 0; 
}
.wing { 
	position: fixed; 
	top: 340px; 
	right: 20px; 
	z-index: 15; 
}
.wing li+li { margin-top: 18px; }
