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

	リセット

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

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: normal;
	vertical-align: baseline;
	background: transparent;
}
body {
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
strong { font-weight: bold;}
/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}
/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 0;
	padding: 0;
}
input, select {
	vertical-align: middle;
}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: middle;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
*:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


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

	グローバル

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

body {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	color: #333;
	font-size: 0.9em;
	line-height: 1.6;
	position: relative;
	min-width: 1000px;
}

.fo_mincho { font-family: "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;}

p { margin-bottom: 20px;}
p:last-child { margin-bottom: 0px;}

a { color: #333; text-decoration: none;}
a:hover { color: #37a7d5;}

/* 文字装飾 */
.fo06 { font-size: 0.6em !important;}
.fo07 { font-size: 0.7em !important;}
.fo075 { font-size: 0.75em !important;}
.fo08 { font-size: 0.8em !important;}
.fo085 { font-size: 0.85em !important;}
.fo09 { font-size: 0.9em !important;}
.fo105 { font-size: 1.05em !important;}
.fo11 { font-size: 1.1em !important;}
.fo12 { font-size: 1.2em !important;}
.fo13 { font-size: 1.3em !important;}
.fo14 { font-size: 1.4em !important;}
.fo15 { font-size: 1.5em !important;}
.fo17 { font-size: 1.7em !important;}
.fo21 { font-size: 2.1em !important;}

.lh12 { line-height: 1.2;}
.lh14 { line-height: 1.4;}
.lh18 { line-height: 1.8;}
.lh20 { line-height: 2;}

.fo_white { color: #FFFFFF;}
.fo_blue { color: #333366;}
.fo_red { color: #c7151e;}

/* ボックス */
.container {
	width: 1000px;
	padding: 0px 15px;
	margin: 0px auto;
}

.back_white { background-color: #fff;}
.back_red { background-color: #c7151e;}
.back_gray { background-color: #f3f3f3 !important;}

.back_image { background-image: url(../images/common/bg01.gif);}

.box_wrap { margin: auto -15px;}
.box50 { float: left; width: 50%; padding: 0px 15px;}
.box30 { float: left; width: 33.3333%; padding: 0px 15px;}

.left { float: left;}
.right { float: right;}
.float_l { float: left;}
.float_r { float: right;}

.pos_rel { position: relative;}
.pos_ab { position: absolute;}

.bold { font-weight: bold;}

.ta_center { text-align: center;}
.ta_right { text-align: right;}
.ta_left { text-align: left;}
.ta_right-s_center { text-align: right;}
.ta_left-s_center { text-align: left;}

@media (min-width: 801px) {
	.hidden_l {
		display: none !important;
	}
}

/* リスト */
ol { padding-left: 2em;}
ol li { list-style: outside decimal;}

.list_indent { padding-left: 1em;}
.list_indent li { text-indent: -1em;}

.list_disc { padding-left: 1em;}
.list_disc li { list-style: outside disc;}

/* padding */
.pt05 { padding-top: 5px !important;}
.pt10 { padding-top: 10px !important;}

/* margin */
.mt00 { margin-top: 0px !important;}
.mt10 { margin-top: 10px !important;}
.mt15 { margin-top: 15px !important;}
.mt20 { margin-top: 20px !important;}
.mt30 { margin-top: 30px !important;}
.mt40 { margin-top: 40px !important;}

.mb00 { margin-bottom: 0px !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb80 { margin-bottom: 80px !important;}

.mb40-20 { margin-bottom: 40px !important;}
.mb60-30 { margin-bottom: 60px !important;}
.mb80-40 { margin-bottom: 80px !important;}
.mb100-50 { margin-bottom: 100px !important;}
.mb120-60 { margin-bottom: 120px !important;}

/* clearFix */
.clearFix {
    zoom: 100%;
}
.clearFix:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

/* ------------------------
	ヘッダー
------------------------ */

.header { padding-top: 20px;}


/* ------------------------
	グローバルナビ
------------------------ */

.gn li { display: inline-block; margin: 0px -3px; font-weight: bold; font-size: 1.1em;}
.gn li a { display: block; border-bottom: solid 3px #ffca00; text-align: center; padding: 0px 15px 5px; color: #333;}
.gn li a:hover, .gn li.active a { border-bottom-color: #c7151e;}


/* ------------------------
	フッター
------------------------ */

.footer { border-top: solid 3px #cccccc; padding-top: 40px;}

.footer_nav { display: inline-block; vertical-align: top;}
.footer_nav:first-child { margin-right: 60px;}
.footer_nav li { background: url(../images/common/ico_arrow.png) no-repeat left 0.2em; padding-left: 15px; font-weight: bold; margin-bottom: 8px;}

.footer_address { display: inline-block;}

.footer .copy { padding: 8px;}

.pagetop {
	position: fixed;
	right: 20px;
	z-index: 999;
}

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

	トップページ

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

.wideslider {
    width: 100%;
    text-align: left;
    position: relative;
    overflow: hidden;
}
.wideslider ul,
.wideslider ul li {
    float: left;
    display: inline;
    overflow: hidden;
}
.wideslider ul li img {
    width: 100%;
    display: none;
}
.wideslider_base {
    top: 0;
    position: absolute;
}
.wideslider_wrap {
    top: 0;
    position: absolute;
    overflow: hidden;
}
.slider_prev,
.slider_next {
    top: 0;
    overflow: hidden;
    position: absolute;
    z-index: 100;
    cursor: pointer;
}
.slider_prev { background: #fff;}
.slider_next { background: #fff;}
.wideslider .pagination {
    bottom: 15px;
    left: 0;
    width: 100%;
    height: 15px;
    text-align: center;
    position: absolute;
    z-index: 200;
}
.wideslider .pagination a {
    margin: 0 10px;
    width: 15px;
	min-width: 0px;
    height: 15px;
	border-radius: 15px;
    display: inline-block;
    overflow: hidden;
    background: #cccccc;
}
.wideslider .pagination a.active { background: #ffcc00;}

.slide_wrap .pos_ab { width: 100%; left: 0px; top: 50%; margin-top: -48px; z-index: 100;}

.top_heading span.bold { display: inline-block; margin-bottom: 10px;}

.top_sec01 { background: url(../images/top/top_sec01_bg.png) no-repeat center top; background-size: contain; padding-top: 90px;}
.top_sec01 ul { margin: auto -7px;}
.top_sec01 li { float: left; width: 25%; padding: 0px 7px; margin-bottom: 40px;}
.top_sec01 a { display: block; text-decoration: none; color: #333;}
.top_sec01 .box { border-top: solid 7px #c7151e; margin: auto;}
.top_sec01 .box_inner { padding: 15px 10px 50px;}
.top_sec01 .box_inner p { min-height: 4.8em;}
.top_sec01 .box:after { content: url(../images/top/top_sec01_arrow.png); position: absolute; right: 13px; bottom: 6px;}

.top_sec02 { background: url(../images/top/top_sec02_bg.png) no-repeat center bottom; background-size: 100% 441px; padding-bottom: 150px;}

.top_sec03 { padding: 40px 0px 100px;}
.top_sec03 .box { width: 800px; margin: auto; border-radius: 10px; padding: 30px 20px 20px; height: 250px; overflow-y: scroll;}
.top_sec03 dl { display: table; width: 100%; border-bottom: dotted 1px #999; padding-bottom: 8px; margin-bottom: 8px;}
.top_sec03 dt, .top_sec03 dd { display: table-cell; vertical-align: top;}
.top_sec03 dt { width: 7.5em;}
.top_sec03 dt .category { display: inline-block; width: 6em; text-align: center; background-color: #ffcc00;}
.top_sec03 dt .category.result { background-color: #ffc8dc;}
.top_sec03 .time { width: 9em;}


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

	下層ページ

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

/* ------------------------
	共通
------------------------ */

.pagettl { background: url(../images/common/pagettl_bg.jpg) no-repeat center 50%; background-size: cover; padding: 45px 15px; text-align: center; color: #333366; letter-spacing: 0.1em;}
.pagettl h2 { font-weight: bold; font-size: 2.1em; line-height: 1.1; margin-bottom: 15px; font-family: "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;}
.pagettl .subtitle { font-family: "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;}

/* 見出し */
.heading_leftline { font-weight: bold; font-size: 1.7em; line-height: 1.2; border-left: solid 7px #c7151e; padding-left: 10px;}

/* 下層共通 */
.common.top_sec01 { background: url(../images/top/top_sec02_bg.png) no-repeat center bottom; background-size: 100% auto; padding-bottom: 100px; padding-top: 0px;}

.table_bordered { width: 100%; border-top: dotted 1px #c7151e;}
.table_bordered tr { border-bottom: dotted 1px #c7151e;}
.table_bordered th, .table_bordered td { padding: 13px 30px; vertical-align: middle;}
.table_bordered th { background-color: #f1f1f1; text-align: left; font-weight: bold; width: 25%;}

/* ------------------------
	代理店事業
------------------------ */

.alli_sec01 .box { display: inline-block;}


/* ------------------------
	お問い合わせ
------------------------ */

.contact_sec01 .list01 li { display: inline-block; vertical-align: bottom; margin: 0px 4% 40px;}

.contact_sec01 .table_bordered { border-top-color: #333;}
.contact_sec01 .table_bordered tr { border-bottom-color: #333;}

.contact_sec01 th .hissu {
	font-size: 0.8em;
	font-weight: bold;
	color: #c7151e;
	line-height: 1;
	padding: 3px 7px;
	background-color: #ffcb00;
	display: inline-block;
	vertical-align: middle;
	margin-left: 10px;
}
.contact_sec01 td a { color: #0071bc; text-decoration: underline;}
.contact_sec01 td a:hover { opacity: 0.8; text-decoration: none;}
.contact_sec01 input[type="text"], .contact_sec01 input[type="tel"], .contact_sec01 input[type="email"], .contact_sec01 textarea, .contact_sec01 select {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.1em;
	border: solid 1px #ddd;
	padding: 5px 10px;
	width: 100%;
}
.contact_sec01 .width_auto input[type="text"], .contact_sec01 .width_auto input[type="tel"], .contact_sec01 select { width: auto; max-width: 100%;}
.contact_sec01 .btn_area input {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	border: none;
	border-radius: 0px;
	background: url(../images/common/ico_arrow_white.png) no-repeat 95% 50% #000;
	color: #fff;
	font-weight: bold;
	width: auto;
	padding: 15px 10%;
	margin: 0px 10px 10px;
	cursor: pointer;
	font-size: 1.15em;
	position: relative;
}
.contact_sec01 .btn_area input:hover {
	opacity: 0.7;
}
.contact_sec01 .btn_area input[type="submit"]:focus {
	outline: 0;
}

.mw_wp_form .error {
	background-color: #F7CCE6;
	border: #ee4d89 solid 1px;
	border-radius: 3px;
	color: #EE4D89;
	display: inline-block;
	vertical-align: middle;
	font-size: 75%;
	padding: 3px 5px 2px;
	margin-left: 5px;
}

.mw_wp_form_confirm .confirm_hidden { display: none;}


/* ------------------------
	投稿
------------------------ */

/* 施工実績 */
.work_archive ul { margin: auto -10px;}
.work_archive li { float: left; width: 33.3333%; padding: 0px 10px; margin-bottom: 20px;}
.work_archive li:nth-child(3n+1) { clear: both;}
.work_archive .box { padding: 10px;}
.work_archive figure { height: 210px; background-size: cover; background-position: center 50%;}


/* ページャー(アーカイブ) */
.pagination .number {
	margin: 0px 10px 5px 0px;
	display: inline-block;
	vertical-align: middle;
}
.pagination span.current, .pagination a {
	min-width: 30px;
	height: 30px;
	padding: 0px 7px;
	margin: 0px 2px 5px;
	display: inline-block;
	vertical-align: middle;
	background-color: #efefef;
	line-height: 30px;
	text-align: center;
	text-decoration: none;
}
.pagination span.current, .pagination a:hover {
	background-color: #37a7d5;
	color: #fff;
}