@charset "utf-8";
body {
    background: none repeat scroll 0 0 #fff;
    color: #000;
    font-family: Arial,Helvetica,sans-serif;
    font-size: 100%;
    line-height: 140%;
    text-align: center;
}
a:link {
    color: #000;
    text-decoration: none;
}
a:visited {
    color: #000;
    text-decoration: none;
}
a:active {
    color: #000;
    text-decoration: none;
}
a:hover {
    color: #000;
    text-decoration: none;
}
.main {
	background-color: #222222;
	position: relative;
	z-index: 2;
	padding-top: 105px;
	padding-bottom: 30px;
	color: #FFF;
	width: 100%;
	min-height: 500px;
	font-size: 16px;
}
.bg_01, .bg_02, .bg_03, .bg_04, .bg_05, .bg_history, .bg_contact,.bg_recruite {
	background-size: cover;
	background-attachment: fixed;
	background-position: top center;
	background-repeat: no-repeat;
}
.bg_01 {
	background-image: url(../img/bg_01.jpg);
}
.bg_02 {
	background-image: url(../img/bg_02.jpg);
}
.bg_03 {
	background-image: url(../img/bg_03.jpg);
}
.bg_04 {
	background-image: url(../img/bg_04.jpg);
}
.bg_05 {
	background-image: url(../img/bg_05.jpg);
}
.bg_recruite {
	background-image: url(../img/bg_recruite.jpg);
}
.bg_history {
	background-image: url(../img/bg_history.jpg);
}
.bg_contact {
	background-image: url(../img/bg_contact.jpg);
	}
.main .wrapper {
	width: 900px;
	margin-left: auto;
	margin-right: auto;
	background-color: rgba(191,191,191,0.3);
	padding: 20px;
}
.main h2 {
	margin: 40px 0;
	padding: 0 0 20px;
	border-bottom: 2px solid #FFF;
	font-weight:bold;
	font-size:22px;
}
.main .c-taxNav,
.main .c-asNav {
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}
.main .c-asNav {
	margin-bottom: 40px;
}
.main .c-taxNav li {
	width: 30%;
}
.main .c-asNav li {
	width: 48%;
}
.main .c-taxNav li a,
.main .c-asNav li a {
	display: block;
	border: 1px solid #fff;
	width: 100%;
	text-align: center;
	padding: 10px 0;
	color: #fff;
}
.main .c-taxNav li a.is-active,
.main .c-asNav li a.is-active {
	background-color: rgba(255,255,255,0.2);
}
.main .c-taxNav li a:hover,
.main .c-asNav li a:hover {
	background-color: rgba(255,255,255,0.3);
}
.main .c-taxTitle {
	font-size: 30px;
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 2px solid #fff;
	text-align: center;
	line-height: 1;
}
.main dl dt {
	float: left;
	padding-right: 10px;
	padding-bottom: 30px !important;
}
.main dl dd {
	float: left;
	border-left: 1px solid #fff;
	padding-left: 10px;
	padding-bottom: 30px !important;
}
.main dl dt:last-child {
	padding-bottom: 0px !important;
	}
.main dl dd:last-child {
	padding-bottom: 0px !important;
	}
.main dl.service dt {
	width: 24.4%;
	line-height: 175%;
	}
.main dl.service dd {
	width: 72%;
	line-height: 175%;
	}
.main dl.history dt {
	width: 13%;
	}
.main dl.history dd {
	width: 82%;
	}
.main ul.social li {
	margin-bottom:20px;
}
footer {
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
}

/*access.html*/
#container iframe {
	height: 735px;
	width: 100%
}
.googlemap {
	padding: 0;
}
.form-group  {
	margin-bottom: 10px;
}


/*contact.html*/

label {
	width: 20%;
	display: block;
	float: left;
}
.form-group.input_radio .radio {
	float: left;
	clear: none;

}
.form-group.input_radio label {
	float: left;
	clear: both;
}
.form-group.input_radio .input_text  {
	clear: both;
}
.form-group .single_row {
	width: 300px;
}
.form-group .multiple_row {
	width: 720px;
}
.btn_submit {
	width: 160px;
	height: 50px;
}
.submit {
	text-align: center;
	padding-top: 20px;
	padding-bottom: 20px;
}


/*c-tabConetns*/
.c-tabContents .c-tabPane {
	display: none;
}
.c-tabContents .c-tabPane.is-active {
	display: block;
}



/*project*/
.p-mission__idealist {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	margin: 60px 0;
}
.p-mission__idealist li {
	margin: 0 10px;
}

.p-works__table {
	margin-top: 50px;
	font-size: 18px;
}
.p-works__table th {
	width: 200px;
	padding-right: 20px;
	border-right: 1px solid #fff;
}
.p-works__table td {
	padding: 0 0 100px 20px;
}
.p-works__table td li {
	padding-bottom: 10px;
}

.p-provision__notes {
	padding: 10px 0 5px;
	font-size: 14px;
}
.p-provision__table {
	width: 100%;
	margin-bottom: 20px;
	padding: 10px 20px;
	border: 1px solid #fff;
	box-sizing: border-box;
}
.p-provision__table table {
	width: 100%;
}

.p-provision__table_type02__thead {
	padding:0 20px;
}

.p-provision__table th,
.p-provision__table td,
.p-provision__table_type02 th,
.p-provision__table_type02 td,
.p-provision__table_type02__thead th,
.p-provision__table_type02__thead td {
	padding: 20px;
	box-sizing: border-box;
	text-align: center;
}
.p-provision__table th:first-child {
	border-right: 1px solid #fff;
	text-align: right;
	vertical-align: top;
	width: 167px;
	min-width: 167px;
}
.p-provision__table td:last-child {
	min-width: 100px;
}
.p-provision__table_type02.u-col2 th:first-child,
.p-provision__table_type02__thead.u-col2 th:first-child {
	width: 25%;
}
.p-provision__table.u-col4 th:first-child,
.p-provision__table_type02__thead.u-col4 th:first-child {
	width: 190px;
}
.p-provision__table_type02__thead.u-col3 th:first-child,
.p-provision__table.u-col3 th:first-child {
	width: 22%;
}
.p-provision__table_type02 table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
}
.p-provision__table_type02__thead table {
	width: 100%;
}
.p-provision__table th:first-child
.p-asPriceWrap {
	margin-bottom: 80px;
}
.p-asPriceTitle,
.p-asPrice {
	display: flex;
	justify-content: space-between;
	text-align: center;
	align-items: center; 
}
.p-asPriceTitle {
	padding: 20px 0;
}
.p-asPrice {
	border:1px solid #fff;
	padding: 20px 0;
}
.p-asPrice p {
	border-right: 1px solid #fff;
}
.p-asPrice p:last-child {
	border-right:0;
}
.p-asPrice p {
	padding: 5px;
}
.p-asService li {
	line-height: 175%;
}
.p-note {
	padding: 10px 0;
}

.main dl.p-recruiteList dt {
	width: 150px;
	text-align: right;
	padding-right: 30px;
}
.main dl.p-recruiteList dd {
	padding-left: 30px;
}
.p-recruiteBtn {
	background-color: rgba(255,255,255,0.3);
	background-image: url("../img/arrow.png");
	background-repeat: no-repeat;
	background-position: left 20px center;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #fff;
    width: 100%;
    padding: 10px 0;
    color: #fff;
	height: 82px;
	font-size: 18px;
}
.p-recruiteBtn:hover {
	background-color: rgba(255,255,255,0.5);
}
.p-provision__table__caption {
	padding: 20px 0;
	font-size: 18px;
	background-image: url("../img/arrow_accordion.png");
	background-repeat: no-repeat;
	background-position: right 20px center;
	cursor: pointer;
}
.p-provision__table__caption.active {
	background-image: url("../img/arrow_accordion_active.png");
}
.p-provision__table__accordion {
	display: none;
}