@charset "utf-8";

/* -----------------------------------------------------------
CSS Information

 File name:      style.css

----------------------------------------------------------- */


.main-wrapper{
	padding: 20px 0 100px;
	background-color: #fff;
}

.main-inner{
	max-width: 980px;
	margin: 0 auto;
	padding: 0 15px;
}

.dotted{
	font-size: 30px;
	font-weight: 900;
	letter-spacing: 0.1em;
  color: #000;
	border-bottom: 2px dotted #000;
}
/* 基本リンクスタイル
********************************************************/
/* a:link {color: #222;text-decoration: none;}
a:visited {color: #222;text-decoration: none;}
a:hover {color: #aaa; text-decoration:none;}
a:active {color: #222;text-decoration: none;} */

/* エリア
********************************************************/
.area{
	max-width:950px!important;
	margin:0 auto;
	}

/* カラム設定
********************************************************/
.flexboxLno { /* スマホも一列 */
    display:-webkit-box;/*--- Androidブラウザ用 ---*/
    display:-ms-flexbox;/*--- IE10 ---*/
    display: -webkit-flex;/*--- safari（PC）用 ---*/
	display: flex;
}


.flexboxL { /* スマホ縦並び */
    display:-webkit-box;/*--- Androidブラウザ用 ---*/
    display:-ms-flexbox;/*--- IE10 ---*/
    display: -webkit-flex;/*--- safari（PC）用 ---*/
	display: flex;
}
@media only screen and (max-width: 480px) {
.flexboxL { /* スマホ縦並び */
		-webkit-flex-direction: column;
		flex-direction: column;}
}


.flexboxL768 { /* スマホ縦並び768 */
    display:-webkit-box;/*--- Androidブラウザ用 ---*/
    display:-ms-flexbox;/*--- IE10 ---*/
    display: -webkit-flex;/*--- safari（PC）用 ---*/
	display: flex;
}
@media only screen and (max-width: 768px) {
.flexboxL768 { /* スマホ縦並び768 */
		-webkit-flex-direction: column;
		flex-direction: column;}
}


.flexsb {/* 左右 */
    -webkit-justify-content:space-between;/*--- safari（PC）用 ---*/
    justify-content:space-between; 
	 flex-wrap:wrap;}


/* 全体コンテンツ
*********************************************************/
.contentsB {
	width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
@media only screen and (max-width: 768px) {
.contentsB { /* スマホ縦並び */
		-webkit-flex-direction: column;
		flex-direction: column;}
}

#contentsL {
	max-width:720px;
	width: 100%;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, #contentsL {width:730px;} /* IE11 */
}
.contentsR { /* サブメニュー */
	width: 210px;
	margin-left: 20px;
}
@media only screen and (max-width: 768px) {
#contentsL {
	width:100%;
	margin:0 auto;
}
.contentsR {
	width:96%;
	margin:10% auto 0;
}
}
/* 1カラム */
.contentsBB {
	max-width:950px;
	margin:0 auto;
}
.box2 { /* 2カラム */
width:48%;
margin:0 auto;
	}
.box3 { /* 3カラム */
width:30%;
margin:0 auto 10%;
	}
@media screen and (max-width:768px){
.box2 {width:96%;margin:0 auto 10%;}
.box3 { /* 3カラム */width:300px;}
}


/* contentsR-サブメニュー
*********************************************************/
.subNav {
	width: 100%;
	position: relative;
}
.subNav li {
	width: 100%;
	display:inline;
}
.subNav li a {
	font-size: 14px;
	padding: 15px 15px 15px 20px;
	text-align: left;
	display: block;
	position: relative;
	border-bottom: #000 1px dotted;
	font-weight:700;
	color: #000;
}
.subNav li a:after {
	content: '';
	margin-top: -4px;
	top: 50%;
	left: 2px;
	width: 8px;
	height: 8px;
	color: #888;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.2em;
	display: block;
	position: absolute;
	border-top: 2px solid #b0b0b0;
	border-right: 2px solid #b0b0b0;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.subNav li a:hover {color: #ed002f;}
.subNav li .current {color: #ed002f;}
.subNav li.top {
	background:#ed002f;
	color:#fff;
	padding: 10px 0;
	text-align: center;
	display: block;
	font-size: 14px;
}
.fixed {
  position: fixed;
  top: 20px;
}
@media only screen and (max-width: 768px) {
	.subNav {width:100%;}
}




/* contentsL-メインコンテンツ
*********************************************************/
/* タイトル */
#contentsL h2,
.contentsBB h2 {
	font-weight:900;
	color:#000;
	padding:1% 0;
	font-size:180%;
}
@media only screen and (max-width: 480px) {
#contentsL h2,
.contentsBB h2 {
	font-size:150%;
}
}
#contentsL h3,
.contentsBB h3 {
	font-weight:900;
	padding:1% 0;
	font-size:160%;
}









/*===========================================================================
●マップリンク　レスポンシブ
===========================================================================*/
img[usemap] {
    max-width: 100%;
    height: auto;
}










/* ----------------------------------------------------------------------------

 各コンテンツ

------------------------------------------------------------------------------- */



/* 会社情報案内図 ---------------------------------------*/
table {
	width:100%;
border-top: solid 1px #E6E6E6;
border-left: solid 1px #E6E6E6;
border-right: solid 1px #E6E6E6;
border-bottom: solid 1px #E6E6E6;
}
table th {
text-align: center;
color: #fff;
background: #ed002f;
border-bottom: dotted 2px #E6E6E6;
border-top: 2px dotted #000;
padding: 1em 5px;
}
table td {
border-bottom: dotted 2px #000;
border-top: 2px dotted #000;
padding: 1em;
}
table tr:nth-child(even) { /*background-color:#F9F9F9;*/ }
table tr:nth-child(odd) { /*background-color:#Fff;*/ }

.out_table { margin:0 auto; }
.out_table th { width:20%; }
.out_table td { text-align:left; }

@media only screen and (max-width: 570px) {
.out_table th { width:100%; padding:1% 0 1%x 1.5%; margin:0 auto; display:block; box-sizing:border-box; border-top: none;}
.out_table td { width:100%; padding:1% 0 1%x 1.5%; margin:0 auto; display:block; box-sizing:border-box; border-top: none; border-bottom: none;}		
}

.spotBoxL {
	max-width:48%;
	padding-right:2%;
}
.spotBoxL .spTit {
	border-top: 1px solid #D20028;
	border-bottom: 1px solid #D20028;
	padding:3px 0;
	margin-top:10px;
	margin-bottom:10px;
	color:#D20028;
}
.spotBoxL .spTit span {
        border-left: 4px solid #D20028;
        margin-left: 3px;
        padding-left: 10px;
    }
.spotBoxL ol{
    list-style:decimal;
	padding-left:20px;
}
.spotBoxR {
	width:48%;
	padding-top:5%;
}
@media only screen and (max-width: 480px) {
.spotBoxL {
	max-width:96%;
	padding-right:0%;
	margin:0 auto;
}
.spotBoxR {
    width: 96%;
    margin: 10px auto;
}

}



/* 事業内容 ---------------------------------------*/
/* 00サブメニュー */
.bizBtn {
	max-width:950px;
	margin:0 auto;
    display:-webkit-box;/*--- Androidブラウザ用 ---*/
    display:-ms-flexbox;/*--- IE10 ---*/
    display: -webkit-flex;/*--- safari（PC）用 ---*/
	display:flex;
    -webkit-justify-content:space-around;/*--- safari（PC）用 ---*/
    justify-content:space-around;
}
.bizBtn li {
	width: 33.3%;
	margin-bottom:2%;
}
.bizBtn li a {
	display: block;
	padding: 10px;
	text-align: center;
	position: relative;
	font-weight:500;
	background:#ed002f;
	color: #fff;
	/*border: #A01F24 1px solid;
	box-shadow: 2px 2px 0px #CF8F91;*/
}
.bizBtn li a:after {
	content: '';
	margin-top: -4px;
	top: 50%;
	left: 10px;
	width: 8px;
	height: 8px;
	color: #888;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.2em;
	display: block;
	position: absolute;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.bizBtn li a:hover { color: #fff; background:#CF8F91;}
.bizBtn li .current { color: #fff; background:#ed002f;}


.people_btn{
	 -webkit-justify-content:center;/*--- safari（PC）用 ---*/
    justify-content:center;
}
.people_btn li{
	padding:0 2%;}

@media only screen and (max-width: 768px) {
.bizBtn li {
	margin:2% auto;
}
}
@media only screen and (max-width: 480px) {
	.bizBtn {
		-webkit-flex-direction: column;
		flex-direction: column;
		margin:0 auto 3%;}
.bizBtn li {
	width: 70%;
	margin:1% auto 1% auto;
}
}

/* 02部門紹介 */
.serBtn {
	margin:0 auto;
    display:-webkit-box;/*--- Androidブラウザ用 ---*/
    display:-ms-flexbox;/*--- IE10 ---*/
    display: -webkit-flex;/*--- safari（PC）用 ---*/
	display:flex;
    -webkit-justify-content:space-between;/*--- safari（PC）用 ---*/
    justify-content:space-between;
}
.serBtn p {
	margin:0 1% 2% 0;
}
.serBtn p.serBtnN {
	display:none;
}
@media only screen and (max-width: 480px) {
	.serBtn {
		-webkit-flex-wrap:wrap;/*--- safari（PC）用 ---*/
    flex-wrap:wrap;}
.serBtn p {
	width:48%;
	margin:0 1% 2% 1%;
}
}


/* 03新規コンペ */
.comBox {
	max-width:880px;
	margin:0 auto;
}
.comBox1R {
	width:30%;
}
.comBox1L {
	width:63%;
	padding-top:18%;
}
@media only screen and (max-width: 800px) {
.comBox1L {	padding-top:10%;}
}
@media only screen and (max-width: 768px) {
.comBox1R {width:96%;	margin:0 auto;}
.comBox1L  {width:96%;margin:2% auto 0;padding-top:0;}
}

.comBox2R {
	width:45%;
	margin:5% auto 0;
}
.comBox2L {
	width:47%;
	margin-top:5%;
}
@media only screen and (max-width: 768px) {
.comBox2R {width:96%;	margin:10% auto 2%;}
.comBox2L  {width:96%;margin:2% auto 0;padding-top:0;}
}

.comBox3R {
	width:30%;
	margin-top:5%;
}
.comBox3L {
	width:60%;
	margin-top:5%;
}
@media only screen and (max-width: 768px) {
.comBox3R {width:96%;	margin:10% auto 2%;}
.comBox3L  {width:96%;margin:2% auto 0;padding-top:0;}
}

.comBoxLtit {
	padding-bottom:15px;
}
@media only screen and (max-width: 768px) {
.comBoxLtit {
	padding-bottom:15px;
	text-align:center;
}
}

.comp_img { width:224px; float:right; padding:0 0 10px 10px; }
@media only screen and (max-width: 490px) {
.comp_img { width:341px; margin:0 auto; float:none; padding:10px 0 10px 0; }	
}

