.list {
overflow: hidden;
}

.list img {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}
.mono{
  -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
}

.list:hover img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
.cate_list div div{
  text-align: center;
  padding: 15px 10px 60px 10px;
}
.cate_list div div a {
font-weight: 600;
text-decoration: none;
color: #555;
text-align: center;
padding: 15px 0 60px 0;
}
.cate_list div div a:hover {
color: #00aced;
}

.company dl{
margin: 1.5rem 0;
width: 100%;
border-top: 1px dotted #ccc;
}

.company dt{
display: block;
padding: 1.5rem 0;
float: left;
clear: left;
width: 15em;
font-weight: 700;
}

.company dd{
display: block;
padding: 1.5rem 0;
border-bottom: 1px dotted #ccc;
padding-left: 16em;
}

.company dd h4:first-child{
	margin-top: 0.5rem;
}

.rule {
	margin:30px 0;
}

	.rule dt{
font-weight: 600;
	padding: 1rem 0 0.2rem;
	line-height: 1.6;
  font-size: 18px ;
  font-size: 1.6em;
	color: #2d67ad;
	border-bottom: double #2d67ad;
}
.rule dd{
	padding:  1rem 0 2rem 0;
	line-height: 1.8;
}

.rule dd ul{
	margin: 2rem 0rem 1rem 4rem;
	list-style: outside;
}

.rule dd ul li{
	padding-bottom: 1rem;
	list-style: outside disc;
	line-height: 1.6;
}

.rule dd ol{
	margin: 2rem 0rem 1rem 4rem;
	list-style: outside;
}
.rule dd ol li{
	padding-bottom: 1rem;
	list-style: decimal outside;
	line-height: 1.6;
}

.rule dd ol ul li{
	padding-bottom: 0.8rem;
	list-style: outside disc;
	line-height: 1.6;
}


@media (max-width: 767px) {
	.rule dt{font-size: 1.4em;}
}
@media (max-width: 576px) {
	.rule dt{font-size: 1.2em;}
}


.group_list{
	margin: 30px 0 ;
	padding: 0;
	width: 100%;
}

.group_list dt{
  clear : left;
  float : left;
  width : 350px;
	padding: 40px 0;
border-top: #ddd 1px solid;
}

.group_list dt img{
margin: 0px auto;
width: 90%;
}

.group_list dd{
  float : left;
	width : calc(100% - 400px) ;
	padding: 40px 0;
border-top: #ddd 1px solid;
}

ol.ohp{
margin: 15px 0px  ;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
		justify-content: space-between;
		text-align: center;
}

ol.ohp li {
	text-align: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    padding: 20px;
    padding-bottom: 1rem;
    list-style: outside none;
    line-height: 1.6;
width: 18%;
font-weight: 600;
background: #e7f2c2;
line-height: 1.3;
padding: 20px ;
border-radius: 10px;
color: #2d6729;
}

.doctor img{
  padding: 8px ;
  border: #ccc solid 1px;
  margin-bottom: 1rem;
}
.doctor h5{
  font-size: 18px !important;
  font-size: 1.8rem;
  font-weight: 600;
}

.doctor .text-small{
  font-size: 13px ;
  color: #7ABCE4;
}
main .inner .doctor p{
  margin: 0;
  padding:0 0 5px 0;
}


.develop_list{
	list-style: none;
	position: relative;
	width: 65%;
	padding: 2% 0;
	max-width: 800px;
	margin: 6% auto;
	color: #1F6A9F;
}
.develop_list::before{
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	top:0; left: 0;
	background-color: #CFE5F0;
	-webkit-transform: scale(1.2);
	transform: scale(1.2);

}
.develop_list li{
	padding: 0.6em 0;
	border-bottom: 2px solid #fff;
	line-height: 1.6;
	font-size: 1.3em;
	font-weight: 500;
	position: relative;
	z-index: 10;
}

.develop_list li:last-child{border-bottom: none;}
.develop_list::after{
	position: absolute;
	content: '';
	width: 30%;
	min-width: 120px;
	height: 100%;
	top:10%; right: 101%;
	background-image: url(../develop/img/img_develop02.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.img_develop03{
	width: 40%;
	min-width: 250px;
	max-width: 500px;
	float: right;
	margin-top:-15%;
	position: relative;
	z-index: 10;
}

.develop_exlist{
	list-style: none;
	position: relative;
	width: 100%;
	padding: 2% 0;
}
.develop_exlist li{
	margin-bottom: 4%;
	padding: 0;

	display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
     /* -webkit-justify-content: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;*/

}
.develop_exlist li .bgimg{
	width: 30%;
	height: 0;
	position: relative;
	padding-top: 16%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.develop_exlist li .bgimg img{width: auto; height: 100%;}

.develop_exlist li .exlist-inner{
	width:70%;
	padding:0 0px 10px 20px;

}
.develop_exlist li .exlist-inner h3{
	margin: 0;	padding: 0 0 0.4em;
	line-height: 1.5;
}
.develop_exlist li .exlist-inner p{
	margin: 0 0 0; padding: 0 0 0.4em; line-height: 1.5;
}

.develop_exlist li .exlist-inner span.whitebox{
	display: block;
	padding: 0.8em;
	border: 1px solid #999;
	background-color: #fff;
	line-height: 1.2;
}





  @media (max-width: 767px) {
	  .develop_list li{font-size: 1.2em;}
	  .develop_exlist li .bgimg{padding-top: 25%;}

.company  dt{
display: block;
float: none;
width: 100%;
padding: 10px 0px;
clear:both;
		font-weight: 600;
		border-bottom: 1px dotted #ccc;
	background: #F5F5F5;
	margin-bottom: 0;
	text-indent: 0.5em;
}
  .cate_list div div{
    text-align: center;
    padding: 15px 10px 20px 10px;
  }

}
@media (max-width: 599px) {
	 .develop_list li{font-size: 1em;}
	.develop_exlist li h3{font-size: 22px;}
	.develop_exlist li{font-size: 0.9em;}
	.develop_exlist li .bgimg{padding-top: 35%;}
}



.tech_design{
	margin: 2% auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.tech_design li{
  width: 32%;
	height: 200px;
  text-align: center;
  line-height: 1;
position: relative;
	display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
}
.tech_design li>div{
	width: 90%;
	margin:  0;
	position: relative;
	padding: 15px;
}
.tech_design li::before{
	content: '';
	box-sizing: border-box;
	position: absolute;
	width: 100%;
	height: 0;
	padding-top: 100%;
	top:50%; left: 50%;
	margin-top: -50%;
	margin-left: -50%;
	background-color: rgba(255,255,255,0.5);
	border: 1px solid #4BAC08;
	border-radius: 50%;
}

.tech_design li h5{
	font-weight: 600;
	font-size: 1em;
	position: relative;
	z-index: 1;
}
.tech_design li p{
	text-align: left;
	font-size: 0.9em;
	line-height: 1.6;
	margin-bottom:  0;
	position: relative;
	z-index: 1;
}


@media (max-width: 960px) {
	.tech_design li{width: 49%;height: 200px;}
	.tech_design{max-width: 400px;}

}
@media (max-width: 480px) {
	.tech_design li{font-size: 0.8em ;}
  .tech_design li p{	line-height: 1.4;margin-top: 5px;}
}



.flow{
	margin: 3% auto;
	max-width: 900px;
}

.flow li{
	margin-bottom: 4%;
}
.flow li>span{
	display: block;
	font-size: #00aced;
	opacity: 0.6;
	margin-left: 2.5%;
	font-size: 1.3em;
	margin-bottom: 0.3em;
	font-weight: 600;
	font-family: rift-soft, sans-serif;
}
.flow li dl{
	width: 100%;

	display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
     -webkit-justify-content: center;
      justify-content: center;
      /* -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;*/
}
.flow li dl dt{
text-align: center;
	padding: 2em 0.5em;
	line-height: 1.6;
	margin-bottom:  0;
	width: 30%;
	height: 100%;
	color: #fff;
	background-color: #00365a;
	position: relative;
}
.flow li dl dt::before{
	content: '';
	position: absolute;
	width: 0; height: 0;
	top:100%;
	left: 50%;
	margin-left: -30px;
border-top: 20px solid #00aced;
  border-right: 30px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 30px solid transparent;
}
.flow li dl dt::after{
	content: '';
	position: absolute;
	width: 0; height: 0;
	top:100%;
	left: 50%;
	margin-left: -15px;
border-top: 10px solid #00365a;
  border-right: 15px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid transparent;
}
.flow li:last-child dl dt::before,
.flow li:last-child dl dt::after{display: none;}

.flow li dl dd{width: 60%; margin-left: 5%;}
.flow li dl dd p{
text-align: left;
	font-size: 0.9em;
	line-height: 1.6;
	margin:  0;
}
@media (max-width: 599px) {
	.flow li{font-size: 0.9em;}
}

.graybox{
	background-color: rgba(225,225,225,0.5);
	padding: 1em;

}
.graybox strong{line-height: 1.7;
	display:block;
	margin-bottom: 0.2em;
	font-size: 1.5em;
}
.graybox>strong:last-of-type{margin-bottom: 0;}
.graybox strong.d-tech-strong{
  text-align: center;
  font-size: 1.7vw;
}
@media screen and (min-width: 970px){
  .graybox strong.d-tech-strong{font-size: 16px;}
}
@media screen and (min-width: 1200px){
  .graybox strong.d-tech-strong{font-size: 20px;}
}
  @media (max-width: 767px) {
	  .graybox strong,
    .graybox strong.d-tech-strong{font-size: 1.4em;}
}
@media (max-width: 599px) {
	.graybox strong,
  .graybox strong.d-tech-strong{font-size: 1.2em;}
}


.whitebox{
	background-color: rgba(255,255,255,0.8);
	border: 1px solid #999;
	padding: 1em;
}
.whitebox p{
	font-size: 0.9em;}


.d-tech-list{
	margin: 15% auto 2%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.d-tech-list li{
  width: 33.3%;
  text-align: center;
  line-height: 1;
	background-color: rgba(255,255,255,0.5);
	border-right: 1px solid rgba(205,205,205,0.8);
	padding: 1.5em;
}
.d-tech-list li:last-child{border-right:none;}
.d-tech-list li h3{
	font-weight: 600;
	margin: 0 0 0.6em;
	font-size: 1.4em;
	padding: 0;
	position: relative;
	z-index: 1;
}
.d-tech-list li p{
	text-align: left;
	font-size: 0.95em;
	line-height: 1.7;
	margin-bottom:  0;
	position: relative;
	z-index: 1;
}


@media (max-width: 980px) {
	.d-tech-list li{width: 100%; margin-bottom: 15px; border: none; border-bottom: 1px solid rgba(205,205,205,0.8);}
	.d-tech-list li:last-child{border-bottom:none;}

}
@media (max-width: 480px) {
	.d-tech-list li{font-size: 16px ;}
}


.mapbox{
		width:100%;
	height: 100%;
		background:#535353;
	border: 1px solid #ccc;
	}

#map{border: 2px solid #FFF;
		width:100%;
		height:100%;
	}
#map{
		_display:none;
	}

.imgmap{
	box-sizing: border-box;
	border: 1px solid #ccc;
}
.imgmap a{
	border: 2px solid #FFF;
	display: block;
	position: relative;
}
.imgmap a::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top:0%; left: 0%;
	background-color: #fff;
	opacity: 0;
	transition: opacity .4s ease;
}
.imgmap a::after{
	position: absolute;
	content: "\f25e";
	font-family: ionicons;
	width: 50px;
	height: 50px;
	font-size: 50px;
	line-height: 1;
	top:0%; left: 0%;
	color: #fff;
	background-color: #00aced;
	text-align: center;
	vertical-align: center;
	transition: transform .4s ease-out;
}


@media (min-width: 768px) {
	.imgmap a:hover::before{opacity: 0.7;	}
	.imgmap a:hover::after{
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}
}

@media (max-width: 767px) {
	.imgmap a::before,
	.imgmap a::after{display: none;}
	.mapbox{height: 400px; margin-top: 20px;}
}



.about_list{
	list-style: none;
	position: relative;
	width: 100%;
	max-width: 1000px;
	padding: 3% 6%;
	margin: 6% auto;
	color: #1F6A9F;
}
.about_list::before{
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	top:0; left: 0;
	background-color: rgba(255,255,255,0.8);
	box-shadow: 0 0 40px rgba(0,0,0,0.1);

}
.about_list li{
	padding: 0.6em 0 0.6em 0.8em;
	border-bottom: 1px solid rgba(205,205,205,0.8);
	line-height: 1.6;
	font-size: 1.3em;
	font-weight: 400;
	position: relative;
	z-index: 10;
}
.about_list li li{font-size: 0.9em;}
.about_list li::before{
	content: "\f363";
	font-family: ionicons;
	padding: 0.6em 0em;
	color: #00aced;
	position: absolute;
	top:0;
	left: 0;
}
.about_list li li::before{
  content: '';
  padding: 0;
  width: 3px;
  background-color: #00aced;
  height: 80%;
  top:10%;
  left: 0;
}
.about_list li:last-child{border-bottom: none;}

@media (max-width: 767px) {
	  .about_list li{font-size: 1.2em;}
}
@media (max-width: 599px) {
	 .about_list li{font-size: 1em;}
}





.group-link{
	margin: 6% auto;
	max-width: 1000px;
	padding: 3% 6%;
	position: relative;
}
.group-link::before{
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	top:0; left: 0;
	background-color: rgba(255,255,255,0.8);
	box-shadow: 0 0 40px rgba(0,0,0,0.1);

}
.group-link li{
	margin-bottom: 4%;
	position: relative;
	z-index: 1;
}
.group-link li:last-child{margin-bottom: 0;}
.group-link li a{
	color: #222;
	text-decoration: none;
	display: block;
}
.group-link li dl{
	width: 100%;

	display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
    /*  -webkit-box-pack: center;
      -ms-flex-pack: center;
     -webkit-justify-content: center;
      justify-content: center;*/
       -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
}
.group-link li dl dt{
text-align: center;
	padding: 2em 0.5em;
	line-height: 1.6;
	margin-bottom:  0;
	width: 30%;
	height: 100%;
	color: #fff;
	background-color: #FFF;
	border: 1px solid #ddd;
	position: relative;
}


.group-link li dl dd{width: 60%; margin-left: 5%;}
.group-link li dl dd p{
text-align: left;
	font-size: 0.9em;
	line-height: 1.6;
	margin:  0;
}
.group-link li dl dd p strong{font-size: 1.1em; font-weight: 600; color: #00aced; display: block; padding-bottom: 0.2em;}

@media (min-width: 768px) {
	.group-link li a:hover{background-color: rgba(205,205,205,0.3);}
}
@media (max-width: 599px) {
	.group-link li{font-size: 0.9em;}
}


.business_wrap h3{
	background-color: #00aced;
	color: #fff;
	font-weight: 400;
	padding: 0.4em 0.6em;
	margin-bottom: 0.6em;
	font-size: 1.6em;
}

.business_wrap h3 small{white-space: nowrap;}

@media (max-width: 767px) {
	.business_wrap h3 small{display: block; line-height: 1.5; white-space: normal;}
.business_wrap h3{font-size: 1.4em;}
}
@media (max-width: 576px) {
	.business_wrap h3{font-size: 1.2em;}
}

.business_list{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
	margin: 2% auto 4%;
}



.business_list li{
  width: 49%;
  text-align: left;
	margin-bottom: 2%;
	background-color: #f1f1f1;
	padding: 2%;
}
.business_list.worklist li{width: 24.5%;}/* ４列 */
.business_list.worklist li{width: 32.5%;}/* 3列 */
.business_list li.biglist{width: 100%; margin-bottom: 15px;}
.business_list li h4{
	line-height: 1.4;
}
.business_list li p{
  padding: 0.2em 0 0;
  margin: 0;
	line-height: 1.5;
}
.business_list li p.send{ padding: 0.8em 0 0; margin-bottom: 0;}
.business_list li p.send a.btn{ margin-bottom: 0; border-radius: 0;}

.business_list li img{
	width: 100%;
	height: auto;
	margin-bottom: 10px;
}

/* listの文字なしのための修正 */
.business_list li{padding: 10px;}
.business_list li img{	margin-bottom: 0;}
/* listの文字なしのための修正 */


@media (max-width: 787px) {
	.business_list li{width: 100%; margin-bottom: 15px;}
	.business_list.worklist li{width: 49%;}
}
@media (max-width: 599px) {
	.business_list li{font-size: 0.9em ;}
}



.business_wrap .graybox{
	background-color: rgba(225,225,225,0.5);
	padding: 1em;
	margin: 3% auto;
}
.business_wrap .graybox strong{line-height: 1.7;
	display:block;
	margin-bottom: 0.2em;
	font-size: 1.3em;
	color: #00aced;
}
.business_wrap .graybox>strong:last-of-type{margin-bottom: 0;}

  @media (max-width: 767px) {
	 .business_wrap  .graybox strong{font-size: 1.2em;}
}
@media (max-width: 599px) {
	.business_wrap .graybox strong{font-size: 1.1em;}
}


.controller-list{
	margin: 4% auto 4%;
/*	max-width: 1000px;*/
	padding: 0;
	position: relative;
}

.controller-list li{
	margin-bottom: 2%;
	padding-bottom: 2%;
	position: relative;
	z-index: 1;
	border-bottom: 1px dotted rgba(0,0,0,0.3);
}
.controller-list li:last-child{margin-bottom: 0; border-bottom: none;}

.controller-list li dl{
	width: 100%;

	display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
    /*  -webkit-box-pack: center;
      -ms-flex-pack: center;
     -webkit-justify-content: center;
      justify-content: center;*/
       -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
}
.controller-list li dl dt{
text-align: center;
	padding: 1em 0.3em;
	margin-bottom:  0;
	width: 30%;
	height: 100%;
	background-color: #FFF;
	border: 2px solid #00aced;
	position: relative;
}
.controller-list li dl dt h4{
	padding: 0;
	line-height: 1.5;
	font-size: 1.3em;
}
.controller-list li dl dt h4 span{white-space: nowrap;}
.controller-list li dl dd{width: 67%; margin-left: 3%;}
.controller-list li dl dd p{
text-align: left;
	font-size: 0.9em;
	line-height: 1.6;
	margin:  0;
}
.controller-list li dl dd p strong{font-size: 1.1em; font-weight: 600; color: #00aced; display: block; padding-bottom: 0.2em;}
@media (max-width: 767px) {
	.controller-list li dl dt h4{font-size: 1.2em;	}
}
@media (max-width: 599px) {
	.controller-list li dl dt h4{font-size: 1em;	}
	.controller-list li{font-size: 0.9em;}
  .controller-list li dl dt h4 span{white-space: normal;}
}



.table.table-cntrl{
	font-size: 0.85em;
}

.table.table-cntrl>thead>tr>th, .table.table-cntrl>tbody>tr>th, .table.table-cntrl>tfoot>tr>th, .table.table-cntrl>thead>tr>td, .table.table-cntrl>tbody>tr>td, .table.table-cntrl>tfoot>tr>td{
    padding: 5px;
	  border-color:#999;
}

.table.table-cntrl th {
background: #eee;
	font-weight: 500;
}
.table.table-cntrl>thead>tr>th{background: #ccc;}

h5.cntrl-h5{
	background-color: #107EB8;
	color: #fff;
	padding: 0.3em 0.2em;
	margin-top: 0.5em;
	text-align: center;
}


h2.recruit-h2{
	line-height: 1.5;
	margin:1.2em 0 0;
	text-align: left;
	border-left: 5px solid #00aced;
	padding-left: 0.4em;
	font-size: 1.8em;
}
@media (max-width: 960px) {
	h2.recruit-h2 br{display: none;}
}
@media (max-width: 767px) {
	h5.cntrl-h5{margin-top: 1em;}
	h2.recruit-h2{font-size: 1.6em;}
}
@media (max-width: 576px) {
	h2.recruit-h2{font-size: 1.4em;}
}


.sitemap{
	margin: 3% auto;

}
.sitemap li{
	position: relative;
	margin: 0.5em 0 0.5em 0.5em;
	padding:0.6em 0 0.6em 1em;
}
.sitemap li a{color: #2A4696;}
.sitemap li::before{
	content: "\f363";
	font-family: ionicons;
	font-size: 0.9em;
	padding: 0.8em 0em;
	color:#00aced;
	position: absolute;
	top:0;
	left: 0;
}
.sitemap>li::before{content: "\f362";}
.sitemap>li>ul>li::before{	content: "\f30f";	}

.sitemap li>ul{
	padding-left: 10px;
}

/*------------------------
タブレット
------------------------------*/
@media (min-width: 768px) {

ol.ohp{
flex-wrap: wrap;
  justify-content: flex-start;
}
ol.ohp li {
	width: 30%;
  margin: 1.5%;
}
}

/*------------------------
PC大
------------------------------*/
@media (min-width: 1200px) {
ol.ohp li {
width: 18%;
}
ol.ohp li {
	width: 18%;
  margin: 1%;
}
}
/*------------------------
スマホ
------------------------------*/
@media (max-width: 576px) {
	ol.ohp{
	flex-wrap: wrap;
	}
	ol.ohp li {
	width: 48%;
  margin-bottom: 8px;
	}

}

@media (max-width: 767px) {
br.smp-none-br{display: none;}
}
.nowrapbox{
  letter-spacing: -0.4em;
}
.nowrapbox span{
  letter-spacing: normal;
  white-space: nowrap;
}
.center{text-align: center;}
.stx{font-size: 0.8em;}
