@charset "utf-8";

.container .main_block {
	margin: 26px 0;
}
.container .main_block_p {
	padding: 26px 0;
}
/*.container .main_block:last-child {
	margin-bottom: 0;
}*/


/* box */
.box_gray {
	background: #fafafa;
    border-top: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
}

.box_gray.bdb_n {
	border-bottom: none !important;
}
.box_line_thin {
	border: 1px solid #dcdcdc;
}

.box_gray.bdt_n {
	border-top: none !important;
}

.layout_4wrap,
.layout_3wrap,
.layout_2wrap,
.layout_line {
	margin-left: -2px;
	margin-right: -2px;
}

.layout_4wrap:after,
.layout_3wrap:after,
.layout_2wrap:after {
	content: "";
	display: table;
	clear: both;
}

.layout_4wrap .box,
.layout_3wrap .box,
.layout_2wrap .box,
.layout_line .box {
	float: left;
	padding-left: 2px;
	padding-right: 2px;
}
.layout_line .box {
	float: none !important;
	margin-bottom: 4px;
}

.layout_4wrap .box {
	width: 25%;
}

.layout_3wrap .box {
	width: 33.3333%;
}

.layout_2wrap .box {
	width: 50%;
}

.layout_4wrap .box .inner,
.layout_3wrap .box .inner,
.layout_2wrap .box .inner,
.layout_line .inner {
	display: block;
	padding: 20px;
	border: 1px solid #b4b4b4;
}
.layout_4wrap .box .outer,
.layout_3wrap .box .outer,
.layout_2wrap .box .outer,
.layout_line .outer {
	display: block;
	padding: 16px;
	border: 1px solid #b4b4b4;
}


/* TITLE */
.blk_ttl {
    margin-bottom: 20px;
    position: relative;
}

.blk_ttl i {
    vertical-align: top;
    display: inline-block;
    margin-right: 10px;
}

.blk_ttl h2 span {
    font-size: 28px;
    line-height: 1;
    display: inline-block;
    vertical-align: top;
    font-weight: bold;
}
.blk_ttl h2 small {
    font-size: 16px;
    display: inline-block;
    vertical-align: bottom;
    margin-left: 16px;
}
.blk_ttl a {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
}


article .main_block {
    border-bottom: 1px solid #dcdcdc;
    padding-bottom: 26px;
}
article .main_block:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.page_heading {
    text-align: center;
}
.page_heading h2 {
    display: inline-block;
    line-height: 1;
    font-size: 26px;
    background: url(../img/common/ico_work.png) no-repeat 0 0;
    padding-left: 26px;
    padding-top: 3px;
    font-weight: bold;
}
.page_heading h2.cl_red {
    background: none;
    color: #db0917;
}
.page_heading .caption {
    display: block;
    margin-top: 26px;
    line-height: 1;
}
.work_ttl {
    font-size: 22px;
    font-weight: bold;
    line-height: 1.3;
    background: url(../img/common/ico_work.png) no-repeat 0 0;
    padding-left: 20px;
    background-size: 15px;
    margin-bottom: 20px;
}

/* Margin */
.mb6 {
	margin-bottom: 6px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}
.mb16 {
	margin-bottom: 16px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mt10 {
	margin-top: 10px;
}
.mt16 {
	margin-top: 16px !important;
}
.mt20 {
	margin-top: 20px;
}
.mt30 {
	margin-top: 30px;
}


@media (max-width: 1025px) {
	.container .main_block {
		margin: 15px 0;
	}
	.container .main_block_p {
		padding: 15px 0;
	}

	.layout_4wrap .box,
	.layout_3wrap .box {
		width: 50%;
		margin-bottom: 4px;
	}
	.layout_4wrap .box .inner, 
	.layout_3wrap .box .inner, 
	.layout_2wrap .box .inner, 
	.layout_line .inner {
		padding: 10px;
	}
	.layout_4wrap .box .outer, 
	.layout_3wrap .box .outer, 
	.layout_2wrap .box .outer, 
	.layout_line .outer {
		padding: 8px;
	}

	.blk_ttl {
		margin-bottom: 10px;
	}
	.blk_ttl i {
		width: 60px;
		vertical-align: middle;
	}
	.blk_ttl h2 span {
		font-size: 18px;
		vertical-align: bottom;
	}
	.blk_ttl h2 small {
		display: none !important;
	}
	.blk_ttl a img {
	    height: 18px;
	    width: auto;
	}

	article .main_block {
		padding-bottom: 13px;
	}

	.page_heading h2 {
		font-size: 20px;
		padding-left: 20px;
		padding-top: 2px;
		-webkit-background-size: 20px auto;
		background-size: 20px auto;
	}
	.page_heading .caption {
	    display: block;
	    line-height: 1.3;
	    font-size: 12px;
		margin-top: 10px;
	}
	.work_ttl {
	    font-size: 16px;
	    line-height: 1;
	    padding-left: 18px;
	    -webkit-background-size: 12px;
	    background-size: 12px;
	    margin-bottom: 10px;
	}
	
	
	.mb6 {
		margin-bottom: 4px !important;
	}
	.mb10 {
		margin-bottom: 8px !important;
	}
	.mb16 {
		margin-bottom: 10px !important;
	}
	.mb20 {
		margin-bottom: 14px !important;
	}
	.mt10 {
		margin-top: 8px;
	}
	.mt16 {
		margin-top: 12px !important;
	}
	.mt20 {
		margin-top: 14px;
	}

}

.detail-open{
    background-color: black;
    color: white;
    padding: 3px;
    width: 150px;
    text-align: center;
    display: block;
    height: 24px;
}
.arrow-under{
    background-image: url("../img/entry/arrow_under.png");
    width: 12px;
    height: 12px;
    display: block;
    float: right;
    margin-top: 2px;
    margin-right: 2px;
}
/* 2016.06.16 added お問い合わせフォーム改修のため */
.detail-open-2{
    /*padding: 3px 0;*/
    display: block;
    cursor: pointer;
    line-height: 28px;
}
.detail-open-2 .btn-open{
    background-image: url("../img/common/btn_open.png");
    width: 25px;
    height: 25px;
    display: block;
    float: left;
    margin-right: 5px;
}
.detail-open-2 .btn-close{
    background-image: url("../img/common/btn_close.png");
    width: 25px;
    height: 25px;
    display: block;
    float: left;
    margin-right: 5px;
}
.toggle-bg{
    background-color:#fafafa;
}
