@charset "UTF-8";
/*---------------------------------------------------------------------------

	共通
	
	ごあいさつ
	会社案内

	施工エリアのご案内
	プライバシーポリシー
	リンク集
	サイトマップ

--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
	共通
--------------------------------------------------------------------------*/
/*----- ＊＊＊＊＊ -----*/
/*--------------------------------------------------------------------------
	ごあいさつ
--------------------------------------------------------------------------*/
#greeting { margin: 0 auto; background: url("../../greeting/img/greeting_back.jpg") no-repeat center top; background-size: auto 1180px; max-width: 2000px; }
#greeting .frm { margin: 0 auto; }
#greeting .frm .intro { margin: 0 auto 90px auto; font-size: 18px; }
#greeting .frm > section { display: table; margin: 0 auto; max-width: 960px; }
#greeting .frm > section:not(:first-of-type) { margin: 100px auto 0 auto; padding: 100px 0 0 0; border-top: 1px solid #cccbc9; }
#greeting .frm > section .ph, #greeting .frm > section .cap { display: table-cell; vertical-align: top; }
#greeting .frm > section .ph { padding: 0 100px 0 0; width: 400px; }
#greeting .frm > section .ph h3 { margin: 10px 0 0 0; line-height: 1.4; font-size: 14px; font-weight: 500; text-align: center; }
#greeting .frm > section .ph h3 span { font-size: 21px; }
#greeting .frm > section .cap { font-size: 17px; }
#greeting .frm > section .cap h4 { margin: 0 0 40px 0; line-height: 1.8; font-size: 25px; font-weight: 500; }
#greeting .frm > section .cap:not(first-of-type) p { margin: 30px 0 0 0; }

/*--------------------------------------------------------------------------
	会社案内
--------------------------------------------------------------------------*/
#company_outline { position: relative; }
#company_outline::before { position: absolute; background: url("../../company/img/outline_back.jpg") no-repeat center top; background-size: auto 500px; inset: 0; content: ''; opacity: 1; z-index: -1; max-width: 2000px; }
#company_outline > section { margin: 180px auto 0 auto; padding: 0 10px; display: table; width: 100%; max-width: 1080px; }
#company_outline > section:first-of-type { margin: 0 auto; }
#company_outline > section .cap_box, #company_outline > section .list_box { display: table-cell; vertical-align: top; }
#company_outline > section .cap_box { width: 380px; }
#company_outline > section .cap_box > div { line-height: 0; font-size: 0; }
#company_outline > section .cap_box > div p, #company_outline > section .cap_box > div h3 { display: inline-block; vertical-align: middle; line-height: 40px; }
#company_outline > section .cap_box > div p { margin: 0 25px 0 0; font-size: 40px; }
#company_outline > section .cap_box > div h3 { font-size: 17px; font-weight: 500; }
#company_outline > section.promise .list_box dl:not(:first-of-type) { margin: 40px 0 0 0; }
#company_outline > section.promise .list_box dl dt { margin: 0 0 15px 0; color: #005dbc; font-size: 50px; letter-spacing: 0.08em; }
#company_outline > section.promise .list_box dl dd { font-size: 17px; }
#company_outline > section.outline .list_box .item { margin: 0 auto; border-bottom: 1px solid #cccbc9; display: table; width: 100%; max-width: 1000px; table-layout: fixed; }
#company_outline > section.outline .list_box .item:first-of-type { border-top: 1px solid #cccbc9; }
#company_outline > section.outline .list_box .item .sbj, #company_outline > section.outline .list_box .item .cap { display: table-cell; vertical-align: top; }
#company_outline > section.outline .list_box .item .sbj.line, #company_outline > section.outline .list_box .item .cap.line { vertical-align: middle; }
#company_outline > section.outline .list_box .item .sbj { padding: 23px 10px; width: 150px; background: #849cbb; text-align: center; }
#company_outline > section.outline .list_box .item .sbj h4 { color: #fff; font-size: 15px; font-weight: 500; }
#company_outline > section.outline .list_box .item .cap { padding: 23px 10px 23px 30px; word-break: break-all; }
#company_outline > section.outline .list_box .item .cap .add { margin: 20px 0 0 0; }
#company_outline > section.outline .list_box .item .cap .add:first-of-type { margin: 0; }
#company_outline > section.outline .list_box .item .cap .add a.map { display: inline-block; width: 100%; line-height: 27px; color: #fff; font-size: 13px; text-align: center; max-width: 80px; }
#company_outline > section.outline .list_box .item .cap .add a.map:link, #company_outline > section.outline .list_box .item .cap .add a.map:visited { background-color: #00000f; }
#company_outline > section.outline .list_box .item .cap .add a.map:active, #company_outline > section.outline .list_box .item .cap .add a.map:hover { background-color: #005dbc; }
#company_outline > section.outline .list_box .item .cap .add span.line { margin: 0 15px 0 0; }
#company_outline > section.outline .list_box .item .cap .add span.tel { margin: 5px 0 0 0; }
#company_outline > section.outline .list_box .item .cap ul.area { line-height: 0; font-size: 0; }
#company_outline > section.outline .list_box .item .cap ul.area li { display: inline-block; line-height: 1.8; font-size: 15px; }
#company_outline > section.outline .list_box .item .cap ul.area li::after { content: '／'; }
#company_outline > section.outline .list_box .item .cap ul.area li:last-of-type::after { content: none; }
#company_outline > section.outline .list_box .item .cap p.att { margin: 15px 0 0 0; font-size: 13px; }

/*--------------------------------------------------------------------------
	施工エリアのご案内
--------------------------------------------------------------------------*/
#area_top { background: url("../../area/img/area_back.jpg") no-repeat center top; background-size: 2000px auto; }
#area_top > section { margin: 0 auto; padding: 110px 10px 0 10px; display: table; width: 100%; table-layout: fixed; max-width: 1180px; }
#area_top > section .cap, #area_top > section .ph { display: table-cell; vertical-align: top; }
#area_top > section .cap h2 { padding: 0 0 0 25px; position: relative; font-size: 25px; font-weight: 700; }
#area_top > section .cap h2::after { position: absolute; left: 0; top: 12px; bottom: 8px; width: 5px; background: #005dbc; content: ''; }
#area_top > section .cap ul { margin: 45px 0 0 0; display: flex; flex-wrap: wrap; column-gap: 6px; row-gap: 6px; }
#area_top > section .cap ul li { padding: 8px 0; border: 1px solid #cccbc9; width: calc((100% - 18px) / 4); line-height: 1.4; text-align: center; }
#area_top > section .ph { padding: 0 0 0 90px; width: 670px; }

/*--------------------------------------------------------------------------
	プライバシーポリシー
--------------------------------------------------------------------------*/
#privacy { background: url("../../privacy/img/privacy_back.jpg") no-repeat center top; background-size: 2000px auto; }
#privacy .frm { margin: 0 auto; padding: 0 10px; max-width: 1180px; }
#privacy .frm .intro { margin: 0 auto 45px auto; padding: 0 0 40px 0; border-bottom: 1px solid #cccbc9; }
#privacy .frm .intro > p:first-of-type { margin: 0 0 20px 0; font-size: 24px; font-weight: 700; text-align: center; }
#privacy .frm > section { margin: 50px 0 0 0; }
#privacy .frm > section:first-of-type { margin: 0; }
#privacy .frm > section h2 { margin: 0 0 20px 0; padding: 0 0 0 32px; line-height: 1.4; background: url("../img/icon_all.png") no-repeat left top; background-size: 17px auto; font-size: 19px; font-weight: 500; }
#privacy .frm > section h2 > img { margin: 0 15px 0 0; display: inline-block; max-width: 37px; }
#privacy .frm > section h3 { margin: 0 0 15px 0; font-size: 15px; font-weight: 700; }
#privacy .frm > section h3.line { margin: 50px 0 15px 0; }
#privacy .frm > section h4 { margin: 0 0 15px 0; font-size: 15px; font-weight: 500; }
#privacy .frm > section h4.line { margin: 50px 0 15px 0; }
#privacy .frm > section .item { padding: 23px 40px; background: #e9f2ff; }
#privacy .frm > section .item a.window { padding: 0 24px 0 0; background: url("../img/link_b.png") no-repeat right 6px top 4px; background-size: 15px auto; }
#privacy .frm > section .item a.window:link, #privacy .frm > section .item a.window:visited { color: #005dbc; }
#privacy .frm > section .item a.window:active, #privacy .frm > section .item a.window:hover { color: #c71c2f; background: url("../img/link_r.png") no-repeat right 6px top 4px; background-size: 15px auto; }
#privacy .frm > section .item .list01 { margin: 15px 0 0 0; }
#privacy .frm > section .item .list01 ul:first-of-type { margin: 0 0 0 30px; }
#privacy .frm > section .item .list01 ul.att { margin: 20px 0 0 0; }
#privacy .frm > section .item .list02 { margin: 15px 0 0 30px; }
#privacy .frm > section .item .list02 ul li { padding: 0 0 0 17px; background: url("../img/ic_arror01_bl_r.png") no-repeat left top 11px; background-size: 6px auto; }
#privacy .frm > section .item .list03 { margin: 25px 0 0 30px; }
#privacy .frm > section .item .data { margin: 30px 0 0 0; }

/*--------------------------------------------------------------------------
	リンク集
--------------------------------------------------------------------------*/
#link .frm { margin: 0 auto; }
#link .frm > section { display: flex; width: 100%; flex-wrap: wrap; column-gap: 20px; row-gap: 20px; }
#link .frm > section h2 { padding: 0 0 0 30px; width: 100%; line-height: 1.4; background: url("../img/icon_all.png") no-repeat left top 3px; background-size: 17px auto; font-size: 19px; font-weight: 500; }
#link .frm > section:not(:first-of-type) { margin: 95px 0 0 0; }
#link .frm > section div { padding: 20px 30px 22px 30px; width: calc((100% - 20px) / 2); background: #e9f2ff; }
#link .frm > section div h3, #link .frm > section div p { word-break: break-all; }
#link .frm > section div h3 { font-size: 17px; font-weight: 500; }
#link .frm > section div p { margin: 10px 0 0 0; padding: 10px 0 0 0; border-top: 1px solid #cccbc9; }
#link .frm > section div p a { padding: 0 0 0 25px; background: url("../img/link_b.png") no-repeat left top 5px; background-size: 15px auto; }
#link .frm > section div p a:link, #link .frm > section div p a:visited { color: #00000f; }
#link .frm > section div p a:active, #link .frm > section div p a:hover { color: #89b8de; }

/*--------------------------------------------------------------------------
	サイトマップ
--------------------------------------------------------------------------*/
#sitemap .list { margin: 0 auto; display: flex; font-size: 18px; flex-wrap: wrap; column-gap: 40px; }
#sitemap .list > section { width: calc((100% - 80px) / 3); }
#sitemap .list > section a:link, #sitemap .list > section a:visited { color: #00000f; }
#sitemap .list > section a:active, #sitemap .list > section a:hover { color: #005dbc; }
#sitemap .list > section h2 { margin: 0 0 20px 0; padding: 0 0 20px 32px; border-bottom: 1px solid #cccbc9; line-height: 24px; background: url("../img/icon_all.png") no-repeat left top; background-size: 17px auto; font-size: 18px; font-weight: 500; }
#sitemap .list > section h2.line { margin: 20px 0; }
#sitemap .list > section ul li { margin: 19px 0 0 0; padding: 0 0 20px 32px; line-height: 1.4; border-bottom: 1px solid #cccbc9; background: url("../img/bg_square01.png") no-repeat left 6px top 10px; background-size: 5px auto; }
#sitemap .list > section ul li a span.window { padding: 0 25px 0 0; display: inline-block; background: url("../img/link_b.png") no-repeat right top 6px; background-size: 15px auto; }

/*# sourceMappingURL=sub_01.css.map */
